5702 lines
353 KiB
C#
5702 lines
353 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Data;
|
|
using System.Windows.Forms;
|
|
|
|
using Cosmos.BaseFrame;
|
|
using Cosmos.UserFrame;
|
|
using Cosmos.Common;
|
|
using Cosmos.CommonManager;
|
|
|
|
/*-----------------------------------------------------------------------------------------------*/
|
|
// 설 명 : 영수증 출력 처리(판매 영수증)
|
|
// 작 성 자 :
|
|
// 변경 이력 :
|
|
/*-----------------------------------------------------------------------------------------------*/
|
|
namespace Cosmos.Service
|
|
{
|
|
//#20180406 로컬, 서버에 저널데이터 없는 경우 재생성 start
|
|
//기존
|
|
//class PosReceipt : PosReceiptBase, IServiceUs
|
|
//변경
|
|
class PosReceipt : PosReceiptBase, IServiceUs, IPosReceipt
|
|
//#20180406 로컬, 서버에 저널데이터 없는 경우 재생성 end
|
|
{
|
|
#region 거래영수증 출력 처리
|
|
/// <summary>
|
|
/// 거래영수증 출력 처리
|
|
/// </summary>
|
|
/// <param name="aParam"></param>
|
|
/// <returns></returns>
|
|
public string Execute(string[] aParam)
|
|
{
|
|
return UserCom.RST_ERR;
|
|
}
|
|
#endregion
|
|
|
|
#region 데이터 획득
|
|
/// <summary>
|
|
/// 데이터 획득
|
|
/// </summary>
|
|
/// <param name="aParam"></param>
|
|
/// <returns></returns>
|
|
public string GetData(string[] aParam)
|
|
{
|
|
return "";
|
|
}
|
|
#endregion
|
|
|
|
#region 영수증 출력
|
|
/// <summary>
|
|
/// 영수증 출력
|
|
/// </summary>
|
|
public string ExecutePrint(string[] aParam)
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
//#20180226 영수증 미출력시 기타영수증 출력 되도록 수정 start
|
|
bool bRecPrtNo = true; //매출 영수증 출력 여부
|
|
//#20180226 영수증 미출력시 기타영수증 출력 되도록 수정 end
|
|
|
|
try
|
|
{
|
|
//#20180226 영수증 미출력시 기타영수증 출력 되도록 수정 start
|
|
if ((aParam.Length > 1) && (aParam[1] == "RecPrtNo"))
|
|
{
|
|
bRecPrtNo = false;
|
|
}
|
|
//#20180226 영수증 미출력시 기타영수증 출력 되도록 수정 end
|
|
|
|
// 추후적립일때 직전영수증 파일 저장 안함(2017.07.21)
|
|
if (aParam.Length > 0 && m_cTrnStatus.Head.TradeKind != ItemConst.TRAN_KIND.AFTER.HP_SAVE && m_cTrnStatus.Head.TradeKind != ItemConst.TRAN_KIND.AFTER.CASH_RECEIPT)
|
|
{
|
|
// 영수증 출력 처리
|
|
//#20180226 영수증 미출력시 기타영수증 출력 되도록 수정 start
|
|
//기존
|
|
//if (PrintExecute(true, true, true) == true) sRet = UserCom.RST_OK;
|
|
//변경
|
|
if (PrintExecute(bRecPrtNo, true, true) == true) sRet = UserCom.RST_OK;
|
|
//#20180226 영수증 미출력시 기타영수증 출력 되도록 수정 end
|
|
}
|
|
else
|
|
{
|
|
// 영수증 출력 처리
|
|
if (PrintExecute(true, true, false) == true) sRet = UserCom.RST_OK;
|
|
}
|
|
}
|
|
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;
|
|
}
|
|
#endregion
|
|
|
|
#region 직전 영수증 출력
|
|
/// <summary>
|
|
/// 직전 영수증 출력
|
|
/// </summary>
|
|
public string ExecuteRePrint(string[] aParam)
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
|
|
try
|
|
{
|
|
PrintBufClear();
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0034));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, "");
|
|
|
|
ReadReceiptFile("PRT_REC.TXT", m_aPrintBuf);
|
|
ReadReceiptFile("PRT_REC.TXT", m_aRecPrintBuf);
|
|
|
|
if (PrintExecute(true, true, false) == true) sRet = UserCom.RST_OK;
|
|
}
|
|
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;
|
|
}
|
|
#endregion
|
|
|
|
#region 영수증 재출력
|
|
/// <summary>
|
|
/// 영수증 재출력
|
|
/// </summary>
|
|
/// <param name="sPrtData"></param>
|
|
/// <returns></returns>
|
|
public bool PosSaleRePrint(string sPrtData)
|
|
{
|
|
return PosSaleRePrint(sPrtData, true);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 영수증 재출력
|
|
/// </summary>
|
|
/// <param name="sPrtData"></param>
|
|
/// <returns></returns>
|
|
public bool PosSaleRePrint(string sPrtData, bool bTitle)
|
|
{
|
|
try
|
|
{
|
|
PrintBufClear();
|
|
|
|
if (bTitle == true)
|
|
{
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0034));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, "");
|
|
}
|
|
int iDataLen = 0;
|
|
while (iDataLen <= CmUtil.LenH(sPrtData))
|
|
{
|
|
AddPrintData(PosConst.PRT_ITEM.REC, CmUtil.MidH(sPrtData, iDataLen, 47));
|
|
iDataLen += 47;
|
|
}
|
|
|
|
return PrintExecute(true, true, false);
|
|
|
|
}
|
|
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 false;
|
|
}
|
|
#endregion
|
|
|
|
#region 프린터 출력(해피오더 주문서 출력 시 사용)
|
|
/// <summary>
|
|
/// 프린터 출력(해피오더 주문서 출력 시 사용)
|
|
/// </summary>
|
|
/// <param name="aPrtData"> 영수증 출력내용 </param>
|
|
/// <param name="bHPOAutoPrintYN"> 당일픽업 자동 출력 기능으로 2장 프린트 필요할 때 True, 기본 False </param>
|
|
/// <returns></returns>
|
|
//#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 start
|
|
//기존
|
|
//public bool PosPrint(string[] aPrtData)
|
|
//변경
|
|
public bool PosPrint(string[] aPrtData, bool bHPOAutoPrintYN, string sPrtGubun)
|
|
//#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 end
|
|
{
|
|
try
|
|
{
|
|
PrintBufClear();
|
|
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.ETC, true, true, false, false); // 영수증 상단영역 출력
|
|
|
|
|
|
foreach (string sPrtData in aPrtData)
|
|
{
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, sPrtData);
|
|
}
|
|
|
|
//#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 start
|
|
//기존
|
|
//SetBtmPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false, false); // 영수증 하단영역 출력
|
|
//변경
|
|
//당월누계 건 출력 시 하단에 보관용이라고 찍어주기 위해서
|
|
//if (sPrtGubun == "D")
|
|
//{
|
|
// //당일
|
|
// SetBtmPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false, false); // 영수증 하단영역 출력
|
|
//}
|
|
//else
|
|
//{
|
|
// //당월
|
|
// SetBtmPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false, false, 0); // 영수증 하단영역 출력
|
|
//}
|
|
|
|
if (bHPOAutoPrintYN == true && sPrtGubun == "M")
|
|
{
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false, false, 0); // 영수증 하단영역 출력
|
|
}
|
|
else
|
|
{
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false, false); // 영수증 하단영역 출력
|
|
}
|
|
//#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 end
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.ETC); // 영수증 출력 완료
|
|
|
|
//#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 start
|
|
if (bHPOAutoPrintYN == true)
|
|
{
|
|
//당일픽업 건은 2장씩 출력
|
|
if (sPrtGubun == "D")
|
|
{
|
|
//옵션값으로 처리안하고 하드코딩 함
|
|
//by.SPCN 오동훈 과장
|
|
//int iCnt = CmUtil.IntParse(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT520), "0"));
|
|
//if (iCnt > 0)
|
|
//{
|
|
// PrtDataCopy(PosConst.PRT_ITEM.ETC, iCnt, sPrtGubun);
|
|
//}
|
|
|
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT520), "0") == "1")
|
|
{
|
|
PrtDataCopy(PosConst.PRT_ITEM.ETC, 2, sPrtGubun);
|
|
}
|
|
}
|
|
//당월픽업 건은 1장씩 출력
|
|
else if (sPrtGubun == "M")
|
|
{
|
|
//옵션값으로 처리안하고 하드코딩 함
|
|
//by.SPCN 오동훈 과장
|
|
//int iCnt = CmUtil.IntParse(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT519), "0"));
|
|
//if (iCnt > 0)
|
|
//{
|
|
// PrtDataCopy(PosConst.PRT_ITEM.ETC, iCnt, sPrtGubun);
|
|
//}
|
|
|
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT519), "0") == "1")
|
|
{
|
|
PrtDataCopy(PosConst.PRT_ITEM.ETC, 1, sPrtGubun);
|
|
}
|
|
}
|
|
}
|
|
//#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 end
|
|
|
|
return PrintExecute(true, true, false);
|
|
}
|
|
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 false;
|
|
}
|
|
|
|
//#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 start
|
|
protected string sReplaceString(string sData)
|
|
{
|
|
string sRet = "";
|
|
try
|
|
{
|
|
string sPrtData = "";
|
|
string sTempData = "";
|
|
|
|
if (CmUtil.LenH(sData) <= 42) { sPrtData = CmUtil.LPadH("", 21 - (CmUtil.LenH(sData) / 2)) + sData; }
|
|
|
|
//sRet = PosConst.PRT_HDR.PRT_VER + sPrtData;
|
|
sTempData = PosConst.PRT_HDR.PRT_VER + sPrtData;
|
|
|
|
sTempData = ((sTempData.Length == 0) ? " " : sTempData);
|
|
|
|
sRet = CmUtil.RPadH(PosConst.PRT_ITEM.ETC, 1) + sTempData;
|
|
}
|
|
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;
|
|
}
|
|
|
|
protected void PrtDataCopy(string sPrtID, int iPrintCnt, string sPrtGubun)
|
|
{
|
|
int iAddPrint = 0;
|
|
|
|
ArrayList RecPrintBuf = new ArrayList();
|
|
RecPrintBuf.Clear();
|
|
ArrayList EtcPrintBuf = new ArrayList();
|
|
EtcPrintBuf.Clear();
|
|
ArrayList PrintBuf = new ArrayList();
|
|
PrintBuf.Clear();
|
|
|
|
try
|
|
{
|
|
iAddPrint = iPrintCnt -1;
|
|
if (iAddPrint <= 0) { return; }
|
|
|
|
RecPrintBuf = (ArrayList)m_aRecPrintBuf.Clone();
|
|
EtcPrintBuf = (ArrayList)m_aEtcPrintBuf.Clone();
|
|
PrintBuf = (ArrayList)m_aPrintBuf.Clone();
|
|
|
|
for (int i = 0; i < iAddPrint; i++)
|
|
{
|
|
//if (PosConst.PRT_ITEM.ETC == sPrtID)
|
|
//{
|
|
foreach (string sEtcPrintBuf in EtcPrintBuf)
|
|
{
|
|
if (sPrtGubun == "D")
|
|
{
|
|
if (sEtcPrintBuf.IndexOf(PosConst.PRT_HDR.PRT_VER) > 0)
|
|
{
|
|
string sReplace = sReplaceString("[ 해피오더 내부관리용 ]"); // "9[VER] [ 해피오더 내부관리용 ]";
|
|
m_aEtcPrintBuf.Add(sReplace);
|
|
}
|
|
else
|
|
{
|
|
m_aEtcPrintBuf.Add(sEtcPrintBuf);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
m_aEtcPrintBuf.Add(sEtcPrintBuf);
|
|
}
|
|
}
|
|
//}
|
|
//else
|
|
//{
|
|
// foreach (string sRecPrintBuf in RecPrintBuf)
|
|
// {
|
|
// m_aRecPrintBuf.Add(sRecPrintBuf);
|
|
// }
|
|
//}
|
|
|
|
foreach (string sPrintBuf in PrintBuf)
|
|
{
|
|
if (sPrtGubun == "D")
|
|
{
|
|
if (sPrintBuf.IndexOf(PosConst.PRT_HDR.PRT_VER) > 0)
|
|
{
|
|
string sReplace = sReplaceString("[ 해피오더 내부관리용 ]"); //"9[VER] [ 해피오더 내부관리용 ]";
|
|
m_aPrintBuf.Add(sReplace);
|
|
}
|
|
else
|
|
{
|
|
m_aPrintBuf.Add(sPrintBuf);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
m_aPrintBuf.Add(sPrintBuf);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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;
|
|
}
|
|
//#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 end
|
|
|
|
//#17142 [해피오더]POS로그인 시 영수증프린터로 장부재고 자동 출력 start
|
|
#region 장부재고 영수증 포맷
|
|
public string BookInventoryPrint(string aPrtData)
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
try
|
|
{
|
|
PrintBufClear();
|
|
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false); // 영수증 상단영역 출력
|
|
|
|
//예)
|
|
//[OO월OO일 POS장부재고 현황]
|
|
//
|
|
//중분류 상품코드 상품명 재고숫자
|
|
//케익류 231444 벨기에화이트 3
|
|
//
|
|
//※ 장부재고 추가등록은 [실시간재고등록]
|
|
//메뉴에서 변경가능합니다.
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_VER, PosConst.PRT_FMT.F103, string.Format("[{0}월{1}일 POS장부재고 현황]", DateTime.Now.ToString("MM"), DateTime.Now.ToString("dd")));
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, "");
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F406, "중분류", "상품코드", "상품명", "수량");
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
string[] aRowData = null;
|
|
string[] aColData = null;
|
|
|
|
aRowData = (aPrtData.ToString()).Split(new string[] { "#~" }, StringSplitOptions.RemoveEmptyEntries);
|
|
for (int i = 0; i <= aRowData.Length - 1; i++)
|
|
{
|
|
aColData = aRowData[i].Split(new string[] { "|" }, StringSplitOptions.None);
|
|
|
|
string stemp0 = "";
|
|
string stemp1 = "";
|
|
string stemp2 = "";
|
|
string stemp3 = "";
|
|
|
|
stemp0 = aColData[0];//중분류
|
|
stemp1 = aColData[1];//상품코드
|
|
stemp2 = aColData[2];//상품명
|
|
stemp3 = aColData[3];//재고숫자
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F406, stemp0, stemp1, stemp2, stemp3);
|
|
}
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, "");
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0331));
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0332));
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_BBM); // 영수증 하단영역 출력
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.ETC); // 영수증 출력 완료
|
|
|
|
if (PrintExecute(true, true, false) == true) sRet = UserCom.RST_OK;
|
|
}
|
|
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;
|
|
}
|
|
|
|
#endregion
|
|
//#17142 [해피오더]POS로그인 시 영수증프린터로 장부재고 자동 출력 end
|
|
|
|
//17.08.22 dkshin SS 해피오더
|
|
/// <summary>
|
|
/// 프린터 출력(해피오더 KDS 전송 실패 시 사용)
|
|
/// </summary>
|
|
/// <param name="aPrtData"></param>
|
|
/// <returns></returns>
|
|
public bool HappyOrderKDSPrint(ArrayList aPrtData)
|
|
{
|
|
try
|
|
{
|
|
PrintBufClear();
|
|
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false); // 영수증 상단영역 출력
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F101, "<< KDS 전송 실패 >>");
|
|
|
|
Column.TR_HPORD.HPORD_ITEM item = null;
|
|
for (int i = 0; i < aPrtData.Count; i++)
|
|
{
|
|
item = (Column.TR_HPORD.HPORD_ITEM)aPrtData[i];
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101,
|
|
CmUtil.RPadH(item.GoodsName, 27) +
|
|
CmUtil.LPadH(item.Qty, 4));
|
|
}
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_BBM); // 영수증 하단영역 출력
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.ETC); // 영수증 출력 완료
|
|
|
|
//#20180202 KDS 전송 실패시 3회 재시도, 최초 한번 영수증 출력 start
|
|
UserLog.WriteLogFile(UserCom.LOG_IOS,
|
|
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 (함수명))
|
|
"KDS SEND FAIL. BILL PRINT!!");
|
|
//#20180202 KDS 전송 실패시 3회 재시도, 최초 한번 영수증 출력 end
|
|
|
|
return PrintExecute(true, true, false);
|
|
}
|
|
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 false;
|
|
}
|
|
/// <summary>
|
|
/// 프린터 출력
|
|
/// </summary>
|
|
/// <param name="sPrtData"></param>
|
|
/// <returns></returns>
|
|
public bool PosRembOrderPrint(string sPrtData)
|
|
{
|
|
string sNewLineCharacter = "^!@LS";
|
|
|
|
try
|
|
{
|
|
PrintBufClear();
|
|
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.REC, true, false, false, false);
|
|
|
|
//AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0034));
|
|
//AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, "");
|
|
|
|
//기념일배송 주문정보 출력 수정(2017.07.21)
|
|
//int iDataLen = 0;
|
|
//while (iDataLen <= CmUtil.LenH(sPrtData))
|
|
//{
|
|
// AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR + CmUtil.MidH(sPrtData, iDataLen, 47));
|
|
// iDataLen += 47;
|
|
//}
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0200) + " " + CmUtil.GetDataRowStr(PosMstManager.GetMstStore(), PosMst.MST_STORE.DATA.STORNM));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0201) + " " + CmUtil.GetDataRowStr(PosMstManager.GetMstStore(), PosMst.MST_STORE.DATA.STOR_OWN_NM));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0202) + " " + CmUtil.GetDataRowStr(PosMstManager.GetMstStore(), PosMst.MST_STORE.DATA.BIZ_PSN_NO));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0204) + " " + m_cPosStatus.Base.PosNo);
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0203) + " " + CmUtil.MidH(m_cPosStatus.Base.CashierName, 0, 12));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0205) + " " + m_cPosStatus.Base.SaleDate.Substring(0, 4) + "-" + m_cPosStatus.Base.SaleDate.Substring(4, 2) + "-" + m_cPosStatus.Base.SaleDate.Substring(6, 2));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0206) + " " + DateTime.Now.ToString("tt hh:mm:ss"));
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR + sPrtData);
|
|
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.REC, true, false, false, false, false);
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.REC); // 영수증 컷팅
|
|
|
|
return PrintExecute(true, true, false);
|
|
|
|
}
|
|
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 false;
|
|
}
|
|
#endregion
|
|
|
|
#region 판매 영수증 데이터 생성
|
|
/// <summary>
|
|
/// 판매 영수증 데이터 생성
|
|
/// </summary>
|
|
public string MakePosSaleReceipt(string[] aParam)
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
int iPrintCnt = 0;
|
|
string sPrtID = "";
|
|
try
|
|
{
|
|
PrintBufClear(); // 영수증 출력버퍼 초기화
|
|
|
|
iPrintCnt = LS_BALANCE_VOUCHER_CHECK(); // 잔액교환권 발행 여부 체크
|
|
//if (sRet == UserCom.RST_OK)
|
|
//{
|
|
// iPrintCnt = 2;
|
|
//}
|
|
//else
|
|
//{
|
|
// iPrintCnt = 1;
|
|
//}
|
|
|
|
// 반품인 경우는 1장만 출력
|
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND) iPrintCnt = 1;
|
|
|
|
for (int iLoop = 1; iLoop <= iPrintCnt; iLoop++)
|
|
{
|
|
if (iLoop == 1) sPrtID = PosConst.PRT_ITEM.REC;
|
|
if (iLoop == 2) sPrtID = PosConst.PRT_ITEM.ETC;
|
|
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.AFTER.HP_SAVE)
|
|
{
|
|
SetHappyPointAfterSave(); // 추후적립 영수증 출력
|
|
return UserCom.RST_OK;
|
|
}
|
|
else if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.AFTER.CASH_RECEIPT)
|
|
{
|
|
SetCashbillAfterSave(); // 현금 영수증 추후 발행 출력
|
|
return UserCom.RST_OK;
|
|
}
|
|
else if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.LOG.HOLD_DEAL) //보류
|
|
{
|
|
SetSimplicityReceipt(sPrtID); // 보류 영수증 출력
|
|
return UserCom.RST_OK;
|
|
}
|
|
//17.05.18 dkshin 쇼킹박스 추가
|
|
//else if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.LOG.SHOCKING_BOX && m_cTrnStatus.Head.ShockingBoxStat != "1") //쇼킹박스
|
|
else if (m_cTrnStatus.Head.ShockingBoxStat == "0") //쇼킹박스
|
|
{
|
|
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start
|
|
//기존
|
|
/*
|
|
SetShockingBoxReceipt(sPrtID); // 쇼킹박스 영수증 출력
|
|
return UserCom.RST_OK;
|
|
*/
|
|
|
|
//변경
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX)
|
|
{
|
|
// 상품정보출력(해피오더 랜덤박스)
|
|
SetLandomBoxReceipt(sPrtID); // 랜덤박스 영수증 출력
|
|
return UserCom.RST_OK;
|
|
|
|
}
|
|
else if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.LOG.SHOCKING_BOX)
|
|
{
|
|
// 쇼킹박스
|
|
SetShockingBoxReceipt(sPrtID); // 쇼킹박스 영수증 출력
|
|
return UserCom.RST_OK;
|
|
}
|
|
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end
|
|
}
|
|
|
|
//#20171025 해피기프트(신) 충전 내역 출력 위치 변경 start
|
|
//기존 해피기프트 충전시 영수증 출력 안되는 현상
|
|
/*
|
|
//20171013 dkshin 해피기프트(신) IC/RF 충전 및 승인 - 충전/충전취소 영수증 내역
|
|
else if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.CHARGE)
|
|
{
|
|
SetHPGCardInfo(sPrtID);
|
|
return UserCom.RST_OK;
|
|
}
|
|
*/
|
|
//#20171025 해피기프트(신) 충전 내역 출력 위치 변경 end
|
|
|
|
sRet = SetEtcPrint(sPrtID); // 기타 거래 영수증 출력
|
|
if (sRet == UserCom.RST_OK)
|
|
{
|
|
return UserCom.RST_OK;
|
|
}
|
|
|
|
if (m_cPosStatus.Sale.DutchPayFlg != "2") // 더치페이 경우 현재 금액과 처리
|
|
{
|
|
SetCampaignAddBillPrint(PosConst.PRT_ITEM.ETC); // 영수캠페인(별도영수증) 데이터 출력
|
|
SetOnLineCouponPrint(PosConst.PRT_ITEM.ETC); // 온라인쿠폰 발행(중국)
|
|
}
|
|
|
|
//if (m_cPosStatus.Sale.DutchPayFlg == "") // 완료 거래 일때만 출력!
|
|
// SetCreditCardNoSignBillPrint(PosConst.PRT_ITEM.ETC);
|
|
|
|
SetTopPosPrintData(sPrtID, true, true, true, true); // 영수증 상단영역 출력
|
|
|
|
SetPosSalePluItem(sPrtID); // 영수증 상품영역 출력
|
|
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) //판매LOSS
|
|
{
|
|
SetSaleLoss(sPrtID);
|
|
}
|
|
else
|
|
{
|
|
SetPosSaleTotal(sPrtID); // 영수증 합계영역, 결제영역 출력
|
|
}
|
|
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2") // 더치페이 경우 현재 금액과 처리
|
|
{
|
|
SetAmtDutchPaySubTotal(sPrtID);
|
|
}
|
|
|
|
SetPosSalePayment(sPrtID, iLoop); // 영수증 결제 내역 출력
|
|
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.PREPAID) //선불카드 판매 내역
|
|
{
|
|
SetPPCardInfo(sPrtID);
|
|
}
|
|
|
|
SetReservationPrint(sPrtID);
|
|
|
|
#region 주석 - 해피앱 추후적립 바코드 플래그 추가 하여 SetBtmPosPrintData 함수안에 활성화
|
|
|
|
//grayber@20171214 캠페인 리펀드 쿠폰 start
|
|
// 바코드 플래그 추가 하여 SetBtmPosPrintData 함수안에 활성화
|
|
|
|
//#20170807 명판 캠페인 커팅 start
|
|
//영수증 커팅시 해당 문구 양쪽에 다 출력되는 현상 수정.
|
|
//#해피앱 추후적립 start, sskim
|
|
|
|
//if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
|
|
//{
|
|
// if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL)
|
|
// {
|
|
// //#20170809 해피포인트 업무 미사용시 해피앱 추후적립 기능 적용 안되도록 수정 start
|
|
// //기존
|
|
// //SetHpAppAfterSavePrint(sPrtID); // 해피앱 추후적립 문구 출력
|
|
// //변경
|
|
// if (PosMstManager.GetPosOption(POS_OPTION.OPT316) != "0") // 해피포인트 업무 사용 여부(0:사용안함, 1:사용함(한국), 2:사용함(중국))
|
|
// {
|
|
// SetHpAppAfterSavePrint(sPrtID); // 해피앱 추후적립 문구 출력
|
|
// }
|
|
// //#20170809 해피포인트 업무 미사용시 해피앱 추후적립 기능 적용 안되도록 수정 end
|
|
// }
|
|
//}
|
|
//#해피앱 추후적립 end, sskim
|
|
//#20170807 명판 캠페인 커팅 end
|
|
//grayber@20171214 캠페인 리펀드 쿠폰 end
|
|
#endregion
|
|
|
|
SetBtmPosPrintData(sPrtID, true, true, true, true, true, iLoop); // 영수증 하단영역 출력
|
|
|
|
SetEndPosPrintData(sPrtID); // 영수증 출력 완료
|
|
|
|
if (sPrtID == PosConst.PRT_ITEM.REC)
|
|
{
|
|
// 주차 바코드 출력 여부
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT426) == "1") SetParkingBarCodePrintMain(PosConst.PRT_ITEM.ETC);
|
|
}
|
|
}
|
|
|
|
SetAmtDutchPayPayPrint();
|
|
|
|
sRet = UserCom.RST_OK;
|
|
}
|
|
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;
|
|
}
|
|
#endregion
|
|
|
|
#region 영수증 결제 내역 출력
|
|
/// <summary>
|
|
/// 영수증 결제 내역 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSalePayment(string sPrtID)
|
|
{
|
|
return SetPosSalePayment(sPrtID, 1);
|
|
}
|
|
private bool SetPosSalePayment(string sPrtID, int iPrintCnt)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); // 결제아이템
|
|
|
|
if (alTrPayItem.Count == 0) return false;
|
|
|
|
DataTable dtMstPayDc = PosMstManager.GetMstPayDc(); // 결제할인 마스터 획득(영수증출력 순서로 쏘팅됨)
|
|
|
|
// 결제별 합계 금액 표시
|
|
for (int i = 0; i < dtMstPayDc.Rows.Count; i++)
|
|
{
|
|
DataRow dr = dtMstPayDc.Rows[i];
|
|
string sPayWayCD = CmUtil.GetDataRowStr(dr, PosMst.MST_PAY_DC.DATA.PAY_DC_GRP_TYPE);
|
|
string sPayDtlCD = CmUtil.GetDataRowStr(dr, PosMst.MST_PAY_DC.DATA.PAY_DC_CD);
|
|
|
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_PAY_DC.DATA.USE_YN) != "1") continue;
|
|
|
|
double nPayAmt = 0;
|
|
string sPayName = "";
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (cPayItem.PAY_DTL_CD_05 != PosConst.PAY_DC_TYPE.PAY) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
|
|
//#14678 PB 평촌라이프 - 결제영수증 현금 금액 표기 수정요청 start,phj
|
|
//기존
|
|
//nPayAmt = CmUtil.DoubleAdd(nPayAmt, cPayItem.AMT_ENTRY_01);
|
|
//sPayName = cPayItem.OCCUR_ENTRY_20;
|
|
//변경
|
|
nPayAmt = CmUtil.DoubleAdd(nPayAmt, cPayItem.PAY_AMT);
|
|
sPayName = cPayItem.OCCUR_ENTRY_20;
|
|
//#14678 PB 평촌라이프 - 결제영수증 현금 금액 표기 수정요청 end,phj
|
|
}
|
|
if (nPayAmt > 0)
|
|
{
|
|
string sPayDcName = PosMstManager.GetMstPayDc(sPayWayCD, sPayDtlCD, PosMst.MST_PAY_DC.DATA.PAY_DC_NM);
|
|
if (sPayDcName == "") sPayDcName = sPayName;
|
|
|
|
//#20170905 미군기지 환율 표시 start
|
|
//기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, "[ " + sPayDcName + " ]", m_cPosStatus.Global.NumericTOCurrency(nPayAmt * nSign));
|
|
|
|
//변경
|
|
double dUsarmyEx = 0;
|
|
dUsarmyEx = CmUtil.DoubleParse(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT509), "0"));
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
nPayAmt = CmUtil.MathRounds(nPayAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, "[ " + sPayDcName + " ]", (nPayAmt * nSign).ToString());
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, "[ " + sPayDcName + " ]", m_cPosStatus.Global.NumericTOCurrency(nPayAmt * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
}
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
// 결제할인 마스터의 출력 순서에 따라 결제항목 영수증 출력
|
|
for (int i = 0; i < dtMstPayDc.Rows.Count; i++)
|
|
{
|
|
DataRow dr = dtMstPayDc.Rows[i];
|
|
string sPayWayCD = CmUtil.GetDataRowStr(dr, PosMst.MST_PAY_DC.DATA.PAY_DC_GRP_TYPE);
|
|
string sPayDtlCD = CmUtil.GetDataRowStr(dr, PosMst.MST_PAY_DC.DATA.PAY_DC_CD);
|
|
|
|
bool bAlreadyPrint = false;
|
|
for (int j = 0; j < i; j++)
|
|
{
|
|
DataRow drAgo = dtMstPayDc.Rows[j];
|
|
if (sPayWayCD == CmUtil.GetDataRowStr(drAgo, PosMst.MST_PAY_DC.DATA.PAY_DC_GRP_TYPE) && sPayDtlCD == CmUtil.GetDataRowStr(drAgo, PosMst.MST_PAY_DC.DATA.PAY_DC_CD))
|
|
{
|
|
bAlreadyPrint = true;
|
|
break;
|
|
}
|
|
}
|
|
if (bAlreadyPrint == true) continue;
|
|
|
|
switch (sPayWayCD)
|
|
{
|
|
case ItemConst.TR_ITEM_ID.CPI_PAY_ITEM: // 캠페인할인
|
|
case ItemConst.TR_ITEM_ID.USER_DC_ITEM: // 임의할인
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.CHECK_ITEM: // 수표 결제
|
|
case ItemConst.TR_ITEM_ID.CASH_ITEM: // 현금 결제
|
|
//SetPosSalePaymentCash(sPrtID, alTrPayItem, sPayWayCD, sPayDtlCD);
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.COUPON_ITEM: // 쿠폰
|
|
SetPosSaleCouponDis(sPrtID, alTrPayItem, sPayWayCD, sPayDtlCD);
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.MOBILE_COM_POINT: // 제휴 할인
|
|
SetPosSaleMobileComDis(sPrtID, alTrPayItem, sPayWayCD, sPayDtlCD);
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.POINT_ITEM: // 포인트 사용
|
|
SetPosSalePointUse(sPrtID, alTrPayItem, sPayWayCD, sPayDtlCD);
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.CREDITCARD_ITEM: // 신용카드
|
|
SetPosSaleCreditCard(sPrtID, alTrPayItem, sPayWayCD, sPayDtlCD);
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.ETC_INFO_ITEM: // 부가정보
|
|
//if (sPayDtlCD == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|
|
// SetPosSaleHappyPointSave(sPrtID,true); // 해피포인트 적립
|
|
//else
|
|
if (sPayDtlCD == ItemConst.TR_ITEM_ID.ETC_INFO.CASHBILL)
|
|
SetPosSaleCashBill(sPrtID); // 현금영수증
|
|
else if (sPayDtlCD == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)
|
|
SetPosSaleOkCashbackSave(sPrtID); // OCB 적립
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.MOBILECASH_ITEM: // 교통카드 사용
|
|
SetPosSaleMobileCashUse(sPrtID, alTrPayItem, sPayWayCD, sPayDtlCD);
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.GIFT_ITEM: // 상품권
|
|
case ItemConst.TR_ITEM_ID.PAYETC_ITEM: // 식권, 잔액교환권, 기타결제
|
|
SetPosSaleExChangeTicketBill(sPrtID, alTrPayItem, sPayWayCD, sPayDtlCD, iPrintCnt);
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.CREDIT_ITEM: // 외상
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, cPayItem.OCCUR_ENTRY_20, "");
|
|
|
|
// Rhee, 2018.01.15 중국 고객번호 제외 및 고객명 마킹제외 Start
|
|
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals("PCCN"))
|
|
// 변경
|
|
{
|
|
if (cPayItem.OCCUR_ENTRY_15.Trim() != "")
|
|
{
|
|
// 고객명
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0278))
|
|
, cPayItem.OCCUR_ENTRY_15.Trim());
|
|
}
|
|
}
|
|
else
|
|
// 기존
|
|
{
|
|
if (cPayItem.OCCUR_ENTRY_01.Trim() != "")
|
|
{
|
|
// 고객번호
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0306))
|
|
, CmUtil.LeftH(cPayItem.OCCUR_ENTRY_01, 6) + "**");
|
|
}
|
|
if (cPayItem.OCCUR_ENTRY_15.Trim() != "")
|
|
{
|
|
// 고객명
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0278))
|
|
, CmUtil.MidH(cPayItem.OCCUR_ENTRY_15.Trim(), 0, CmUtil.LenH(cPayItem.OCCUR_ENTRY_15.Trim()) - 2) + "*");
|
|
}
|
|
}
|
|
// Rhee, 2018.01.15 중국 고객번호 제외 및 고객명 마킹제외 End
|
|
|
|
// 결제금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.EMP_DC_ITEM: // 임직원 할인
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
// 결제기본항목출력
|
|
SetPayDtlCommonPrintData(sPrtID, cPayItem, cPayItem.OCCUR_ENTRY_20, "0");
|
|
|
|
if (sPayDtlCD == ItemConst.TR_ITEM_ID.EMP_DC.SPC || sPayDtlCD == ItemConst.TR_ITEM_ID.EMP_DC.SPC_PAY)
|
|
{
|
|
// 잔여포인트
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0504))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_03));
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.PPCARD_ITEM: // 선불카드
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 Start, srlee
|
|
//기존
|
|
// if (sPayDtlCD == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT)
|
|
if (sPayDtlCD == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT || sPayDtlCD == ItemConst.TR_ITEM_ID.PPCARD.HPGIFT_CARD)
|
|
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 End, srlee
|
|
{
|
|
if (cPayItem.OCCUR_ENTRY_01.Trim() != "")
|
|
{
|
|
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 Start, srlee
|
|
if (sPayDtlCD == ItemConst.TR_ITEM_ID.PPCARD.HPGIFT_CARD)
|
|
{
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_08); // 전화취소일 경우 표시
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0051), 0, 11)), cPayItem.OCCUR_ENTRY_01);
|
|
}
|
|
else
|
|
{
|
|
// 기존
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, cPayItem.OCCUR_ENTRY_20, "");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0051), 0, 11)), CmUtil.MidH(cPayItem.OCCUR_ENTRY_01, 0, 6) + "**");
|
|
}
|
|
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 End, srlee
|
|
}
|
|
|
|
//#20180620 해피기프트(신) 영수증에 '사용전잔액' 항목 미표시 start
|
|
/*
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0863), 0, 11))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_04));
|
|
*/
|
|
//#20180620 해피기프트(신) 영수증에 '사용전잔액' 항목 미표시 end
|
|
|
|
//#15597 (코나머니)해피기프트 프로모션 영수증 출력 변경 Start
|
|
//적용시 주석 해제
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0863), 0, 11))
|
|
// , m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_04));
|
|
//#15597 (코나머니)해피기프트 프로모션 영수증 출력 변경 End
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046), 0, 11))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0864), 0, 11))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_05));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
else
|
|
{
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, cPayItem.OCCUR_ENTRY_20, "");
|
|
if (cPayItem.OCCUR_ENTRY_01.Trim() != "")
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0306), 0, 11))
|
|
, cPayItem.OCCUR_ENTRY_01.Trim()); //CmUtil.MidH(cPayItem.OCCUR_ENTRY_01, 0, 6) + "**");
|
|
}
|
|
if (cPayItem.OCCUR_ENTRY_15.Trim() != "")
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0278), 0, 11))
|
|
, cPayItem.OCCUR_ENTRY_15.Trim());
|
|
}
|
|
if (cPayItem.AMT_ENTRY_03 > 0)
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0863), 0, 11))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_03));
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046), 0, 11))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(CmUtil.MidH(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0864), 0, 11))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_04));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
}
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.FOREIGNEX_ITEM: // 외화
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0295), "");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F401,
|
|
CmUtil.MidH(cPayItem.OCCUR_ENTRY_20, 0, 16).Trim(), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_04 * nSign), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_03 * nSign), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.EMP_PAY_ITEM: // 직원결제
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
// 결제기본항목출력
|
|
SetPayDtlCommonPrintData(sPrtID, cPayItem, cPayItem.OCCUR_ENTRY_20, "0");
|
|
|
|
if (cPayItem.OCCUR_ENTRY_10.Trim() != "") // 사원명
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0418))
|
|
, cPayItem.OCCUR_ENTRY_10.Trim());
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0504))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_04));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.MOBILECON_ITEM: // 모바일콘
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
string sB2B = cPayItem.OCCUR_ENTRY_19 == "1" ? "-B2B" : "";
|
|
|
|
// 결제기본항목출력
|
|
SetPayDtlCommonPrintData(sPrtID, cPayItem, cPayItem.OCCUR_ENTRY_20 + sB2B, "1");
|
|
|
|
// 금액형인 경우 잔액 표시
|
|
if (cPayItem.OCCUR_ENTRY_10 == "1")
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0153))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_04));
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.ORDER_ITEM: // 주문결제
|
|
if (sPayDtlCD == ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY) // 해피오더 결제
|
|
{
|
|
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alTrPayItem[0];
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, cPayItem.OCCUR_ENTRY_20, "");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
break;
|
|
case ItemConst.TR_ITEM_ID.PAY_ITEM: // 페이 결제
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY)
|
|
{
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0834), cPayItem.OCCUR_ENTRY_08); // 결제항목명
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0196)), cPayItem.OCCUR_ENTRY_19);
|
|
}
|
|
else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.WECHAT_PAY)
|
|
{
|
|
if (cPayItem.OCCUR_ENTRY_10.Trim() == "10004")
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0971), cPayItem.OCCUR_ENTRY_08); // 결제항목명
|
|
else
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0172), cPayItem.OCCUR_ENTRY_08); // 결제항목명
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.ALIPAY_PAY)
|
|
{
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0172), cPayItem.OCCUR_ENTRY_08); // 결제항목명
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
// #Rhee, 20170922 중국 은련페이 추가 start
|
|
else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.UNION_PAY)
|
|
{
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1037), cPayItem.OCCUR_ENTRY_08); // 결제항목명
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
// #Rhee, 20170922 중국 은련페이 추가 end
|
|
else
|
|
{
|
|
SetPayDtlCommonPrintName(sPrtID, cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_08); // 결제항목명
|
|
}
|
|
|
|
// #Rhee, 20170922 중국 은련페이 추가 start
|
|
// 기존
|
|
//if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.CN
|
|
// && (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.WECHAT_PAY || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.ALIPAY_PAY))
|
|
// 변경
|
|
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.CN
|
|
&& (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.WECHAT_PAY || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.ALIPAY_PAY || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.UNION_PAY))
|
|
// #Rhee, 20170922 중국 은련페이 추가 end
|
|
{
|
|
// 승인번호
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101
|
|
, "[ " + CmUtil.RPadH(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047), 10) + " ]" + CmUtil.LPadH(cPayItem.OCCUR_ENTRY_02, 28));
|
|
|
|
// 결제금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200
|
|
, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
|
|
// #Rhee, 20171211 중국 페이결제 할인내역 추가 Start
|
|
if (cPayItem.AMT_ENTRY_02 != 0)
|
|
{
|
|
string eMsg = "";
|
|
if (cPayItem.OCCUR_ENTRY_10 == "10001") // 결제구분 (10001:알리페이, 10004:위챗페이, 10031:은련 페이)
|
|
{
|
|
eMsg = GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0216));
|
|
}
|
|
else if (cPayItem.OCCUR_ENTRY_10 == "10004")
|
|
{
|
|
eMsg = GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0217));
|
|
}
|
|
else if (cPayItem.OCCUR_ENTRY_10 == "10031")
|
|
{
|
|
eMsg = GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0218));
|
|
}
|
|
// 할인금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200
|
|
, eMsg
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_02 * -1.0)); // 할인금액은 결제,또는 반품시 무조건 -표기.
|
|
}
|
|
// #Rhee, 20171211 중국 페이결제 할인내역 추가 End
|
|
}
|
|
else
|
|
{
|
|
// 결제기본항목출력(카드)
|
|
SetPayDtlCommonPrintData(sPrtID, cPayItem, "", "0");
|
|
}
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
break;
|
|
default:
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
// 결제기본항목출력(카드)
|
|
SetPayDtlCommonPrintData(sPrtID, cPayItem, cPayItem.OCCUR_ENTRY_20, "0");
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 영수증 기타 매출 출력 - 해피기프티-충전,환불
|
|
/// <summary>
|
|
/// 영수증 기타 매출 출력 - 해피기프티-충전,환불
|
|
/// </summary>
|
|
/// <param name="sPrtID">0:본영수증, 9:기타영수증</param>
|
|
/// <returns></returns>
|
|
protected string SetEtcPrint(string sPrtID)
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
string sPrintTitle = "";
|
|
string sPrintData = "";
|
|
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
|
|
{
|
|
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|
if (cEtcItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
|
|
// 기타 - 해피기프티-충전,환불
|
|
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.HAPPYGIFT)
|
|
{
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.REC, true, true, true, true); // 영수증 상단영역 출력
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
|
|
// 타이틀 출력
|
|
sPrintTitle = "";
|
|
if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_ACC_A)
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0060);
|
|
if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_ACC_C)
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0061);
|
|
//if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_USE_A)
|
|
// sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0062);
|
|
//if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_USE_C)
|
|
// sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0063);
|
|
sPrintTitle = "<<" + sPrintTitle + " " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0064) + ">>";
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, sPrintTitle);
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
|
|
sPrintTitle = "";
|
|
sPrintData = "";
|
|
// 1. 카드번호
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043) + "]";
|
|
if (cEtcItem.OCCUR_ENTRY_01.Trim() != "")
|
|
{
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
/// 기존
|
|
/// sPrintData = CmUtil.MidH(cEtcItem.OCCUR_ENTRY_01.Trim(), 0, 6) + "**";
|
|
/// 변경
|
|
sPrintData = ChinaCardMarking(cEtcItem.OCCUR_ENTRY_01.Trim());
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 End
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
|
|
// 2.유효기간
|
|
if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_ACC_A || cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_USE_A)
|
|
{
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0067) + "]";
|
|
sPrintData = string.Format("{0:0000-00-00}", CmUtil.DoubleParse(cEtcItem.OCCUR_ENTRY_11));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
}
|
|
|
|
// 3.충전번호
|
|
if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_ACC_A || cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_USE_A)
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0065) + "]";
|
|
if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_ACC_C || cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_USE_C)
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0066) + "]";
|
|
sPrintData = m_cPosStatus.Base.StoreNo + m_cPosStatus.Base.PosNo + m_cPosStatus.Base.TradeNo;
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
|
|
// 4.충전금액
|
|
if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_ACC_A || cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_USE_A)
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0068) + "]";
|
|
if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_ACC_C || cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_USE_C)
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0069) + "]";
|
|
sPrintData = m_cPosStatus.Global.NumericTOCurrency(cEtcItem.ETC_AMT);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
|
|
// 5.승인번호
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047) + "]";
|
|
sPrintData = cEtcItem.OCCUR_ENTRY_02;
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, GetAppTypePrint(cEtcItem.OCCUR_ENTRY_08) + sPrintData);
|
|
|
|
// 6.잔액
|
|
if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_ACC_A || cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_USE_A)
|
|
{
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0070) + "]";
|
|
sPrintData = m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
}
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.REC, true, true, true, true, true); // 영수증 하단영역 출력
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.REC); // 영수증 출력 완료
|
|
|
|
sRet = UserCom.RST_OK;
|
|
}
|
|
|
|
//#20171025 해피기프트(신) 충전 내역 출력 위치 변경 start
|
|
//20171019 dkshin 해피기프트(신) 충전 코드 변경
|
|
//if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.CREDITCARD.HPGIFT_CARD)
|
|
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.HAPPYGIFTNEW_CHARGE)
|
|
{
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.REC, true, true, true, true); // 영수증 상단영역 출력
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
|
|
// 타이틀 출력
|
|
sPrintTitle = "";
|
|
//#20180131, 해피기프트카드(신) 충전 수정 Start
|
|
//if (cEtcItem.AMT_ENTRY_01.ToString() == "0")
|
|
if (cEtcItem.OCCUR_ENTRY_06.Trim() != "")
|
|
//#20180131, 해피기프트카드(신) 충전 수정 End
|
|
{
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0061);
|
|
sPrintTitle = "<<" + sPrintTitle + " " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0064) + ">>";
|
|
}
|
|
else
|
|
{
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0060);
|
|
sPrintTitle = "<<" + sPrintTitle + " " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0064) + ">>";
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, sPrintTitle);
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
|
|
sPrintTitle = "";
|
|
sPrintData = "";
|
|
// 1. 카드번호
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043) + "]";
|
|
//if (cEtcItem.OCCUR_ENTRY_01.Trim() != "")
|
|
{
|
|
//if (cEtcItem.OCCUR_ENTRY_05 == PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_KEYIN)
|
|
sPrintData = HPGCardMarking(cEtcItem.OCCUR_ENTRY_01.Trim());
|
|
//else
|
|
{
|
|
//sPrintData = cEtcItem.OCCUR_ENTRY_01;
|
|
//sPrintData = HPGCardMarking(cEtcItem.OCCUR_ENTRY_01.Trim());
|
|
}
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
|
|
// 2.충전금액
|
|
if (cEtcItem.AMT_ENTRY_01.ToString() != "")
|
|
{
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0068) + "]";
|
|
sPrintData = m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_01);
|
|
}
|
|
else
|
|
{
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0069) + "]";
|
|
sPrintData = "0";
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
|
|
// 3.승인번호
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047) + "]";
|
|
sPrintData = cEtcItem.OCCUR_ENTRY_02;
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, GetAppTypePrint(cEtcItem.OCCUR_ENTRY_08) + sPrintData);
|
|
|
|
// 4.잔액
|
|
//if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_ACC_A || cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_USE_A)
|
|
{
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0070) + "]";
|
|
sPrintData = m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
}
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.REC, true, true, true, true, true); // 영수증 하단영역 출력
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.REC); // 영수증 출력 완료
|
|
|
|
sRet = UserCom.RST_OK;
|
|
}
|
|
//#20171025 해피기프트(신) 충전 내역 출력 위치 변경 end
|
|
|
|
}
|
|
}
|
|
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;
|
|
}
|
|
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
private string ChinaCardMarking(string strV)
|
|
{
|
|
string req = "";
|
|
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCCN) && strV != "")
|
|
{
|
|
req = CmUtil.MidH(strV, 0, 4) + "********" + CmUtil.RightH(strV, 4);
|
|
}
|
|
else
|
|
{
|
|
req = CmUtil.MidH(strV, 0, 6) + "**";
|
|
}
|
|
|
|
// 쿼리, Rhee
|
|
//UserLog.WriteLogFile(UserCom.LOG_OP, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "@@ChinaCardMarking=" + strV);
|
|
|
|
|
|
return req;
|
|
}
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 End
|
|
#endregion
|
|
|
|
#region 더치페이 영수증 출력 플래그 업데이트
|
|
/// <summary>
|
|
/// 더치페이 출력 플래그 업데이트
|
|
/// </summary>
|
|
private void SetAmtDutchPayPayPrint()
|
|
{
|
|
try
|
|
{
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2")
|
|
{
|
|
ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); // 결제아이템
|
|
|
|
// 잔액교환권 발행권 출력 - 고객용
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1" || cPayItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.DC) continue;
|
|
cPayItem.DutchPayPrtDiv = "1";
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 영수증 상품 영역 출력
|
|
/// <summary>
|
|
/// 영수증 상품 영역 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSalePluItem(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
double dUsarmyEx = CmUtil.DoubleParse(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT509), "0"));
|
|
double dSaleAmt = 0; // 금액
|
|
double dSalePrc = 0; // 단가
|
|
double dTotDcAmt = 0; // 총할인금액
|
|
double dItemDcAmt = 0; // 단품할인
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
string sOptHpCpnPluSel = PosMstManager.GetPosOption(POS_OPTION.OPT324); // 해피쿠폰상품선택여부(0:상품미선택, 1:상품선택)
|
|
|
|
ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F100, "-");
|
|
// 국가별 상품 상단 정의
|
|
switch (m_cPosStatus.Mst.CntryDiv)
|
|
{
|
|
case ItemConst.CNTRY_DIV.FR:
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F405, "QTE", "PRODUIT", "UNIT", "TOTAL");
|
|
break;
|
|
default:
|
|
// grayber@20180110 전자영수증 주문(대기)번호표 출력 start - 영수증 출력 : 상품 상단 컬럼 출력
|
|
// 추가
|
|
if (
|
|
//grayber@20180226 대기번호표 조건 변경 start - 조건 단순화
|
|
// 기존
|
|
// PosMstManager.GetPosOption(POS_OPTION.OPT429).Trim().Equals("1") // 전자영수증 발행 여부
|
|
//&& PosMstManager.GetPosOption(POS_OPTION.OPT008).Trim().Equals("1") // 대기(주문) 번호 사용여부
|
|
//&& m_cTrnStatus.Head.OrderNo.Trim().Equals("") != true // 주문번호가 있으면
|
|
//&& m_cTrnStatus.Head.TradeDiv != ItemConst.TRAN_DIV.REFUND // 반품이 아닐때
|
|
//&& CheckElectronic_Receipt().Equals("Y") == true // 전자영수증 발행 고객
|
|
//변경
|
|
base.m_bElectRec == true && m_cTrnStatus.Head.TradeDiv != ItemConst.TRAN_DIV.REFUND
|
|
//grayber@20180226 대기번호표 조건 변경 end
|
|
)
|
|
{
|
|
// 제품명, 수량3
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0101), MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0103));
|
|
break;
|
|
}
|
|
// grayber@20180110 전자영수증 주문(대기)번호표 출력 end
|
|
|
|
// 상품명, 수량, 금액
|
|
// 2019-04-16 - 1997fx11 : 판매상품 목록의 타이틀 인쇄
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F301
|
|
, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0101), MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0103), MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0091));
|
|
// 할인내역, 할인금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202
|
|
, "(" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0166) + ")", "(" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0079) + ")");
|
|
break;
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
// 2019-04-16 - 1997fx11 : 판매상품 및 수량 금액 인쇄
|
|
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 상품 아이템
|
|
int nPluSeq = 0;
|
|
foreach (Column.TR_PLU.DATA cPluItem in alTrPluItem)
|
|
{
|
|
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start
|
|
if (cPluItem.SLACK_FIELD.Trim() != "") continue;
|
|
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end
|
|
|
|
if (cPluItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
|
|
//#20170905 미군기지 환율 표시 start
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
dSaleAmt = CmUtil.MathRounds(cPluItem.SALE_AMT / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2); //
|
|
dSalePrc = CmUtil.MathRounds(cPluItem.SALE_PRC / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2); // 단가
|
|
dTotDcAmt = CmUtil.MathRounds(cPluItem.TOT_DC_AMT / dUsarmyEx, PosConst.MATH_ROUND.ROUND, 2); // 총할인금액
|
|
dItemDcAmt = CmUtil.MathRounds(cPluItem.ITEM_DC_AMT / dUsarmyEx, PosConst.MATH_ROUND.ROUND, 2); // 단품할인
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
string sPRT_HDR = PosConst.PRT_HDR.PRT_NOR;
|
|
|
|
//#20170905 미군기지 환율 표시 start
|
|
//기존
|
|
//string sSALE_AMT = m_cPosStatus.Global.NumericTOCurrency(cPluItem.SALE_AMT * nSign); // 금액
|
|
//변경
|
|
string sSALE_AMT = "";
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
sSALE_AMT = (dSaleAmt * nSign).ToString(); // 금액
|
|
}
|
|
else
|
|
{
|
|
sSALE_AMT = m_cPosStatus.Global.NumericTOCurrency(cPluItem.SALE_AMT * nSign); // 금액
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
string sPluName = "";
|
|
|
|
// 로스거래이면 금액에 사유명 출력
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS
|
|
|| (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.LOG.HOLD_DEAL && CmUtil.LongParse(cPluItem.NONSALES_RSN_CD) != 0)) sSALE_AMT = cPluItem.NONSALES_RSN_NM;
|
|
|
|
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1")
|
|
{
|
|
// 더치페이(상품)일 경우
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "1" && (cPluItem.DUTCH_PAY_CAN_DIV == "0" || cPluItem.DUTCH_PAY_MAIN_CAN_DIV == "0")) continue;
|
|
|
|
sPRT_HDR = PosConst.PRT_HDR.PRT_JNL;
|
|
sSALE_AMT = "CANCEL";
|
|
}
|
|
else
|
|
{
|
|
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL && cPluItem.BILL_AMT == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT423) == "0")
|
|
{
|
|
sPRT_HDR = PosConst.PRT_HDR.PRT_JNL; // 세트하위(저널출력)
|
|
}
|
|
else if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.OPT_MENU && cPluItem.BILL_AMT == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT424) == "0")
|
|
{
|
|
sPRT_HDR = PosConst.PRT_HDR.PRT_JNL; // 부가메뉴(저널출력)
|
|
}
|
|
else if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.OPT_MENU && cPluItem.SUBPRC_MENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
|
|
{
|
|
// Del, 2017.04.13, 속성도 출력
|
|
//sPRT_HDR = PosConst.PRT_HDR.PRT_JNL; // 부가메뉴 속성이면 (저널출력)
|
|
}
|
|
}
|
|
|
|
if (sPRT_HDR == PosConst.PRT_HDR.PRT_JNL)
|
|
{
|
|
sPluName = "".PadRight(7) + cPluItem.ITEM_NAME; // 순번(3)+기호(3) + 명
|
|
}
|
|
// grayber@20180110 전자영수증 주문(대기)번호표 출력 start - 영수증 출력 : 상품명 처리 (No Sequence Number)
|
|
// 추가
|
|
else if (
|
|
//grayber@20180226 대기번호표 조건 변경 start - 조건 단순화
|
|
// 기존
|
|
// PosMstManager.GetPosOption(POS_OPTION.OPT429).Trim().Equals("1") // 전자영수증 발행 여부
|
|
//&& PosMstManager.GetPosOption(POS_OPTION.OPT008).Trim().Equals("1") // 대기(주문) 번호 사용여부
|
|
//&& m_cTrnStatus.Head.OrderNo.Trim().Equals("") != true // 주문번호가 있으면
|
|
//&& m_cTrnStatus.Head.TradeDiv != ItemConst.TRAN_DIV.REFUND // 반품이 아닐때
|
|
//&& CheckElectronic_Receipt().Equals("Y") == true // 전자영수증 발행 고객
|
|
// 변경
|
|
base.m_bElectRec == true && m_cTrnStatus.Head.TradeDiv != ItemConst.TRAN_DIV.REFUND
|
|
//grayber@20180226 대기번호표 조건 변경 end
|
|
)
|
|
{
|
|
sPluName += cPluItem.ITEM_NAME;
|
|
}
|
|
// grayber@20180110 전자영수증 주문(대기)번호표 출력 end
|
|
else
|
|
{
|
|
nPluSeq++; // 순번 출력데이터 생성
|
|
sPluName = string.Format("{0:D3}", nPluSeq);
|
|
|
|
// 면세상품 구분 추가
|
|
sPluName += cPluItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : " ";
|
|
// 할인불가 구분추가
|
|
sPluName += cPluItem.DC_PRMT_YN == "1" ? "N" : " ";
|
|
// 적립불가 구분추가
|
|
sPluName += cPluItem.ACCUM_PRMT_YN == "0" ? "P" : " ";
|
|
sPluName += " ";
|
|
|
|
// SPC 임직원 할인 적용 상품명 앞에 'E)' 추가
|
|
if (cPluItem.EMP_DC_DIV == ItemConst.TR_ITEM_ID.EMP_DC_ITEM + ItemConst.TR_ITEM_ID.EMP_DC.SPC
|
|
|| cPluItem.EMP_DC_DIV == ItemConst.TR_ITEM_ID.EMP_DC_ITEM + ItemConst.TR_ITEM_ID.EMP_DC.SPC_CHINA) sPluName += "E)";
|
|
|
|
sPluName += cPluItem.ITEM_NAME;
|
|
}
|
|
|
|
//#20170905 미군기지 환율 표시 start
|
|
//기존
|
|
/*
|
|
// 상품 출력데이터 생성
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|
SetPluItemPrintData(sPrtID, sPRT_HDR, sPluName, cPluItem.SALE_PRC * nSign, cPluItem.SALE_QTY * nSign, 0, sSALE_AMT, cPluItem.TAXRATE_CD);
|
|
else
|
|
SetPluItemPrintData(sPrtID, sPRT_HDR, sPluName, cPluItem.SALE_PRC * nSign, cPluItem.SALE_QTY * nSign, cPluItem.TOT_DC_AMT * nSign, sSALE_AMT, cPluItem.TAXRATE_CD);
|
|
*/
|
|
//변경
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|
SetPluItemPrintData(sPrtID, sPRT_HDR, sPluName, dSalePrc * nSign, cPluItem.SALE_QTY * nSign, 0, sSALE_AMT, cPluItem.TAXRATE_CD);
|
|
else
|
|
SetPluItemPrintData(sPrtID, sPRT_HDR, sPluName, dSalePrc * nSign, cPluItem.SALE_QTY * nSign, dTotDcAmt * nSign, sSALE_AMT, cPluItem.TAXRATE_CD);
|
|
}
|
|
else
|
|
{
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|
SetPluItemPrintData(sPrtID, sPRT_HDR, sPluName, cPluItem.SALE_PRC * nSign, cPluItem.SALE_QTY * nSign, 0, sSALE_AMT, cPluItem.TAXRATE_CD);
|
|
else
|
|
SetPluItemPrintData(sPrtID, sPRT_HDR, sPluName, cPluItem.SALE_PRC * nSign, cPluItem.SALE_QTY * nSign, cPluItem.TOT_DC_AMT * nSign, sSALE_AMT, cPluItem.TAXRATE_CD);
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) continue;
|
|
if (sPRT_HDR == PosConst.PRT_HDR.PRT_JNL) continue;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// 할인내역 출력
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// 단품 할인
|
|
if (cPluItem.ITEM_DC_AMT > 0 && cPluItem.DC_TYPE == ItemConst.PLU_DC_TYPE.DC_ITEM && cPluItem.DC_DIV.Length >= 4)
|
|
{
|
|
// Rhee, 2018.01.15 중국 "H " 문자 제외 Start
|
|
//기존
|
|
//sPluName = "".PadRight(7) + "H " + PosMstManager.GetMstPayDc(cPluItem.DC_DIV.Substring(0, 2), cPluItem.DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
// 변경
|
|
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals("PCCN"))
|
|
{
|
|
sPluName = "".PadRight(7) + PosMstManager.GetMstPayDc(cPluItem.DC_DIV.Substring(0, 2), cPluItem.DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
}
|
|
else
|
|
{
|
|
sPluName = "".PadRight(7) + "H " + PosMstManager.GetMstPayDc(cPluItem.DC_DIV.Substring(0, 2), cPluItem.DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
}
|
|
// Rhee, 2018.01.15 중국 "H " 문자 제외 End
|
|
|
|
//#20170905 미군기지 환율 표시 start
|
|
//기존
|
|
//AddPrintData(sPrtID, sPRT_HDR, PosConst.PRT_FMT.F200, sPluName, m_cPosStatus.Global.NumericTOCurrency(cPluItem.ITEM_DC_AMT * nSign * -1));
|
|
|
|
//변경
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
AddPrintData(sPrtID, sPRT_HDR, PosConst.PRT_FMT.F200, sPluName, (dItemDcAmt * nSign * -1).ToString());
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, sPRT_HDR, PosConst.PRT_FMT.F200, sPluName, m_cPosStatus.Global.NumericTOCurrency(cPluItem.ITEM_DC_AMT * nSign * -1));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
}
|
|
// 캠페인 할인
|
|
if (cPluItem.CPI_DC_AMT > 0)
|
|
{
|
|
if (cPluItem.alTrSaleCpi != null)
|
|
{
|
|
foreach (Column.TR_SALE_CPI_RSLT.DATA cTrPluCpi in cPluItem.alTrSaleCpi)
|
|
{
|
|
if (cTrPluCpi.PAY_DC_DIV == PosConst.PAY_DC_TYPE.PAY) continue; // 할인결제구분 (1:결제, 2:할인)
|
|
|
|
if (cTrPluCpi.CPI_CUST_BNFT_TYPE == ItemConst.CPI_CUST_BNFT.FREEGIFT || cTrPluCpi.CPI_CUST_BNFT_TYPE == ItemConst.CPI_CUST_BNFT.FREE_SAVE
|
|
|| cTrPluCpi.ITEM_APPLY_METHD != ItemConst.CPI_ITEM_APPLY_METHD.RECTSUM)
|
|
{
|
|
if (cTrPluCpi.DC_SUM_AMT > 0)
|
|
{
|
|
// Rhee, 2018.01.15 중국 "C " 문자 제외 Start
|
|
// 기존
|
|
//sPluName = "".PadRight(7) + "C " + cCampaingMain.GetCampaignName(cTrPluCpi.CPI_CD, 1); // 캠페인명
|
|
// 변경
|
|
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals("PCCN"))
|
|
{
|
|
sPluName = "".PadRight(7) + cCampaingMain.GetCampaignName(cTrPluCpi.CPI_CD, 1); // 캠페인명
|
|
}
|
|
else
|
|
{
|
|
sPluName = "".PadRight(7) + "C " + cCampaingMain.GetCampaignName(cTrPluCpi.CPI_CD, 1); // 캠페인명
|
|
}
|
|
// Rhee, 2018.01.15 중국 "C " 문자 제외 End
|
|
AddPrintData(sPrtID, sPRT_HDR, PosConst.PRT_FMT.F200, sPluName, m_cPosStatus.Global.NumericTOCurrency(cPluItem.CPI_DC_AMT * nSign * -1));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 쿠폰 할인
|
|
if (cPluItem.CPN_DC_AMT > 0 && cPluItem.CPN_DC_DIV.Length >= 4)
|
|
{
|
|
if (cPluItem.CPN_DC_DIV != ItemConst.TR_ITEM_ID.COUPON_ITEM + ItemConst.TR_ITEM_ID.COUPON.INCARD || sOptHpCpnPluSel == "1") // 해피쿠폰상품선택여부(0:상품미선택, 1:상품선택)
|
|
{
|
|
sPluName = "".PadRight(7) + "H " + PosMstManager.GetMstPayDc(cPluItem.CPN_DC_DIV.Substring(0, 2), cPluItem.CPN_DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
AddPrintData(sPrtID, sPRT_HDR, PosConst.PRT_FMT.F200, sPluName, m_cPosStatus.Global.NumericTOCurrency(cPluItem.CPN_DC_AMT * nSign * -1));
|
|
}
|
|
}
|
|
// 제휴 할인
|
|
if (cPluItem.COOP_CARD_DC_AMT > 0 && cPluItem.COOP_CARD_DC_DIV.Length >= 4)
|
|
{
|
|
if (cPluItem.COOP_CARD_DC_DIV == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT + ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KT_VIP
|
|
|| cPluItem.COOP_CARD_DC_DIV == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT + ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KT_DOUBLE) // KT VIP
|
|
{
|
|
sPluName = "".PadRight(7) + "H " + PosMstManager.GetMstPayDc(cPluItem.COOP_CARD_DC_DIV.Substring(0, 2), cPluItem.COOP_CARD_DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
AddPrintData(sPrtID, sPRT_HDR, PosConst.PRT_FMT.F200, sPluName, m_cPosStatus.Global.NumericTOCurrency(cPluItem.COOP_CARD_DC_AMT * nSign * -1));
|
|
}
|
|
}
|
|
// 세트 할인
|
|
if (cPluItem.SET_DC_AMT > 0)
|
|
{
|
|
sPluName = "".PadRight(7) + "H " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0167);
|
|
AddPrintData(sPrtID, sPRT_HDR, PosConst.PRT_FMT.F200, sPluName, m_cPosStatus.Global.NumericTOCurrency(cPluItem.SET_DC_AMT * nSign * -1));
|
|
}
|
|
// 환경사랑 할인
|
|
if (cPluItem.EXCEP_DC_AMT > 0 && cPluItem.EXCEP_DC_DIV == ItemConst.PLU_DC_DIV.ELOVE_DC)
|
|
{
|
|
sPluName = "".PadRight(7) + "H " + PosMstManager.GetMstPayDc(cPluItem.EXCEP_DC_DIV.Substring(0, 2), cPluItem.EXCEP_DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
AddPrintData(sPrtID, sPRT_HDR, PosConst.PRT_FMT.F200, sPluName, m_cPosStatus.Global.NumericTOCurrency(cPluItem.EXCEP_DC_AMT * nSign * -1));
|
|
}
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
}
|
|
#endregion
|
|
|
|
#region 영수증 합계 영역 출력
|
|
/// <summary>
|
|
/// 영수증 합계 영역 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSaleTotal(string sPrtID)
|
|
{
|
|
return SetPosSaleTotal(sPrtID, false);
|
|
}
|
|
private bool SetPosSaleTotal(string sPrtID, bool bDisplay)
|
|
{
|
|
try
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
double dUsarmyEx = CmUtil.DoubleParse(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT509), "0"));
|
|
double dTemp = 0;
|
|
double dTemp2 = 0;
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
string sOptHpCpnPluSel = PosMstManager.GetPosOption(POS_OPTION.OPT324); // 해피쿠폰상품선택여부(0:상품미선택, 1:상품선택)
|
|
|
|
ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|
|
|
string sSubDisName = ""; double nSubDisAmt = 0; // 소계할인정보
|
|
string sCpiDisName = ""; double nCpiDisAmt = 0; // 캠페인할인정보
|
|
string sCpnDisName = ""; double nCpnDisAmt = 0; // 쿠폰할인정보
|
|
string sPntDisName = ""; double nPntDisAmt = 0; // 포인트할인정보
|
|
string sEmpDisName = ""; double nEmpDisAmt = 0; // 직원할인정보
|
|
string sEtcDisName = ""; double nEtcDisAmt = 0; // 기타할인정보
|
|
|
|
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 상품 아이템
|
|
foreach (Column.TR_PLU.DATA cPluItem in alTrPluItem)
|
|
{
|
|
if (cPluItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") continue;
|
|
|
|
// 소계 할인
|
|
if (cPluItem.ITEM_DC_AMT > 0 && cPluItem.DC_TYPE == ItemConst.PLU_DC_TYPE.DC_SUM && cPluItem.DC_DIV.Length >= 4)
|
|
{
|
|
sSubDisName = PosMstManager.GetMstPayDc(cPluItem.DC_DIV.Substring(0, 2), cPluItem.DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//nSubDisAmt += cPluItem.ITEM_DC_AMT;
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
nSubDisAmt += CmUtil.MathRounds(cPluItem.ITEM_DC_AMT / dUsarmyEx, PosConst.MATH_ROUND.ROUND, 2);
|
|
}
|
|
else
|
|
{
|
|
nSubDisAmt += cPluItem.ITEM_DC_AMT;
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
}
|
|
// 캠페인 할인
|
|
if (cPluItem.CPI_DC_AMT > 0)
|
|
{
|
|
if (cPluItem.alTrSaleCpi != null)
|
|
{
|
|
foreach (Column.TR_SALE_CPI_RSLT.DATA cTrPluCpi in cPluItem.alTrSaleCpi)
|
|
{
|
|
if (cTrPluCpi.PAY_DC_DIV == PosConst.PAY_DC_TYPE.PAY) continue; // 할인결제구분 (1:결제, 2:할인)
|
|
|
|
if (cTrPluCpi.CPI_CUST_BNFT_TYPE != ItemConst.CPI_CUST_BNFT.FREEGIFT && cTrPluCpi.CPI_CUST_BNFT_TYPE != ItemConst.CPI_CUST_BNFT.FREE_SAVE
|
|
&& cTrPluCpi.ITEM_APPLY_METHD == ItemConst.CPI_ITEM_APPLY_METHD.RECTSUM) // 전체상품
|
|
{
|
|
if (cTrPluCpi.DC_SUM_AMT > 0)
|
|
{
|
|
sCpiDisName = cCampaingMain.GetCampaignName(cTrPluCpi.CPI_CD, 1); // 캠페인명
|
|
nCpiDisAmt += cTrPluCpi.DC_SUM_AMT;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 쿠폰 할인
|
|
if (cPluItem.CPN_DC_AMT > 0 && cPluItem.CPN_DC_DIV.Length >= 4)
|
|
{
|
|
if (cPluItem.CPN_DC_DIV == ItemConst.TR_ITEM_ID.COUPON_ITEM + ItemConst.TR_ITEM_ID.COUPON.INCARD && sOptHpCpnPluSel != "1") // 해피쿠폰상품선택여부(0:상품미선택, 1:상품선택)
|
|
{
|
|
sCpnDisName = PosMstManager.GetMstPayDc(cPluItem.CPN_DC_DIV.Substring(0, 2), cPluItem.CPN_DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
nCpnDisAmt += cPluItem.CPN_DC_AMT;
|
|
}
|
|
}
|
|
// 포인트할인
|
|
if (cPluItem.POINT_DC_AMT > 0 && cPluItem.POINT_DC_DIV.Length >= 4)
|
|
{
|
|
sPntDisName = PosMstManager.GetMstPayDc(cPluItem.POINT_DC_DIV.Substring(0, 2), cPluItem.POINT_DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
nPntDisAmt += cPluItem.POINT_DC_AMT;
|
|
}
|
|
// 직원할인
|
|
if (cPluItem.EMP_DC_AMT > 0 && cPluItem.EMP_DC_DIV.Length >= 4)
|
|
{
|
|
sEmpDisName = PosMstManager.GetMstPayDc(cPluItem.EMP_DC_DIV.Substring(0, 2), cPluItem.EMP_DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
nEmpDisAmt += cPluItem.EMP_DC_AMT;
|
|
}
|
|
// 기타할인
|
|
if (cPluItem.ETC_DC_AMT > 0 && cPluItem.ETC_DC_DIV.Length >= 4)
|
|
{
|
|
sEtcDisName = PosMstManager.GetMstPayDc(cPluItem.ETC_DC_DIV.Substring(0, 2), cPluItem.ETC_DC_DIV.Substring(2, 2), PosMst.MST_PAY_DC.DATA.PAY_DC_NM); // 결제수단명
|
|
nEtcDisAmt += cPluItem.ETC_DC_AMT;
|
|
}
|
|
}
|
|
|
|
bool bSubDisPrint = false;
|
|
if (nSubDisAmt > 0) // 소계 할인
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, sSubDisName, m_cPosStatus.Global.NumericTOCurrency(nSubDisAmt * nSign * -1));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, sSubDisName, (nSubDisAmt * nSign * -1).ToString());
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, sSubDisName, m_cPosStatus.Global.NumericTOCurrency(nSubDisAmt * nSign * -1));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
bSubDisPrint = true;
|
|
}
|
|
if (nCpiDisAmt > 0) // 캠페인 할인
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, sCpiDisName, m_cPosStatus.Global.NumericTOCurrency(nCpiDisAmt * nSign * -1));
|
|
bSubDisPrint = true;
|
|
}
|
|
if (nCpnDisAmt > 0) // 쿠폰 할인
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, sCpnDisName, m_cPosStatus.Global.NumericTOCurrency(nCpnDisAmt * nSign * -1));
|
|
bSubDisPrint = true;
|
|
}
|
|
if (nPntDisAmt > 0) // 포인트 할인
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, sPntDisName, m_cPosStatus.Global.NumericTOCurrency(nPntDisAmt * nSign * -1));
|
|
bSubDisPrint = true;
|
|
}
|
|
if (nEmpDisAmt > 0) // 직원 할인
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, sEmpDisName, m_cPosStatus.Global.NumericTOCurrency(nEmpDisAmt * nSign * -1));
|
|
bSubDisPrint = true;
|
|
}
|
|
if (nEtcDisAmt > 0) // 기타 할인
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, sEtcDisName, m_cPosStatus.Global.NumericTOCurrency(nEtcDisAmt * nSign * -1));
|
|
bSubDisPrint = true;
|
|
}
|
|
|
|
// 제휴 할인
|
|
ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); // 결제아이템
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != ItemConst.TR_ITEM_ID.MOBILE_COM_POINT) continue; // 제휴 할인
|
|
if (cPayItem.PAY_DTL_CD_05 != PosConst.PAY_DC_TYPE.DC) continue;
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.WELCOMECARD) // MC
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0329), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_10 * nSign));
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0330), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign * -1));
|
|
}
|
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT) // SKT
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0168), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_10 * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0169), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign * -1));
|
|
}
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KTF) // KT
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0170), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_10 * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0171), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign * -1));
|
|
}
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_LGT) // LGT
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0172), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_10 * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0173), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign * -1));
|
|
}
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.OILBANK_POINT) // OILBANK
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0174), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_10 * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0175), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign * -1));
|
|
}
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.HBLUE_M_POINT) // BLUE
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0176), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_10 * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0177), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign * -1));
|
|
}
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.KRED_M_POINT) // RED
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0178), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_10 * nSign));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0179), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign * -1));
|
|
}
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KT_VIP || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KT_DOUBLE) // KT VIP
|
|
{
|
|
continue;
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0180), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_10 * nSign));
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0181), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign * -1));
|
|
}
|
|
bSubDisPrint = true;
|
|
}
|
|
if (bSubDisPrint == true) AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
//#20180529 소계 할인 후 보류 처리시 보류영수증에 할인 내역 출력 되도록 수정 start
|
|
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.LOG.HOLD_DEAL)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
//#20180529 소계 할인 후 보류 처리시 보류영수증에 할인 내역 출력 되도록 수정 end
|
|
|
|
// 합계정보 출력
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT419) == "1" && bDisplay == false)
|
|
{
|
|
ArrayList alPrtTagData = new ArrayList();
|
|
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
/*
|
|
alPrtTagData.Add(new string[] { "<TAXTOTAL>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0005)
|
|
, m_cTrnStatus.Sale.VatPluAmt > 0 ? m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.VatPluAmt * nSign) : "" }); //과세물품가액
|
|
alPrtTagData.Add(new string[] { "<TAXFREETOTAL>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0004)
|
|
, m_cTrnStatus.Sale.NoVatPluAmt > 0 ? m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.NoVatPluAmt * nSign) : "" }); //면세물품가액
|
|
alPrtTagData.Add(new string[] { "<TAXAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0006)
|
|
, m_cTrnStatus.Head.TotVatAmt > 0 ? m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt * nSign) : "" }); //세금
|
|
alPrtTagData.Add(new string[] { "<TOTALAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0007)
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.TotSaleAmt
|
|
, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.TotVatAmt : 0) * nSign)}); //합계(총매출)
|
|
alPrtTagData.Add(new string[] { "<TOTDISCOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0008)
|
|
, m_cTrnStatus.Head.TotDcAmt > 0 ? m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * nSign) : "" }); //할인
|
|
alPrtTagData.Add(new string[] { "<GRATUITYAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0152)
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt
|
|
, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0) * nSign) }); //봉사료
|
|
alPrtTagData.Add(new string[] { "<NSALEAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0010)
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt
|
|
, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * nSign)}); //합계금액
|
|
alPrtTagData.Add(new string[] { "<RECEIVEDAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0018)
|
|
,m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt) * nSign)});//받은금액
|
|
alPrtTagData.Add(new string[] { "<CHANGEAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0012)
|
|
, m_cPosStatus.Sale.ChangeCashAmt > 0 ? m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt) : "" }); //거스름
|
|
*/
|
|
|
|
//변경
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
alPrtTagData.Add(new string[] { "<TAXTOTAL>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0005)
|
|
, m_cTrnStatus.Sale.VatPluAmt > 0 ? (CmUtil.MathRounds(m_cTrnStatus.Sale.VatPluAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign).ToString() : "" }); //과세물품가액
|
|
alPrtTagData.Add(new string[] { "<TAXFREETOTAL>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0004)
|
|
, m_cTrnStatus.Sale.NoVatPluAmt > 0 ? (CmUtil.MathRounds(m_cTrnStatus.Sale.NoVatPluAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign).ToString() : "" }); //면세물품가액
|
|
|
|
//#20170905 미군기지 환율 표시 start - 20170911 start
|
|
// 부가세 = 합계금액 - 과세금액
|
|
//기존
|
|
//alPrtTagData.Add(new string[] { "<TAXAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0006)
|
|
// , m_cTrnStatus.Head.TotVatAmt > 0 ? (CmUtil.MathRounds(m_cTrnStatus.Head.TotVatAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign).ToString() : "" }); //세금
|
|
//변경
|
|
double dTotAmt = 0;
|
|
double dVatPluamt = 0;
|
|
double dTotVatamt = 0;
|
|
dTotAmt = (CmUtil.MathRounds(CmUtil.DoubleAdd(m_cTrnStatus.Sale.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign);
|
|
if (m_cTrnStatus.Sale.VatPluAmt > 0) { dVatPluamt = CmUtil.MathRounds(m_cTrnStatus.Sale.VatPluAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign; }
|
|
|
|
dTotVatamt = dTotAmt - dVatPluamt;
|
|
alPrtTagData.Add(new string[] { "<TAXAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0006)
|
|
, m_cTrnStatus.Head.TotVatAmt > 0 ? dTotVatamt.ToString() : ""}); //세금
|
|
//#20170905 미군기지 환율 표시 end - 20170911 end
|
|
|
|
alPrtTagData.Add(new string[] { "<TOTALAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0007)
|
|
, (CmUtil.MathRounds(CmUtil.DoubleAdd(m_cTrnStatus.Head.TotSaleAmt
|
|
, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.TotVatAmt : 0) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign).ToString()}); //합계(총매출)
|
|
alPrtTagData.Add(new string[] { "<TOTDISCOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0008)
|
|
, m_cTrnStatus.Head.TotDcAmt > 0 ? (CmUtil.MathRounds(m_cTrnStatus.Head.TotDcAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign).ToString() : "" }); //할인
|
|
alPrtTagData.Add(new string[] { "<GRATUITYAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0152)
|
|
, (CmUtil.MathRounds(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt
|
|
, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign).ToString() }); //봉사료
|
|
alPrtTagData.Add(new string[] { "<NSALEAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0010)
|
|
, (CmUtil.MathRounds(CmUtil.DoubleAdd(m_cTrnStatus.Sale.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt
|
|
, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign).ToString() }); //합계금액
|
|
alPrtTagData.Add(new string[] { "<RECEIVEDAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0018)
|
|
, (CmUtil.MathRounds(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign).ToString() });//받은금액
|
|
alPrtTagData.Add(new string[] { "<CHANGEAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0012)
|
|
, m_cPosStatus.Sale.ChangeCashAmt > 0 ? (CmUtil.MathRounds(m_cPosStatus.Sale.ChangeCashAmt/ dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2)).ToString() : "" }); //거스름
|
|
}
|
|
else
|
|
{
|
|
alPrtTagData.Add(new string[] { "<TAXTOTAL>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0005)
|
|
, m_cTrnStatus.Sale.VatPluAmt > 0 ? m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.VatPluAmt * nSign) : "" }); //과세물품가액
|
|
alPrtTagData.Add(new string[] { "<TAXFREETOTAL>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0004)
|
|
, m_cTrnStatus.Sale.NoVatPluAmt > 0 ? m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.NoVatPluAmt * nSign) : "" }); //면세물품가액
|
|
alPrtTagData.Add(new string[] { "<TAXAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0006)
|
|
, m_cTrnStatus.Head.TotVatAmt > 0 ? m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt * nSign) : "" }); //세금
|
|
alPrtTagData.Add(new string[] { "<TOTALAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0007)
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.TotSaleAmt
|
|
, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.TotVatAmt : 0) * nSign)}); //합계(총매출)
|
|
alPrtTagData.Add(new string[] { "<TOTDISCOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0008)
|
|
, m_cTrnStatus.Head.TotDcAmt > 0 ? m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * nSign) : "" }); //할인
|
|
alPrtTagData.Add(new string[] { "<GRATUITYAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0152)
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt
|
|
, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0) * nSign) }); //봉사료
|
|
alPrtTagData.Add(new string[] { "<NSALEAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0010)
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt
|
|
, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * nSign)}); //합계금액
|
|
alPrtTagData.Add(new string[] { "<RECEIVEDAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0018)
|
|
,m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt) * nSign)});//받은금액
|
|
alPrtTagData.Add(new string[] { "<CHANGEAMOUNT>", MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0012)
|
|
, m_cPosStatus.Sale.ChangeCashAmt > 0 ? m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt) : "" }); //거스름
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
|
|
SetBillTypePaymentPrintData(sPrtID, PosConst.BILL_TYPE_DIV.TOTAL, alPrtTagData);
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
//과세/부가세 출력 유무(0 : 미 출력, 1 : 출력)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT402) != "0")
|
|
{
|
|
// 세금항목(면세,과세,부가세)
|
|
if (m_cTrnStatus.Sale.NoVatPluAmt > 0)
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
// "(*)" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0004), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.NoVatPluAmt * nSign));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
dTemp = CmUtil.MathRounds(m_cTrnStatus.Sale.NoVatPluAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
"(*)" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0004), dTemp.ToString());
|
|
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
"(*)" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0004), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.NoVatPluAmt * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
}
|
|
if (m_cTrnStatus.Sale.VatPluAmt > 0)
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0005), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.VatPluAmt * nSign));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
dTemp = CmUtil.MathRounds(m_cTrnStatus.Sale.VatPluAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0005), dTemp.ToString());
|
|
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0005), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.VatPluAmt * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
}
|
|
if (m_cTrnStatus.Head.TotVatAmt > 0)
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0006), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt * nSign));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
//#20170905 미군기지 환율 표시 start - 20170911 start
|
|
// 부가세 = 합계금액 - 과세금액
|
|
//기존
|
|
//dTemp = CmUtil.MathRounds(m_cTrnStatus.Head.TotVatAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
//변경
|
|
double dTotAmt = 0;
|
|
double dVatAmt = 0;
|
|
dTotAmt = CmUtil.MathRounds(CmUtil.DoubleAdd(m_cTrnStatus.Sale.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
dVatAmt = CmUtil.MathRounds(m_cTrnStatus.Sale.VatPluAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
dTemp = (dTotAmt - dVatAmt) * nSign;
|
|
//#20170905 미군기지 환율 표시 end - 20170911 end
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0006), dTemp.ToString());
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0006), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
}
|
|
if (m_cTrnStatus.Head.SvcFeeAmt > 0)
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0150), m_cPosStatus.Global.NumericTOCurrency(
|
|
// m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeAmt : CmUtil.DoubleSubtraction(m_cTrnStatus.Head.SvcFeeAmt, m_cTrnStatus.Head.SvcFeeVat) * nSign));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
dTemp = CmUtil.MathRounds(
|
|
m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeAmt : CmUtil.DoubleSubtraction(m_cTrnStatus.Head.SvcFeeAmt, m_cTrnStatus.Head.SvcFeeVat) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0150), dTemp.ToString());
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0150), m_cPosStatus.Global.NumericTOCurrency(
|
|
m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeAmt : CmUtil.DoubleSubtraction(m_cTrnStatus.Head.SvcFeeAmt, m_cTrnStatus.Head.SvcFeeVat) * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
}
|
|
if (m_cTrnStatus.Head.SvcFeeVat > 0)
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0151), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.SvcFeeVat * nSign));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
dTemp = CmUtil.MathRounds(m_cTrnStatus.Head.SvcFeeVat / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0151), dTemp.ToString());
|
|
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0151), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.SvcFeeVat * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
}
|
|
|
|
//프랑스 과세 코드별 출력!
|
|
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.FR) SumOfTaxRate(sPrtID);
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "=");
|
|
}
|
|
|
|
// 영수금액(총매출,상품할인,합계금액)
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0007), m_cPosStatus.Global.NumericTOCurrency(
|
|
// CmUtil.DoubleAdd(m_cTrnStatus.Head.TotSaleAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.TotVatAmt : 0) * nSign));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
dTemp = CmUtil.MathRounds(CmUtil.DoubleAdd(m_cTrnStatus.Head.TotSaleAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.TotVatAmt : 0) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0007), dTemp.ToString());
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0007), m_cPosStatus.Global.NumericTOCurrency(
|
|
CmUtil.DoubleAdd(m_cTrnStatus.Head.TotSaleAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.TotVatAmt : 0) * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
if (m_cTrnStatus.Head.TotDcAmt > 0 && m_cTrnStatus.Head.TradeKind != ItemConst.TRAN_KIND.ETC.LOSS)
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0008), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * nSign));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
dTemp = CmUtil.MathRounds(m_cTrnStatus.Head.TotDcAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0008), dTemp.ToString());
|
|
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0008), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
}
|
|
|
|
|
|
if (CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cTrnStatus.Head.SvcFeeVat) > 0)
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0152), m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0) * nSign));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
dTemp = CmUtil.MathRounds(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0152), dTemp.ToString());
|
|
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0152), m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0) * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
}
|
|
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, bDisplay == true ? PosConst.PRT_HDR.PRT_NOR : PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F200,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0010), m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * nSign));
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0018), m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt) * nSign));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
dTemp = CmUtil.MathRounds(CmUtil.DoubleAdd(m_cTrnStatus.Sale.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
dTemp2 = CmUtil.MathRounds(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt) / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2) * nSign;
|
|
|
|
AddPrintData(sPrtID, bDisplay == true ? PosConst.PRT_HDR.PRT_NOR : PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0010), dTemp.ToString());
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0018), dTemp2.ToString());
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, bDisplay == true ? PosConst.PRT_HDR.PRT_NOR : PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0010), m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * nSign));
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0018), m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt) * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
if (m_cPosStatus.Sale.ChangeCashAmt > 0)
|
|
{
|
|
//#20170905 미군기지 환율 표시 start
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0012), m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt));
|
|
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0012), CmUtil.MathRounds(m_cPosStatus.Sale.ChangeCashAmt / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2).ToString());
|
|
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0012), m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
}
|
|
//if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL)
|
|
//{
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0018), m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt) * nSign));
|
|
|
|
// if (m_cPosStatus.Sale.ChangeCashAmt > 0)
|
|
// {
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
// MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0012), m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt * nSign));
|
|
// }
|
|
//}
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F100, "=");
|
|
}
|
|
return true;
|
|
}
|
|
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 false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 상품별 과세 합 출력
|
|
/// </summary>
|
|
private void SumOfTaxRate(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
Hashtable htList = new Hashtable();
|
|
//IDataCommonUs cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
|
|
//DataTable dt = null;
|
|
|
|
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 상품 아이템
|
|
foreach (Column.TR_PLU.DATA cPluItem in alTrPluItem)
|
|
{
|
|
if (cPluItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
|
|
if (htList.Contains(cPluItem.TAXRATE_CD) == false)
|
|
{
|
|
//double dTaxRate = 0;
|
|
//dt = cDataCommon.SeletCommonCode(PosConst.COMMON_CODE_GROUP.M0101, cPluItem.TAXRATE_CD);
|
|
|
|
//if (!(dt == null || dt.Rows.Count == 0))
|
|
//{
|
|
// DataRow dr = dt.Rows[0];
|
|
// dTaxRate = CmUtil.GetDataRowDouble(dr, PosMst.MST_COMMON.DATA.NUM_VAL_TITLE_VAL_01);
|
|
//}
|
|
|
|
htList.Add(cPluItem.TAXRATE_CD, new double[] { cPluItem.TAX_RATE
|
|
, CmUtil.DoubleSubtraction(cPluItem.SALE_AMT, cPluItem.APPLY_TAX_AMT), cPluItem.APPLY_TAX_AMT, cPluItem.BILL_AMT });
|
|
}
|
|
else
|
|
{
|
|
double[] dHashValues = (double[])htList[cPluItem.TAXRATE_CD];
|
|
dHashValues[1] = CmUtil.DoubleAdd(dHashValues[1], CmUtil.DoubleSubtraction(cPluItem.SALE_AMT, cPluItem.APPLY_TAX_AMT));
|
|
dHashValues[2] = CmUtil.DoubleAdd(dHashValues[2], cPluItem.APPLY_TAX_AMT);
|
|
dHashValues[3] = CmUtil.DoubleAdd(dHashValues[3], cPluItem.BILL_AMT);
|
|
}
|
|
}
|
|
|
|
if (htList != null && htList.Count > 0)
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
foreach (DictionaryEntry entry in htList)
|
|
{
|
|
double[] dHashPrtValues = (double[])entry.Value;
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F502, string.Format("[{0}]", entry.Key), m_cPosStatus.Global.NumericTOCurrency(dHashPrtValues[0]) + "%", m_cPosStatus.Global.NumericTOCurrency(dHashPrtValues[1]), m_cPosStatus.Global.NumericTOCurrency(dHashPrtValues[2]), m_cPosStatus.Global.NumericTOCurrency(dHashPrtValues[3]));
|
|
}
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 영수 캠페인(별도영수증) 출력 데이터 설정
|
|
/// <summary>
|
|
/// 영수 캠페인(별도영수증) 출력 데이터 설정
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetCampaignAddBillPrint(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND) return true;
|
|
|
|
// 영수 캠페인 출력 데이터 설정
|
|
ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|
|
|
// 복권 명판 캠페인 출력 데이터 설정
|
|
ArrayList alTrSaleCpi = (ArrayList)StateObject.GetItemObject(Column.TR_SALE_CPI_RSLT.ITEM); // 캠페인트란 아이템
|
|
foreach (Column.TR_SALE_CPI_RSLT.DATA cTrSaleCpi in alTrSaleCpi)
|
|
{
|
|
if (cTrSaleCpi.CANCEL_DIV == "1") continue;
|
|
|
|
if (cTrSaleCpi.CPI_CUST_BNFT_TYPE == ItemConst.CPI_CUST_BNFT.LOTTERY || cTrSaleCpi.CPI_CUST_BNFT_TYPE == ItemConst.CPI_CUST_BNFT.LOTT_REC
|
|
//#20170807 명판 캠페인 커팅 start
|
|
|| cTrSaleCpi.CPI_CUST_BNFT_TYPE == ItemConst.CPI_CUST_BNFT.RECEIPT
|
|
//#20170807 명판 캠페인 커팅 end
|
|
|| cTrSaleCpi.CPI_CUST_BNFT_TYPE == ItemConst.CPI_CUST_BNFT.ENTRY || cTrSaleCpi.CPI_CUST_BNFT_TYPE == ItemConst.CPI_CUST_BNFT.ENTR_REC)
|
|
{
|
|
//#20170807 명판 캠페인 커팅 start
|
|
//기존
|
|
//if (cTrSaleCpi.LTTR_NMPLAT_NO.Trim() == "") continue;
|
|
//변경
|
|
if (cTrSaleCpi.CPI_CUST_BNFT_TYPE != ItemConst.CPI_CUST_BNFT.RECEIPT)
|
|
{
|
|
if (cTrSaleCpi.LTTR_NMPLAT_NO.Trim() == "") continue;
|
|
}
|
|
//#20170807 명판 캠페인 커팅 end
|
|
|
|
// 캠페인 복권 출력정보 획득
|
|
SetTopPosPrintData(sPrtID, true, true, false, false); // 영수증 상단영역 출력
|
|
|
|
ArrayList alPrtBuf = cCampaingMain.GetCampaignPrintDataAddBill(new string[] { cTrSaleCpi.CPI_CD });
|
|
if (alPrtBuf == null || alPrtBuf.Count <= 0) return true;
|
|
|
|
foreach (string sPrtData in alPrtBuf)
|
|
{
|
|
AddPrintData(sPrtID, sPrtData);
|
|
}
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetBtmPosPrintData(sPrtID, true, false, false, false, false); // 영수증 하단영역 출력
|
|
SetEndPosPrintData(sPrtID); // 영수증 출력 완료
|
|
}
|
|
else if (cTrSaleCpi.CPI_CUST_BNFT_TYPE == ItemConst.CPI_CUST_BNFT.HP_STAMP)
|
|
{
|
|
if (cTrSaleCpi.HP_STAMP_COUPON.Trim() == "") continue;
|
|
|
|
// 캠페인별 구분자 파싱
|
|
string[] saCouponNo = cTrSaleCpi.HP_STAMP_COUPON.Split(new string[] { "," }, StringSplitOptions.None);
|
|
|
|
cTrSaleCpi.DC_QTY = 0;
|
|
for (int i = 0; i < saCouponNo.Length; i++)
|
|
{
|
|
if (saCouponNo[i].Trim() == "") continue;
|
|
|
|
// 캠페인 스템프 출력정보 획득
|
|
SetTopPosPrintData(sPrtID, true, true, false, false); // 영수증 상단영역 출력
|
|
|
|
ArrayList alPrtBuf = cCampaingMain.GetCampaignPrintDataAddBill(new string[] { cTrSaleCpi.CPI_CD, saCouponNo[i].Trim() });
|
|
if (alPrtBuf == null || alPrtBuf.Count <= 0) return true;
|
|
|
|
foreach (string sPrtData in alPrtBuf)
|
|
{
|
|
AddPrintData(sPrtID, sPrtData);
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetBtmPosPrintData(sPrtID, true, false, false, false, false); // 영수증 하단영역 출력
|
|
SetEndPosPrintData(sPrtID); // 영수증 출력 완료
|
|
|
|
cTrSaleCpi.DC_QTY++;
|
|
}
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 신용카드 무서명 전표 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetCreditCardNoSignBillPrint(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); // 결제아이템
|
|
|
|
if (alTrPayItem.Count == 0) return false;
|
|
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.PAY_WAY_CD != ItemConst.TR_ITEM_ID.CREDITCARD_ITEM || cPayItem.PAY_DTL_CD_01 != ItemConst.TR_ITEM_ID.CREDITCARD.CREDIT_CARD) continue;
|
|
if (cPayItem.OCCUR_ENTRY_17 != "0") continue;
|
|
|
|
SetTopPosPrintData(sPrtID, true, true, true, true, "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0142) + " ]"); // 영수증 상단영역 출력
|
|
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2")
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
else
|
|
{
|
|
SetPosSalePluItem(sPrtID); // 영수증 상품영역 출력
|
|
SetPosSaleTotal(sPrtID); // 영수증 합계영역, 결제영역 출력
|
|
}
|
|
|
|
//카드 매출
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0092), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign));
|
|
//카드 매출 외
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0093), m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleSubtraction(m_cTrnStatus.Sale.NetSaleAmt, cPayItem.PAY_AMT) * nSign));
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "=");
|
|
|
|
// 카드 결제 정보
|
|
SetPosSaleCreditCard(sPrtID, cPayItem);
|
|
|
|
SetEndPosPrintData(sPrtID); // 영수증 출력 완료
|
|
}
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 현금/수표 결제 출력
|
|
/// <summary>
|
|
/// 현금/수표 결제 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="alTrPayItem"></param>
|
|
/// <param name="sPayWayCD"></param>
|
|
/// <param name="sPayDtlCD"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSalePaymentCash(string sPrtID, ArrayList alTrPayItem, string sPayWayCD, string sPayDtlCD)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
bool bExistPrint = false;
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
if (sPayWayCD == ItemConst.TR_ITEM_ID.CHECK_ITEM)
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0053), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
else
|
|
//#14678 PB 평촌라이프 - 결제영수증 현금 금액 표기 수정요청 start,phj
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
//기존
|
|
//MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0013), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
//변경
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0013), m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign));
|
|
//#14678 PB 평촌라이프 - 결제영수증 현금 금액 표기 수정요청 end,phj
|
|
|
|
bExistPrint = true;
|
|
}
|
|
if (bExistPrint == true) AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion 현금/수표 결제 출력
|
|
|
|
#region 쿠폰 할인 출력
|
|
/// <summary>
|
|
/// 쿠폰 할인 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="alTrPayItem"></param>
|
|
/// <param name="sPayWayCD"></param>
|
|
/// <param name="sPayDtlCD"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSaleCouponDis(string sPrtID, ArrayList alTrPayItem, string sPayWayCD, string sPayDtlCD)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.COUPON.CAKE_CHANGE) continue;
|
|
|
|
if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.COUPON.ONLINE) // 온라인 쿠폰
|
|
{
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_08);
|
|
// 쿠폰종류
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0145))
|
|
, cPayItem.OCCUR_ENTRY_19);
|
|
// 쿠폰번호(NNNN-**NN-NNNN-nn**)
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0056))
|
|
, cPayItem.OCCUR_ENTRY_01.Substring(0, 4) + "-**" + cPayItem.OCCUR_ENTRY_01.Substring(6, 2) + "-" + cPayItem.OCCUR_ENTRY_01.Substring(8, 4) + "-" + cPayItem.OCCUR_ENTRY_01.Substring(12, 2) + "**");
|
|
// 쿠폰금액
|
|
if (cPayItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.PAY) // 할인결제구분 (1:결제, 2:할인)
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0144))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// 결제기본항목출력(쿠폰)
|
|
SetPayDtlCommonPrintData(sPrtID, cPayItem, cPayItem.OCCUR_ENTRY_20, "1");
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 제휴 할인 출력
|
|
/// <summary>
|
|
/// 제휴 할인 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="alTrPayItem"></param>
|
|
/// <param name="sPayWayCD"></param>
|
|
/// <param name="sPayDtlCD"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSaleMobileComDis(string sPrtID, ArrayList alTrPayItem, string sPayWayCD, string sPayDtlCD)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
|
|
if (cPayItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.DC && m_cPosStatus.Sale.DutchPayFlg == "2") continue; // 더치페이 금액일때 출력 안함.
|
|
|
|
// 결제기본항목출력(카드)
|
|
SetPayDtlCommonPrintData(sPrtID, cPayItem, cPayItem.OCCUR_ENTRY_20, "0");
|
|
|
|
if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
|
|
{
|
|
//#20180122 T멤버십 경우 잔여포인트를 잔여한도로 표기하기 start,phj
|
|
//기존
|
|
/*
|
|
// 잔여포인트
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_03));
|
|
*/
|
|
|
|
//변경
|
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT)
|
|
{
|
|
//#14450 SKT 멤버십 정책변경 start
|
|
//잔여한도 미표시
|
|
/*
|
|
// 잔여한도
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0322))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_03));
|
|
*/
|
|
//#14450 SKT 멤버십 정책변경 end
|
|
}
|
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.WELCOMECARD)
|
|
{
|
|
//
|
|
}
|
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|
else
|
|
{
|
|
// 잔여포인트
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_03));
|
|
|
|
|
|
//KT 고객일 경우 아래와 같이 영수증 문구 추가 start,phj
|
|
if (KTDoubleMsgCheck() == true)
|
|
{
|
|
//string sMsg = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.PRINT.MSG_0324), "test1", "test2");
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0324));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0325));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0326));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0327));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0328));
|
|
}
|
|
//KT 고객일 경우 아래와 같이 영수증 문구 추가 end,phj
|
|
}
|
|
//#20180122 T멤버십 경우 잔여포인트를 잔여한도로 표기하기 end,phj
|
|
|
|
}
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 신용카드 내역 출력
|
|
/// <summary>
|
|
/// 신용카드 내역 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="alTrPayItem"></param>
|
|
/// <param name="sPayWayCD"></param>
|
|
/// <param name="sPayDtlCD"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSaleCreditCard(string sPrtID, ArrayList alTrPayItem, string sPayWayCD, string sPayDtlCD)
|
|
{
|
|
bool bRet = false;
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
// 신용카드 상세 내역 출력
|
|
bRet = SetPosSaleCreditCard(sPrtID, cPayItem);
|
|
}
|
|
// 카드 영수증 메시지 출력
|
|
if (bRet == true) SetStampGuidePrintData(sPrtID, PosConst.BILL_PRT_LOC.CARD);
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 신용카드 상세 내역 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="cPayItem"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSaleCreditCard(string sPrtID, Column.TR_PAYMENT.DATA cPayItem)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT420) == "1")
|
|
{
|
|
#region
|
|
ArrayList alPrtTagData = new ArrayList();
|
|
|
|
alPrtTagData.Add(new string[] { "<CARDNAME>", ""
|
|
, "[ " + cPayItem.OCCUR_ENTRY_20.Trim() + " ]" }); //<CARDNAME> 카드사명
|
|
alPrtTagData.Add(new string[] { "<CARDNO>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043) + " ]"
|
|
, CmUtil.MidH(cPayItem.OCCUR_ENTRY_01, 0, 6) + "******" + "****" }); //<CARDNO> 카드번호 + " ]"
|
|
alPrtTagData.Add(new string[] { "<DIVISIONMONTH>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0045)
|
|
,(cPayItem.OCCUR_ENTRY_14 == "00") ? MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0036) : cPayItem.OCCUR_ENTRY_14 + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0037) }); //<DIVISIONMONTH> 할부개월
|
|
|
|
|
|
//#20170905 미군기지 환율 표시 start
|
|
//기존
|
|
//alPrtTagData.Add(new string[] { "<PAYAMOUNT>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046) + " ]"
|
|
// , m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign) }); //<PAYAMOUNT> 결제금액
|
|
//변경
|
|
double dUsarmyEx = 0;
|
|
dUsarmyEx = CmUtil.DoubleParse(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT509), "0"));
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
double dPayAmt = 0;
|
|
dPayAmt = CmUtil.MathRounds(cPayItem.PAY_AMT / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2);
|
|
|
|
alPrtTagData.Add(new string[] { "<PAYAMOUNT>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046) + " ]"
|
|
, m_cPosStatus.Global.NumericTOCurrency(dPayAmt * nSign) }); //<PAYAMOUNT> 결제금액
|
|
}
|
|
else
|
|
{
|
|
alPrtTagData.Add(new string[] { "<PAYAMOUNT>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046) + " ]"
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign) }); //<PAYAMOUNT> 결제금액
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
|
|
|
|
alPrtTagData.Add(new string[] { "<APPROVALNO>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047) + " ]"
|
|
, GetAppTypePrint(cPayItem.OCCUR_ENTRY_08) + cPayItem.OCCUR_ENTRY_02 }); //<APPROVALNO> 승인번호
|
|
alPrtTagData.Add(new string[] { "<JOINSTORENO>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0048)+ " ]"
|
|
, cPayItem.OCCUR_ENTRY_18 }); //<JOINSTORENO> 가맹점번호
|
|
alPrtTagData.Add(new string[] { "<USEPOINT>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0049)+ " ]"
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_06 * nSign) }); //<USEPOINT> 사용포인트
|
|
alPrtTagData.Add(new string[] { "<USEABLEPOINT>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050)+ " ]"
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_05 * nSign) }); //<USEABLEPOINT> 잔여포인트
|
|
|
|
SetBillTypePaymentPrintData(sPrtID, PosConst.BILL_TYPE_DIV.CREDTCARD, alPrtTagData);
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
// 결제항목명 표시
|
|
//기존 소스
|
|
//SetPayDtlCommonPrintName(sPrtID, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0184), cPayItem.OCCUR_ENTRY_08);//원래 소스
|
|
//2017.11.14; 중국 임의 등록 결제 시 카드사명 노출 하게 수정(결제 방식 추가된 오버로딩 된 메소드 호출);girak.kim;start
|
|
if(m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCCN) && cPayItem.PAY_WAY_CD.Equals(ItemConst.TR_ITEM_ID.CREDITCARD_ITEM))
|
|
{
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0184), cPayItem);
|
|
}
|
|
else
|
|
{
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0184), cPayItem.OCCUR_ENTRY_08);//원래 소스
|
|
}
|
|
//2017.11.14; 중국 임의 등록 결제 시 카드사명 노출 하게 수정(결제 방식 추가된 오버로딩 된 메소드 호출);girak.kim;end
|
|
|
|
// 할부 결제 부분 수정(일시불,할수,포인트결제)
|
|
string sAppMonthTxt = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0036) + "]";
|
|
if (CmUtil.IntParse(cPayItem.OCCUR_ENTRY_14) > 0)
|
|
{
|
|
if (CmUtil.IntParse(cPayItem.OCCUR_ENTRY_14) >= 60)
|
|
{
|
|
sAppMonthTxt = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0137) + "]";
|
|
}
|
|
else
|
|
{
|
|
sAppMonthTxt = "[" + cPayItem.OCCUR_ENTRY_14 + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0037) + "]";
|
|
}
|
|
}
|
|
// 카드사명
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202
|
|
, GetPayDtlNameFmt(cPayItem.OCCUR_ENTRY_12.Trim() == "" ? MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0184) : cPayItem.OCCUR_ENTRY_12.Trim())
|
|
, cPayItem.OCCUR_ENTRY_20.Trim() + sAppMonthTxt);
|
|
|
|
if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.X_CHARGE)
|
|
{
|
|
// 카드번호
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043)), cPayItem.OCCUR_ENTRY_01);
|
|
// 승인번호
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047))
|
|
, GetAppTypePrint(cPayItem.OCCUR_ENTRY_08) + cPayItem.OCCUR_ENTRY_02);
|
|
}
|
|
else
|
|
{
|
|
// 카드/승인번호
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
/// 기존
|
|
///AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
/// , CmUtil.LeftH(cPayItem.OCCUR_ENTRY_01, 6) + "**", cPayItem.OCCUR_ENTRY_02.Trim());
|
|
/// 변경
|
|
|
|
|
|
//2019.04.22 카드번호/승인번호 나오게 처리
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
, ChinaCardMarking(cPayItem.OCCUR_ENTRY_01), cPayItem.OCCUR_ENTRY_02.Trim());
|
|
|
|
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 end
|
|
}
|
|
|
|
//#20170905 미군기지 환율 표시 start
|
|
//기존
|
|
// 결제금액
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046))
|
|
// , m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign));
|
|
|
|
//변경
|
|
// 결제금액
|
|
double dUsarmyEx = 0;
|
|
dUsarmyEx = CmUtil.DoubleParse(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT509), "0"));
|
|
if (dUsarmyEx > 0)
|
|
{
|
|
double dPayAmt = 0;
|
|
dPayAmt = CmUtil.MathRounds(cPayItem.PAY_AMT / dUsarmyEx, PosConst.MATH_ROUND.CEILING, 2);
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046))
|
|
, (dPayAmt * nSign).ToString());
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign));
|
|
}
|
|
//#20170905 미군기지 환율 표시 end
|
|
|
|
if (cPayItem.OCCUR_ENTRY_22.Trim() != "")
|
|
{
|
|
//신한카드 일때 포인트로 변경! - BRK제외
|
|
//if (m_cPosStatus.Mst.CorpDiv != ItemConst.CORP_DIV.BR && (cPayItem.OCCUR_ENTRY_11 == "01" || cPayItem.OCCUR_ENTRY_11 == "05"))
|
|
//{
|
|
// if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL && CmUtil.IntParse(cPayItem.OCCUR_ENTRY_14) >= 60)
|
|
// {
|
|
// //신한카드 잔여포인트 출력!
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
// , m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleParse(cPayItem.OCCUR_ENTRY_22)));
|
|
|
|
// //사용 문구 출력 => 문구 변경(2017.07.18)
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0140));
|
|
// //AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0139));
|
|
|
|
// //#20180316 신한카드 잔여포인트 문구 짤리는 증상 수정 start
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0220));
|
|
// //#20180316 신한카드 잔여포인트 문구 짤리는 증상 수정 end
|
|
// }
|
|
// else if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND && CmUtil.IntParse(cPayItem.OCCUR_ENTRY_14) >= 60)
|
|
// {
|
|
// //취소 문구 출력! => 문구 변경(2017.07.18)
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0139));
|
|
// //AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0140));
|
|
|
|
// //#20180316 신한카드 잔여포인트 문구 짤리는 증상 수정 start
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0219));
|
|
// //#20180316 신한카드 잔여포인트 문구 짤리는 증상 수정 end
|
|
// }
|
|
// else
|
|
// {
|
|
// //신한카드 잔여포인트 출력!
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
// , m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleParse(cPayItem.OCCUR_ENTRY_22)));
|
|
// }
|
|
//}
|
|
//else
|
|
//{
|
|
//선불카드 잔액 출력!
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0077))
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleParse(cPayItem.OCCUR_ENTRY_22)));
|
|
//}
|
|
}
|
|
else if (CmUtil.DoubleParse(cPayItem.OCCUR_ENTRY_14.Trim()) >= 60)
|
|
{
|
|
|
|
// Cat단말기 펨웨어 미적용시 사용 금액 안나와 임시 수정!
|
|
if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.CAT_TERMINAL)
|
|
{
|
|
|
|
if (cPayItem.AMT_ENTRY_06 > 0)
|
|
{
|
|
// grayber@20180108 우리모아포인트 추가 start - 우리모아카드 포인트관련 내용 출력 CAT 단말기 예외 처리
|
|
if (cPayItem.PAY_DTL_CD_02.Equals(ItemConst.CREDITCARD_DC_TY.WOORIMORE_POINTS) != true)
|
|
{
|
|
// 삼성포인트
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0049))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_06 * nSign));
|
|
//매입사코드 08 현대카드
|
|
if (!cPayItem.OCCUR_ENTRY_11.Equals("08"))
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_05));
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101
|
|
, string.Format(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0108), CmUtil.MidH(cPayItem.OCCUR_ENTRY_20, 0, 12), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_06)));
|
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL)
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0109));
|
|
else
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0110));
|
|
}
|
|
// grayber@20180108 우리모아포인트 추가 end
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// grayber@20180102 우리모아포인트 추가 start - 우리모아카드 포인트관련 내용 출력 예외 처리
|
|
if (cPayItem.PAY_DTL_CD_02.Equals(ItemConst.CREDITCARD_DC_TY.WOORIMORE_POINTS) != true)
|
|
{
|
|
// 삼성포인트
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0049))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_06 * nSign));
|
|
//매입사코드 08 현대카드
|
|
if (!cPayItem.OCCUR_ENTRY_11.Equals("08"))
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_05));
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101
|
|
, string.Format(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0108), CmUtil.MidH(cPayItem.OCCUR_ENTRY_20, 0, 12), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_06)));
|
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL)
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0109));
|
|
else
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0110));
|
|
|
|
}
|
|
// grayber@20180102 우리모아포인트 추가 end
|
|
|
|
}
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
|
|
if (cPayItem.OCCUR_ENTRY_17 == "0")
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0094));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
else
|
|
{
|
|
// 사인 영수증 출력 구분
|
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT405), "0") == "1")
|
|
{
|
|
// 사인 영수증 출력 수정(20170608)
|
|
//string sSignPath = string.Format("{0}{1}{2}{3}{4}{5}.BMP", BaseCom.NxDataPath, "SIGN\\", m_cPosStatus.Base.SaleDate, m_cPosStatus.Base.PosNo, m_cPosStatus.Base.TradeNo, cPayItem.OCCUR_ENTRY_02);
|
|
//if (System.IO.File.Exists(sSignPath) == true)
|
|
//{
|
|
// // 출력 추가 명령어 셋팅!
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BMP, sSignPath);
|
|
//}
|
|
string sSignPath = string.Format("{0}{1}{2}{3}.BMP", m_cPosStatus.Base.SaleDate, m_cPosStatus.Base.PosNo, m_cPosStatus.Base.TradeNo, cPayItem.OCCUR_ENTRY_02);
|
|
//if(System.IO.File.Exists(BaseCom.NxDataPath + "SIGN\\" + sSignPath) == true)
|
|
{
|
|
// 출력 추가 명령어 셋팅!
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_SGN, sSignPath);
|
|
}
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
}
|
|
#endregion
|
|
|
|
#region 교통카드 사용 내역 출력
|
|
/// <summary>
|
|
/// 교통카드 사용 내역 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="alTrPayItem"></param>
|
|
/// <param name="sPayWayCD"></param>
|
|
/// <param name="sPayDtlCD"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSaleMobileCashUse(string sPrtID, ArrayList alTrPayItem, string sPayWayCD, string sPayDtlCD)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
// 결제기본항목출력(카드)
|
|
SetPayDtlCommonPrintData(sPrtID, cPayItem, cPayItem.OCCUR_ENTRY_20, "0");
|
|
|
|
// 잔액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0070))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_04 * nSign));
|
|
if (cPayItem.OCCUR_ENTRY_12.Trim() == "1")
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103, "<<" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0134) + ">>");
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 포인트 사용 내역 출력
|
|
/// <summary>
|
|
/// 포인트 사용 내역 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="alTrPayItem"></param>
|
|
/// <param name="sPayWayCD"></param>
|
|
/// <param name="sPayDtlCD"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSalePointUse(string sPrtID, ArrayList alTrPayItem, string sPayWayCD, string sPayDtlCD)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
bool bPayExist = false;
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
//grayber@20180208 코레일 마일리지 입력 start - 영수증 포인트 사용 내역 출력 제거
|
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.KORAIL_MILEAGE) continue;
|
|
//grayber@20180208 코레일 마일리지 입력 end
|
|
|
|
if ((cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT_USE_CHINA)
|
|
&& PosMstManager.GetPosOption(POS_OPTION.OPT420) == "1")
|
|
{
|
|
ArrayList alPrtTagData = new ArrayList();
|
|
|
|
alPrtTagData.Add(new string[] { "<CARDNO>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043) + " ]"
|
|
, cPayItem.OCCUR_ENTRY_01 }); //카드번호
|
|
if (sPayDtlCD == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT_USE_CHINA)
|
|
{
|
|
alPrtTagData.Add(new string[] { "<CARDNAME>", ""
|
|
, cPayItem.OCCUR_ENTRY_12 == "Y" ? "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0107) + " ]" : "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0106) + " ]"});
|
|
}
|
|
else
|
|
{
|
|
alPrtTagData.Add(new string[] { "<CARDNAME>", "", "[ " + cPayItem.OCCUR_ENTRY_20 + " ]" });
|
|
}
|
|
alPrtTagData.Add(new string[] { "<USEPOINT>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0049) + " ]"
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign) }); //사용포인트
|
|
alPrtTagData.Add(new string[] { "<USABLEPOINT>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050) + " ]"
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_05 * nSign) }); //잔여포인트
|
|
alPrtTagData.Add(new string[] { "<APPROVALNO>","[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047) + " ]"
|
|
, GetAppTypePrint(cPayItem.OCCUR_ENTRY_08) + cPayItem.OCCUR_ENTRY_02 }); //승인번호
|
|
|
|
SetBillTypePaymentPrintData(sPrtID, PosConst.BILL_TYPE_DIV.POINT_USE, alPrtTagData);
|
|
}
|
|
else
|
|
{
|
|
//2019 - 04 - 19 - 1997fx11: 해피포인트 전액사용시 적립내용 인쇄 제외로 처리
|
|
if (sPayDtlCD == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT_USE_CHINA)
|
|
{
|
|
if (bPayExist == false)
|
|
{
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0185), "");
|
|
}
|
|
|
|
string sCustInfo = "< ";
|
|
|
|
|
|
//#20180821 해피포인트 고객이름 마스킹 start
|
|
//기존
|
|
//if (cPayItem.HP_CUST_NAME.Length > 2)
|
|
//{
|
|
// sCustInfo += cPayItem.HP_CUST_NAME.Substring(0, 1) + "*" + cPayItem.HP_CUST_NAME.Substring(2) + " ";
|
|
//}
|
|
|
|
//변경
|
|
IDataCommonUs m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
|
|
if (cPayItem.HP_CUST_NAME != "") { sCustInfo += m_cDataCommon.NameMasking(cPayItem.HP_CUST_NAME) + " "; }
|
|
//#20180821 해피포인트 고객이름 마스킹 end
|
|
|
|
sCustInfo += MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0138) + " - " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0186);
|
|
sCustInfo += cPayItem.OCCUR_ENTRY_12 == "Y" ? "[APP]" : "";
|
|
sCustInfo += " >";
|
|
// <고객명 + -사용 + APP카드여부>
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sCustInfo + GetAppTypePrint(cPayItem.OCCUR_ENTRY_08));
|
|
}
|
|
else
|
|
{
|
|
//결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_08);
|
|
}
|
|
|
|
// 카드/승인번호
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
/// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
// , CmUtil.LeftH(cPayItem.OCCUR_ENTRY_01, 6) + "**", cPayItem.OCCUR_ENTRY_02.Trim());
|
|
// 변경
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
, ChinaCardMarking(cPayItem.OCCUR_ENTRY_01), cPayItem.OCCUR_ENTRY_02.Trim());
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 end
|
|
// 사용포인트
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0049))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
|
|
if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
|
|
{
|
|
// 잔여포인트
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_03));
|
|
}
|
|
|
|
if (sPayDtlCD != ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT && sPayDtlCD != ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT_USE_CHINA)
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
bPayExist = true;
|
|
}
|
|
|
|
// 해피포인트 적립 내역 출력
|
|
// 2019-04-16 - 1997fx11 : 해피포인트 적립 내역 출력
|
|
//if (sPayDtlCD == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT || sPayDtlCD == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT_USE_CHINA)
|
|
//{
|
|
//bool bRet = SetPosSaleHappyPointSave(sPrtID, bPayExist);
|
|
//if (bPayExist == true || bRet == true) AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
//}
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 해피포인트 적립 내역 출력
|
|
/// <summary>
|
|
/// 해피포인트 적립 내역 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="bPayExist"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSaleHappyPointSave(string sPrtID, bool bPayExist)
|
|
{
|
|
try
|
|
{
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2") return false; // 더치페이 금액일때 출력 안함.
|
|
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
|
|
{
|
|
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|
if (cEtcItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
|
|
if (cEtcItem.ETC_DTL_CD_01 != ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT
|
|
&& cEtcItem.ETC_DTL_CD_01 != ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA) continue;
|
|
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT420) == "1")
|
|
{
|
|
ArrayList alPrtTagData = new ArrayList();
|
|
|
|
// 카드명
|
|
alPrtTagData.Add(new string[] { "<CARDNAME>", ""
|
|
, cEtcItem.OCCUR_ENTRY_12 == "Y" ? "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0016) + " ]" : "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0014) + " ]" });
|
|
alPrtTagData.Add(new string[] { "<CARDNO>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043) + " ]"
|
|
, CmUtil.MidH(cEtcItem.OCCUR_ENTRY_01, 0, 6) + "******" + "****" }); //카드번호
|
|
alPrtTagData.Add(new string[] { "<APPROVALNO>","[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047) + " ]"
|
|
, GetAppTypePrint(cEtcItem.OCCUR_ENTRY_08) + cEtcItem.OCCUR_ENTRY_02 }); //승인번호
|
|
alPrtTagData.Add(new string[] { "<NOWPOINT>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0051) + " ]"
|
|
, m_cPosStatus.Global.NumericTOCurrency( (cEtcItem.AMT_ENTRY_01 - cEtcItem.AMT_ENTRY_07) * nSign) }); //적립포인트
|
|
alPrtTagData.Add(new string[] { "<ADDPOINT>", "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0052) + " ]"
|
|
, m_cPosStatus.Global.NumericTOCurrency( cEtcItem.AMT_ENTRY_07) }); //추가포인트
|
|
alPrtTagData.Add(new string[] { "<USABLEPOINT>","[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050) + " ]"
|
|
, m_cPosStatus.Global.NumericTOCurrency( cEtcItem.AMT_ENTRY_05) }); //잔여포인트
|
|
|
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL)
|
|
{
|
|
// 정상
|
|
if (cEtcItem.HP_EXT_POINT > 0)
|
|
{
|
|
alPrtTagData.Add(new string[] { "<EXTPOINT>","[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0017) + " ]"
|
|
, m_cPosStatus.Global.NumericTOCurrency( cEtcItem.HP_EXT_POINT) }); //소명예정포인트
|
|
}
|
|
else
|
|
{
|
|
alPrtTagData.Add(new string[] { "<EXTPOINT>", "", "" }); // 소명예정포인트
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// 반품
|
|
alPrtTagData.Add(new string[] { "<EXTPOINT>", "", "" }); // 소명예정포인트
|
|
}
|
|
|
|
SetBillTypePaymentPrintData(sPrtID, PosConst.BILL_TYPE_DIV.POINT_USE, alPrtTagData);
|
|
}
|
|
else
|
|
{
|
|
if (bPayExist == false)
|
|
{
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0185), "");
|
|
}
|
|
|
|
string sCustInfo = "< ";
|
|
|
|
|
|
//#20180821 해피포인트 고객이름 마스킹 start
|
|
//기존
|
|
//if (cEtcItem.HP_CUST_NAME.Length > 2)
|
|
//{
|
|
// sCustInfo += cEtcItem.HP_CUST_NAME.Substring(0, 1) + "*" + cEtcItem.HP_CUST_NAME.Substring(2) + " ";
|
|
//}
|
|
//변경
|
|
IDataCommonUs m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
|
|
if (cEtcItem.HP_CUST_NAME != "") { sCustInfo += m_cDataCommon.NameMasking(cEtcItem.HP_CUST_NAME) + " "; }
|
|
//#20180821 해피포인트 고객이름 마스킹 end
|
|
|
|
sCustInfo += MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0138) + " - " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0187);
|
|
sCustInfo += cEtcItem.OCCUR_ENTRY_12 == "Y" ? "[APP]" : "";
|
|
sCustInfo += " >";
|
|
// <고객명 + -적립 + APP카드여부>
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sCustInfo + GetAppTypePrint(cEtcItem.OCCUR_ENTRY_08));
|
|
|
|
// 카드/승인번호
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
/// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
// , CmUtil.LeftH(cEtcItem.OCCUR_ENTRY_01, 6) + "**", cEtcItem.OCCUR_ENTRY_02.Trim());
|
|
// 변경
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
, ChinaCardMarking(cEtcItem.OCCUR_ENTRY_01), cEtcItem.OCCUR_ENTRY_02.Trim());
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 end
|
|
// 적립포인트
|
|
// 2019-04-16 - 1997fx11 : 해피포인트 사용/적립출력
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0051))
|
|
// , m_cPosStatus.Global.NumericTOCurrency((CmUtil.DoubleSubtraction(cEtcItem.AMT_ENTRY_01, cEtcItem.AMT_ENTRY_07)) * nSign));
|
|
// 추가포인트
|
|
if (cEtcItem.AMT_ENTRY_07 > 0)
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0052))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_07 * nSign));
|
|
}
|
|
if (cEtcItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
|
|
{
|
|
// 잔여포인트
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_05));
|
|
}
|
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL)
|
|
{
|
|
//#12500 해피포인트 실효정책 변경에 따른 프로그램 수정 start, phj
|
|
//기존
|
|
/*
|
|
// 소멸예정포인트 안내 메지시(2017.05.31)
|
|
if (cEtcItem.HP_EXT_POINT > 0 && CmUtil.LongParse(DateTime.Now.ToString("MM")) == 6)
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101
|
|
, " " + string.Format(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0190), DateTime.Now.ToString("yyyy")));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101
|
|
, " " + string.Format(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0191), m_cPosStatus.Global.NumericTOCurrency(cEtcItem.HP_EXT_POINT)));
|
|
}
|
|
*/
|
|
|
|
//변경
|
|
if (cEtcItem.HP_EXT_POINT > 0)
|
|
{
|
|
//#20180821 해피포인트 고객이름 마스킹 start
|
|
if (cEtcItem.HP_CUST_NAME != "") { cEtcItem.HP_CUST_NAME = m_cDataCommon.NameMasking(cEtcItem.HP_CUST_NAME); }
|
|
//#20180821 해피포인트 고객이름 마스킹 end
|
|
|
|
string sHPPName = cEtcItem.HP_CUST_NAME;
|
|
sHPPName = sHPPName.Substring(0, 1) + ("XX");
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101
|
|
, " " + string.Format(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0213), sHPPName));
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101
|
|
, " " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0214));
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101
|
|
, " " + string.Format(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0215), m_cPosStatus.Global.NumericTOCurrency(cEtcItem.HP_EXT_POINT)));
|
|
}
|
|
//#12500 해피포인트 실효정책 변경에 따른 프로그램 수정 end, phj
|
|
|
|
|
|
//// 소멸예정 포인트
|
|
//if (cEtcItem.HP_EXT_POINT > 0)
|
|
//{
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0017))
|
|
// , m_cPosStatus.Global.NumericTOCurrency(cEtcItem.HP_EXT_POINT));
|
|
//}
|
|
}
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
bPayExist = true;
|
|
}
|
|
|
|
return bPayExist;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region OKCASHBACK 적립 내역 출력
|
|
/// <summary>
|
|
/// OKCASHBACK 적립 내역 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSaleOkCashbackSave(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2") return false; // 더치페이 금액일때 출력 안함.
|
|
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
|
|
{
|
|
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|
if (cEtcItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cEtcItem.ETC_WAY_CD != ItemConst.TR_ITEM_ID.ETC_INFO_ITEM || cEtcItem.ETC_DTL_CD_01 != ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE) continue;
|
|
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, cEtcItem.OCCUR_ENTRY_20, cEtcItem.OCCUR_ENTRY_08);
|
|
// 카드/승인번호
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
/// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
// , CmUtil.LeftH(cEtcItem.OCCUR_ENTRY_01, 6) + "**", cEtcItem.OCCUR_ENTRY_02.Trim());
|
|
// 변경
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
, ChinaCardMarking(cEtcItem.OCCUR_ENTRY_01), cEtcItem.OCCUR_ENTRY_02.Trim());
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 end
|
|
// 적립포인트,
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0051))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_01 * nSign));
|
|
if (cEtcItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
|
|
{
|
|
// 잔여포인트
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_03));
|
|
}
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 현금영수증 출력
|
|
/// <summary>
|
|
/// 현금영수증 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSaleCashBill(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
|
|
{
|
|
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|
if (cEtcItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cEtcItem.ETC_WAY_CD != ItemConst.TR_ITEM_ID.ETC_INFO_ITEM || cEtcItem.ETC_DTL_CD_01 != ItemConst.TR_ITEM_ID.ETC_INFO.CASHBILL) continue;
|
|
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0038) + " (" + (cEtcItem.OCCUR_ENTRY_11 == "0" ? MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0041) : MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0042)) + ")", "");
|
|
|
|
// 신분번호
|
|
// Mod, 2017.08.31, 신분확인번호 마스킹 변경
|
|
// 전화번호/사업자번호 뒷 4자리만 마스킹 처리 / 카드번호 앞6자리 외 마스킹
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0104))
|
|
// , CmUtil.LeftH(cEtcItem.OCCUR_ENTRY_01, 6) + "**");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0104))
|
|
, cEtcItem.OCCUR_ENTRY_01);
|
|
|
|
// 승인금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0105))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cEtcItem.ETC_AMT * nSign));
|
|
// 승인번호
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047))
|
|
, GetAppTypePrint(cEtcItem.OCCUR_ENTRY_08) + cEtcItem.OCCUR_ENTRY_02);
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0040));
|
|
|
|
//#20180426 현금영수증 마스킹 변경 및 영수증 문구 변경 start
|
|
|
|
if (MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0221) != "")
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0221));
|
|
}
|
|
if (MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0222) != "")
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0222));
|
|
}
|
|
|
|
//#20180426 현금영수증 마스킹 변경 및 영수증 문구 변경 end
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 예약 그룹 내역 출력
|
|
/// <summary>
|
|
/// 예약 그룹 내역 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="alTrPayItem"></param>
|
|
/// <param name="sPayWayCD"></param>
|
|
/// <param name="sPayDtlCD"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSalePaymentReservation(string sPrtID, ArrayList alTrPayItem, string sPayWayCD, string sPayDtlCD)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
bool bExistPrint = false;
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
|
|
if (sPayDtlCD == ItemConst.TR_ITEM_ID.RESERVATION.BALANCE_PAY)
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0055), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
else
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0054), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
bExistPrint = true;
|
|
}
|
|
if (bExistPrint == true) AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 해피포인트 추후적립 내역 출력
|
|
/// <summary>
|
|
/// 해피포인트 추후적립 내역 출력
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private bool SetHappyPointAfterSave()
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.ETC, true, true, false, true); // 영수증 상단영역 출력
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F103, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0058));
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_JNL, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0059)
|
|
+ " : " + m_cTrnStatus.Head.OrgSaleDate + "-" + m_cTrnStatus.Head.OrgPosNo + "-" + m_cTrnStatus.Head.OrgTradeNo);
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetPosSaleHappyPointSave(PosConst.PRT_ITEM.ETC, false); // 해피포인트 적립 내역 출력
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false, false); // 영수증 하단영역 출력
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.ETC); // 영수증 출력 완료
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 현금영수증 추후발행 내역 출력
|
|
/// <summary>
|
|
/// 현금영수증 추후발행 내역 출력
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private bool SetCashbillAfterSave()
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.ETC, true, true, false, true); // 영수증 상단영역 출력
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F103, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0141));
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_JNL, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0059)
|
|
+ " : " + m_cTrnStatus.Head.OrgSaleDate + "-" + m_cTrnStatus.Head.OrgPosNo + "-" + m_cTrnStatus.Head.OrgTradeNo);
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetPosSaleCashBill(PosConst.PRT_ITEM.ETC); // 현금영수증 내역 출력
|
|
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false, false); // 영수증 하단영역 출력
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.ETC); // 영수증 출력 완료
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 원거래에 해피포인트 추후적립 내역 출력정보 ADD
|
|
/// <summary>
|
|
/// 원거래에 해피포인트 추후적립 내역 출력정보 ADD
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public string AddHappyPointAfterSave(string sSaleDate, string sPosNo, string sTradeNo)
|
|
{
|
|
string sJnlData = "";
|
|
try
|
|
{
|
|
//#20171227 거래데이터 저장 오류 관련 로그추가 start
|
|
UserLog.WriteLogFile(UserCom.LOG_DEBUG,
|
|
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 (함수명))
|
|
"AddHappyPointAfterSave STEP 1");
|
|
//#20171227 거래데이터 저장 오류 관련 로그추가 end
|
|
|
|
PrintBufClear(); // 영수증 출력버퍼 초기화
|
|
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
//#20171227 거래데이터 저장 오류 관련 로그추가 start
|
|
UserLog.WriteLogFile(UserCom.LOG_DEBUG,
|
|
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 (함수명))
|
|
"AddHappyPointAfterSave STEP 2");
|
|
//#20171227 거래데이터 저장 오류 관련 로그추가 end
|
|
|
|
// 추후 거래 내역
|
|
string sQuery = "";
|
|
sQuery += " SELECT '#~' + '06' + '|' + '000000' + '|' + CONVERT(VARCHAR, ISNULL(SEQ, 0)) + '|' + ISNULL(ETC_WAY_CD, '') + '|' + CONVERT(VARCHAR, ISNULL(ETC_AMT, 0)) + '|' + ";
|
|
sQuery += " ISNULL(ETC_DTL_CD_01, '') + '|' + ISNULL(ETC_DTL_CD_02, '') + '|' + ISNULL(ETC_DTL_CD_03, '') + '|' + ISNULL(ETC_DTL_CD_04, '') + '|' + ISNULL(ETC_DTL_CD_05, '') + '|' + ";
|
|
sQuery += " CONVERT(VARCHAR, ISNULL(QTY_ENTRY_01, 0)) + '|' + CONVERT(VARCHAR, ISNULL(QTY_ENTRY_02, 0)) + '|' + CONVERT(VARCHAR, ISNULL(QTY_ENTRY_03, 0)) + '|' + CONVERT(VARCHAR, ISNULL(QTY_ENTRY_04, 0)) + '|' + CONVERT(VARCHAR, ISNULL(QTY_ENTRY_05, 0)) + '|' + ";
|
|
sQuery += " CONVERT(VARCHAR, ISNULL(AMT_ENTRY_01, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_02, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_03, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_04, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_05, 0)) + '|' + ";
|
|
sQuery += " CONVERT(VARCHAR, ISNULL(AMT_ENTRY_06, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_07, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_08, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_09, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_10, 0)) + '|' + ";
|
|
sQuery += " ISNULL(OCCUR_ENTRY_01, '') + '|' + ISNULL(OCCUR_ENTRY_02, '') + '|' + ISNULL(OCCUR_ENTRY_03, '') + '|' + ISNULL(OCCUR_ENTRY_04, '') + '|' + ISNULL(OCCUR_ENTRY_05, '') + '|' + ";
|
|
sQuery += " ISNULL(OCCUR_ENTRY_06, '') + '|' + ISNULL(OCCUR_ENTRY_07, '') + '|' + ISNULL(OCCUR_ENTRY_08, '') + '|' + ISNULL(OCCUR_ENTRY_09, '') + '|' + ISNULL(OCCUR_ENTRY_10, '') + '|' + ";
|
|
sQuery += " ISNULL(OCCUR_ENTRY_11, '') + '|' + ISNULL(OCCUR_ENTRY_12, '') + '|' + ISNULL(OCCUR_ENTRY_13, '') + '|' + ISNULL(OCCUR_ENTRY_14, '') + '|' + ISNULL(OCCUR_ENTRY_15, '') + '|' + ";
|
|
sQuery += " ISNULL(OCCUR_ENTRY_16, '') + '|' + ISNULL(OCCUR_ENTRY_17, '') + '|' + ISNULL(OCCUR_ENTRY_18, '') + '|' + ISNULL(OCCUR_ENTRY_19, '') + '|' + ISNULL(OCCUR_ENTRY_20, '') + '|' + ";
|
|
sQuery += " ISNULL(OCCUR_ENTRY_21, '') + '|' + ISNULL(OCCUR_ENTRY_22, '') + '|' + ISNULL(OCCUR_ENTRY_23, '') + '|' + ISNULL(OCCUR_ENTRY_24, '') + '|' + ISNULL(OCCUR_ENTRY_25, '') + '|' + ";
|
|
sQuery += " CONVERT(VARCHAR, ISNULL(BILLSPR_NO, 0)) + '|' + ISNULL(CANCEL_DIV, '') AS TR_ETC";
|
|
sQuery += " FROM ( SELECT B.* FROM POSLOG..ETC_SALE_HEADER A ";
|
|
sQuery += " JOIN POSLOG..ETC_SALE_ETC B ON A.CMP_CD=B.CMP_CD AND A.SALE_DT=B.SALE_DT AND A.STOR_CD=B.STOR_CD AND A.POS_NO=B.POS_NO AND A.REG_NO=B.REG_NO ";
|
|
sQuery += " WHERE A.CMP_CD = '" + m_cPosStatus.Base.CmpCd + "' ";
|
|
sQuery += " AND A.STOR_CD = '" + m_cPosStatus.Base.StoreNo + "' ";
|
|
sQuery += " AND A.TRADE_KINDPER IN('" + ItemConst.TRAN_KIND.AFTER.HP_SAVE + "','" + ItemConst.TRAN_KIND.AFTER.CASH_RECEIPT + "') ";
|
|
sQuery += " AND A.ORG_BILLDT = '" + sSaleDate + "' ";
|
|
sQuery += " AND A.ORG_BILL_POSNO = '" + sPosNo + "' ";
|
|
sQuery += " AND A.ORG_BILL_NO = '" + sTradeNo + "' ";
|
|
sQuery += " AND B.CANCEL_DIV = '" + ItemConst.PAY_CANCEL_DIV.NORMAL + "' ) ETC_SALE_ETC ";
|
|
/*
|
|
UserLog.WriteLogFile(UserCom.LOG_DEBUG,
|
|
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 (함수명))
|
|
"AddHappyPointAfterSave sQuery : " + sQuery);
|
|
*/
|
|
DataTable dtEtcEtc = m_cMstService.Select(new string[] { sQuery });
|
|
/*
|
|
UserLog.WriteLogFile(UserCom.LOG_DEBUG,
|
|
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 (함수명))
|
|
"AddHappyPointAfterSave dtEtcEtc.Rows.Count : " + dtEtcEtc.Rows.Count.ToString());
|
|
*/
|
|
if (dtEtcEtc == null || dtEtcEtc.Rows.Count == 0) return "";
|
|
/*
|
|
UserLog.WriteLogFile(UserCom.LOG_DEBUG,
|
|
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 (함수명))
|
|
"AddHappyPointAfterSave AddPrintData Start");
|
|
*/
|
|
foreach (DataRow dr in dtEtcEtc.Rows)
|
|
{
|
|
string[] aTrData = dr[0].ToString().Split('|');
|
|
|
|
|
|
string sAppTypePrt = GetAppTypePrint(aTrData[32]);
|
|
|
|
if (aTrData[3] == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && (aTrData[5] == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT || aTrData[5] == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA))
|
|
{
|
|
// 해피포인트 추후 적립
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F103, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0058));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(PosConst.PRT_ITEM.REC, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0185), "");
|
|
|
|
string sCustInfo = "< ";
|
|
sCustInfo += "***" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0138) + " - " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0187);
|
|
sCustInfo += aTrData[36] == "Y" ? "[APP]" : "";
|
|
sCustInfo += " >";
|
|
// <고객명 + -적립 + APP카드여부>
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sCustInfo);
|
|
|
|
// 카드/승인번호
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
/// 기존
|
|
//AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
// , CmUtil.LeftH(aTrData[25], 6) + "**", aTrData[26]);
|
|
// 변경
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
, ChinaCardMarking(aTrData[25]), aTrData[26]);
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 end
|
|
// 적립포인트
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0051))
|
|
, m_cPosStatus.Global.NumericTOCurrency((CmUtil.DoubleSubtraction(CmUtil.DoubleParse(aTrData[15]), CmUtil.DoubleParse(aTrData[21]))) * nSign));
|
|
// 추가포인트
|
|
if (CmUtil.DoubleParse(aTrData[21]) > 0)
|
|
{
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0052))
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleParse(aTrData[21]) * nSign));
|
|
}
|
|
// 잔여포인트
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleParse(aTrData[17])));
|
|
}
|
|
else if (aTrData[3] == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && aTrData[5] == ItemConst.TR_ITEM_ID.ETC_INFO.CASHBILL)
|
|
{
|
|
// 현금영수증 추후 발행
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F103, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0141));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(PosConst.PRT_ITEM.REC, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0038) + " (" + (aTrData[35] == "0" ? MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0041) : MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0042)) + ")", "");
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0104))
|
|
, CmUtil.LeftH(aTrData[25], 6) + "**");
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0105))
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleParse(aTrData[4]) * nSign));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047))
|
|
, sAppTypePrt + aTrData[26]);
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0040));
|
|
}
|
|
}
|
|
|
|
//#20171227 거래데이터 저장 오류 관련 로그추가 start
|
|
UserLog.WriteLogFile(UserCom.LOG_DEBUG,
|
|
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 (함수명))
|
|
"AddHappyPointAfterSave STEP 3");
|
|
//#20171227 거래데이터 저장 오류 관련 로그추가 end
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.REC); // 영수증 출력 완료
|
|
|
|
for (int i = 0; i < m_aRecPrintBuf.Count; i++)
|
|
{
|
|
if (m_aRecPrintBuf[i].ToString().Length > 0)
|
|
{
|
|
if (m_aRecPrintBuf[i].ToString().StartsWith(PosConst.PRT_ITEM.REC) == true) sJnlData += CmUtil.RPadH(m_aRecPrintBuf[i].ToString().Substring(1), 47);
|
|
}
|
|
}
|
|
|
|
//#20171227 거래데이터 저장 오류 관련 로그추가 start
|
|
UserLog.WriteLogFile(UserCom.LOG_DEBUG,
|
|
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 (함수명))
|
|
"AddHappyPointAfterSave STEP 4");
|
|
//#20171227 거래데이터 저장 오류 관련 로그추가 end
|
|
|
|
return sJnlData;
|
|
}
|
|
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 sJnlData;
|
|
|
|
}
|
|
#endregion
|
|
|
|
//#해피앱 추후적립 start, sskim
|
|
#region 원거래에 해피포인트 해피앱 추후적립 내역 출력정보 ADD
|
|
/// <summary>
|
|
/// 원거래에 해피포인트 해피앱 추후적립 내역 출력정보 ADD
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public string AddHappyPointHpAppAfterSave(string sSaleDate, string sPosNo, string sTradeNo)
|
|
{
|
|
string sJnlData = "";
|
|
try
|
|
{
|
|
PrintBufClear(); // 영수증 출력버퍼 초기화
|
|
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
// 해피앱 추후 거래 내역
|
|
string sQuery = "";
|
|
sQuery += " SELECT '#~' + '06' + '|' + '000000' + '|' + CONVERT(VARCHAR, ISNULL(SEQ, 0)) + '|' + ISNULL(ETC_WAY_CD, '') + '|' + CONVERT(VARCHAR, ISNULL(ETC_AMT, 0)) + '|' + ";
|
|
sQuery += " ISNULL(ETC_DTL_CD_01, '') + '|' + ISNULL(ETC_DTL_CD_02, '') + '|' + ISNULL(ETC_DTL_CD_03, '') + '|' + ISNULL(ETC_DTL_CD_04, '') + '|' + ISNULL(ETC_DTL_CD_05, '') + '|' + ";
|
|
sQuery += " CONVERT(VARCHAR, ISNULL(QTY_ENTRY_01, 0)) + '|' + CONVERT(VARCHAR, ISNULL(QTY_ENTRY_02, 0)) + '|' + CONVERT(VARCHAR, ISNULL(QTY_ENTRY_03, 0)) + '|' + CONVERT(VARCHAR, ISNULL(QTY_ENTRY_04, 0)) + '|' + CONVERT(VARCHAR, ISNULL(QTY_ENTRY_05, 0)) + '|' + ";
|
|
sQuery += " CONVERT(VARCHAR, ISNULL(AMT_ENTRY_01, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_02, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_03, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_04, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_05, 0)) + '|' + ";
|
|
sQuery += " CONVERT(VARCHAR, ISNULL(AMT_ENTRY_06, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_07, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_08, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_09, 0)) + '|' + CONVERT(VARCHAR, ISNULL(AMT_ENTRY_10, 0)) + '|' + ";
|
|
sQuery += " ISNULL(OCCUR_ENTRY_01, '') + '|' + ISNULL(OCCUR_ENTRY_02, '') + '|' + ISNULL(OCCUR_ENTRY_03, '') + '|' + ISNULL(OCCUR_ENTRY_04, '') + '|' + ISNULL(OCCUR_ENTRY_05, '') + '|' + ";
|
|
sQuery += " ISNULL(OCCUR_ENTRY_06, '') + '|' + ISNULL(OCCUR_ENTRY_07, '') + '|' + ISNULL(OCCUR_ENTRY_08, '') + '|' + ISNULL(OCCUR_ENTRY_09, '') + '|' + ISNULL(OCCUR_ENTRY_10, '') + '|' + ";
|
|
sQuery += " ISNULL(OCCUR_ENTRY_11, '') + '|' + ISNULL(OCCUR_ENTRY_12, '') + '|' + ISNULL(OCCUR_ENTRY_13, '') + '|' + ISNULL(OCCUR_ENTRY_14, '') + '|' + ISNULL(OCCUR_ENTRY_15, '') + '|' + ";
|
|
sQuery += " ISNULL(OCCUR_ENTRY_16, '') + '|' + ISNULL(OCCUR_ENTRY_17, '') + '|' + ISNULL(OCCUR_ENTRY_18, '') + '|' + ISNULL(OCCUR_ENTRY_19, '') + '|' + ISNULL(OCCUR_ENTRY_20, '') + '|' + ";
|
|
sQuery += " ISNULL(OCCUR_ENTRY_21, '') + '|' + ISNULL(OCCUR_ENTRY_22, '') + '|' + ISNULL(OCCUR_ENTRY_23, '') + '|' + ISNULL(OCCUR_ENTRY_24, '') + '|' + ISNULL(OCCUR_ENTRY_25, '') + '|' + ";
|
|
sQuery += " CONVERT(VARCHAR, ISNULL(BILLSPR_NO, 0)) + '|' + ISNULL(CANCEL_DIV, '') AS TR_ETC";
|
|
sQuery += " FROM POSLOG..TR_SALE_ETC ";
|
|
sQuery += " WHERE CMP_CD = '" + m_cPosStatus.Base.CmpCd + "' ";
|
|
sQuery += " AND SALE_DT = '" + sSaleDate + "' ";
|
|
sQuery += " AND STOR_CD = '" + m_cPosStatus.Base.StoreNo + "' ";
|
|
sQuery += " AND POS_NO = '" + sPosNo + "' ";
|
|
sQuery += " AND TRADE_NO = '" + sTradeNo + "' ";
|
|
sQuery += " AND ETC_WAY_CD = '" + ItemConst.TR_ITEM_ID.ETC_INFO_ITEM + "' ";
|
|
sQuery += " AND ETC_DTL_CD_01 IN ('" + ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT + "', '" + ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA + "') ";
|
|
sQuery += " AND OCCUR_ENTRY_22 = '1' ";
|
|
sQuery += " AND CANCEL_DIV = '" + ItemConst.PAY_CANCEL_DIV.NORMAL + "' ";
|
|
|
|
DataTable dtEtcEtc = m_cMstService.Select(new string[] { sQuery });
|
|
if (dtEtcEtc == null || dtEtcEtc.Rows.Count == 0) return "";
|
|
|
|
foreach (DataRow dr in dtEtcEtc.Rows)
|
|
{
|
|
string[] aTrData = dr[0].ToString().Split('|');
|
|
|
|
|
|
string sAppTypePrt = GetAppTypePrint(aTrData[32]);
|
|
|
|
if (aTrData[3] == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && (aTrData[5] == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT || aTrData[5] == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA))
|
|
{
|
|
// 해피포인트 추후 적립
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F103, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0058));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(PosConst.PRT_ITEM.REC, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0185), "");
|
|
|
|
string sCustInfo = "< ";
|
|
sCustInfo += "***" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0138) + " - " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0187);
|
|
sCustInfo += aTrData[36] == "Y" ? "[APP]" : "";
|
|
sCustInfo += " >";
|
|
// <고객명 + -적립 + APP카드여부>
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sCustInfo);
|
|
|
|
// 카드/승인번호
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
/// 기존
|
|
//AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
// , CmUtil.LeftH(aTrData[25], 6) + "**", aTrData[26]);
|
|
// 변경
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
, ChinaCardMarking(aTrData[25]), aTrData[26]);
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 end
|
|
// 적립포인트
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0051))
|
|
, m_cPosStatus.Global.NumericTOCurrency((CmUtil.DoubleSubtraction(CmUtil.DoubleParse(aTrData[15]), CmUtil.DoubleParse(aTrData[21]))) * nSign));
|
|
// 추가포인트
|
|
if (CmUtil.DoubleParse(aTrData[21]) > 0)
|
|
{
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0052))
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleParse(aTrData[21]) * nSign));
|
|
}
|
|
// 잔여포인트
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0050))
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleParse(aTrData[17])));
|
|
}
|
|
else if (aTrData[3] == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && aTrData[5] == ItemConst.TR_ITEM_ID.ETC_INFO.CASHBILL)
|
|
{
|
|
// 현금영수증 추후 발행
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F103, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0141));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
// 결제항목명
|
|
SetPayDtlCommonPrintName(PosConst.PRT_ITEM.REC, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0038) + " (" + (aTrData[35] == "0" ? MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0041) : MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0042)) + ")", "");
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0104))
|
|
, CmUtil.LeftH(aTrData[25], 6) + "**");
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0105))
|
|
, m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleParse(aTrData[4]) * nSign));
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047))
|
|
, sAppTypePrt + aTrData[26]);
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0040));
|
|
}
|
|
}
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.REC); // 영수증 출력 완료
|
|
|
|
for (int i = 0; i < m_aRecPrintBuf.Count; i++)
|
|
{
|
|
if (m_aRecPrintBuf[i].ToString().Length > 0)
|
|
{
|
|
if (m_aRecPrintBuf[i].ToString().StartsWith(PosConst.PRT_ITEM.REC) == true) sJnlData += CmUtil.RPadH(m_aRecPrintBuf[i].ToString().Substring(1), 47);
|
|
}
|
|
}
|
|
return sJnlData;
|
|
}
|
|
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 sJnlData;
|
|
|
|
}
|
|
#endregion
|
|
//#해피앱 추후적립 end, sskim
|
|
|
|
#region 보류영수증 저장
|
|
/// <summary>
|
|
/// 간략 영수증 출력
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private bool SetSimplicityReceipt(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
SetTopPosPrintData(sPrtID, true, false, false, true, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0078)); // 영수증 상단영역 출력
|
|
SetPosSalePluItem(sPrtID); // 영수증 상품영역 출력
|
|
|
|
//#20180529 소계 할인 후 보류 처리시 보류영수증에 할인 내역 출력 되도록 수정 start
|
|
SetPosSaleTotal(sPrtID);
|
|
//#20180529 소계 할인 후 보류 처리시 보류영수증에 할인 내역 출력 되도록 수정 end
|
|
|
|
// 보류영수증에 합계금액 표기(PB한양대 요청, 2017.07.10)
|
|
// 합계금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F302,
|
|
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0231),m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotQty)
|
|
, m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.NetSaleAmt));
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetBtmPosPrintData(sPrtID, true, false, false, false, false); // 영수증 하단영역 출력
|
|
SetEndPosPrintData(sPrtID); // 영수증 출력 완료
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 판매LOSS
|
|
/// <summary>
|
|
/// 판매 LOSS
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private bool SetSaleLoss(string sPrtID)
|
|
{
|
|
return SetSaleLoss(sPrtID, false);
|
|
}
|
|
private bool SetSaleLoss(string sPrtID, bool bDisplay)
|
|
{
|
|
try
|
|
{
|
|
double dTotAmt = 0;
|
|
|
|
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 상품 아이템
|
|
IDataCommonUs m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
|
|
|
|
// 미매출 사유별 리스트 출력
|
|
DataTable dtFuncKey = m_cDataCommon.SeletCommonCode(PosConst.COMMON_CODE_GROUP.S0001, "");
|
|
if (dtFuncKey != null && dtFuncKey.Rows.Count > 0)
|
|
{
|
|
foreach (DataRow dr in dtFuncKey.Rows)
|
|
{
|
|
string sRsnCode = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CMM_CD);
|
|
string sTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0135) + "[" + CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CD_NM) + "]";
|
|
|
|
long nQty = 0;
|
|
double nAmt = 0;
|
|
foreach (Column.TR_PLU.DATA cPluItem in alTrPluItem)
|
|
{
|
|
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
|
|
|
|
if (cPluItem.NONSALES_RSN_CD == sRsnCode)
|
|
{
|
|
nQty += cPluItem.SALE_QTY;
|
|
nAmt = CmUtil.DoubleAdd(nAmt, cPluItem.SALE_PRC * cPluItem.SALE_QTY);
|
|
}
|
|
}
|
|
if (nAmt > 0)
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F301, sTitle, nQty.ToString(), m_cPosStatus.Global.NumericTOCurrency(nAmt));
|
|
dTotAmt = CmUtil.DoubleAdd(dTotAmt, nAmt);
|
|
}
|
|
}
|
|
}
|
|
|
|
// 비매출 합계 출력
|
|
if (dTotAmt > 0)
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, bDisplay == true ? PosConst.PRT_HDR.PRT_NOR : PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0010), m_cPosStatus.Global.NumericTOCurrency(dTotAmt));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 상품권/식권/잔액교환권 - 잔액교환권 발행 출력
|
|
/// <summary>
|
|
/// 상품권/식권/잔액교환권 - 잔액교환권 발행 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="alTrPayItem"></param>
|
|
/// <param name="sPayWayCD"></param>
|
|
/// <param name="sPayDtlCD"></param>
|
|
/// <returns></returns>
|
|
private bool SetPosSaleExChangeTicketBill(string sPrtID, ArrayList alTrPayItem, string sPayWayCD, string sPayDtlCD, int iPrintCnt)
|
|
{
|
|
string sPrintMsg = "";
|
|
string sPrintMsg2 = "";
|
|
double nQty = 0;
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.GIFT_ITEM)
|
|
{
|
|
// 인증 상품권인 경우만 출력
|
|
if (cPayItem.OCCUR_ENTRY_14 != "1") continue;
|
|
|
|
// 상품권
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0268) + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0790)
|
|
+ " (" + cPayItem.OCCUR_ENTRY_18 + ")", "");
|
|
|
|
// [상품권번호]
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
/// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0269))
|
|
// , CmUtil.LeftH(cPayItem.OCCUR_ENTRY_01, 6) + "**");
|
|
// 변경
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0269))
|
|
, ChinaCardMarking(cPayItem.OCCUR_ENTRY_01));
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 end
|
|
// [상품권명칭]
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0270)), cPayItem.OCCUR_ENTRY_18);
|
|
// [승인번호]
|
|
if (cPayItem.OCCUR_ENTRY_02.Trim() != "")
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0053))
|
|
, GetAppTypePrint(cPayItem.OCCUR_ENTRY_08) + cPayItem.OCCUR_ENTRY_02);
|
|
}
|
|
// [상품권금액]
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0271))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
nQty++;
|
|
}
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
|
|
{
|
|
// 식권 내역 (식권명칭)
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0258) + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0790)
|
|
+ " (" + cPayItem.OCCUR_ENTRY_19 + ")", "");
|
|
|
|
// [식권번호]
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0259)), cPayItem.OCCUR_ENTRY_01);
|
|
// [식권명칭]
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0260)), cPayItem.OCCUR_ENTRY_19);
|
|
// [식권수량/금액]
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F302
|
|
, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0262) + "/" + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0019))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.QTY_ENTRY_01), m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
//// [식권수량]
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0262))
|
|
// , m_cPosStatus.Global.NumericTOCurrency(cPayItem.QTY_ENTRY_01));
|
|
//// [식권금액]
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0261))
|
|
// , m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
nQty = CmUtil.DoubleAdd(cPayItem.QTY_ENTRY_01, nQty);
|
|
}
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER)
|
|
{
|
|
// <<잔액교환권 내역>>
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0265) + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0790), "");
|
|
|
|
// [잔액교환권번호]
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0791))
|
|
, CmUtil.MidH(cPayItem.OCCUR_ENTRY_01, 0, 6) + "**");
|
|
// [잔액교환권금액]
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0792))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
nQty++;
|
|
}
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.PAYETC_ITEM)
|
|
{
|
|
// 기타결제 (종류명칭)
|
|
SetPayDtlCommonPrintName(sPrtID, cPayItem.OCCUR_ENTRY_20 + " (" + cPayItem.OCCUR_ENTRY_10 + ")", "");
|
|
|
|
// 결제금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.PAY_AMT * nSign));
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
|
|
if (sPayWayCD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && sPayDtlCD == ItemConst.TR_ITEM_ID.PAYETC.PAYETC_ITEM) return true;
|
|
|
|
// 잔액교환권 발행권 출력 - 고객용
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPayItem.PAY_WAY_CD != sPayWayCD || cPayItem.PAY_DTL_CD_01 != sPayDtlCD) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
// 잔액 교환권
|
|
if (((cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.GIFT_ITEM)
|
|
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
|
|
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER))
|
|
&& (cPayItem.OCCUR_ENTRY_12.Length > 0))
|
|
{
|
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.GIFT_ITEM)
|
|
sPrintMsg = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0786);
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
|
|
sPrintMsg = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0785);
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER)
|
|
sPrintMsg = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0265);
|
|
sPrintMsg = CmUtil.MidH(sPrintMsg, 0, 42).Trim();
|
|
// <<TITLE>>
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, "<<" + sPrintMsg + ">>");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.GIFT_ITEM)
|
|
sPrintMsg = cPayItem.OCCUR_ENTRY_18;
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
|
|
sPrintMsg = cPayItem.OCCUR_ENTRY_19;
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER)
|
|
sPrintMsg = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0265);
|
|
sPrintMsg = CmUtil.MidH(sPrintMsg, 0, 42).Trim();
|
|
// 잔액교환권
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sPrintMsg);
|
|
|
|
// 사용매수:
|
|
sPrintMsg = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0772);
|
|
sPrintMsg = CmUtil.MidH(sPrintMsg, 0, 12).Trim();
|
|
|
|
// 결재금액:
|
|
sPrintMsg2 = string.Format("{0}:", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0049));
|
|
sPrintMsg2 = CmUtil.MidH(sPrintMsg2, 0, 12).Trim();
|
|
|
|
// 사용매수: 1 결재금액: 2,000
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F404, sPrintMsg, m_cPosStatus.Global.NumericTOCurrency(nQty), sPrintMsg2, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
|
|
// ▶▶ 결제후 잔액 금액:
|
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.GIFT_ITEM)
|
|
sPrintMsg = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0784);
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
|
|
sPrintMsg = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0783);
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER)
|
|
sPrintMsg = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0782);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F201, sPrintMsg, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_03 * nSign));
|
|
|
|
// [잔액교환권 발행 서명]____________________
|
|
sPrintMsg = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0457);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sPrintMsg);
|
|
|
|
// 본 잔액교환권은 발행점에서만 사용 가능합니다.
|
|
sPrintMsg = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0456);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sPrintMsg);
|
|
|
|
// 정상인 경우만 잔액 교환권 번호 출력
|
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL)
|
|
{
|
|
if (iPrintCnt == 1)
|
|
{
|
|
sPrintMsg = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0265);
|
|
sPrintMsg = CmUtil.MidH(sPrintMsg, 0, 42).Trim();
|
|
// 잔액교환권
|
|
AddPrintData(PosConst.PRT_ITEM.REC_TEMP, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, sPrintMsg);
|
|
AddPrintData(PosConst.PRT_ITEM.REC_TEMP, PosConst.PRT_HDR.PRT_BAR, cPayItem.OCCUR_ENTRY_12.Trim());
|
|
|
|
//// 고객용
|
|
//sPrintMsg = CmUtil.MidH(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0136), 0, 42).Trim();
|
|
}
|
|
}
|
|
//cPayItem.DutchPayPrtDiv = "1";
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 더치페이 서브 합계 생성
|
|
/// <summary>
|
|
/// 더치페이 서브 합계 생성
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
private void SetAmtDutchPaySubTotal(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
double dNowPay = 0;
|
|
|
|
ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); // 결제아이템
|
|
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
|
|
if (cPayItem.DutchPayPrtDiv != "1" && cPayItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.PAY)
|
|
{
|
|
//현재 결제내역
|
|
dNowPay += cPayItem.PAY_AMT;
|
|
}
|
|
}
|
|
|
|
// 매출 금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0095), m_cPosStatus.Global.NumericTOCurrency(dNowPay * nSign));
|
|
// 매출외금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0096), m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleSubtraction(m_cTrnStatus.Sale.NetSaleAmt, dNowPay) * nSign));
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
#endregion 더치페이 서브 합계 생성
|
|
|
|
#region 선불카드 판매 내역 생성
|
|
/// <summary>
|
|
/// 선불카드 판매 내역 생성
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
private void SetPPCardInfo(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND)
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0122), "");
|
|
else
|
|
SetPayDtlCommonPrintName(sPrtID, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0119), "");
|
|
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT046) == "1")
|
|
{
|
|
// 선불카드 판매 - 중국
|
|
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 상품 아이템
|
|
foreach (Column.TR_PLU.DATA cPluItem in alTrPluItem)
|
|
{
|
|
if (cPluItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") continue;
|
|
|
|
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.PREPAID)
|
|
{
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
/// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043))
|
|
// , CmUtil.MidH(cPluItem.SALE_GIFT_NO, 0, 6) + "******" + CmUtil.RightH(cPluItem.SALE_GIFT_NO, 4));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043))
|
|
, CmUtil.MidH(cPluItem.SALE_GIFT_NO, 0, 4) + "****" + CmUtil.RightH(cPluItem.SALE_GIFT_NO, 4));
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 end
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0091))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPluItem.BILL_AMT * nSign));
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0120))
|
|
, m_cTrnStatus.Head.PpCardCustId);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0121))
|
|
, m_cTrnStatus.Head.PpCardCustNm); // CmUtil.MidH(cPayItem.OCCUR_ENTRY_01, 0, 6) + "******" + "****");
|
|
}
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
#endregion 선불카드 판매 내역 생성
|
|
|
|
#region 잔액교환권 발행 여부 체크
|
|
private int LS_BALANCE_VOUCHER_CHECK()
|
|
{
|
|
//string sRet = UserCom.RST_ERR;
|
|
|
|
int iRet = 1;
|
|
|
|
bool bCreadit = false; //신용카드 존재 유무
|
|
|
|
try
|
|
{
|
|
ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); // 결제아이템
|
|
|
|
if (alTrPayItem.Count == 0) return iRet;
|
|
|
|
// 잔액교환권 발행 여부 체크
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2" && cPayItem.DutchPayPrtDiv == "1") continue;
|
|
|
|
// 잔액 교환권
|
|
if (((cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.GIFT_ITEM)
|
|
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
|
|
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAYETC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER))
|
|
&& (cPayItem.OCCUR_ENTRY_12.Length > 0))
|
|
{
|
|
iRet = 2;
|
|
//break;
|
|
}
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.CREDITCARD.CREDIT_CARD
|
|
&& cPayItem.OCCUR_ENTRY_17 == "0" && cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
|
|
{
|
|
//신용카드 무서명 추가!
|
|
iRet = 2;
|
|
bCreadit = true;
|
|
//break;
|
|
}
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.CREDITCARD.CREDIT_CARD)
|
|
{
|
|
bCreadit = true;
|
|
}
|
|
}
|
|
|
|
// 신용카드가 포함되어 있으면!
|
|
if (bCreadit == true)
|
|
{
|
|
// 신용카드 출력 매수 옵션
|
|
int iOptCreditPrtCnt = CmUtil.IntParse(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT404), "0"));
|
|
|
|
if (iOptCreditPrtCnt > iRet)
|
|
{
|
|
iRet = iOptCreditPrtCnt;
|
|
}
|
|
}
|
|
|
|
}
|
|
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 iRet;
|
|
}
|
|
#endregion
|
|
|
|
#region 화면에 표시된는 영수증 출력 데이터 생성
|
|
/// <summary>
|
|
/// 화면에 표시된는 영수증 출력 데이터 생성
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public string GetDisplayPrintData(string sSaleDate, string sPosNo, string sTradeNo)
|
|
{
|
|
string sPrtData = "";
|
|
try
|
|
{
|
|
PrintBufClear(); // 영수증 출력버퍼 초기화
|
|
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.REC, false, false, false, true, "", true); // 영수증 상단영역 출력
|
|
|
|
SetPosSalePluItem(PosConst.PRT_ITEM.REC); // 영수증 상품영역 출력
|
|
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|
{
|
|
SetSaleLoss(PosConst.PRT_ITEM.REC, true); // 판매LOSS
|
|
}
|
|
else
|
|
{
|
|
SetPosSaleTotal(PosConst.PRT_ITEM.REC, true); // 영수증 합계영역, 결제영역 출력
|
|
}
|
|
|
|
SetPosSalePayment(PosConst.PRT_ITEM.REC); // 영수증 결제 내역 출력
|
|
|
|
|
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.PREPAID)
|
|
{
|
|
SetPPCardInfo(PosConst.PRT_ITEM.REC); // 선불카드 판매 내역
|
|
}
|
|
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.REC, false, false, true, false, false, 0);// 영수증 하단영역 출력
|
|
|
|
for (int i = 0; i < m_aPrintBuf.Count; i++)
|
|
{
|
|
if (m_aPrintBuf[i].ToString().Length > 0)
|
|
{
|
|
sPrtData += CmUtil.RPadH(m_aPrintBuf[i].ToString().Substring(1), 47);
|
|
}
|
|
}
|
|
return sPrtData;
|
|
}
|
|
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 "";
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 승인 구분 표시
|
|
/// <summary>
|
|
/// 승인 구분 표시
|
|
/// </summary>
|
|
/// <param name="sAppType"></param>
|
|
/// <returns></returns>
|
|
private string GetAppTypePrint(string sAppType)
|
|
{
|
|
string sRet = "";
|
|
|
|
try
|
|
{
|
|
if (sAppType == ItemConst.PAY_APP_DIV.COMPULSION || sAppType == ItemConst.PAY_APP_DIV.PDA_APPR)
|
|
sRet = "(" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0132) + ")";
|
|
else if (sAppType == ItemConst.PAY_APP_DIV.PHON_CANCEL)
|
|
sRet = "(" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0143) + ")";
|
|
}
|
|
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;
|
|
}
|
|
|
|
//2017.11.14; 중국 임의 등록 결제 시 카드사명 노출 하게 수정(결제 방식 추가하여 메소드 오버로딩 함);girak.kim;start
|
|
/// <summary>
|
|
/// 승인 구분 표시
|
|
/// </summary>
|
|
/// <param name="cPayItem"> 정보</param>
|
|
/// <returns></returns>
|
|
private string GetAppTypePrint(Column.TR_PAYMENT.DATA cPayItem)
|
|
{
|
|
string sRet = "";
|
|
string sAppType = cPayItem.OCCUR_ENTRY_08;//승인구분코드(중국은 1= 임의)
|
|
try
|
|
{
|
|
if (sAppType == ItemConst.PAY_APP_DIV.COMPULSION || sAppType == ItemConst.PAY_APP_DIV.PDA_APPR)
|
|
{
|
|
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCCN) && cPayItem.PAY_WAY_CD.Equals(ItemConst.TR_ITEM_ID.CREDITCARD_ITEM))
|
|
{
|
|
sRet = "(" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0132) + "-" + cPayItem.OCCUR_ENTRY_23 + ")";
|
|
}
|
|
else
|
|
sRet = "(" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0132) + ")";
|
|
}
|
|
else if (sAppType == ItemConst.PAY_APP_DIV.PHON_CANCEL)
|
|
sRet = "(" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0143) + ")";
|
|
}
|
|
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;
|
|
}
|
|
//2017.11.14; 중국 임의 등록 결제 시 카드사명 노출 하게 수정(결제 방식 추가하여 메소드 오버로딩 함);girak.kim;end
|
|
#endregion
|
|
|
|
#region 온라인쿠폰 발행(중국) 출력
|
|
/// <summary>
|
|
/// 온라인쿠폰 발행(중국) 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetOnLineCouponPrint(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND) return true;
|
|
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
|
|
{
|
|
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|
if (cEtcItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
if (cEtcItem.ETC_DTL_CD_01 != ItemConst.TR_ITEM_ID.ETC_INFO.ONLINE_CPN) continue;
|
|
|
|
SetTopPosPrintData(sPrtID, true, true, false, false); // 영수증 상단영역 출력
|
|
|
|
// AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
// 온라인 쿠폰
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103, "[ " + CmUtil.MidH(cEtcItem.OCCUR_ENTRY_20, 0, 38).Trim() + " ]");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
// 유효기간
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F101, "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0067) + " ]");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F101
|
|
, m_cPosStatus.Global.DateToCulture(cEtcItem.OCCUR_ENTRY_12) + "~" + m_cPosStatus.Global.DateToCulture(cEtcItem.OCCUR_ENTRY_13));
|
|
|
|
// 쿠폰번호
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0056) + " ]");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F101
|
|
, cEtcItem.OCCUR_ENTRY_01.Substring(0, 4) + "-" + cEtcItem.OCCUR_ENTRY_01.Substring(4, 4) + "-" + cEtcItem.OCCUR_ENTRY_01.Substring(8, 4) + "-" + cEtcItem.OCCUR_ENTRY_01.Substring(12, 4));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BAR, cEtcItem.OCCUR_ENTRY_01);
|
|
|
|
// 영수증 출력 정보
|
|
if (cEtcItem.HP_RESERVED.Trim() != "")
|
|
{
|
|
string[] saPrtData = cEtcItem.HP_RESERVED.Split(new string[] { "\n\r", "\r\n" }, StringSplitOptions.None);
|
|
foreach (string sData in saPrtData)
|
|
{
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sData);
|
|
}
|
|
}
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetBtmPosPrintData(sPrtID, true, false, false, false, false); // 영수증 하단영역 출력
|
|
SetEndPosPrintData(sPrtID); // 영수증 출력 완료
|
|
}
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
}
|
|
#endregion
|
|
|
|
#region 주차바코드 출력
|
|
|
|
/// <summary>
|
|
/// 주차 바코드 출력 메인
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetParkingBarCodePrintMain(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
double dNetSale = 0;
|
|
|
|
//반품 체크
|
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND) return true;
|
|
|
|
//정상 매출 체크
|
|
if (!(m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.UNDECIDED.RESERVATION_REG ||
|
|
m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.FORIGN.O2O || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.FORIGN.SHOPPINGMALL)) return true;
|
|
|
|
if (m_cTrnStatus.Head.TradeKind != ItemConst.TRAN_KIND.NORMAL.SALE) return true;
|
|
|
|
//더치페이 금액 완료 일때 스킵!
|
|
if (m_cTrnStatus.Head.AmtDutchPayYn == "1" && m_cPosStatus.Sale.DutchPayFlg == "") return true;
|
|
|
|
//더치 페이 금액 일때!
|
|
if (m_cPosStatus.Sale.DutchPayFlg == "2")
|
|
{
|
|
ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); // 결제아이템
|
|
|
|
// 잔액교환권 발행권 출력 - 고객용
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == "1") continue;
|
|
if (cPayItem.DutchPayPrtDiv == "")
|
|
dNetSale = CmUtil.DoubleAdd(dNetSale, cPayItem.PAY_AMT);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
dNetSale = m_cTrnStatus.Head.NetSaleAmt;
|
|
}
|
|
|
|
//금액 체크
|
|
if (dNetSale <= 0) return true;
|
|
|
|
SetParkingBarCodePrint(sPrtID, dNetSale);
|
|
}
|
|
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 true;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 주차바코드 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetParkingBarCodePrint(string sPrtID, double SaleAmt)
|
|
{
|
|
try
|
|
{
|
|
//일자
|
|
string sDate = DateTime.Now.ToString("MMddHHmm");
|
|
//점포코드
|
|
string sStorCd = CmUtil.MidH(m_cPosStatus.Base.StoreNo, 2, 5);
|
|
|
|
//백만원 이상 체크
|
|
int iNetSale = (int)CmUtil.DoubleDivision(SaleAmt, 1000);
|
|
string sNetSale = iNetSale > 999 ? "999" : iNetSale.ToString().PadLeft(3, '0');
|
|
|
|
string sTmpBar = string.Format("{0}-{1}-{2}", sDate, sStorCd, sNetSale);
|
|
|
|
char[] achr = sTmpBar.Replace("-", "").ToCharArray();
|
|
|
|
if (achr.Length == 16)
|
|
{
|
|
// 월 | 일 | 시간 | 분 | 점포코드 | 승인금액
|
|
//-------------------------------------------------------------------
|
|
// 자리수 0 - 1 | 2 - 3 | 4 - 5 | 6 - 7 | 8 - 9 -10-11-12 | 13-14-15
|
|
// 바코드 7 -13 -12 -15 - 6 - 0 - 9 - 2 -10 -14 - 8-11- 1 - 4- 3- 5
|
|
|
|
string sBarCode = string.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}"
|
|
, achr[7]
|
|
, achr[13]
|
|
, achr[12]
|
|
, achr[15]
|
|
, achr[6]
|
|
, achr[0]
|
|
, achr[9]
|
|
, achr[2]
|
|
, achr[10]
|
|
, achr[14]
|
|
, achr[8]
|
|
, achr[11]
|
|
, achr[1]
|
|
, achr[4]
|
|
, achr[3]
|
|
, achr[5]
|
|
);
|
|
//주차 바코드
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BGB, PosConst.PRT_FMT.F101, "<< " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0188) + " >>");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BA1, sBarCode);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR);
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_CUT, ""); // 영수증 커팅
|
|
|
|
}
|
|
else
|
|
{
|
|
//바코드 조합 이상!
|
|
UserLog.WriteLogFile(UserCom.LOG_DEBUG,
|
|
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 (함수명))
|
|
"바코드 조합 길이 : " + achr.Length.ToString() + " | 조합코드 : " + sTmpBar);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
}
|
|
#endregion
|
|
|
|
#region 후불 주문내역서 출력 처리
|
|
/// <summary>
|
|
/// 후불 주문내역서 출력 처리
|
|
/// </summary>
|
|
public string ExecuteOrderBillReceipt()
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
try
|
|
{
|
|
PrintBufClear(); // 영수증 출력버퍼 초기화
|
|
|
|
// 영수증 상단영역 출력
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.ETC, true, true, false, false, "- " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0147) + " -");
|
|
|
|
// 출력일자
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101
|
|
, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0072) + ": " + m_cPosStatus.Global.DateToCulture(m_cTrnStatus.Head.SysYmd) + " " + CmUtil.StrToTime(m_cTrnStatus.Head.PayHms));
|
|
// 주문(대기)번호
|
|
if (m_cTrnStatus.Head.OrderNo != "")
|
|
{
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101
|
|
, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0097) + ": " + m_cTrnStatus.Head.OrderNo);
|
|
}
|
|
// 테이블번호
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103
|
|
, "[ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0148) + " ]");
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_BIG, PosConst.PRT_FMT.F103
|
|
, m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm);
|
|
|
|
SetPosSalePluItem(PosConst.PRT_ITEM.ETC); // 영수증 상품영역 출력
|
|
|
|
//과세/부가세 출력 유무(0 : 미 출력, 1 : 출력)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT402) != "0")
|
|
{
|
|
// 세금항목(면세,과세,부가세)
|
|
if (m_cTrnStatus.Sale.NoVatPluAmt > 0)
|
|
{
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0004), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.NoVatPluAmt));
|
|
}
|
|
if (m_cTrnStatus.Sale.VatPluAmt > 0)
|
|
{
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0005), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.VatPluAmt));
|
|
}
|
|
if (m_cTrnStatus.Head.TotVatAmt > 0)
|
|
{
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F201,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0006), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt));
|
|
}
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "=");
|
|
}
|
|
|
|
// 총주문액
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0149), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt));
|
|
if (m_cTrnStatus.Head.TotDcAmt > 0 && m_cTrnStatus.Head.TradeKind != ItemConst.TRAN_KIND.ETC.LOSS)
|
|
{
|
|
// 상품할인
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0008), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt));
|
|
}
|
|
// 합계금액
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F200,
|
|
MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0010), m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.NetSaleAmt));
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "=");
|
|
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false, false, 0); // 영수증 하단영역 출력
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.ETC); // 영수증 출력 완료
|
|
|
|
// 영수증 출력 처리
|
|
if (PrintExecute(true, true, true) == true) sRet = UserCom.RST_OK;
|
|
}
|
|
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;
|
|
}
|
|
#endregion
|
|
|
|
#region 예약정보 출력
|
|
/// <summary>
|
|
/// 예약정보 출력
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <returns></returns>
|
|
private bool SetReservationPrint(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
|
|
ArrayList alReservItem = (ArrayList)StateObject.GetItemObject(Column.TR_RESERV_INFO.ITEM);
|
|
|
|
if (alReservItem.Count > 0)
|
|
{
|
|
foreach (Column.TR_RESERV_INFO.DATA cReservItem in alReservItem)
|
|
{
|
|
|
|
//string sTmpDate = cReservItem.RESERV_DT.ToString() + cReservItem.RESERV_TM.ToString();
|
|
//string sReservDate = string.Format("{0}-{1]-{2} {3}:{4}", CmUtil.MidH(sTmpDate, 0, 4), CmUtil.MidH(sTmpDate, 5, 2), CmUtil.MidH(sTmpDate, 7, 2), CmUtil.MidH(sTmpDate, 9, 2), CmUtil.MidH(sTmpDate, 11, 2));
|
|
string sReservDate = CmUtil.MidH(cReservItem.RESERV_DT, 0, 4) + "-" + CmUtil.MidH(cReservItem.RESERV_DT, 4, 2) + "-" + CmUtil.MidH(cReservItem.RESERV_DT, 6, 2) + " " + CmUtil.MidH(cReservItem.RESERV_TM, 0, 2) + ":" + CmUtil.MidH(cReservItem.RESERV_TM, 2, 2);
|
|
|
|
|
|
//예약일시
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F203, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0292), sReservDate);
|
|
//연락처
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F203, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0192), cReservItem.CUST_PHN_NO);
|
|
//정보
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR + CmUtil.RPadH(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0663), 11) + cReservItem.RESERV_MEMO.Replace("\r\n", ""));
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
//예약번호
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F203, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0188), CmUtil.MidH(cReservItem.RESERV_NO, 0, 8) + "-" + CmUtil.MidH(cReservItem.RESERV_NO, 8, 2) + "-" + CmUtil.MidH(cReservItem.RESERV_NO, 10, 5));
|
|
//고객명
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F203, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0278), cReservItem.CUSTNM);
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
}
|
|
#endregion
|
|
|
|
#region GetPayDtlNameFmt(결제상세항목명 포멧)
|
|
/// <summary>
|
|
/// 결제상세항목명 포멧
|
|
/// </summary>
|
|
/// <param name="sDtlName"></param>
|
|
/// <returns></returns>
|
|
private string GetPayDtlNameFmt(string sDtlName)
|
|
{
|
|
try
|
|
{
|
|
if (CmUtil.LenH(sDtlName) <= 13)
|
|
return "[ " + CmUtil.RPadH(sDtlName, 13) + " ]";
|
|
else if (CmUtil.LenH(sDtlName) <= 15)
|
|
return "[" + CmUtil.RPadH(sDtlName, 15) + "]";
|
|
else
|
|
return "[" + sDtlName + "]";
|
|
}
|
|
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 "";
|
|
}
|
|
#endregion
|
|
|
|
#region 결제 항목 출력 데이터 생성
|
|
/// <summary>
|
|
/// 결제항목 타이틀 출력 데이터 생성
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="sPayName">결제명</param>
|
|
/// <param name="sAppType">승인구분코드</param>
|
|
private void SetPayDtlCommonPrintName(string sPrtID, string sPayName, string sAppType)
|
|
{
|
|
try
|
|
{
|
|
// 결제 항목명
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F101, "■ " + CmUtil.LeftH(sPayName, 33).Trim() + GetAppTypePrint(sAppType));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
|
|
|
|
//2017.11.14; 중국 임의 등록 결제 시 카드사명 노출 하게 수정(결제 방식 추가하여 메소드 오버로딩 함);girak.kim;start
|
|
/// <summary>
|
|
/// 결제항목 타이틀 출력 데이터 생성
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="sPayName">결제명</param>
|
|
/// <param name="cPayItem">결제 정보</param>
|
|
private void SetPayDtlCommonPrintName(string sPrtID, string sPayName, Column.TR_PAYMENT.DATA cPayItem)
|
|
{
|
|
try
|
|
{
|
|
// 결제 항목명
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F101, "■ " + CmUtil.LeftH(sPayName, 33).Trim() + GetAppTypePrint(cPayItem));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
//2017.11.14; 중국 임의 등록 결제 시 카드사명 노출 하게 수정(결제 방식 추가하여 메소드 오버로딩 함);girak.kim;end
|
|
|
|
/// <summary>
|
|
/// 결제 기본 항목 출력 데이터 생성(타이틀, 카드번호/승인번호, 결제금액)
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
/// <param name="cPayItem"></param>
|
|
/// <param name="sPayName">결제명</param>
|
|
/// <param name="sPayDiv">구분(0:카드, 1:쿠폰)</param>
|
|
private void SetPayDtlCommonPrintData(string sPrtID, Column.TR_PAYMENT.DATA cPayItem, string sPayName, string sPayDiv)
|
|
{
|
|
try
|
|
{
|
|
int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
// 결제 항목명
|
|
if (sPayName.Trim() != "") SetPayDtlCommonPrintName(sPrtID, sPayName, cPayItem.OCCUR_ENTRY_08);
|
|
|
|
// 카드번호/승인번호
|
|
if (cPayItem.OCCUR_ENTRY_01.Trim() != "" && cPayItem.OCCUR_ENTRY_02.Trim() != "")
|
|
{
|
|
if (sPayDiv == "1") // 쿠폰
|
|
{
|
|
// 쿠폰/승인번호
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
// 기존
|
|
////AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0182))
|
|
//// , CmUtil.LeftH(cPayItem.OCCUR_ENTRY_01, 6) + "**", cPayItem.OCCUR_ENTRY_02.Trim());
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0182))
|
|
, ChinaCardMarking(cPayItem.OCCUR_ENTRY_01), cPayItem.OCCUR_ENTRY_02.Trim());
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 End
|
|
}
|
|
else
|
|
{
|
|
// 카드/승인번호
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
// 기존
|
|
////AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
//// , CmUtil.LeftH(cPayItem.OCCUR_ENTRY_01, 6) + "**", cPayItem.OCCUR_ENTRY_02.Trim());
|
|
|
|
/////////////////////////////////
|
|
//#20180618_웰컴카드 수정_grayber
|
|
// 카드/승인번호 1줄로 표시되는 것을 -> 카드번호,승인번호 두줄로 표시되게 변경
|
|
// 기존
|
|
//AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F302, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0183))
|
|
// , ChinaCardMarking(cPayItem.OCCUR_ENTRY_01), cPayItem.OCCUR_ENTRY_02.Trim());
|
|
// 변경
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043))
|
|
, ChinaCardMarking(cPayItem.OCCUR_ENTRY_01));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047))
|
|
, cPayItem.OCCUR_ENTRY_02.Trim());
|
|
/////////////////////////////////
|
|
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 End
|
|
}
|
|
// 쿼리, Rhee
|
|
|
|
//#20180329 프린터 간헐적 미출력 증상 수정 start
|
|
//로그 생성 위치 변경
|
|
//기존
|
|
/*
|
|
UserLog.WriteLogFile(UserCom.LOG_OP, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "@@SetPayDtlCommonPrintData=" + cPayItem.OCCUR_ENTRY_01);
|
|
*/
|
|
//변경
|
|
UserLog.WriteLogFile(UserCom.LOG_OP, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "@@SetPayDtlCommonPrintData=" + cPayItem.OCCUR_ENTRY_01);
|
|
//#20180329 프린터 간헐적 미출력 증상 수정 end
|
|
}
|
|
else if (cPayItem.OCCUR_ENTRY_01.Trim() != "")
|
|
{
|
|
if (sPayDiv == "1") // 쿠폰
|
|
{
|
|
// 쿠폰번호
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
// 기존
|
|
////AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0056))
|
|
//// , CmUtil.LeftH(cPayItem.OCCUR_ENTRY_01, 6) + "**");
|
|
// 변경
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0056))
|
|
, ChinaCardMarking(cPayItem.OCCUR_ENTRY_01));
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 End
|
|
}
|
|
else
|
|
{
|
|
// 카드번호
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 Start
|
|
// 기존
|
|
////AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043))
|
|
//// , CmUtil.LeftH(cPayItem.OCCUR_ENTRY_01, 6) + "**");
|
|
// 변경
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043))
|
|
, ChinaCardMarking(cPayItem.OCCUR_ENTRY_01));
|
|
//Rhee, #2017/08/28 중국 카드번호 프린트 마킹예외처리 End
|
|
}
|
|
}
|
|
else if (cPayItem.OCCUR_ENTRY_02.Trim() != "")
|
|
{
|
|
// 승인번호
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047))
|
|
, GetAppTypePrint(cPayItem.OCCUR_ENTRY_08) + cPayItem.OCCUR_ENTRY_02);
|
|
}
|
|
|
|
// 결제금액
|
|
if (cPayItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.DC)
|
|
{
|
|
// 할인금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0079))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
}
|
|
else
|
|
{
|
|
// 결제금액
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F200, GetPayDtlNameFmt(MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0046))
|
|
, m_cPosStatus.Global.NumericTOCurrency(cPayItem.AMT_ENTRY_01 * nSign));
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
//17.05.18 dkshin 쇼킹박스 추가
|
|
#region 쇼킹박스영수증 저장
|
|
/// <summary>
|
|
/// 쇼킹박스 영수증 출력
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private bool SetShockingBoxReceipt(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
// 영수증 상단영역 출력
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103, "<< 쇼 킹 박 스 >>");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_TBM);
|
|
// 영수증 상품 영역 출력
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F100, "-");
|
|
|
|
string RemainPayAmt = string.Format("{0:#,##0}", m_cTrnStatus.Sale.RemainPayAmt);
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103, "[ 금액 ] " + RemainPayAmt);
|
|
//AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103, "[ 금액 ] " + sPrtData);
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
// 바코드 출력
|
|
//PrintBarcodeData(BarcodeType.CODE128, Alignment.CENTER, HRIPosition.BELOW, sData))
|
|
//string BarcodeData = "[BA1]" + m_cTrnStatus.Head.SaleDate + m_cTrnStatus.Head.RegNo;
|
|
string BarcodeData = "[BAR]" + m_cTrnStatus.Head.SaleDate + m_cTrnStatus.Head.RegNo;
|
|
AddPrintData(PosConst.PRT_ITEM.REC, BarcodeData);
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
// 하단이미지 출력
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BBM);
|
|
|
|
SetEndPosPrintData(sPrtID); // 영수증 출력 완료
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
// Add, 2017.09.04, 근무시간 확인서 출력
|
|
#region 근무시간 확인서 출력
|
|
/// <summary>
|
|
/// 근무시간 확인서 출력
|
|
/// </summary>
|
|
/// <param name="empNo">직원코드</param>
|
|
/// <param name="empNm">직원성명</param>
|
|
/// <param name="strTime">출근일시 (yyyyMMddHHmmss)</param>
|
|
/// <param name="endTime">퇴근일시 (yyyyMMddHHmmss)</param>
|
|
/// <returns></returns>
|
|
public string ExecuteWorkTimeReceipt(string empNo, string empNm, string strTime, string endTime)
|
|
{
|
|
var ret = UserCom.RST_ERR;
|
|
try
|
|
{
|
|
var tmp = string.Empty;
|
|
|
|
// 출근시간
|
|
tmp = strTime.Replace("-", "").Replace(".", "").Replace(":", "").Replace(" ", "").Trim();
|
|
|
|
//#20180312 근무시간 확인서 출근시간 오표시되는 증상 수정 start
|
|
//기존
|
|
//var strTm = m_cPosStatus.Global.DateToCulture(tmp.Substring(0, 8)) + " " + CmUtil.StrToTime(tmp.Substring(6, 6));
|
|
//변경
|
|
var strTm = m_cPosStatus.Global.DateToCulture(tmp.Substring(0, 8)) + " " + CmUtil.StrToTime(tmp.Substring(8, 6));
|
|
//#20180312 근무시간 확인서 출근시간 오표시되는 증상 수정 end
|
|
|
|
// 퇴근시간
|
|
tmp = endTime.Replace("-", "").Replace(".", "").Replace(":", "").Replace(" ", "").Trim();
|
|
|
|
//#13513 PB 농협양주유통센터_근태관리 퇴근시간 오등록되는 증상 수정 요청. start, phj
|
|
//기존
|
|
//var endTm = m_cPosStatus.Global.DateToCulture(tmp.Substring(0, 8)) + " " + CmUtil.StrToTime(tmp.Substring(6, 6));
|
|
//변경
|
|
var endTm = m_cPosStatus.Global.DateToCulture(tmp.Substring(0, 8)) + " " + CmUtil.StrToTime(tmp.Substring(8, 6));
|
|
//#13513 PB 농협양주유통센터_근태관리 퇴근시간 오등록되는 증상 수정 요청. end, phj
|
|
|
|
// 영수증 출력버퍼 초기화
|
|
PrintBufClear();
|
|
|
|
// 영수증 상단영역 출력
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.ETC, true, true, false, false, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0208));
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "*");
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0209).TrimEnd() + " " + empNo);
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0210).TrimEnd() + " " + empNm);
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0211).TrimEnd() + " " + strTm);
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0212).TrimEnd() + " " + endTm);
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "*");
|
|
|
|
// 영수증 하단영역 출력
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.ETC, true, false, true, false, false, 0);
|
|
|
|
// 영수증 출력 완료
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.ETC);
|
|
|
|
ret = PrintExecute(true, true, true) == true ? UserCom.RST_OK : UserCom.RST_ERR;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
ret = UserCom.RST_ERR;
|
|
}
|
|
return ret;
|
|
}
|
|
#endregion
|
|
|
|
//#20170918 기념일 배송 출력 start
|
|
#region 기념일 배송 출력
|
|
public string ExecuteAnniversary(string aParam)
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
|
|
try
|
|
{
|
|
PrintBufClear();
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_TBM);
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1034));
|
|
|
|
ReadAnniversaryFile(aParam, m_aRecPrintBuf);
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BBM);
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.ETC); // 영수증 출력 완료
|
|
|
|
if (PrintExecute(true, true, false) == true) sRet = UserCom.RST_OK;
|
|
return sRet;
|
|
}
|
|
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;
|
|
}
|
|
#endregion
|
|
//#20170918 기념일 배송 출력 end
|
|
|
|
//20171013 dkshin 해피기프트(신) IC/RF 충전 및 승인
|
|
#region 해피기프트(신) 충전 내역 생성
|
|
/// <summary>
|
|
/// 선불카드 판매 내역 생성 -- 사용안함
|
|
/// </summary>
|
|
/// <param name="sPrtID"></param>
|
|
private string SetHPGCardInfo(string sPrtID)
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
string sPrintTitle = "";
|
|
string sPrintData = "";
|
|
|
|
try
|
|
{
|
|
//int nSign = m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.REFUND ? -1 : 1;
|
|
|
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
|
|
{
|
|
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|
if (cEtcItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|
|
|
// 해피기프트카드-충전,충전취소
|
|
//20171019 dkshin 해피기프트(신) 충전 코드 변경
|
|
//if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.CREDITCARD.HPGIFT_CARD)
|
|
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.HAPPYGIFTNEW_CHARGE)
|
|
{
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.REC, true, true, true, true); // 영수증 상단영역 출력
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
|
|
// 타이틀 출력
|
|
sPrintTitle = "";
|
|
//#20180131, 해피기프트카드(신) 충전 수정 Start
|
|
//if (cEtcItem.AMT_ENTRY_01.ToString() == "0")
|
|
if (cEtcItem.OCCUR_ENTRY_06.Trim() != "")
|
|
//#20180131, 해피기프트카드(신) 충전 수정 End
|
|
{
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0061);
|
|
sPrintTitle = "<<" + sPrintTitle + " " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0064) + ">>";
|
|
}
|
|
else
|
|
{
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0060);
|
|
sPrintTitle = "<<" + sPrintTitle + " " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0064) + ">>";
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, sPrintTitle);
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
|
|
sPrintTitle = "";
|
|
sPrintData = "";
|
|
// 1. 카드번호
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0043) + "]";
|
|
//if (cEtcItem.OCCUR_ENTRY_01.Trim() != "")
|
|
{
|
|
//if (cEtcItem.OCCUR_ENTRY_05 == PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_KEYIN)
|
|
sPrintData = HPGCardMarking(cEtcItem.OCCUR_ENTRY_01.Trim());
|
|
//else
|
|
{
|
|
//sPrintData = cEtcItem.OCCUR_ENTRY_01;
|
|
//sPrintData = HPGCardMarking(cEtcItem.OCCUR_ENTRY_01.Trim());
|
|
}
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
|
|
// 2.충전금액
|
|
if (cEtcItem.AMT_ENTRY_01.ToString() != "")
|
|
{
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0068) + "]";
|
|
sPrintData = m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_01);
|
|
}
|
|
else
|
|
{
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0069) + "]";
|
|
sPrintData = "0";
|
|
}
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
|
|
// 3.승인번호
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0047) + "]";
|
|
sPrintData = cEtcItem.OCCUR_ENTRY_02;
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F202, sPrintTitle, GetAppTypePrint(cEtcItem.OCCUR_ENTRY_08) + sPrintData);
|
|
|
|
// 4.잔액
|
|
//if (cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_ACC_A || cEtcItem.OCCUR_ENTRY_10 == PosConst.POS_VAN_MASTER.TRADE_ID.VAN_POT_USE_A)
|
|
{
|
|
sPrintTitle = "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0070) + "]";
|
|
sPrintData = m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04);
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_HOR, PosConst.PRT_FMT.F202, sPrintTitle, sPrintData);
|
|
}
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.REC, true, true, true, true, true); // 영수증 하단영역 출력
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.REC); // 영수증 출력 완료
|
|
|
|
sRet = UserCom.RST_OK;
|
|
}
|
|
|
|
}
|
|
}
|
|
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;
|
|
}
|
|
|
|
private string HPGCardMarking(string strV)
|
|
{
|
|
string req = "";
|
|
//if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCCN) && strV != "")
|
|
{
|
|
//req = CmUtil.MidH(strV, 0, 4) + "********" + CmUtil.RightH(strV, 4);
|
|
}
|
|
//else
|
|
{
|
|
//req = CmUtil.MidH(strV, 0, 6) + "**";
|
|
req = CmUtil.MidH(strV, 0, 6) + "**********";
|
|
}
|
|
|
|
|
|
//UserLog.WriteLogFile(UserCom.LOG_OP, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "@@ChinaCardMarking=" + strV);
|
|
|
|
return req;
|
|
}
|
|
#endregion 해피기프트(신) 충전 내역 생성
|
|
|
|
//#20171227, 예약증 양식 출력 Start
|
|
#region 예약증 양식 출력
|
|
public string ExecuteReservationForm()
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
string sPrtID = PosConst.PRT_ITEM.ETC;
|
|
string sPrtHead = PosConst.PRT_HDR.PRT_NOR;
|
|
string sPrintTitle = "";
|
|
string sPrintData = "";
|
|
string sPrintData2 = "";
|
|
|
|
try
|
|
{
|
|
PrintBufClear();
|
|
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F101, "※" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0300));
|
|
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0301));
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0302));
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0303));
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0304);
|
|
sPrintData = "□ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0305);
|
|
sPrintData2 = " □ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0306);
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F304, sPrintTitle, sPrintData, sPrintData2);
|
|
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0307));
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0308));
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0309));
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0310);
|
|
sPrintData = "□ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0311);
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F207, sPrintTitle, sPrintData);
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0312);
|
|
sPrintData = "□ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0146);
|
|
sPrintData2 = "□ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0187);
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F304, sPrintTitle, sPrintData, sPrintData2);
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0313);
|
|
sPrintData = "□ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0314);
|
|
sPrintData2 = "□ " + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0315);
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F304, sPrintTitle, sPrintData, sPrintData2);
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
|
|
sPrintTitle = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0316);
|
|
sPrintData = MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0317) + ":";
|
|
sPrintData2 = " /" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0318) + ":";
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F304, sPrintTitle, sPrintData, sPrintData2);
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0319));
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F101, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0320));
|
|
AddPrintData(sPrtID, sPrtHead, PosConst.PRT_FMT.F100, "-");
|
|
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BBM);
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.ETC); // 영수증 출력 완료
|
|
|
|
if (PrintExecute(false, true, false) == true) sRet = UserCom.RST_OK;
|
|
return sRet;
|
|
}
|
|
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;
|
|
}
|
|
#endregion
|
|
//#20171227, 예약증 양식 출력 End
|
|
|
|
// grayber@20180110 전자영수증 주문(대기)번호표 출력 start - 주문(대기)번호표 출력 함수
|
|
// 추가
|
|
#region 전자영수증 대기번호표 출력
|
|
public string ExcuteElectroBillOrderNoReceipt(bool bForce = false)
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
|
|
try
|
|
{
|
|
//grayber@20180226 대기번호표 개선 start - 출력 구분자 추가
|
|
//추가
|
|
//#20180228 대기번호 미사용시 영수증 상품항목에 금액 미표시 증상 start
|
|
//위치 변경. 대기번호 미사용시, 매출이 아닌 거래인 경우 대기번호가 없어서 초기화가 안됨
|
|
//base.m_bElectRec = bForce;
|
|
//#20180228 대기번호 미사용시 영수증 상품항목에 금액 미표시 증상 end
|
|
//grayber@20180226 대기번호표 개선 end
|
|
|
|
if (m_cTrnStatus.Head.OrderNo.Trim().Equals("") == true) return UserCom.RST_IGNORE;
|
|
|
|
PrintBufClear(); // 영수증 출력버퍼 초기화
|
|
|
|
// 영수증 상단영역 출력
|
|
SetTopPosPrintData(PosConst.PRT_ITEM.ETC, true, true, false, true, "[" + MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0321) + "]");
|
|
|
|
// 영수증 상품영역 출력
|
|
//#20180228 대기번호 미사용시 영수증 상품항목에 금액 미표시 증상 start
|
|
base.m_bElectRec = bForce;
|
|
//#20180228 대기번호 미사용시 영수증 상품항목에 금액 미표시 증상 end
|
|
SetPosSalePluItem(PosConst.PRT_ITEM.ETC); // 영수증 상품영역 출력
|
|
//#20180228 대기번호 미사용시 영수증 상품항목에 금액 미표시 증상 start
|
|
base.m_bElectRec = false;
|
|
//#20180228 대기번호 미사용시 영수증 상품항목에 금액 미표시 증상 end
|
|
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " ");
|
|
// 주문(대기)번호 확인
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_BGB, PosConst.PRT_FMT.F103, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0097) + ": " + m_cTrnStatus.Head.OrderNo);
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " ");
|
|
AddPrintData(PosConst.PRT_ITEM.ETC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
|
|
SetBtmPosPrintData(PosConst.PRT_ITEM.ETC, true, false, false, false, false, 1); // 영수증 하단영역 출력 -- 고객용
|
|
|
|
SetEndPosPrintData(PosConst.PRT_ITEM.ETC); // 영수증 생성 완료
|
|
|
|
//grayber@20180226 대기번호표 개선 start - 출력 구분자 추가
|
|
//기존
|
|
//if (PrintExecute(true, true, true) == true) sRet = UserCom.RST_OK; // 영수증 출력 처리
|
|
//변경
|
|
sRet = UserCom.RST_OK;
|
|
// grayber@20180226 대기번호표 개선 start - 초기화 처리 추가
|
|
|
|
//#20180228 대기번호 미사용시 영수증 상품항목에 금액 미표시 증상 start
|
|
//위치 변경. 대기번호 미사용시, 매출이 아닌 거래인 경우 대기번호가 없어서 초기화가 안됨
|
|
//base.m_bElectRec = false;
|
|
//#20180228 대기번호 미사용시 영수증 상품항목에 금액 미표시 증상 end
|
|
// grayber@20180226 대기번호표 개선 end
|
|
|
|
//grayber@20180226 대기번호표 개선 end
|
|
}
|
|
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;
|
|
}
|
|
#endregion
|
|
// grayber@20180110 전자영수증 주문(대기)번호표 출력 end
|
|
|
|
//KT 고객일 경우 아래와 같이 영수증 문구 추가 start,phj
|
|
#region KT 고객일 경우 아래와 같이 영수증 문구 추가
|
|
public bool KTDoubleMsgCheck()
|
|
{
|
|
bool bRet = false;
|
|
string sQry = string.Empty;
|
|
DataTable dtMstCmm = null;
|
|
|
|
try
|
|
{
|
|
sQry = " SELECT CHAR_VAL_TITLE_VAL_01,CHAR_VAL_TITLE_VAL_02 ";
|
|
sQry += " FROM POSMST..MST_CMM";
|
|
sQry += " WHERE CMP_CD = '" + m_cPosStatus.Base.CmpCd + "'";
|
|
sQry += " AND cmm_grp_cd = 'T0035'";
|
|
sQry += " AND cmm_cd = '01'";
|
|
//KT 고객일 경우 아래와 같이 영수증 문구 추가 start,phj, 20180503
|
|
//해당 영업조직만 출력 될수 있도록 수정
|
|
sQry += " AND SALES_ORG_CD = '" + m_cPosStatus.Base.BrandCd + "'";
|
|
//KT 고객일 경우 아래와 같이 영수증 문구 추가 end,phj, 20180503
|
|
sQry += " AND '" + DateTime.Now.ToString("yyyyMMdd") + "' BETWEEN CHAR_VAL_TITLE_VAL_01 AND CHAR_VAL_TITLE_VAL_02 ";
|
|
sQry += " AND use_yn = '" + PosConst.MST_USE_YN.YES + "'";
|
|
|
|
m_cSqlDbService.DBSelect(sQry, out dtMstCmm);
|
|
|
|
if (dtMstCmm != null && dtMstCmm.Rows.Count > 0)
|
|
{
|
|
bRet = true;
|
|
}
|
|
}
|
|
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 false;
|
|
}
|
|
return bRet;
|
|
}
|
|
#endregion
|
|
//KT 고객일 경우 아래와 같이 영수증 문구 추가 end,phj
|
|
|
|
|
|
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start
|
|
#region 상품정보출력(해피오더 랜덤박스) 영수증 저장
|
|
private bool SetLandomBoxReceipt(string sPrtID)
|
|
{
|
|
try
|
|
{
|
|
// 영수증 상단영역 출력
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F103, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1165));
|
|
|
|
|
|
// 상단이미지 출력
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_TBM);
|
|
// ------------------------------------------------------------
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F100, "-");
|
|
// 품목, 수량
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0101), MessageManager.GetPrintMessage(POS_MESSAGE.PRINT.MSG_0103));
|
|
// ------------------------------------------------------------
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F100, "-");
|
|
// 상품정보
|
|
ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|
for (int iRow = 0; iRow < aSaleItem.Count; iRow++)
|
|
{
|
|
Column.TR_PLU.DATA cSaleItem = (Column.TR_PLU.DATA)aSaleItem[iRow];
|
|
if (cSaleItem.CANCEL_DIV == "1" && m_cPosStatus.Sale.DutchPayFlg == "1" && (cSaleItem.DUTCH_PAY_CAN_DIV != "1" || cSaleItem.DUTCH_PAY_MAIN_CAN_DIV != "1"))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
// 품목, 수량
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, cSaleItem.ITEM_NAME, cSaleItem.SALE_QTY.ToString());
|
|
// 원산지
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1166));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, cSaleItem.PLACE_ORIGIN);
|
|
// 영양정보
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1167));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, cSaleItem.ITEM_INFO);
|
|
// 알레르기성분
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1168));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, cSaleItem.ALLERGY);
|
|
// 상품설명
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1169));
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, cSaleItem.ITEM_EXPLN);
|
|
|
|
|
|
if (aSaleItem.Count > 1 && (iRow != aSaleItem.Count - 1))
|
|
{
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_BLD, PosConst.PRT_FMT.F100, "-");
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, "");
|
|
}
|
|
}
|
|
|
|
// ------------------------------------------------------------
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
// 바코드 출력
|
|
string BarcodeData = "[BAR]" + m_cTrnStatus.Head.SaleDate + m_cTrnStatus.Head.RegNo;
|
|
AddPrintData(PosConst.PRT_ITEM.REC, BarcodeData);
|
|
// ------------------------------------------------------------
|
|
AddPrintData(PosConst.PRT_ITEM.REC, PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-");
|
|
// 하단이미지 출력
|
|
AddPrintData(sPrtID, PosConst.PRT_HDR.PRT_BBM);
|
|
|
|
SetEndPosPrintData(sPrtID); // 영수증 출력 완료
|
|
|
|
return true;
|
|
}
|
|
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 false;
|
|
|
|
}
|
|
#endregion 상품정보출력(해피오더 랜덤박스) 영수증 저장
|
|
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end
|
|
|
|
}
|
|
}
|
|
|