1387 lines
128 KiB
C#
1387 lines
128 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Xml;
|
|||
|
using System.Data;
|
|||
|
|
|||
|
using Cosmos.Common;
|
|||
|
using Cosmos.BaseFrame;
|
|||
|
using Cosmos.UserFrame;
|
|||
|
using Cosmos.ServiceProvider;
|
|||
|
|
|||
|
|
|||
|
//#20180322 휴게소pos매출연동 start,phj
|
|||
|
using Newtonsoft.Json;
|
|||
|
using System.Collections;
|
|||
|
using System.IO;
|
|||
|
//#20180322 휴게소pos매출연동 end,phj
|
|||
|
|
|||
|
/*-----------------------------------------------------------------------------------------------*/
|
|||
|
// 설 명 : 정산자료 I/F (도로공사)
|
|||
|
// 작 성 자 :
|
|||
|
// 변경 이력 :
|
|||
|
/*-----------------------------------------------------------------------------------------------*/
|
|||
|
namespace Cosmos.Service
|
|||
|
{
|
|||
|
public class CalDataIF : ICalDataIF
|
|||
|
{
|
|||
|
protected SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// StateServer Object (StateServer 객체)
|
|||
|
/// </summary>
|
|||
|
private StateServer StateObject = (StateServer)StateServer.GetInstance();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// POS Status Value (POS 상태값)
|
|||
|
/// </summary>
|
|||
|
private PosStatus m_cPosStatus = new PosStatus();
|
|||
|
|
|||
|
private IMasterUs m_cMstService = null; // 마스터 인터페이스
|
|||
|
|
|||
|
public CalDataIF()
|
|||
|
{
|
|||
|
m_cPosStatus = (PosStatus)StateObject.POS; // POS 기본정보
|
|||
|
|
|||
|
m_cMstService = (IMasterUs)sManager.InitServiceInstance(ServiceLists.ASV_MASTER.DLL, ServiceLists.ASV_MASTER.POS_MASTER);
|
|||
|
}
|
|||
|
|
|||
|
public string Execute(string[] aParam)
|
|||
|
{
|
|||
|
string sRet = UserCom.RST_ERR;
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
if(aParam[0] == "EX")
|
|||
|
{
|
|||
|
// 도로공사 정산Data 생성
|
|||
|
DataTable dtCalcData = GetCalcDataForEx(m_cPosStatus.Base.CmpCd, aParam[1], m_cPosStatus.Base.StoreNo, m_cPosStatus.Base.PosNo);
|
|||
|
|
|||
|
XmlDocument doc = new XmlDocument();
|
|||
|
XmlDeclaration docClaration = doc.CreateXmlDeclaration("1.0", null, null);
|
|||
|
XmlElement root = doc.DocumentElement;
|
|||
|
doc.InsertBefore(docClaration, root);
|
|||
|
|
|||
|
XmlElement erestNode = doc.CreateElement("EREST");
|
|||
|
doc.AppendChild(erestNode);
|
|||
|
|
|||
|
MakeCalcDataXmlForEx(aParam[1], ref doc, ref erestNode, dtCalcData);
|
|||
|
|
|||
|
// 정산DATA XML 파일 생성
|
|||
|
string sFileNm = "H2" + "_" + m_cPosStatus.Base.CmpCd + "_" + m_cPosStatus.Base.StoreNo + "_" + m_cPosStatus.Base.PosNo + "_" + aParam[1] + "_" + "99999" + ".xml";
|
|||
|
doc.Save(BaseCom.NxDataPath + "SEND\\EX\\" + sFileNm);
|
|||
|
|
|||
|
sRet = UserCom.RST_OK;
|
|||
|
}
|
|||
|
else if(aParam[0] == "KAC")
|
|||
|
{
|
|||
|
//string sCmpCd = m_cPosStatus.Base.CmpCd;
|
|||
|
//string sSaleDt = aParam[1];
|
|||
|
//string sStorNo = m_cPosStatus.Base.StoreNo;
|
|||
|
//string sPosNo = m_cPosStatus.Base.PosNo;
|
|||
|
//// 한국공항공사 정산Data 생성
|
|||
|
//DataTable dtCalc1Data = GetCalcData1ForKac(sCmpCd, sSaleDt, sStorNo, sPosNo);
|
|||
|
//DataTable dtCalc2Data = GetCalcData2ForKac(sCmpCd, sSaleDt, sStorNo, sPosNo);
|
|||
|
|
|||
|
//Column.KACCalcData data;
|
|||
|
|
|||
|
//data = MakeCalcDataForKac(sCmpCd, sSaleDt, sStorNo, sPosNo, dtCalc1Data, dtCalc2Data);
|
|||
|
|
|||
|
//// 매출 저장
|
|||
|
//INetworkTranSend cTranSend = (INetworkTranSend)sManager.InitServiceInstance(ServiceLists.AGENT_NETWORK_TRANSEND.DLL, ServiceLists.AGENT_NETWORK_TRANSEND.NetworkTranSend);
|
|||
|
//sRet = cTranSend.SaveDataToDb("CALC", sCmpCd, sSaleDt, sStorNo, sPosNo, data.RECEIPT_NO, null, null, data);
|
|||
|
}
|
|||
|
//#20180322 휴게소pos매출연동 start,phj
|
|||
|
else if (aParam[0] == "EX2018")
|
|||
|
{
|
|||
|
|
|||
|
string sPath = string.Empty;
|
|||
|
string sFileFullname = string.Empty;
|
|||
|
string sFilename = string.Empty;
|
|||
|
|
|||
|
// Create CalcData for Ex
|
|||
|
DataTable dtCalcData = GetCalcDataForEx(m_cPosStatus.Base.CmpCd, aParam[1], m_cPosStatus.Base.StoreNo, m_cPosStatus.Base.PosNo);
|
|||
|
//Make JsonData
|
|||
|
var sJsonData = this.MakeCalcDataJsonForEx(aParam[1], dtCalcData);
|
|||
|
// file name create
|
|||
|
sFilename = string.Format("{0}{1}{2}{3}{4}{5}.dat"
|
|||
|
, ItemConst.ROAD_SAVE_TYPE.CLOSING
|
|||
|
, aParam[1].Substring(2, 6)
|
|||
|
, m_cPosStatus.RestAreaPos.RestAreaPosGroupCd.PadLeft(3, '0').Trim() //"000"
|
|||
|
//, m_cPosStatus.Base.StoreNo.PadLeft(7, '0')
|
|||
|
, m_cPosStatus.RestAreaPos.RestAreaPosCd.PadLeft(7, '0')
|
|||
|
, m_cPosStatus.RestAreaPos.RestAreaPosPosGroupCd.PadLeft(2, '0').Trim() //"00"
|
|||
|
//, m_cPosStatus.Base.PosNo.PadLeft(4, '0')
|
|||
|
, m_cPosStatus.RestAreaPos.RestAreaPosPosNo.PadLeft(4, '0')
|
|||
|
);
|
|||
|
|
|||
|
//#20180410 휴게소매출 경로 없을 경우 자동생성 안함 start,phj
|
|||
|
if (m_cPosStatus.RestAreaPos.RestAreaPosDir == "")
|
|||
|
{
|
|||
|
m_cPosStatus.RestAreaPos.RestAreaPosDir = @"C:\eRest_SPC\Sals\";
|
|||
|
}
|
|||
|
//#20180410 휴게소매출 경로 없을 경우 자동생성 안함 end,phj
|
|||
|
|
|||
|
sPath = m_cPosStatus.RestAreaPos.RestAreaPosDir;
|
|||
|
sFileFullname = sPath + sFilename;
|
|||
|
|
|||
|
//SaveFile
|
|||
|
//if (CmUtil.WriteTextFile(BaseCom.NxDataPath + m_cPosStatus.Mst.ETC_IF_FTP_PATH + sFilename.ToString(), sJsonData) != true)
|
|||
|
if (CmUtil.WriteTextFile(sFileFullname, sJsonData) != true)
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_ERROR,
|
|||
|
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
|
|||
|
"File Write Error : " + sJsonData);
|
|||
|
}
|
|||
|
|
|||
|
sRet = UserCom.RST_OK;
|
|||
|
}
|
|||
|
//#20180322 휴게소pos매출연동 end,phj
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_ERROR,
|
|||
|
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
return sRet;
|
|||
|
}
|
|||
|
|
|||
|
#region 01 - 도로공사 정산Data 조회 및 생성
|
|||
|
private DataTable GetCalcDataForEx(string sCmpCd, string sSaleDt, string sStorCd, string sPosNo)
|
|||
|
{
|
|||
|
string sQuery = string.Empty;
|
|||
|
string sSql = string.Empty;
|
|||
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
|||
|
DataTable dtReturn = null;
|
|||
|
try
|
|||
|
{
|
|||
|
//#20180322 휴게소pos매출연동 start,phj
|
|||
|
|
|||
|
//기존
|
|||
|
#region 주석처리
|
|||
|
/*
|
|||
|
sQuery = "SELECT A.*, B.*, C.*, D.*, E.*, F.* \n"
|
|||
|
+ " FROM ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * B.SALE_AMT), 0) AS TOT_SALE_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * (B.ITEM_DC_AMT + B.SUM_DC_AMT + B.CPI_DC_AMT + B.COOP_CARD_DC_AMT + B.POINT_DC_AMT \n"
|
|||
|
+ " + B.CPN_DC_AMT + B.EMP_DC_AMT + B.SET_DC_AMT + B.ETC_DC_AMT + B.EXCEP_DC_AMT)), 0) AS TOT_DC_AMT \n"
|
|||
|
+ " , 0 AS TOT_ETC_AMT \n"
|
|||
|
+ " , 0 AS SVC_TIP_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * B.BILL_AMT), 0) AS DCM_SALE_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * \n"
|
|||
|
+ " CASE WHEN B.ITEM_TAX_DIV = '1' AND B.NOTAX_DIV = '0' \n"
|
|||
|
+ " THEN B.SALE_AMT \n"
|
|||
|
+ " WHEN B.ITEM_TAX_DIV = '1' AND B.NOTAX_DIV = '1' \n"
|
|||
|
+ " THEN 0 \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS VAT_SALE_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * ISNULL(B.APPLY_TAX_AMT, 0)), 0) AS VAT_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * \n"
|
|||
|
+ " CASE WHEN B.ITEM_TAX_DIV = '0' \n"
|
|||
|
+ " THEN B.SALE_AMT \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS NO_VAT_SALE_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * (B.BILL_AMT - B.APPLY_TAX_AMT)), 0) AS NO_TAX_SALE_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 0 \n"
|
|||
|
+ " ELSE B.BILL_AMT \n"
|
|||
|
+ " END), 0) AS RET_BILL_AMT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER A \n"
|
|||
|
+ " , POSLOG..TR_SALE_DETAIL B \n"
|
|||
|
+ " WHERE A.CMP_CD = '{0}' \n"
|
|||
|
+ " AND A.SALE_DT = '{1}' \n"
|
|||
|
+ " AND A.STOR_CD = '{2}' \n"
|
|||
|
+ " AND A.POS_NO = '{3}' \n"
|
|||
|
+ " AND A.TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND A.TRADE_KINDPER = '00' \n"
|
|||
|
+ " AND A.CMP_CD = B.CMP_CD \n"
|
|||
|
+ " AND A.SALE_DT = B.SALE_DT \n"
|
|||
|
+ " AND A.STOR_CD = B.STOR_CD \n"
|
|||
|
+ " AND A.POS_NO = B.POS_NO \n"
|
|||
|
+ " AND A.TRADE_NO = B.TRADE_NO \n"
|
|||
|
+ " AND B.CANCEL_DIV = '0' \n"
|
|||
|
+ " ) A \n"
|
|||
|
+ " , ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE 1 \n"
|
|||
|
+ " END), 0) AS TOT_BILL_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 0 \n"
|
|||
|
+ " ELSE 1 \n"
|
|||
|
+ " END), 0) AS RET_BILL_CNT \n"
|
|||
|
+ " , MAX(TRADE_NO) AS BILL_NO_END \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS VISIT_CST_CNT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER \n"
|
|||
|
+ " WHERE CMP_CD = '{0}' \n"
|
|||
|
+ " AND SALE_DT = '{1}' \n"
|
|||
|
+ " AND STOR_CD = '{2}' \n"
|
|||
|
+ " AND POS_NO = '{3}' \n"
|
|||
|
+ " AND TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND TRADE_KINDPER = '00' \n"
|
|||
|
+ " AND NET_SALE_AMT <> 0 \n"
|
|||
|
+ " ) B \n"
|
|||
|
+ " , ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN ADMT_CD = '7201' \n"
|
|||
|
+ " THEN TSA.AMT \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS POS_READY_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6210' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_CHECK_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6210' \n"
|
|||
|
+ " THEN TSA.AMT \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_CHECK_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6209' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W100000_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6208' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W50000_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6207' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W10000_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6206' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W5000_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6205' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W1000_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6204' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W500_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6203' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W100_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6202' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W50_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6201' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W10_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '7701' \n"
|
|||
|
+ " THEN TSA.AMT \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS LOSS_CASH_AMT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER TSH \n"
|
|||
|
+ " LEFT JOIN POSLOG..TR_SALE_ADMT TSA \n"
|
|||
|
+ " ON TSH.CMP_CD = TSA.CMP_CD \n"
|
|||
|
+ " AND TSH.SALE_DT = TSA.SALE_DT \n"
|
|||
|
+ " AND TSH.STOR_CD = TSA.STOR_CD \n"
|
|||
|
+ " AND TSH.POS_NO = TSA.POS_NO \n"
|
|||
|
+ " AND TSH.TRADE_NO = TSA.TRADE_NO \n"
|
|||
|
+ " AND TSA.ADMT_TYPE = '84' \n"
|
|||
|
+ " WHERE TSA.CMP_CD = '{0}' \n"
|
|||
|
+ " AND TSA.SALE_DT = '{1}' \n"
|
|||
|
+ " AND TSA.STOR_CD = '{2}' \n"
|
|||
|
+ " AND TSA.POS_NO = '{3}' \n"
|
|||
|
+ " AND TSH.TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND TSH.TRADE_KINDPER = '84' \n"
|
|||
|
//+ " AND TSA.TRADE_NO = ( \n"
|
|||
|
//+ " SELECT MAX(TSH.TRADE_NO) \n"
|
|||
|
//+ " FROM POSLOG..TR_SALE_HEADER TSH \n"
|
|||
|
//+ " WHERE TSH.CMP_CD = TSA.CMP_CD \n"
|
|||
|
//+ " AND TSH.SALE_DT = TSA.SALE_DT \n"
|
|||
|
//+ " AND TSH.STOR_CD = TSA.STOR_CD \n"
|
|||
|
//+ " AND TSH.POS_NO = TSA.POS_NO \n"
|
|||
|
//+ " AND TSH.TRAIN_MODE_YN = '0' \n"
|
|||
|
//+ " AND TSH.TRADE_KINDPER = '84' \n"
|
|||
|
//+ " ) \n"
|
|||
|
+ " ) C \n"
|
|||
|
+ " , ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END), 0) AS CRD_CARD_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * B.PAY_AMT), 0) AS CRD_CARD_AMT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER A \n"
|
|||
|
+ " , POSLOG..TR_SALE_PAY B \n"
|
|||
|
+ " WHERE A.CMP_CD = '{0}' \n"
|
|||
|
+ " AND A.SALE_DT = '{1}' \n"
|
|||
|
+ " AND A.STOR_CD = '{2}' \n"
|
|||
|
+ " AND A.POS_NO = '{3}' \n"
|
|||
|
+ " AND A.TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND A.TRADE_KINDPER = '00' \n"
|
|||
|
+ " AND B.PAY_WAY_CD = '02' \n"
|
|||
|
+ " AND B.PAY_DTL_CD_05 = '1' \n"
|
|||
|
+ " AND B.CANCEL_DIV = '0' \n"
|
|||
|
+ " AND A.CMP_CD = B.CMP_CD \n"
|
|||
|
+ " AND A.SALE_DT = B.SALE_DT \n"
|
|||
|
+ " AND A.STOR_CD = B.STOR_CD \n"
|
|||
|
+ " AND A.POS_NO = B.POS_NO \n"
|
|||
|
+ " AND A.TRADE_NO = B.TRADE_NO \n"
|
|||
|
+ " ) D \n"
|
|||
|
+ " , ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END), 0) AS CASH_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * B.PAY_AMT), 0) AS CASH_AMT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER A \n"
|
|||
|
+ " , POSLOG..TR_SALE_PAY B \n"
|
|||
|
+ " WHERE A.CMP_CD = '{0}' \n"
|
|||
|
+ " AND A.SALE_DT = '{1}' \n"
|
|||
|
+ " AND A.STOR_CD = '{2}' \n"
|
|||
|
+ " AND A.POS_NO = '{3}' \n"
|
|||
|
+ " AND A.TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND A.TRADE_KINDPER = '00' \n"
|
|||
|
+ " AND B.PAY_WAY_CD <> '02' \n"
|
|||
|
+ " AND B.PAY_DTL_CD_05 = '1' \n"
|
|||
|
+ " AND B.CANCEL_DIV = '0' \n"
|
|||
|
+ " AND A.CMP_CD = B.CMP_CD \n"
|
|||
|
+ " AND A.SALE_DT = B.SALE_DT \n"
|
|||
|
+ " AND A.STOR_CD = B.STOR_CD \n"
|
|||
|
+ " AND A.POS_NO = B.POS_NO \n"
|
|||
|
+ " AND A.TRADE_NO = B.TRADE_NO \n"
|
|||
|
+ " ) E \n"
|
|||
|
+ " , ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE -1 \n"
|
|||
|
+ " END), 0) AS CASH_BILL_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * B.ETC_AMT), 0) AS CASH_BILL_AMT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER A \n"
|
|||
|
+ " , POSLOG..TR_SALE_ETC B \n"
|
|||
|
+ " WHERE A.CMP_CD = '{0}' \n"
|
|||
|
+ " AND A.SALE_DT = '{1}' \n"
|
|||
|
+ " AND A.STOR_CD = '{2}' \n"
|
|||
|
+ " AND A.POS_NO = '{3}' \n"
|
|||
|
+ " AND A.TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND A.TRADE_KINDPER = '00' \n"
|
|||
|
+ " AND A.CMP_CD = B.CMP_CD \n"
|
|||
|
+ " AND A.SALE_DT = B.SALE_DT \n"
|
|||
|
+ " AND A.STOR_CD = B.STOR_CD \n"
|
|||
|
+ " AND A.POS_NO = B.POS_NO \n"
|
|||
|
+ " AND A.TRADE_NO = B.TRADE_NO \n"
|
|||
|
+ " AND B.ETC_WAY_CD = '80' \n"
|
|||
|
+ " AND B.ETC_DTL_CD_01 = '00' \n"
|
|||
|
+ " ) F \n";
|
|||
|
*/
|
|||
|
#endregion
|
|||
|
|
|||
|
//변경
|
|||
|
if (m_cPosStatus.Mst.ETC_IF_DIV == ItemConst.TranInterfaceOutside.IF_KOR_01)
|
|||
|
{
|
|||
|
#region 도로공사
|
|||
|
|
|||
|
sQuery = "SELECT A.*, B.*, C.*, D.*, E.*, F.* \n"
|
|||
|
+ " FROM ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * B.SALE_AMT), 0) AS TOT_SALE_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * (B.ITEM_DC_AMT + B.SUM_DC_AMT + B.CPI_DC_AMT + B.COOP_CARD_DC_AMT + B.POINT_DC_AMT \n"
|
|||
|
+ " + B.CPN_DC_AMT + B.EMP_DC_AMT + B.SET_DC_AMT + B.ETC_DC_AMT + B.EXCEP_DC_AMT)), 0) AS TOT_DC_AMT \n"
|
|||
|
+ " , 0 AS TOT_ETC_AMT \n"
|
|||
|
+ " , 0 AS SVC_TIP_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * B.BILL_AMT), 0) AS DCM_SALE_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * \n"
|
|||
|
+ " CASE WHEN B.ITEM_TAX_DIV = '1' AND B.NOTAX_DIV = '0' \n"
|
|||
|
+ " THEN B.SALE_AMT \n"
|
|||
|
+ " WHEN B.ITEM_TAX_DIV = '1' AND B.NOTAX_DIV = '1' \n"
|
|||
|
+ " THEN 0 \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS VAT_SALE_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * ISNULL(B.APPLY_TAX_AMT, 0)), 0) AS VAT_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * \n"
|
|||
|
+ " CASE WHEN B.ITEM_TAX_DIV = '0' \n"
|
|||
|
+ " THEN B.SALE_AMT \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS NO_VAT_SALE_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * (B.BILL_AMT - B.APPLY_TAX_AMT)), 0) AS NO_TAX_SALE_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 0 \n"
|
|||
|
+ " ELSE B.BILL_AMT \n"
|
|||
|
+ " END), 0) AS RET_BILL_AMT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER A \n"
|
|||
|
+ " , POSLOG..TR_SALE_DETAIL B \n"
|
|||
|
+ " WHERE A.CMP_CD = '{0}' \n"
|
|||
|
+ " AND A.SALE_DT = '{1}' \n"
|
|||
|
+ " AND A.STOR_CD = '{2}' \n"
|
|||
|
+ " AND A.POS_NO = '{3}' \n"
|
|||
|
+ " AND A.TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND A.TRADE_KINDPER = '00' \n"
|
|||
|
+ " AND A.CMP_CD = B.CMP_CD \n"
|
|||
|
+ " AND A.SALE_DT = B.SALE_DT \n"
|
|||
|
+ " AND A.STOR_CD = B.STOR_CD \n"
|
|||
|
+ " AND A.POS_NO = B.POS_NO \n"
|
|||
|
+ " AND A.TRADE_NO = B.TRADE_NO \n"
|
|||
|
+ " AND B.CANCEL_DIV = '0' \n"
|
|||
|
+ " ) A \n"
|
|||
|
+ " , ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE 1 \n"
|
|||
|
+ " END), 0) AS TOT_BILL_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 0 \n"
|
|||
|
+ " ELSE 1 \n"
|
|||
|
+ " END), 0) AS RET_BILL_CNT \n"
|
|||
|
+ " , MAX(TRADE_NO) AS BILL_NO_END \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS VISIT_CST_CNT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER \n"
|
|||
|
+ " WHERE CMP_CD = '{0}' \n"
|
|||
|
+ " AND SALE_DT = '{1}' \n"
|
|||
|
+ " AND STOR_CD = '{2}' \n"
|
|||
|
+ " AND POS_NO = '{3}' \n"
|
|||
|
+ " AND TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND TRADE_KINDPER = '00' \n"
|
|||
|
+ " AND NET_SALE_AMT <> 0 \n"
|
|||
|
+ " ) B \n"
|
|||
|
+ " , ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN ADMT_CD = '7201' \n"
|
|||
|
+ " THEN TSA.AMT \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS POS_READY_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6210' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_CHECK_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6210' \n"
|
|||
|
+ " THEN TSA.AMT \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_CHECK_AMT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6209' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W100000_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6208' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W50000_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6207' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W10000_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6206' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W5000_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6205' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W1000_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6204' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W500_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6203' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W100_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6202' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W50_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '6201' \n"
|
|||
|
+ " THEN TSA.QTY \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS REM_W10_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN ADMT_CD = '7701' \n"
|
|||
|
+ " THEN TSA.AMT \n"
|
|||
|
+ " ELSE 0 \n"
|
|||
|
+ " END), 0) AS LOSS_CASH_AMT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER TSH \n"
|
|||
|
+ " LEFT JOIN POSLOG..TR_SALE_ADMT TSA \n"
|
|||
|
+ " ON TSH.CMP_CD = TSA.CMP_CD \n"
|
|||
|
+ " AND TSH.SALE_DT = TSA.SALE_DT \n"
|
|||
|
+ " AND TSH.STOR_CD = TSA.STOR_CD \n"
|
|||
|
+ " AND TSH.POS_NO = TSA.POS_NO \n"
|
|||
|
+ " AND TSH.TRADE_NO = TSA.TRADE_NO \n"
|
|||
|
+ " AND TSA.ADMT_TYPE = '84' \n"
|
|||
|
+ " WHERE TSA.CMP_CD = '{0}' \n"
|
|||
|
+ " AND TSA.SALE_DT = '{1}' \n"
|
|||
|
+ " AND TSA.STOR_CD = '{2}' \n"
|
|||
|
+ " AND TSA.POS_NO = '{3}' \n"
|
|||
|
+ " AND TSH.TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND TSH.TRADE_KINDPER = '84' \n"
|
|||
|
//+ " AND TSA.TRADE_NO = ( \n"
|
|||
|
//+ " SELECT MAX(TSH.TRADE_NO) \n"
|
|||
|
//+ " FROM POSLOG..TR_SALE_HEADER TSH \n"
|
|||
|
//+ " WHERE TSH.CMP_CD = TSA.CMP_CD \n"
|
|||
|
//+ " AND TSH.SALE_DT = TSA.SALE_DT \n"
|
|||
|
//+ " AND TSH.STOR_CD = TSA.STOR_CD \n"
|
|||
|
//+ " AND TSH.POS_NO = TSA.POS_NO \n"
|
|||
|
//+ " AND TSH.TRAIN_MODE_YN = '0' \n"
|
|||
|
//+ " AND TSH.TRADE_KINDPER = '84' \n"
|
|||
|
//+ " ) \n"
|
|||
|
+ " ) C \n"
|
|||
|
+ " , ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END), 0) AS CRD_CARD_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * B.PAY_AMT), 0) AS CRD_CARD_AMT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER A \n"
|
|||
|
+ " , POSLOG..TR_SALE_PAY B \n"
|
|||
|
+ " WHERE A.CMP_CD = '{0}' \n"
|
|||
|
+ " AND A.SALE_DT = '{1}' \n"
|
|||
|
+ " AND A.STOR_CD = '{2}' \n"
|
|||
|
+ " AND A.POS_NO = '{3}' \n"
|
|||
|
+ " AND A.TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND A.TRADE_KINDPER = '00' \n"
|
|||
|
+ " AND B.PAY_WAY_CD = '02' \n"
|
|||
|
+ " AND B.PAY_DTL_CD_05 = '1' \n"
|
|||
|
+ " AND B.CANCEL_DIV = '0' \n"
|
|||
|
+ " AND A.CMP_CD = B.CMP_CD \n"
|
|||
|
+ " AND A.SALE_DT = B.SALE_DT \n"
|
|||
|
+ " AND A.STOR_CD = B.STOR_CD \n"
|
|||
|
+ " AND A.POS_NO = B.POS_NO \n"
|
|||
|
+ " AND A.TRADE_NO = B.TRADE_NO \n"
|
|||
|
+ " ) D \n"
|
|||
|
+ " , ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END), 0) AS CASH_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * B.PAY_AMT), 0) AS CASH_AMT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER A \n"
|
|||
|
+ " , POSLOG..TR_SALE_PAY B \n"
|
|||
|
+ " WHERE A.CMP_CD = '{0}' \n"
|
|||
|
+ " AND A.SALE_DT = '{1}' \n"
|
|||
|
+ " AND A.STOR_CD = '{2}' \n"
|
|||
|
+ " AND A.POS_NO = '{3}' \n"
|
|||
|
+ " AND A.TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND A.TRADE_KINDPER = '00' \n"
|
|||
|
+ " AND B.PAY_WAY_CD <> '02' \n"
|
|||
|
+ " AND B.PAY_DTL_CD_05 = '1' \n"
|
|||
|
+ " AND B.CANCEL_DIV = '0' \n"
|
|||
|
+ " AND A.CMP_CD = B.CMP_CD \n"
|
|||
|
+ " AND A.SALE_DT = B.SALE_DT \n"
|
|||
|
+ " AND A.STOR_CD = B.STOR_CD \n"
|
|||
|
+ " AND A.POS_NO = B.POS_NO \n"
|
|||
|
+ " AND A.TRADE_NO = B.TRADE_NO \n"
|
|||
|
+ " ) E \n"
|
|||
|
+ " , ( \n"
|
|||
|
+ " SELECT ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE -1 \n"
|
|||
|
+ " END), 0) AS CASH_BILL_CNT \n"
|
|||
|
+ " , ISNULL(SUM(CASE WHEN A.TRADE_DIV = '0' \n"
|
|||
|
+ " THEN 1 \n"
|
|||
|
+ " ELSE (-1) \n"
|
|||
|
+ " END * B.ETC_AMT), 0) AS CASH_BILL_AMT \n"
|
|||
|
+ " FROM POSLOG..TR_SALE_HEADER A \n"
|
|||
|
+ " , POSLOG..TR_SALE_ETC B \n"
|
|||
|
+ " WHERE A.CMP_CD = '{0}' \n"
|
|||
|
+ " AND A.SALE_DT = '{1}' \n"
|
|||
|
+ " AND A.STOR_CD = '{2}' \n"
|
|||
|
+ " AND A.POS_NO = '{3}' \n"
|
|||
|
+ " AND A.TRAIN_MODE_YN = '0' \n"
|
|||
|
+ " AND A.TRADE_KINDPER = '00' \n"
|
|||
|
+ " AND A.CMP_CD = B.CMP_CD \n"
|
|||
|
+ " AND A.SALE_DT = B.SALE_DT \n"
|
|||
|
+ " AND A.STOR_CD = B.STOR_CD \n"
|
|||
|
+ " AND A.POS_NO = B.POS_NO \n"
|
|||
|
+ " AND A.TRADE_NO = B.TRADE_NO \n"
|
|||
|
+ " AND B.ETC_WAY_CD = '80' \n"
|
|||
|
+ " AND B.ETC_DTL_CD_01 = '00' \n"
|
|||
|
+ " ) F \n";
|
|||
|
|
|||
|
#endregion 도로공사
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Mst.ETC_IF_DIV == ItemConst.TranInterfaceOutside.IF_KOR_03)
|
|||
|
{
|
|||
|
#region 도로공사 2018
|
|||
|
|
|||
|
#region 주석
|
|||
|
//sb.Append(" SELECT \n");
|
|||
|
//sb.Append(" (SELECT MIN(SYS_DT + PAY_TIME) FROM POSLOG..ETC_SALE_HEADER \n");
|
|||
|
//sb.Append(" WHERE CMP_CD = '{0}' \n");
|
|||
|
//sb.Append(" AND SALE_DT = '{1}' \n");
|
|||
|
//sb.Append(" AND STOR_CD = '{2}' \n");
|
|||
|
//sb.Append(" AND POS_NO = '{3}' \n");
|
|||
|
//sb.Append(" AND TRADE_KINDPER = '97' \n");
|
|||
|
//sb.Append(" ) OPEN_DATETIME \n");
|
|||
|
//sb.Append(" ,(SELECT MAX(SYS_DT + PAY_TIME) AS CLOSE_DATETIME FROM POSLOG..TR_SALE_HEADER \n");
|
|||
|
//sb.Append(" WHERE CMP_CD = '{0}' \n");
|
|||
|
//sb.Append(" AND SALE_DT = '{1}' \n");
|
|||
|
//sb.Append(" AND STOR_CD = '{2}' \n");
|
|||
|
//sb.Append(" AND POS_NO = '{3}' \n");
|
|||
|
//sb.Append(" AND TRADE_DIV = '0' \n");
|
|||
|
//sb.Append(" AND TRADE_KINDPER = '84' \n");
|
|||
|
//sb.Append(" ) CLOSE_DATETIME \n");
|
|||
|
//sb.Append(" ,A.*,B.* \n");
|
|||
|
//sb.Append(" FROM \n");
|
|||
|
//sb.Append(" (SELECT MIN(TRADE_NO) AS BILL_NO_START, \n");
|
|||
|
//sb.Append(" MAX(TRADE_NO) AS BILL_NO_END, \n");
|
|||
|
//sb.Append(" COUNT( TRADE_DIV) AS TOT_AMT_CNT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TRADE_DIV = '1' THEN 1 END) AS CANCEL_TOT_CNTT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TRADE_DIV = '0' THEN 1 END) AS SALE_TOT_CNT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TRADE_DIV = '0' THEN 1 END) AS SALE_AMT_CNT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TRADE_DIV = '0' THEN 1 END) AS ETC_1_CNT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TOTDC_AMT > '0' THEN 1 END) AS DC_AMT_CNT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TRADE_DIV = '0' AND TOTDC_AMT > 0 THEN 1 END) AS REGULAR_DC_AMT_CNT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TRADE_DIV = '1' AND TOTDC_AMT > 0 THEN 1 END) AS CANCEL_DC_AMT_CNT, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( TOTSALE_AMT ) ),'0') AS TOT_AMT, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '1' THEN TOTSALE_AMT END )),'0') AS CANCEL_TOT, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '0' THEN TOTSALE_AMT END )),'0') AS SALE_TOT, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '0' THEN NET_SALE_AMT - TOT_VAT END )),'0') AS SALE_AMT, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '0' THEN NET_SALE_AMT END )),'0') AS ETC_1, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '0' THEN TOT_VAT END )),'0') AS VAT_AMT, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TOTDC_AMT > '0' THEN TOTDC_AMT END )),'0') AS DC_AMT, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '0' AND TOTDC_AMT > 0 THEN TOTDC_AMT END )),'0') AS REGULAR_DC_AMT, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '1' AND TOTDC_AMT > 0 THEN TOTDC_AMT END )),'0') AS CANCEL_DC_AMT \n");
|
|||
|
//sb.Append(" FROM POSLOG..TR_SALE_HEADER \n");
|
|||
|
//sb.Append(" WHERE CMP_CD = '{0}' \n");
|
|||
|
//sb.Append(" AND SALE_DT = '{1}' \n");
|
|||
|
//sb.Append(" AND STOR_CD = '{2}' \n");
|
|||
|
//sb.Append(" AND POS_NO = '{3}' \n");
|
|||
|
//sb.Append(" AND TRAIN_MODE_YN = '0' \n");
|
|||
|
//sb.Append(" AND TRADE_KINDPER IN ('00','20','21','42') \n");
|
|||
|
//sb.Append(" )A, \n");
|
|||
|
//sb.Append(" (SELECT COUNT( CASE WHEN TRADE_DIV = '0' AND PAY_WAY_CD = '02' AND OCCUR_ENTRY_14 = '00' THEN 1 END) AS CARD_AMT1_CNT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TRADE_DIV = '0' AND PAY_WAY_CD = '02' AND OCCUR_ENTRY_14 NOT IN ('00','60','80') THEN 1 END) AS CARD_AMT2_CNT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TRADE_DIV = '1' AND PAY_WAY_CD = '02' AND OCCUR_ENTRY_14 = '00' THEN 1 END) AS CARD_AMT3_CNT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TRADE_DIV = '1' AND PAY_WAY_CD = '02' AND OCCUR_ENTRY_14 NOT IN ('00','60','80') THEN 1 END) AS CARD_AMT4_CNT, \n");
|
|||
|
//sb.Append(" COUNT( CASE WHEN TRADE_DIV = '0' AND PAY_WAY_CD <> '02' AND PAY_DTL_CD_05 = '1' OR OCCUR_ENTRY_14 IN ('60','80') THEN 1 END) AS CASH_AMT_CNT, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '0' AND PAY_WAY_CD = '02' AND OCCUR_ENTRY_14 = '00' THEN PAY_AMT END)),'0') AS CARD_AMT1, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '0' AND PAY_WAY_CD = '02' AND OCCUR_ENTRY_14 NOT IN ('00','60','80') THEN PAY_AMT END)),'0') AS CARD_AMT2, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '1' AND PAY_WAY_CD = '02' AND OCCUR_ENTRY_14 = '00' THEN PAY_AMT END)),'0') AS CARD_AMT3, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '1' AND PAY_WAY_CD = '02' AND OCCUR_ENTRY_14 NOT IN ('00','60','80') THEN PAY_AMT END)),'0') AS CARD_AMT4, \n");
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM( CASE WHEN TRADE_DIV = '0' AND PAY_WAY_CD <> '02' AND PAY_DTL_CD_05 = '1' OR OCCUR_ENTRY_14 IN ('60','80')THEN PAY_AMT END)),'0') AS CASH_AMT \n");
|
|||
|
//sb.Append(" FROM POSLOG..TR_SALE_HEADER A, POSLOG..TR_SALE_PAY B \n");
|
|||
|
//sb.Append(" WHERE A.CMP_CD = '{0}' \n");
|
|||
|
//sb.Append(" AND A.SALE_DT = '{1}' \n");
|
|||
|
//sb.Append(" AND A.STOR_CD = '{2}' \n");
|
|||
|
//sb.Append(" AND A.POS_NO = '{3}' \n");
|
|||
|
//sb.Append(" AND A.TRAIN_MODE_YN = '0' \n");
|
|||
|
//sb.Append(" AND A.TRADE_KINDPER IN ('00','20','21','42') \n");
|
|||
|
//sb.Append(" AND A.CMP_CD = B.CMP_CD \n");
|
|||
|
//sb.Append(" AND A.SALE_DT = B.SALE_DT \n");
|
|||
|
//sb.Append(" AND A.STOR_CD = B.STOR_CD \n");
|
|||
|
//sb.Append(" AND A.POS_NO = B.POS_NO \n");
|
|||
|
//sb.Append(" AND A.TRADE_NO = B.TRADE_NO \n");
|
|||
|
//sb.Append(" AND B.CANCEL_DIV = '0' \n");
|
|||
|
//sb.Append(" )B \n");
|
|||
|
#endregion //주석
|
|||
|
|
|||
|
//#20180404 도로공사 매출 연동 쿼리 수정_grayber
|
|||
|
// 변경사항
|
|||
|
// - 신용카드 사항 수정
|
|||
|
// - 현금 결제 수량 변경
|
|||
|
|
|||
|
|
|||
|
sb.Append(" SELECT TM.*, A.* ,B.* , C.* \n");
|
|||
|
sb.Append(" FROM \n");
|
|||
|
sb.Append(" (SELECT MIN(TRADE_NO) AS BILL_NO_START, \n");
|
|||
|
sb.Append(" MAX(TRADE_NO) AS BILL_NO_END, \n");
|
|||
|
sb.Append(" COUNT( TRADE_DIV) AS TOT_AMT_CNT, \n");
|
|||
|
sb.Append(" COUNT ( CASE WHEN TRADE_DIV = '1' THEN 1 END ) AS CANCEL_TOT_CNTT, \n");
|
|||
|
sb.Append(" COUNT ( CASE WHEN TRADE_DIV = '0' THEN 1 END ) AS SALE_TOT_CNT, \n");
|
|||
|
sb.Append(" COUNT ( CASE WHEN TRADE_DIV = '0' THEN 1 END ) AS SALE_AMT_CNT, \n");
|
|||
|
sb.Append(" COUNT ( CASE WHEN TRADE_DIV = '0' THEN 1 END ) AS ETC_1_CNT, \n");
|
|||
|
sb.Append(" COUNT ( CASE WHEN TOTDC_AMT > '0' THEN 1 END ) AS DC_AMT_CNT, \n");
|
|||
|
sb.Append(" COUNT ( CASE WHEN TRADE_DIV = '0' AND TOTDC_AMT > 0 THEN 1 END ) AS REGULAR_DC_AMT_CNT, \n");
|
|||
|
sb.Append(" COUNT ( CASE WHEN TRADE_DIV = '1' AND TOTDC_AMT > 0 THEN 1 END ) AS CANCEL_DC_AMT_CNT, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM( TOTSALE_AMT ) ),'0') AS TOT_AMT, \n");
|
|||
|
//#20180406 도로공사 수정 start
|
|||
|
//CANCEL_TOT : 마이너스 금액으로 생성
|
|||
|
//기존
|
|||
|
//sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '1' THEN TOTSALE_AMT END ) ),'0') AS CANCEL_TOT, \n");
|
|||
|
//변경
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '1' THEN TOTSALE_AMT END ) ),'0') * -1 AS CANCEL_TOT, \n");
|
|||
|
//#20180406 도로공사 수정 end
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '0' THEN TOTSALE_AMT END ) ),'0') AS SALE_TOT, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '0' THEN NET_SALE_AMT - TOT_VAT END ) ),'0') AS SALE_AMT, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '0' THEN NET_SALE_AMT END ) ),'0') AS ETC_1, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '0' THEN TOT_VAT END ) ),'0') AS VAT_AMT, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TOTDC_AMT > '0' THEN TOTDC_AMT END ) ),'0') AS DC_AMT, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '0' AND TOTDC_AMT > 0 THEN TOTDC_AMT END ) ),'0') AS REGULAR_DC_AMT, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '1' AND TOTDC_AMT > 0 THEN TOTDC_AMT END ) ),'0') AS CANCEL_DC_AMT \n");
|
|||
|
sb.Append(" FROM POSLOG..TR_SALE_HEADER \n");
|
|||
|
sb.Append(" WHERE CMP_CD = '{0}' AND SALE_DT = '{1}' AND STOR_CD = '{2}' AND POS_NO = '{3}' AND TRAIN_MODE_YN = '0' AND TRADE_KINDPER IN ('00','20','21','42') \n");
|
|||
|
sb.Append(" )A , \n");
|
|||
|
sb.Append(" (SELECT COUNT ( CASE WHEN TRADE_DIV = '0' AND ( PAY_WAY_CD + PAY_DTL_CD_01 ) \n");
|
|||
|
sb.Append(" IN ( '0200', '0402', '0406', '0407', '0700', '0701', '0702', '0703', '0900', '0901', '1002') \n");
|
|||
|
sb.Append(" AND OCCUR_ENTRY_14 = '00' \n");
|
|||
|
sb.Append(" THEN 1 END ) AS CARD_AMT1_CNT, \n");
|
|||
|
sb.Append(" COUNT ( CASE WHEN TRADE_DIV = '0' AND ( PAY_WAY_CD + PAY_DTL_CD_01 ) \n");
|
|||
|
sb.Append(" IN ( '0200', '0402', '0406', '0407', '0700', '0701', '0702', '0703', '0900', '0901', '1002') \n");
|
|||
|
//#20180406 도로공사 수정 start
|
|||
|
//할부개월 없는 결제 수단도 있기 때문에 공백도 조건에 추가
|
|||
|
//기존
|
|||
|
//sb.Append(" AND OCCUR_ENTRY_14 <> '00' \n");
|
|||
|
//변경
|
|||
|
sb.Append(" AND OCCUR_ENTRY_14 <> '00' AND OCCUR_ENTRY_14 <> '' \n");
|
|||
|
//#20180406 도로공사 수정 end
|
|||
|
sb.Append(" THEN 1 END ) AS CARD_AMT2_CNT, \n");
|
|||
|
sb.Append(" COUNT ( CASE WHEN TRADE_DIV = '1' AND ( PAY_WAY_CD + PAY_DTL_CD_01 ) \n");
|
|||
|
sb.Append(" IN ( '0200', '0402', '0406', '0407', '0700', '0701', '0702', '0703', '0900', '0901', '1002') \n");
|
|||
|
sb.Append(" AND OCCUR_ENTRY_14 = '00' \n");
|
|||
|
sb.Append(" THEN 1 END ) AS CARD_AMT3_CNT, \n");
|
|||
|
sb.Append(" COUNT ( CASE WHEN TRADE_DIV = '1' AND ( PAY_WAY_CD + PAY_DTL_CD_01 ) \n");
|
|||
|
sb.Append(" IN ( '0200', '0402', '0406', '0407', '0700', '0701', '0702', '0703', '0900', '0901', '1002') \n");
|
|||
|
//#20180406 도로공사 수정 start
|
|||
|
//할부개월 없는 결제 수단도 있기 때문에 공백도 조건에 추가
|
|||
|
//기존
|
|||
|
//sb.Append(" AND OCCUR_ENTRY_14 <> '00' \n");
|
|||
|
//변경
|
|||
|
sb.Append(" AND OCCUR_ENTRY_14 <> '00' AND OCCUR_ENTRY_14 <> '' \n");
|
|||
|
//#20180406 도로공사 수정 end
|
|||
|
sb.Append(" THEN 1 END ) AS CARD_AMT4_CNT, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '0' AND ( PAY_WAY_CD + PAY_DTL_CD_01 ) \n");
|
|||
|
sb.Append(" IN ( '0200', '0402', '0406', '0407', '0700', '0701', '0702', '0703', '0900', '0901', '1002') \n");
|
|||
|
sb.Append(" AND OCCUR_ENTRY_14 = '00' \n");
|
|||
|
sb.Append(" THEN PAY_AMT END ) ),'0') AS CARD_AMT1, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '0' AND ( PAY_WAY_CD + PAY_DTL_CD_01 ) \n");
|
|||
|
sb.Append(" IN ( '0200', '0402', '0406', '0407', '0700', '0701', '0702', '0703', '0900', '0901', '1002') \n");
|
|||
|
//#20180406 도로공사 수정 start
|
|||
|
//할부개월 없는 결제 수단도 있기 때문에 공백도 조건에 추가
|
|||
|
//기존
|
|||
|
//sb.Append(" AND OCCUR_ENTRY_14 <> '00' \n");
|
|||
|
//변경
|
|||
|
sb.Append(" AND OCCUR_ENTRY_14 <> '00' AND OCCUR_ENTRY_14 <> '' \n");
|
|||
|
//#20180406 도로공사 수정 end
|
|||
|
sb.Append(" THEN PAY_AMT END ) ),'0') AS CARD_AMT2, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM ( CASE WHEN TRADE_DIV = '1' AND ( PAY_WAY_CD + PAY_DTL_CD_01 ) \n");
|
|||
|
sb.Append(" IN ( '0200', '0402', '0406', '0407', '0700', '0701', '0702', '0703', '0900', '0901', '1002') \n");
|
|||
|
sb.Append(" AND OCCUR_ENTRY_14 = '00' \n");
|
|||
|
sb.Append(" THEN PAY_AMT END ) ),'0') AS CARD_AMT3, \n");
|
|||
|
sb.Append(" ISNULL(CONVERT(INT,SUM \n");
|
|||
|
sb.Append(" ( CASE WHEN TRADE_DIV = '1' AND ( PAY_WAY_CD + PAY_DTL_CD_01 ) \n");
|
|||
|
sb.Append(" IN ( '0200', '0402', '0406', '0407', '0700', '0701', '0702', '0703', '0900', '0901', '1002') \n");
|
|||
|
//#20180406 도로공사 수정 start
|
|||
|
//할부개월 없는 결제 수단도 있기 때문에 공백도 조건에 추가
|
|||
|
//기존
|
|||
|
//sb.Append(" AND OCCUR_ENTRY_14 <> '00' \n");
|
|||
|
//변경
|
|||
|
sb.Append(" AND OCCUR_ENTRY_14 <> '00' AND OCCUR_ENTRY_14 <> '' \n");
|
|||
|
//#20180406 도로공사 수정 end
|
|||
|
sb.Append(" THEN PAY_AMT END ) ),'0') AS CARD_AMT4 \n");
|
|||
|
sb.Append(" FROM POSLOG..TR_SALE_HEADER A, \n");
|
|||
|
sb.Append(" POSLOG..TR_SALE_PAY B \n");
|
|||
|
sb.Append(" WHERE A.CMP_CD = '{0}' \n");
|
|||
|
sb.Append(" AND A.SALE_DT = '{1}' \n");
|
|||
|
sb.Append(" AND A.STOR_CD = '{2}' \n");
|
|||
|
sb.Append(" AND A.POS_NO = '{3}' \n");
|
|||
|
sb.Append(" AND A.TRAIN_MODE_YN = '0' \n");
|
|||
|
sb.Append(" AND A.TRADE_KINDPER IN ('00','20','21','42') \n");
|
|||
|
sb.Append(" AND A.CMP_CD = B.CMP_CD \n");
|
|||
|
sb.Append(" AND A.SALE_DT = B.SALE_DT \n");
|
|||
|
sb.Append(" AND A.STOR_CD = B.STOR_CD \n");
|
|||
|
sb.Append(" AND A.POS_NO = B.POS_NO \n");
|
|||
|
sb.Append(" AND A.TRADE_NO = B.TRADE_NO \n");
|
|||
|
sb.Append(" AND B.CANCEL_DIV = '0' \n");
|
|||
|
sb.Append(" ) B , \n");
|
|||
|
sb.Append(" (SELECT SUM(TRADE_CNT - B.NOT_BIL_CNT) AS CASH_AMT_CNT, \n");
|
|||
|
sb.Append(" CONVERT(INT,SUM(CASH_PAY_AMT)) AS CASH_AMT \n");
|
|||
|
sb.Append(" FROM \n");
|
|||
|
sb.Append(" (SELECT SUM ( CASE WHEN A.TRADE_NO IS NOT NULL THEN 1 ELSE 0 END ) AS TRADE_CNT , \n");
|
|||
|
sb.Append(" SUM (B.PAY_AMT) AS CASH_PAY_AMT \n");
|
|||
|
sb.Append(" FROM POSLOG..TR_SALE_HEADER AS A \n");
|
|||
|
sb.Append(" LEFT OUTER JOIN POSLOG..TR_SALE_PAY AS B \n");
|
|||
|
sb.Append(" ON ( \n");
|
|||
|
sb.Append(" A.CMP_CD = B.CMP_CD \n");
|
|||
|
sb.Append(" AND A.SALE_DT = B.SALE_DT \n");
|
|||
|
sb.Append(" AND A.STOR_CD = B.STOR_CD \n");
|
|||
|
sb.Append(" AND A.POS_NO = B.POS_NO \n");
|
|||
|
sb.Append(" AND A.TRADE_NO = B.TRADE_NO \n");
|
|||
|
sb.Append(" ) \n");
|
|||
|
sb.Append(" WHERE A.CMP_CD = '{0}' \n");
|
|||
|
sb.Append(" AND A.SALE_DT = '{1}' \n");
|
|||
|
sb.Append(" AND A.STOR_CD = '{2}' \n");
|
|||
|
sb.Append(" AND A.POS_NO = '{3}' \n");
|
|||
|
sb.Append(" AND TRAIN_MODE_YN = '0' \n");
|
|||
|
sb.Append(" AND TRADE_KINDPER IN ('00','20','21','42') \n");
|
|||
|
sb.Append(" AND B.CANCEL_DIV = '0' \n");
|
|||
|
sb.Append(" AND ( B.PAY_WAY_CD + B.PAY_DTL_CD_01 ) \n");
|
|||
|
sb.Append(" NOT IN ( '0200', '0402', '0406', '0407', '0700', '0701', '0702', '0703', '0900', '0901', '1002') \n");
|
|||
|
sb.Append(" AND B.PAY_DTL_CD_05 = '1' \n");
|
|||
|
sb.Append(" GROUP BY A.TRADE_NO \n");
|
|||
|
sb.Append(" ) A , \n");
|
|||
|
sb.Append(" (SELECT --A.PAY_TRADE_NO, \n");
|
|||
|
sb.Append(" --A.PAY_AMT, B.ETC_AMT , \n");
|
|||
|
sb.Append(" SUM ( CASE WHEN ( A.PAY_AMT-B.ETC_AMT ) < 1 THEN 0 ELSE 1 END ) AS NOT_BIL_CNT \n");
|
|||
|
sb.Append(" FROM \n");
|
|||
|
sb.Append(" (SELECT AA.TRADE_NO AS PAY_TRADE_NO, \n");
|
|||
|
sb.Append(" SUM(AA.PAY_AMT) AS PAY_AMT \n");
|
|||
|
sb.Append(" FROM POSLOG..TR_SALE_PAY AS AA \n");
|
|||
|
sb.Append(" WHERE AA.CMP_CD = '{0}' \n");
|
|||
|
sb.Append(" AND AA.SALE_DT = '{1}' \n");
|
|||
|
sb.Append(" AND AA.STOR_CD = '{2}' \n");
|
|||
|
sb.Append(" AND AA.POS_NO = '{3}' \n");
|
|||
|
sb.Append(" AND ( AA.PAY_WAY_CD + AA.PAY_DTL_CD_01 ) \n");
|
|||
|
sb.Append(" NOT IN ( '0200', '0402', '0406', '0407', '0700', '0701', '0702', '0703', '0900', '0901', '1002') \n");
|
|||
|
sb.Append(" GROUP BY AA.TRADE_NO \n");
|
|||
|
sb.Append(" ) AS A \n");
|
|||
|
sb.Append(" LEFT OUTER JOIN \n");
|
|||
|
sb.Append(" (SELECT BB.TRADE_NO AS ETC_TRADE_NO , \n");
|
|||
|
sb.Append(" ISNULL( SUM(BB.ETC_AMT),0) AS ETC_AMT \n");
|
|||
|
sb.Append(" FROM POSLOG..TR_SALE_ETC AS BB \n");
|
|||
|
sb.Append(" WHERE BB.CMP_CD = '{0}' \n");
|
|||
|
sb.Append(" AND BB.SALE_DT = '{1}' \n");
|
|||
|
sb.Append(" AND BB.STOR_CD = '{2}' \n");
|
|||
|
sb.Append(" AND BB.POS_NO = '{3}' \n");
|
|||
|
sb.Append(" AND BB.ETC_DTL_CD_01 = '00' \n");
|
|||
|
sb.Append(" GROUP BY BB.TRADE_NO \n");
|
|||
|
sb.Append(" ) AS B \n");
|
|||
|
sb.Append(" ON( A.PAY_TRADE_NO=B.ETC_TRADE_NO ) \n");
|
|||
|
sb.Append(" WHERE ETC_AMT IS NOT NULL \n");
|
|||
|
sb.Append(" )B \n");
|
|||
|
sb.Append(" ) C , \n");
|
|||
|
sb.Append(" (SELECT MIN(A.SYS_DT + A.PAY_TIME) AS OPEN_DATETIME, \n");
|
|||
|
sb.Append(" MAX(B.SYS_DT + B.PAY_TIME) AS CLOSE_DATETIME \n");
|
|||
|
sb.Append(" FROM POSLOG..ETC_SALE_HEADER A \n");
|
|||
|
sb.Append(" JOIN POSLOG..TR_SALE_HEADER AS B \n");
|
|||
|
sb.Append(" ON( \n");
|
|||
|
sb.Append(" A.CMP_CD = B.CMP_CD \n");
|
|||
|
sb.Append(" AND A.SALE_DT = B.SALE_DT \n");
|
|||
|
sb.Append(" AND A.STOR_CD = B.STOR_CD \n");
|
|||
|
sb.Append(" AND A.POS_NO = B.POS_NO \n");
|
|||
|
sb.Append(" ) \n");
|
|||
|
sb.Append(" WHERE A.CMP_CD = '{0}' \n");
|
|||
|
sb.Append(" AND A.SALE_DT = '{1}' \n");
|
|||
|
sb.Append(" AND A.STOR_CD = '{2}' \n");
|
|||
|
sb.Append(" AND A.POS_NO = '{3}' \n");
|
|||
|
sb.Append(" AND A.TRADE_KINDPER = '97' \n");
|
|||
|
sb.Append(" AND B.TRADE_KINDPER = '84' \n");
|
|||
|
sb.Append(" )TM \n");
|
|||
|
#endregion 도로공사 2018
|
|||
|
|
|||
|
sQuery = sb.ToString();
|
|||
|
}
|
|||
|
|
|||
|
//#20180322 휴게소pos매출연동 end,phj
|
|||
|
|
|||
|
|
|||
|
sSql = string.Format(sQuery, sCmpCd, sSaleDt, sStorCd, sPosNo);
|
|||
|
|
|||
|
dtReturn = m_cMstService.Select(new string[] { sSql });
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_ERROR,
|
|||
|
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
return dtReturn;
|
|||
|
}
|
|||
|
private void MakeCalcDataXmlForEx(string sSaleDt, ref XmlDocument doc, ref XmlElement upperNode, DataTable dtData)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
DataRow dr = dtData.Rows[0];
|
|||
|
//-----------------------------------------------------------------------------------------
|
|||
|
// TXJM-FD
|
|||
|
//-----------------------------------------------------------------------------------------
|
|||
|
XmlElement TXJMNode = doc.CreateElement("TXJM-FD");
|
|||
|
|
|||
|
TXJMNode.SetAttribute("SRID", "PS010"); // 1.전문ID (5)
|
|||
|
TXJMNode.SetAttribute("RETCD", "0000"); // 2.전문적합성체크 (4)
|
|||
|
|
|||
|
upperNode.AppendChild(TXJMNode);
|
|||
|
|
|||
|
//-----------------------------------------------------------------------------------------
|
|||
|
// DATA-HD
|
|||
|
//-----------------------------------------------------------------------------------------
|
|||
|
XmlElement DATAHDNode = doc.CreateElement("DATA-HD");
|
|||
|
|
|||
|
//DATAHDNode.SetAttribute("SHOP_CD", m_cPosStatus.Base.ExStoreCd); // 3.매장코드 (9)
|
|||
|
//DATAHDNode.SetAttribute("SHOP_CD", m_cPosStatus.Base.OutSDVendConNo); // 3.매장코드 (9)
|
|||
|
DATAHDNode.SetAttribute("SHOP_CD", m_cPosStatus.Mst.JOIN_STOR_CD); // 3.매장코드 (9)
|
|||
|
DATAHDNode.SetAttribute("SALE_DATE", sSaleDt); // 4.영업일자 (8)
|
|||
|
DATAHDNode.SetAttribute("POS_NO", m_cPosStatus.Base.PosNo); // 5.포스번호 (2)
|
|||
|
DATAHDNode.SetAttribute("REGI_SEQ", "00"); // 6.정산차수 (2)
|
|||
|
//DATAHDNode.SetAttribute("INDEX_NO", m_cPosStatus.Base.ExStoreCd + ";" +
|
|||
|
//DATAHDNode.SetAttribute("INDEX_NO", m_cPosStatus.Base.OutSDVendConNo + ";" + sSaleDt + ";" + m_cPosStatus.Base.PosNo + ";" + "00"); // 7.인덱스번호 (20)
|
|||
|
DATAHDNode.SetAttribute("INDEX_NO", m_cPosStatus.Mst.JOIN_STOR_CD + ";" + sSaleDt + ";" + m_cPosStatus.Base.PosNo + ";" + "00"); // 7.인덱스번호 (20)
|
|||
|
DATAHDNode.SetAttribute("DT_CNT", "1"); // 8.디테일개수 (2)
|
|||
|
|
|||
|
upperNode.AppendChild(DATAHDNode);
|
|||
|
|
|||
|
XmlElement DATADTNode = doc.CreateElement("DATA-DT");
|
|||
|
|
|||
|
//DATADTNode.SetAttribute("SHOP_CD", m_cPosStatus.Base.ExStoreCd); // 9.매장코드 (9)
|
|||
|
//DATADTNode.SetAttribute("SHOP_CD", m_cPosStatus.Base.OutSDVendConNo); // 9.매장코드 (9)
|
|||
|
DATADTNode.SetAttribute("SHOP_CD", m_cPosStatus.Mst.JOIN_STOR_CD); // 9.매장코드 (9)
|
|||
|
DATADTNode.SetAttribute("SALE_DATE", sSaleDt); // 10.영업일자 (8)
|
|||
|
DATADTNode.SetAttribute("POS_NO", m_cPosStatus.Base.PosNo); // 11.포스번호 (2)
|
|||
|
DATADTNode.SetAttribute("REGI_SEQ", "00"); // 12.정산차수 (2)
|
|||
|
DATADTNode.SetAttribute("EMP_NO", "0000"); // 13.판매원번호 (4)
|
|||
|
DATADTNode.SetAttribute("CLOSE_FG", "3"); // 14.포스마감구분 (1)
|
|||
|
DATADTNode.SetAttribute("OPEN_DT", m_cPosStatus.Base.OpenDateTime); // 15.개점일시 (14)
|
|||
|
DATADTNode.SetAttribute("CLOSE_DT", m_cPosStatus.Base.CloseDateTime); // 16.마감일시 (14)
|
|||
|
DATADTNode.SetAttribute("TOT_BILL_CNT", CmUtil.GetDataRowStr(dr, "TOT_BILL_CNT")); // 17.총영수건수 (5)
|
|||
|
DATADTNode.SetAttribute("TOT_SALE_AMT", CmUtil.GetDataRowStr(dr, "DCM_SALE_AMT")); // 18.총매출액 (12)
|
|||
|
DATADTNode.SetAttribute("TOT_DC_AMT", CmUtil.GetDataRowStr(dr, "TOT_DC_AMT")); // 19.총할인액 (12)
|
|||
|
DATADTNode.SetAttribute("SVC_TIP_AMT", CmUtil.GetDataRowStr(dr, "SVC_TIP_AMT"));// 20.봉사료 (12)
|
|||
|
DATADTNode.SetAttribute("TOT_ETC_AMT", CmUtil.GetDataRowStr(dr, "TOT_ETC_AMT"));// 21.기타에누리액(식권짜투리/에누리-끝전) (12)
|
|||
|
DATADTNode.SetAttribute("DCM_SALE_AMT", CmUtil.GetDataRowStr(dr, "DCM_SALE_AMT")); // 22.실매출액 (12)
|
|||
|
DATADTNode.SetAttribute("VAT_SALE_AMT", CmUtil.GetDataRowStr(dr, "VAT_SALE_AMT")); // 23.과세매출액 (12)
|
|||
|
DATADTNode.SetAttribute("VAT_AMT", CmUtil.GetDataRowStr(dr, "VAT_AMT")); // 24.부가세액 (12)
|
|||
|
DATADTNode.SetAttribute("NO_VAT_SALE_AMT", CmUtil.GetDataRowStr(dr, "NO_VAT_SALE_AMT")); // 25.면세매출액 (12)
|
|||
|
DATADTNode.SetAttribute("NO_TAX_SALE_AMT", CmUtil.GetDataRowStr(dr, "NO_TAX_SALE_AMT")); // 26.순매출액 (12)
|
|||
|
DATADTNode.SetAttribute("RET_BILL_CNT", CmUtil.GetDataRowStr(dr, "RET_BILL_CNT")); // 27.취소매출건수 (5)
|
|||
|
DATADTNode.SetAttribute("RET_BILL_AMT", CmUtil.GetDataRowStr(dr, "RET_BILL_AMT")); // 28.취소매출액 (12)
|
|||
|
DATADTNode.SetAttribute("VISIT_CST_CNT", CmUtil.GetDataRowStr(dr, "VISIT_CST_CNT"));// 29.방문손님수 (9)
|
|||
|
DATADTNode.SetAttribute("POS_READY_AMT", CmUtil.GetDataRowStr(dr, "POS_READY_AMT"));// 30.영업준비금 (12)
|
|||
|
DATADTNode.SetAttribute("POS_CSH_IN_AMT", "0"); // 31.시재입금액 (12)
|
|||
|
DATADTNode.SetAttribute("POS_CSH_OUT_AMT", "0"); // 32.시재출금액 (12)
|
|||
|
DATADTNode.SetAttribute("WEA_IN_CSH_AMT", "0"); // 33.외상입금액-현금 (12)
|
|||
|
DATADTNode.SetAttribute("WEA_IN_CRD_AMT", "0"); // 34.외상입금액-신용카드 (12)
|
|||
|
DATADTNode.SetAttribute("TK_GFT_SALE_CSH_AMT", "0"); // 35.상품권판매액-현금 (12)
|
|||
|
DATADTNode.SetAttribute("TK_GFT_SALE_CRD_AMT", "0"); // 36.상품권판매액-신용카드 (12)
|
|||
|
DATADTNode.SetAttribute("TK_FOD_SALE_CSH_AMT", "0"); // 37.식권판매액-현금 (12)
|
|||
|
DATADTNode.SetAttribute("TK_FOD_SALE_CRD_AMT", "0"); // 38.식권판매액-신용카드 (12)
|
|||
|
DATADTNode.SetAttribute("CASH_CNT", CmUtil.GetDataRowStr(dr, "CASH_CNT")); // 39.결제건수-현금 (9)
|
|||
|
DATADTNode.SetAttribute("CASH_AMT", CmUtil.GetDataRowStr(dr, "CASH_AMT")); // 40.결제액-현금 (12)
|
|||
|
DATADTNode.SetAttribute("CASH_BILL_CNT", CmUtil.GetDataRowStr(dr, "CASH_BILL_CNT"));// 41.결제건수-현금영수증 (9)
|
|||
|
DATADTNode.SetAttribute("CASH_BILL_AMT", CmUtil.GetDataRowStr(dr, "CASH_BILL_AMT"));// 42.결제액-현금영수증 (12)
|
|||
|
DATADTNode.SetAttribute("CRD_CARD_CNT", CmUtil.GetDataRowStr(dr, "CRD_CARD_CNT")); // 43.결제건수-신용카드 (9)
|
|||
|
DATADTNode.SetAttribute("CRD_CARD_AMT", CmUtil.GetDataRowStr(dr, "CRD_CARD_AMT")); // 44.결제액-신용카드 (12)
|
|||
|
DATADTNode.SetAttribute("WES_CNT", "0"); // 45.결제건수-외상 (9)
|
|||
|
DATADTNode.SetAttribute("WES_AMT", "0"); // 46.결제액-외상 (12)
|
|||
|
DATADTNode.SetAttribute("TK_GFT_CNT", "0"); // 47.결제건수-상품권 (9)
|
|||
|
DATADTNode.SetAttribute("TK_GFT_AMT", "0"); // 48.결제액-상품권 (12)
|
|||
|
DATADTNode.SetAttribute("TK_FOD_CNT", "0"); // 49.결제건수-식권 (9)
|
|||
|
DATADTNode.SetAttribute("TK_FOD_AMT", "0"); // 50.결제액-식권 (12)
|
|||
|
DATADTNode.SetAttribute("CST_POINT_CNT", "0"); // 51.결제건수-회원포인트 (9)
|
|||
|
DATADTNode.SetAttribute("CST_POINT_AMT", "0"); // 52.결제액-회원포인트 (12)
|
|||
|
DATADTNode.SetAttribute("JCD_CARD_CNT", "0"); // 53.결제건수-제휴카드 (9)
|
|||
|
DATADTNode.SetAttribute("JCD_CARD_AMT", "0"); // 54.결제액-제휴카드 (12)
|
|||
|
DATADTNode.SetAttribute("RFC_CNT", "0"); // 55.결제건수-RF (9)
|
|||
|
DATADTNode.SetAttribute("RFC_AMT", "0"); // 56.결제액-RF (12)
|
|||
|
DATADTNode.SetAttribute("DC_GEN_CNT", "0"); // 57.할인건수-일반 (9)
|
|||
|
DATADTNode.SetAttribute("DC_GEN_AMT", "0"); // 58.할인액-일반 (12)
|
|||
|
DATADTNode.SetAttribute("DC_SVC_CNT", "0"); // 59.할인건수-서비스 (9)
|
|||
|
DATADTNode.SetAttribute("DC_SVC_AMT", "0"); // 60.할인액-서비스 (12)
|
|||
|
DATADTNode.SetAttribute("DC_JCD_CNT", "0"); // 61.할인건수-제휴카드 (9)
|
|||
|
DATADTNode.SetAttribute("DC_JCD_AMT", "0"); // 62.할인액-제휴카드 (12)
|
|||
|
DATADTNode.SetAttribute("DC_CPN_CNT", "0"); // 63.할인건수-쿠폰 (9)
|
|||
|
DATADTNode.SetAttribute("DC_CPN_AMT", "0"); // 64.할인액-쿠폰 (12)
|
|||
|
DATADTNode.SetAttribute("DC_CST_CNT", "0"); // 65.할인건수-회원 (9)
|
|||
|
DATADTNode.SetAttribute("DC_CST_AMT", "0"); // 66.할인액-회원 (12)
|
|||
|
DATADTNode.SetAttribute("DC_TFD_CNT", "0"); // 67.할인건수-식권 (9)
|
|||
|
DATADTNode.SetAttribute("DC_TFD_AMT", "0"); // 68.할인액-식권 (12)
|
|||
|
DATADTNode.SetAttribute("DC_PRM_CNT", "0"); // 69.할인건수-프로모션 (9)
|
|||
|
DATADTNode.SetAttribute("DC_PRM_AMT", "0"); // 70.할인액-프로모션 (12)
|
|||
|
DATADTNode.SetAttribute("DC_CRD_CNT", "0"); // 71.할인건수-신용카드 (9)
|
|||
|
DATADTNode.SetAttribute("DC_CRD_AMT", "0"); // 72.할인액-신용카드 (12)
|
|||
|
DATADTNode.SetAttribute("DC_PACK_CNT", "0"); // 73.할인건수-포장할인 (9)
|
|||
|
DATADTNode.SetAttribute("DC_PACK_AMT", "0"); // 74.할인액-포장할인 (12)
|
|||
|
DATADTNode.SetAttribute("DC_EMP_CNT", "0");
|
|||
|
DATADTNode.SetAttribute("DC_EMP_AMT", "0");
|
|||
|
DATADTNode.SetAttribute("REM_CHECK_CNT", CmUtil.GetDataRowStr(dr, "REM_CHECK_CNT"));// 75.수표수량 (9)
|
|||
|
DATADTNode.SetAttribute("REM_CHECK_AMT", CmUtil.GetDataRowStr(dr, "REM_CHECK_AMT"));// 76.수표금액 (12)
|
|||
|
DATADTNode.SetAttribute("REM_W100000_CNT", CmUtil.GetDataRowStr(dr, "REM_W100000_CNT")); // 77.십만원권수량 (9)
|
|||
|
DATADTNode.SetAttribute("REM_W50000_CNT", CmUtil.GetDataRowStr(dr, "REM_W50000_CNT")); // 78.오만원권수량 (9)
|
|||
|
DATADTNode.SetAttribute("REM_W10000_CNT", CmUtil.GetDataRowStr(dr, "REM_W10000_CNT")); // 79.만원권수량 (9)
|
|||
|
DATADTNode.SetAttribute("REM_W5000_CNT", CmUtil.GetDataRowStr(dr, "REM_W5000_CNT")); // 80.오천원권수량 (9)
|
|||
|
DATADTNode.SetAttribute("REM_W1000_CNT", CmUtil.GetDataRowStr(dr, "REM_W1000_CNT")); // 81.천원권수량 (9)
|
|||
|
DATADTNode.SetAttribute("REM_W500_CNT", CmUtil.GetDataRowStr(dr, "REM_W500_CNT")); // 82.오백원권수량 (9)
|
|||
|
DATADTNode.SetAttribute("REM_W100_CNT", CmUtil.GetDataRowStr(dr, "REM_W100_CNT")); // 83.백원권수량 (9)
|
|||
|
DATADTNode.SetAttribute("REM_W50_CNT", CmUtil.GetDataRowStr(dr, "REM_W50_CNT")); // 84.오십원권수량 (9)
|
|||
|
DATADTNode.SetAttribute("REM_W10_CNT", CmUtil.GetDataRowStr(dr, "REM_W10_CNT")); // 85.십원권수량 (9)
|
|||
|
DATADTNode.SetAttribute("REM_CASH_AMT", "0"); // 86.마감현금시재액 (12)
|
|||
|
DATADTNode.SetAttribute("REM_TK_GFT_CNT", "0"); // 87.상품권시재건수 (9)
|
|||
|
DATADTNode.SetAttribute("REM_TK_GFT_AMT", "0"); // 88.상품권시재금액 (12)
|
|||
|
DATADTNode.SetAttribute("REM_TK_FOD_CNT", "0"); // 89.식권시재건수 (9)
|
|||
|
DATADTNode.SetAttribute("REM_TK_FOD_AMT", "0"); // 90.식권시재금액 (12)
|
|||
|
DATADTNode.SetAttribute("ETC_TK_FOD_AMT", "0"); // 91.식권-짜투리 (12)
|
|||
|
DATADTNode.SetAttribute("LOSS_CASH_AMT", CmUtil.GetDataRowStr(dr, "LOSS_CASH_AMT")); // 92.현금과부족 (12)
|
|||
|
DATADTNode.SetAttribute("LOSS_TK_GFT_AMT", "0"); // 93.상품권과부족 (12)
|
|||
|
DATADTNode.SetAttribute("LOSS_TK_FOD_AMT", "0"); // 94.식권과부족 (12)
|
|||
|
DATADTNode.SetAttribute("REPAY_CASH_CNT", "0"); // 95.상품권-현금환불건수 (9)
|
|||
|
DATADTNode.SetAttribute("REPAY_CASH_AMT", "0"); // 96.상품권-현금환불액 (12)
|
|||
|
DATADTNode.SetAttribute("REPAY_TK_GFT_CNT", "0"); // 97.상품권-환불건수 (9)
|
|||
|
DATADTNode.SetAttribute("REPAY_TK_GFT_AMT", "0"); // 98.상품권-환불액 (12)
|
|||
|
DATADTNode.SetAttribute("COM_CNT", "0"); // 99.수수료건수 (9)
|
|||
|
DATADTNode.SetAttribute("COM_AMT", "0"); // 100.수수료이익금액 (12)
|
|||
|
DATADTNode.SetAttribute("PREPAY_CNT", "0"); // 101.선수선입금건수 (9)
|
|||
|
DATADTNode.SetAttribute("PREPAY_AMT", "0"); // 102.선수선입금액 (12)
|
|||
|
DATADTNode.SetAttribute("INS_DT", m_cPosStatus.Base.CloseDateTime); // 103.등록일시 (14)
|
|||
|
DATADTNode.SetAttribute("BILL_NO_END", CmUtil.GetDataRowStr(dr, "BILL_NO_END").Substring(1, 4));// 104.마지막영수증번호 (4)
|
|||
|
|
|||
|
DATAHDNode.AppendChild(DATADTNode);
|
|||
|
}
|
|||
|
catch(Exception ex)
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_ERROR,
|
|||
|
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion 01 - 도로공사 정산Data 조회 및 생성
|
|||
|
|
|||
|
#region 02 - 한국공항공사 정산Data 조회 및 생성
|
|||
|
private DataTable GetCalcData1ForKac(string sCmpCd, string sSaleDt, string sStorCd, string sPosNo)
|
|||
|
{
|
|||
|
string sQuery = string.Empty;
|
|||
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
|||
|
DataTable dtReturn = null;
|
|||
|
try
|
|||
|
{
|
|||
|
sb.Append("SELECT COUNT(DISTINCT TSD.TRADE_NO) AS BILL_CNT ");
|
|||
|
sb.Append(" , MAX(TSD.TRADE_NO) + 1 AS MAX_BILL ");
|
|||
|
sb.Append(" , SUM(ISNULL(TSD.BILL_AMT, 0)) AS SUM_AMT ");
|
|||
|
sb.Append(" , SUM(ISNULL(TSD.BILL_AMT, 0) - ISNULL(TSD.APPLY_TAX_AMT, 0)) AS NET_AMT ");
|
|||
|
sb.Append(" , SUM(ISNULL(TSD.APPLY_TAX_AMT, 0)) AS VAT_AMT ");
|
|||
|
sb.Append(" FROM POSLOG..TR_SALE_HEADER TSH ");
|
|||
|
sb.Append(" , POSLOG..TR_SALE_DETAIL TSD ");
|
|||
|
sb.Append(" WHERE TSH.CMP_CD = '{0}' ");
|
|||
|
sb.Append(" AND TSH.SALE_DT = '{1}' ");
|
|||
|
sb.Append(" AND TSH.STOR_CD = '{2}' ");
|
|||
|
sb.Append(" AND TSH.POS_NO = '{3}' ");
|
|||
|
sb.Append(" AND TSH.TRAIN_MODE_YN = '" + ItemConst.TRAINING_FLAG.TRAINING_NO + "' ");
|
|||
|
sb.Append(" AND TSH.TRADE_KINDPER = '" + ItemConst.TRAN_KIND.NORMAL.SALE + "' ");
|
|||
|
sb.Append(" AND TSH.CMP_CD = TSD.CMP_CD ");
|
|||
|
sb.Append(" AND TSH.SALE_DT = TSD.SALE_DT ");
|
|||
|
sb.Append(" AND TSH.STOR_CD = TSD.STOR_CD ");
|
|||
|
sb.Append(" AND TSH.POS_NO = TSD.POS_NO ");
|
|||
|
sb.Append(" AND TSH.TRADE_NO = TSD.TRADE_NO ");
|
|||
|
|
|||
|
dtReturn = m_cMstService.Select(new string[] { sb.ToString() });
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_ERROR,
|
|||
|
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
return dtReturn;
|
|||
|
}
|
|||
|
private DataTable GetCalcData2ForKac(string sCmpCd, string sSaleDt, string sStorCd, string sPosNo)
|
|||
|
{
|
|||
|
string sQuery = string.Empty;
|
|||
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
|||
|
DataTable dtReturn = null;
|
|||
|
try
|
|||
|
{
|
|||
|
sb.Append("SELECT (A.CASH_AMT + B.CARD_AMT + C.ETC_AMT) AS TOTLA_AMT ");
|
|||
|
sb.Append(" , A.CASH_AMT AS CASH_AMT ");
|
|||
|
sb.Append(" , B.CARD_AMT AS CARD_AMT ");
|
|||
|
sb.Append(" , C.ETC_AMT AS ETC_AMT ");
|
|||
|
sb.Append(" FROM ( ");
|
|||
|
sb.Append(" SELECT SUM(CASE WHEN TSH.TRADE_DIV = '0' ");
|
|||
|
sb.Append(" THEN 1 ");
|
|||
|
sb.Append(" ELSE (-1) ");
|
|||
|
sb.Append(" END * ISNULL(TSP.PAY_AMT, 0)) AS CASH_AMT ");
|
|||
|
sb.Append(" FROM POSLOG..TR_SALE_HEADER TSH ");
|
|||
|
sb.Append(" , POSLOG..TR_SALE_PAY TSP ");
|
|||
|
sb.Append(" WHERE TSH.CMP_CD = '{0}' ");
|
|||
|
sb.Append(" AND TSH.SALE_DT = '{1}' ");
|
|||
|
sb.Append(" AND TSH.STOR_CD = '{2}' ");
|
|||
|
sb.Append(" AND TSH.POS_NO = '{3}' ");
|
|||
|
sb.Append(" AND TSH.TRAIN_MODE_YN = '" + ItemConst.TRAINING_FLAG.TRAINING_NO + "' ");
|
|||
|
sb.Append(" AND TSH.TRADE_KINDPER = '" + ItemConst.TRAN_KIND.NORMAL.SALE + "' ");
|
|||
|
sb.Append(" AND TSH.CMP_CD = TSP.CMP_CD ");
|
|||
|
sb.Append(" AND TSH.SALE_DT = TSP.SALE_DT ");
|
|||
|
sb.Append(" AND TSH.STOR_CD = TSP.STOR_CD ");
|
|||
|
sb.Append(" AND TSH.POS_NO = TSP.POS_NO ");
|
|||
|
sb.Append(" AND TSH.TRADE_NO = TSP.TRADE_NO ");
|
|||
|
sb.Append(" AND TSP.PAY_WAY_CD = '" + ItemConst.TR_ITEM_ID.CASH_ITEM + "' ");
|
|||
|
sb.Append(" ) A ");
|
|||
|
sb.Append(" , ( ");
|
|||
|
sb.Append(" SELECT SUM(CASE WHEN TSH.TRADE_DIV = '0' ");
|
|||
|
sb.Append(" THEN 1 ");
|
|||
|
sb.Append(" ELSE (-1) ");
|
|||
|
sb.Append(" END * ISNULL(TSP.PAY_AMT, 0)) AS CARD_AMT ");
|
|||
|
sb.Append(" FROM POSLOG..TR_SALE_HEADER TSH ");
|
|||
|
sb.Append(" , POSLOG..TR_SALE_PAY TSP ");
|
|||
|
sb.Append(" WHERE TSH.CMP_CD = '{0}' ");
|
|||
|
sb.Append(" AND TSH.SALE_DT = '{1}' ");
|
|||
|
sb.Append(" AND TSH.STOR_CD = '{2}' ");
|
|||
|
sb.Append(" AND TSH.POS_NO = '{3}' ");
|
|||
|
sb.Append(" AND TSH.TRAIN_MODE_YN = '" + ItemConst.TRAINING_FLAG.TRAINING_NO + "' ");
|
|||
|
sb.Append(" AND TSH.TRADE_KINDPER = '" + ItemConst.TRAN_KIND.NORMAL.SALE + "' ");
|
|||
|
sb.Append(" AND TSH.SALE_DT = TSP.CMP_CD ");
|
|||
|
sb.Append(" AND TSH.STOR_CD = TSP.STOR_CD ");
|
|||
|
sb.Append(" AND TSH.POS_NO = TSP.POS_NO ");
|
|||
|
sb.Append(" AND TSH.TRADE_NO = TSP.TRADE_NO ");
|
|||
|
sb.Append(" AND TSP.PAY_WAY_CD = '" + ItemConst.TR_ITEM_ID.CREDITCARD_ITEM + "' ");
|
|||
|
sb.Append(" ) B ");
|
|||
|
sb.Append(" , ( ");
|
|||
|
sb.Append(" SELECT SUM(CASE WHEN TSH.TRADE_DIV = '0' ");
|
|||
|
sb.Append(" THEN 1 ");
|
|||
|
sb.Append(" ELSE (-1) ");
|
|||
|
sb.Append(" END * ISNULL(TSP.PAY_AMT, 0)) AS ETC_AMT ");
|
|||
|
sb.Append(" FROM POSLOG..TR_SALE_HEADER TSH ");
|
|||
|
sb.Append(" , POSLOG..TR_SALE_PAY TSP ");
|
|||
|
sb.Append(" WHERE TSH.CMP_CD = '{0}' ");
|
|||
|
sb.Append(" AND TSH.SALE_DT = '{1}' ");
|
|||
|
sb.Append(" AND TSH.STOR_CD = '{2}' ");
|
|||
|
sb.Append(" AND TSH.POS_NO = '{3}' ");
|
|||
|
sb.Append(" AND TSH.TRAIN_MODE_YN = '" + ItemConst.TRAINING_FLAG.TRAINING_NO + "' ");
|
|||
|
sb.Append(" AND TSH.TRADE_KINDPER = '" + ItemConst.TRAN_KIND.NORMAL.SALE + "' ");
|
|||
|
sb.Append(" AND TSH.SALE_DT = TSP.CMP_CD ");
|
|||
|
sb.Append(" AND TSH.STOR_CD = TSP.STOR_CD ");
|
|||
|
sb.Append(" AND TSH.POS_NO = TSP.POS_NO ");
|
|||
|
sb.Append(" AND TSH.TRADE_NO = TSP.TRADE_NO ");
|
|||
|
sb.Append(" AND TSP.PAY_WAY_CD <> '" + ItemConst.TR_ITEM_ID.CASH_ITEM + "' ");
|
|||
|
sb.Append(" AND TSP.PAY_WAY_CD <> '" + ItemConst.TR_ITEM_ID.CREDITCARD_ITEM + "' ");
|
|||
|
sb.Append(" ) C ");
|
|||
|
|
|||
|
dtReturn = m_cMstService.Select(new string[] { sb.ToString() });
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_ERROR,
|
|||
|
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
return dtReturn;
|
|||
|
}
|
|||
|
|
|||
|
private Column.KACCalcData MakeCalcDataForKac(string sCmpCd, string sSaleDt, string sStorNo, string sPosNo, DataTable dtCalc1Data, DataTable dtCalc2Data)
|
|||
|
{
|
|||
|
Column.KACCalcData cCalcData = new Column.KACCalcData();
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
string sSaleTm = DateTime.Now.ToString("HHmmss");
|
|||
|
string sSysDate = DateTime.Now.ToString("yyyyMMddHHmmss");
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// 마감 정보 (마감정보) - dtCalc1Data //
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
cCalcData.TRAN_TYPE = "CALC"; // 정산
|
|||
|
//cCalcData.CON_NO = m_cPosStatus.Base.KacConNo; // 계약번호
|
|||
|
//cCalcData.CON_NO = m_cPosStatus.Base.OutSDVendConNo; // 계약번호
|
|||
|
cCalcData.CON_NO = m_cPosStatus.Mst.JOIN_STOR_CD; // 계약번호
|
|||
|
cCalcData.SALE_DT = sSaleDt; // 영업일자
|
|||
|
cCalcData.STORE_CD = sStorNo; // 점번호
|
|||
|
cCalcData.POS_NO = sPosNo; // POS번호
|
|||
|
cCalcData.RECEIPT_SEQ = CmUtil.GetDataRowStr(dtCalc1Data.Rows[0], "MAX_BILL"); // 순차적으로 증가하는 값
|
|||
|
cCalcData.RECEIPT_NO = CmUtil.GetDataRowStr(dtCalc1Data.Rows[0], "MAX_BILL"); // 영수증번호
|
|||
|
cCalcData.SALE_TM = sSaleTm; // 매출시간
|
|||
|
cCalcData.RECEIPT_QTY = CmUtil.GetDataRowStr(dtCalc1Data.Rows[0], "BILL_CNT"); // 매출건수
|
|||
|
//cCalcData.TOTAL_AMT = "0"; // 총매출금액
|
|||
|
cCalcData.SALE_AMT = CmUtil.GetDataRowStr(dtCalc1Data.Rows[0], "NET_AMT"); // 총공급가액
|
|||
|
cCalcData.TAX_AMT = CmUtil.GetDataRowStr(dtCalc1Data.Rows[0], "VAT_AMT"); // 총부가세액
|
|||
|
//cCalcData.CASH_AMT = "0"; // 총현금금액
|
|||
|
//cCalcData.CARD_AMT = "0"; // 총카드금액
|
|||
|
//cCalcData.ETC_AMT = "0"; // 총기타금액
|
|||
|
cCalcData.CREATE_DT = sSysDate; // 생성일자
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
// 마감 정보 (마감정보) - dtCalc2Data //
|
|||
|
//////////////////////////////////////////////////////////////
|
|||
|
cCalcData.TOTAL_AMT = CmUtil.GetDataRowStr(dtCalc2Data.Rows[0], "TOTLA_AMT"); // 총매출금액
|
|||
|
cCalcData.CASH_AMT = CmUtil.GetDataRowStr(dtCalc2Data.Rows[0], "CASH_AMT"); // 총현금금액
|
|||
|
cCalcData.CARD_AMT = CmUtil.GetDataRowStr(dtCalc2Data.Rows[0], "CARD_AMT"); // 총카드금액
|
|||
|
cCalcData.ETC_AMT = CmUtil.GetDataRowStr(dtCalc2Data.Rows[0], "ETC_AMT"); // 총기타금액
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_ERROR,
|
|||
|
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
return cCalcData;
|
|||
|
}
|
|||
|
#endregion 02 - 한국공항공사 정산Data 조회 및 생성
|
|||
|
|
|||
|
//#20180322 휴게소pos매출연동 start,phj
|
|||
|
#region 03 - 도로공사2018
|
|||
|
|
|||
|
private string MakeCalcDataJsonForEx(string sSaleDt, DataTable dtData)
|
|||
|
{
|
|||
|
var sJsonData = string.Empty;
|
|||
|
try
|
|||
|
{
|
|||
|
if (dtData == null || dtData.Rows.Count == 0)
|
|||
|
|
|||
|
return null;
|
|||
|
|
|||
|
DataRow dr = dtData.Rows[0];
|
|||
|
Hashtable htData = new Hashtable();
|
|||
|
Hashtable htData_Cover = new Hashtable();
|
|||
|
|
|||
|
var sCloseDate = CmUtil.GetDataRowStr(dr, "CLOSE_DATETIME"); //마감일시 처리 ( 마감쿼리로 못 가져올 경우 현재 이면 지금 시간을 입력함)
|
|||
|
var sOpenDate = CmUtil.GetDataRowStr(dr, "OPEN_DATETIME");
|
|||
|
|
|||
|
htData.Add("SALE_DAY", sSaleDt); //기준영업일
|
|||
|
|
|||
|
//#20180406 도로공사 수정 start
|
|||
|
//REGI_TYPE : 0 으로 생성 (총정산)
|
|||
|
//기존
|
|||
|
//htData.Add("REGI_TYPE", "1"); //정산종류(0: 총정산, 1:캐셔별 정산)
|
|||
|
//변경
|
|||
|
htData.Add("REGI_TYPE", "0"); //정산종류(0: 총정산, 1:캐셔별 정산)
|
|||
|
//#20180406 도로공사 수정 end
|
|||
|
|
|||
|
if (sOpenDate.Equals(string.Empty) == true && DateTime.Now.ToString("yyyyMMdd").Equals(sSaleDt)) //개설년월일시분(YYYYMMDDhhmm)
|
|||
|
htData.Add("OPEN_DATETIME", DateTime.Now.ToString("yyyyMMdd") + "0600");
|
|||
|
else
|
|||
|
htData.Add("OPEN_DATETIME", CmUtil.GetDataRowStr(dr, "OPEN_DATETIME").Substring(0, 12));
|
|||
|
if (sCloseDate.Equals(string.Empty) == true && DateTime.Now.ToString("yyyyMMdd").Equals(sSaleDt)) //정산년월일시분(YYYYMMDDhhmm)
|
|||
|
htData.Add("CLOSE_DATETIME", DateTime.Now.ToString("yyyyMMddHHmm"));
|
|||
|
else
|
|||
|
htData.Add("CLOSE_DATETIME", CmUtil.GetDataRowStr(dr, "CLOSE_DATETIME").Substring(0, 12));
|
|||
|
|
|||
|
htData.Add("CASHIER_ID", "0000"); //캐셔 ID
|
|||
|
htData.Add("BILL_NO_START", CmUtil.GetDataRowStr(dr, "BILL_NO_START").PadLeft(8, '0')); //시작영수증번호
|
|||
|
htData.Add("BILL_NO_END", CmUtil.GetDataRowStr(dr, "BILL_NO_END").PadLeft(8, '0')); //종료영수증번호
|
|||
|
htData.Add("TOT_AMT_CNT", CmUtil.GetDataRowStr(dr, "TOT_AMT_CNT")); //총판매 건수
|
|||
|
htData.Add("TOT_AMT", CmUtil.GetDataRowStr(dr, "TOT_AMT")); //총판매 총 금액
|
|||
|
htData.Add("CANCEL_TOT_CNTT", CmUtil.GetDataRowStr(dr, "CANCEL_TOT_CNTT")); //반품 건수
|
|||
|
htData.Add("CANCEL_TOT", CmUtil.GetDataRowStr(dr, "CANCEL_TOT")); //반품총금액
|
|||
|
htData.Add("SALE_TOT_CNT", CmUtil.GetDataRowStr(dr, "SALE_TOT_CNT")); //총매출 건수
|
|||
|
htData.Add("SALE_TOT", CmUtil.GetDataRowStr(dr, "SALE_TOT")); //총매출 금액
|
|||
|
htData.Add("SALE_AMT_CNT", CmUtil.GetDataRowStr(dr, "SALE_AMT_CNT")); //순매출 건수
|
|||
|
htData.Add("SALE_AMT", CmUtil.GetDataRowStr(dr, "SALE_AMT")); //순매출 금액
|
|||
|
htData.Add("CARD_AMT1_CNT", CmUtil.GetDataRowStr(dr, "CARD_AMT1_CNT")); //신용/선불카드 일시불 건수
|
|||
|
htData.Add("CARD_AMT1", CmUtil.GetDataRowStr(dr, "CARD_AMT1")); //신용/선불카드 일시불 금액
|
|||
|
htData.Add("CARD_AMT2_CNT", CmUtil.GetDataRowStr(dr, "CARD_AMT2_CNT")); //신용/선불카드 할부 건수
|
|||
|
htData.Add("CARD_AMT2", CmUtil.GetDataRowStr(dr, "CARD_AMT2")); //신용/선불카드 할부 금액
|
|||
|
htData.Add("CARD_AMT3_CNT", CmUtil.GetDataRowStr(dr, "CARD_AMT3_CNT")); //신용/선불카드 반품일시불 건수
|
|||
|
htData.Add("CARD_AMT3", CmUtil.GetDataRowStr(dr, "CARD_AMT3")); //신용/선불카드 반품일시불 금액
|
|||
|
htData.Add("CARD_AMT4_CNT", CmUtil.GetDataRowStr(dr, "CARD_AMT4_CNT")); //신용/선불카드 반품할부 건수
|
|||
|
htData.Add("CARD_AMT4", CmUtil.GetDataRowStr(dr, "CARD_AMT4")); //신용/선불카드 반품할부 금액
|
|||
|
htData.Add("TMP_CARD_AMT2_CNT", "0"); //임의등록 신용/선불 건수
|
|||
|
htData.Add("TMP_CARD_AMT2", "0"); //임의등록 신용/선불 금액
|
|||
|
htData.Add("CASH_AMT_CNT", CmUtil.GetDataRowStr(dr, "CASH_AMT_CNT")); //현금매출 건수
|
|||
|
htData.Add("CASH_AMT", CmUtil.GetDataRowStr(dr, "CASH_AMT")); //현금매출 금액
|
|||
|
htData.Add("GIFT_TOT_CNT", "0"); //상품권총판매 건수
|
|||
|
htData.Add("GIFT_TOT", "0"); //상품권총판매 금액
|
|||
|
htData.Add("GIFT_CANCEL_TOT_CNT", "0"); //상품권총환불 건수
|
|||
|
htData.Add("GIFT_CANCEL_TOT", "0"); //상품권총환불 금액
|
|||
|
htData.Add("GIFT_SALE_AMT_CNT", "0"); //상품권매출 건수
|
|||
|
htData.Add("GIFT_SALE_AMT", "0"); //상품권매출 금액
|
|||
|
htData.Add("GIFT_CASH_TOT_CNT", "0"); //총현금매출 건수
|
|||
|
htData.Add("GIFT_CASH_TOT", "0"); //총현금매출 금액
|
|||
|
htData.Add("INTERIM_CASH2_CNT", "0"); //선수입금 건수
|
|||
|
htData.Add("INTERIM_CASH2", "0"); //선구입금 금액
|
|||
|
htData.Add("INTERIM_CASH3_CNT", "0"); //수수료이익액 건수
|
|||
|
htData.Add("INTERIM_CASH3", "0"); //수수료이익액 금액
|
|||
|
htData.Add("ADDED_TAX_CNT", "0"); //미포함 부가세 금액 건수
|
|||
|
htData.Add("ADDED_TAX", "0"); //미포함 부가세 금액 금액
|
|||
|
htData.Add("ETC_1_CNT", CmUtil.GetDataRowStr(dr, "ETC_1_CNT")); //실매출 건수
|
|||
|
htData.Add("ETC_1", CmUtil.GetDataRowStr(dr, "ETC_1")); //실매출 금액
|
|||
|
htData.Add("BONUS_PAY_AMT_CNT", "0"); //보너스포인트 사용 건수
|
|||
|
htData.Add("BONUS_PAY_AMT", "0"); //보너스포인트 사용 금액
|
|||
|
htData.Add("ETC_11_CNT", "0"); //미전송 매출 개수
|
|||
|
htData.Add("EMP_ID", "0"); //마감 매니저 ID
|
|||
|
htData.Add("REST_END_GB", "0"); //POS 마감 구분(0: 미마감, 1: 마감)
|
|||
|
htData.Add("DC_AMT_CNT", CmUtil.GetDataRowStr(dr, "DC_AMT_CNT")); //할인 건수
|
|||
|
htData.Add("DC_AMT", CmUtil.GetDataRowStr(dr, "DC_AMT")); //할인 총 금액
|
|||
|
htData.Add("REGULAR_DC_AMT_CNT", CmUtil.GetDataRowStr(dr, "REGULAR_DC_AMT_CNT")); //정상 DC 금액 건수
|
|||
|
htData.Add("REGULAR_DC_AMT", CmUtil.GetDataRowStr(dr, "REGULAR_DC_AMT")); //정상 DC 금액
|
|||
|
htData.Add("SERVICE_DC_AMT_CNT", "0"); //서비스 DC 금액 건수
|
|||
|
htData.Add("SERVICE_DC_AMT", "0"); //서비스 DC 금액
|
|||
|
htData.Add("AFCARD_DC_AMT_CNT", "0"); //제휴카드 DC 금액 건수
|
|||
|
htData.Add("AFCARD_DC_AMT", "0"); //제휴카드 DC 금액
|
|||
|
htData.Add("COUPON_DC_AMT_CNT", "0"); //쿠폰 DC 금액 건수
|
|||
|
htData.Add("COUPON_DC_AMT", "0"); //쿠폰 DC 금액
|
|||
|
htData.Add("CUSTOM_DC_AMT_CNT", "0"); //고객 혜택 DC 금액 건수
|
|||
|
htData.Add("CUSTOM_DC_AMT", "0"); //고객 혜택 DC 금액
|
|||
|
htData.Add("CANCEL_DC_AMT", CmUtil.GetDataRowStr(dr, "CANCEL_DC_AMT")); //반품할인 매출 금액
|
|||
|
htData.Add("VAT_AMT", CmUtil.GetDataRowStr(dr, "VAT_AMT")); //부가세 매출 금액
|
|||
|
|
|||
|
|
|||
|
htData_Cover.Add("SALE_SUM", htData);
|
|||
|
sJsonData = JsonConvert.SerializeObject(htData_Cover);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_ERROR,
|
|||
|
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
return sJsonData;
|
|||
|
|
|||
|
}
|
|||
|
#endregion 03 - 도로공사2018
|
|||
|
//#20180322 휴게소pos매출연동 end,phj
|
|||
|
}
|
|||
|
}
|