using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Cosmos.Common;
using Cosmos.BaseFrame;
using Cosmos.UserFrame;
using Cosmos.CommonManager;
using Cosmos.ServiceProvider;
namespace Cosmos.Service
{
class TranResend : IDataServiceUs
{
private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object (객체)
private PosStatus m_cPosStatus = new PosStatus(); // 기본정보 참조
private IDatabaseSQL m_cSqlDbService = null;
public TranResend()
{
m_cPosStatus = (PosStatus)StateObject.POS;
m_cSqlDbService = (IDatabaseSQL)sManager.InitServiceInstance(ServiceLists.AGENT_DATABASE.DLL, ServiceLists.AGENT_DATABASE.DATABASE_MSSQL);
}
///
/// 테이터 조회
///
///
///
public object GetData(string[] aParam)
{
string sQuery = "";
try
{
sQuery = " SELECT COUNT(1) AS TOTAL_CNT ";
sQuery += " , SUM(CASE WHEN SEND_YN = '1' ";
sQuery += " THEN 1 ";
sQuery += " ELSE 0 ";
sQuery += " END) AS OK_CNT ";
sQuery += " , SUM(CASE WHEN SEND_YN = '9' ";
sQuery += " THEN 1 ";
sQuery += " ELSE 0 ";
sQuery += " END) AS FAIL_CNT ";
sQuery += " FROM POSLOG..TR_SALE_HEADER ";
sQuery += " WHERE CMP_CD = '" + aParam[0] + "' ";
sQuery += " AND SALE_DT = '" + aParam[1] + "' ";
sQuery += " AND STOR_CD = '" + aParam[2] + "' ";
m_cSqlDbService.SetDBConnectionString(m_cPosStatus.Base.LocalDbSource, m_cPosStatus.Base.LocalDbCatalog, m_cPosStatus.Base.LocalDbUserID, m_cPosStatus.Base.LocalDbPassword);
DataTable dtDataInfo = null;
m_cSqlDbService.DBSelect(sQuery, out dtDataInfo);
m_cSqlDbService.Close();
return dtDataInfo;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return null;
}
public string SetData(object oParam)
{
return UserCom.RST_ERR;
}
///
/// 매출 전송 Flag Update
///
///
///
public string Execute(string[] aParam)
{
string sQuery = "";
string sRet = UserCom.RST_ERR;
try
{
sQuery = " UPDATE POSLOG..TR_SALE_HEADER ";
sQuery += " SET SEND_YN = '0' ";
sQuery += " WHERE CMP_CD = '{0}' ";
sQuery += " AND SALE_DT = '{1}' ";
sQuery += " AND STOR_CD = '{2}' ";
string[] saQuery = new string[1];
saQuery[0] = string.Format(sQuery, aParam[0], aParam[1], aParam[2]);
m_cSqlDbService.SetDBConnectionString(m_cPosStatus.Base.LocalDbSource, m_cPosStatus.Base.LocalDbCatalog, m_cPosStatus.Base.LocalDbUserID, m_cPosStatus.Base.LocalDbPassword);
if (m_cSqlDbService.DBExecuteNonQuery(saQuery) == UserCom.OK)
{
sRet = UserCom.RST_OK;
}
m_cSqlDbService.Close();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return sRet;
}
}
}