3222 lines
155 KiB
C#
3222 lines
155 KiB
C#
using System;
|
|
using System.Text;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
using System.Collections;
|
|
using System.Data;
|
|
|
|
using Cosmos.Win;
|
|
using Cosmos.BaseFrame;
|
|
using Cosmos.UserFrame;
|
|
using Cosmos.ServiceProvider;
|
|
using Cosmos.Common;
|
|
using Cosmos.CommonManager;
|
|
|
|
/*-----------------------------------------------------------------------------------------------*/
|
|
// 설 명 : 해피포인트 조회,적립
|
|
// 작 성 자 :
|
|
// 변경 이력 :
|
|
/*-----------------------------------------------------------------------------------------------*/
|
|
namespace Cosmos.Win
|
|
{
|
|
public partial class frmPntHappyPoint : frm_PayMainBack
|
|
{
|
|
|
|
#region 변수 선언
|
|
|
|
private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
|
|
private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object (객체)
|
|
private PosStatus m_cPosStatus = new PosStatus(); // 기본정보 참조
|
|
private TranStatus m_cTrnStatus = new TranStatus(); // 거래정보 참조
|
|
private DeviceStatus m_cDevStatus = new DeviceStatus(); // 디바이스 관리
|
|
private PosOLEDevice.DelegateOlePos delegatePos;
|
|
private PosOLEDevice.DelegateIcReader delegateReader; // IC리더 콜백
|
|
//#20170918 IC 콜백 함수 변경 start
|
|
//포인트창에서 해피제휴 신용카드 리딩시 IC 우선 거래로 인해 '카드를 읽혀 주세요' 팝업 나오는 현상 수정.
|
|
/*
|
|
private PosOLEDevice.CallbackIc delegateReaderCardInfo; // IC리더 콜백(CardInfo)
|
|
private bool m_bCardInPut; //카드 입력 중복 방지
|
|
private string m_sIcChip; //IC CHIP DATA(EMV)
|
|
private string m_InputType = ""; //PosConst.POS_VAN_MASTER.VAN_KEYIN; //입력구분
|
|
private string m_sCardNo; //입력 카드 번호
|
|
private string m_sFallDiv; //FallBack구분
|
|
*/
|
|
//#20170918 IC 콜백 함수 변경 end
|
|
|
|
private IICReaderUs m_cDeviceICReader = null;
|
|
private ISignPadUs m_cDeviceSignPad = null;
|
|
private IDataProcessUs m_cDataService = null; // 거래데이터 합계금액 계산 및 관리
|
|
private IDataCommonUs m_cDataCommon = null; // POS 공통함수 인터페이스
|
|
private IPaymentExpUs m_cHappyPoint = null;
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|
private ISvr2Tran m_cSvr2Tran = null; // 서버시간 동기화
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|
|
|
private bool bNotDoubleClik = false; // 더블 클릭 방지용
|
|
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|
/// <summary>
|
|
/// 0: 일반, 1:웰컴카드에서오픈
|
|
/// </summary>
|
|
private string m_SetClientSearch;
|
|
public string SetClientSearch { set { this.m_SetClientSearch = value; } }
|
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|
|
|
private string m_sPosMenuKey;
|
|
/// <summary>
|
|
/// POS 기능키
|
|
/// </summary>
|
|
public string SetPosMenuKey { set { this.m_sPosMenuKey = value; } }
|
|
|
|
|
|
private string m_sHappyPointSave;
|
|
/// <summary>
|
|
/// 해피포인트 카드등록 구분(0:카드등록, 1:적립등록)
|
|
/// </summary>
|
|
public string SetHappyPointSave { set { this.m_sHappyPointSave = value; } }
|
|
|
|
/// <summary>
|
|
/// 입력구분
|
|
/// </summary>
|
|
private string m_sInPutType = "";
|
|
/// <summary>
|
|
/// 입력데이터
|
|
/// </summary>
|
|
private string m_sInPutData = "";
|
|
/// <summary>
|
|
/// 마스킹데이터
|
|
/// </summary>
|
|
private string m_sInMaskData = "";
|
|
/// <summary>
|
|
/// 카드데이터(암호화)
|
|
/// </summary>
|
|
private string m_sInEncData = "";
|
|
/// <summary>
|
|
/// 서비스코드
|
|
/// </summary>
|
|
private string m_sServiceCode = "";
|
|
/// <summary>
|
|
/// 승인카드번호
|
|
/// </summary>
|
|
private string m_sAppCardNo = "";
|
|
/// <summary>
|
|
/// 대상 금액
|
|
/// </summary>
|
|
private double m_nDestAmt = 0;
|
|
/// <summary>
|
|
/// 조회 성공 여부
|
|
/// </summary>
|
|
private bool m_bSearchSuccess = false;
|
|
/// <summary>
|
|
/// 쿠폰리스트 데이터
|
|
/// </summary>
|
|
private DataTable m_dtGridList;
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|
//포인트창 닫히는 시점에 안보이도록 수정 - 불필요해서 소스 주석
|
|
//private DateTime BuyHistTime = new DateTime();
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
#endregion 변수 선언
|
|
|
|
#region 생성자 & 소멸자 & 폼초기화
|
|
public frmPntHappyPoint()
|
|
{
|
|
InitializeComponent();
|
|
|
|
base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true);
|
|
//this.UpdateStyles();
|
|
|
|
m_cPosStatus = (PosStatus)StateObject.POS; // POS 기본정보
|
|
m_cTrnStatus = (TranStatus)StateObject.TRAN; // POS 거래정보
|
|
m_cDevStatus = (DeviceStatus)StateObject.DEVICE;
|
|
|
|
m_cDeviceICReader = (IICReaderUs)sManager.InitServiceInstance(ServiceLists.AGENT_OLEDEVICE.DLL, ServiceLists.AGENT_OLEDEVICE.DEVICE_ICREADER);
|
|
m_cDeviceSignPad = (ISignPadUs)sManager.InitServiceInstance(ServiceLists.AGENT_OLEDEVICE.DLL, ServiceLists.AGENT_OLEDEVICE.DEVICE_SIGNPAD);
|
|
m_cDataService = (IDataProcessUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_SERVICE);
|
|
m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
|
|
m_cHappyPoint = (IPaymentExpUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT);
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|
m_cSvr2Tran = (ISvr2Tran)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.SVR2TRAN);
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|
|
|
delegatePos = new PosOLEDevice.DelegateOlePos(OnDeviceEvent);
|
|
delegateReader = new PosOLEDevice.DelegateIcReader(OnIcReaderCallBack); // IC리더 콜백
|
|
//#20170918 IC 콜백 함수 변경 start
|
|
//포인트창에서 해피제휴 신용카드 리딩시 IC 우선 거래로 인해 '카드를 읽혀 주세요' 팝업 나오는 현상 수정.
|
|
//delegateReaderCardInfo = new PosOLEDevice.CallbackIc(OnIcReaderCallBackCardInfo); // IC리더 콜백(CardInfo)
|
|
//#20170918 IC 콜백 함수 변경 end
|
|
}
|
|
|
|
private void frmPointHappyPoint_Load(object sender, EventArgs e)
|
|
{
|
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "");
|
|
|
|
InitControl();
|
|
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT && m_sHappyPointSave == "0") // 해피포인트 카드등록 구분(0:카드등록, 1:적립등록)
|
|
{
|
|
// 고객화면 캠페인 컨텐츠 표시
|
|
ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|
cCampaingMain.CustDisplayCampaign(ItemConst.CPI_CUST_PAY_TYPE.HP_SAVE);
|
|
}
|
|
if (txtCardNo.ReadOnly == false)
|
|
{
|
|
tmrIcCard.Tag = "";
|
|
tmrIcCard.Enabled = true; // IC리더 콜백 설정
|
|
}
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|
// 타이머 호출
|
|
//적용시 true
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|
//포인트창 닫히는 시점에 안보이도록 수정 - 불필요해서 소스 주석
|
|
//tmrDateTime.Enabled = true;
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
//*****************************************************************************
|
|
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
|
|
//-----------------------------------------------------------------------------
|
|
// - 만약 해피포인트 카드 번호가 전역변수에 저장되어 있을 경우
|
|
// <- 전역변수 : m_cPosStatus.Sale.strHappyPointCardNo
|
|
// 오버로딩된 해피포인트 조회 함수(SearchTxtInPut)를 호출한다.
|
|
// - 오버로딩된 해피포인트 조회 함수에서는 해피포인트 카드번호를 표시/조회한다.
|
|
//-----------------------------------------------------------------------------
|
|
// - 오버로딩 함수 : SearchTxtInPut(Column.TR_ETC.DATA _cEtcItem, string _strHappyPointCardNo, string _strDiv)
|
|
//*****************************************************************************
|
|
#region 해피포인트 제휴할인 선리딩 처리
|
|
|
|
|
|
//#20180619 웰컴카드 개선사항 start
|
|
//기존
|
|
//if (m_cPosStatus.Sale.strHappyPointCardNo != "")
|
|
//변경
|
|
if (m_cPosStatus.Sale.strHappyPointCardNo != "" && m_SetClientSearch == "0")
|
|
//#20180619 웰컴카드 개선사항 end
|
|
|
|
{
|
|
//============================================================================
|
|
// 오버로딩된 해피포인트 조회 함수 호출
|
|
//----------------------------------------------------------------------------
|
|
// - 파라미터 : Column.TR_ETC.DATA, 해피포인트카드번호, 조회까지 실행할지 여부
|
|
//============================================================================
|
|
#region 오버로딩된 해피포인트 조회 함수 호출
|
|
//SearchTxtInPut(null, m_cPosStatus.Sale.strHappyPointCardNo, ""); // 카드번호만 표시
|
|
//SearchTxtInPut(null, m_cPosStatus.Sale.strHappyPointCardNo, "조회"); // 조회까지 수행
|
|
SearchTxtInPut(null, m_cPosStatus.Sale.strHappyPointCardNo, btnEnter); // 등록까지 수행
|
|
#endregion
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
private void frmPointHappyPoint_Activated(object sender, EventArgs e)
|
|
{
|
|
PosOLEDevice.SetEventHandle(delegatePos);
|
|
}
|
|
|
|
private void frmPointHappyPoint_Deactivate(object sender, EventArgs e)
|
|
{
|
|
PosOLEDevice.SetEventHandle(null);
|
|
}
|
|
|
|
private void frmPointHappyPoint_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
tmrIcCard.Tag = "CLOSE";
|
|
//// 마우스(이중클릭방지)
|
|
//Point nPoint = System.Windows.Forms.Cursor.Position;
|
|
//Cursor.Clip = new System.Drawing.Rectangle(1024, 0, 1, 1);
|
|
//this.Update();
|
|
|
|
UnRegIcCallback(); // IC리더 콜백 해지
|
|
InDataToZeroFill();
|
|
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|
//기존
|
|
//if (m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT_SCH) FormManager.SetFormAllControlMove(this, 216, 123);
|
|
//변경
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT_SCH && m_SetClientSearch != "2") FormManager.SetFormAllControlMove(this, 216, 123);
|
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|
|
|
|
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", lblTitle.Text);
|
|
|
|
//// 마우스(이중클릭방지)
|
|
//Cursor.Clip = Screen.PrimaryScreen.Bounds;
|
|
//Cursor.Position = nPoint;
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|
// 타이머 호출
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|
//포인트창 닫히는 시점에 안보이도록 수정 - 불필요해서 소스 주석
|
|
//tmrDateTime.Enabled = false;
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|
//포인트창 닫히는 시점에 안보이도록 수정
|
|
//고객 구매이력 화면 미표시
|
|
pnlBuyHistMot.Visible = false;
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|
}
|
|
|
|
/// <summary>
|
|
/// 폼 컨트롤 초기화
|
|
/// </summary>
|
|
private void InitControl()
|
|
{
|
|
try
|
|
{
|
|
// 이미지 로딩 처리
|
|
|
|
FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT);
|
|
FormManager.SetTextBoxGlobalInfo(this, m_cPosStatus.Global.m_stCultureMaster.nGroupingDigits,
|
|
m_cPosStatus.Global.m_stCultureMaster.strGroupingSymbol,
|
|
m_cPosStatus.Global.m_stCultureMaster.nDecimalDigits,
|
|
m_cPosStatus.Global.m_stCultureMaster.strDecimalSymbol);
|
|
|
|
btnEnter.BackColor = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
|
|
|
|
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.NAVIBTN_14X9_UP1_BASIC);
|
|
btnUp.ImageAlign = ContentAlignment.MiddleCenter;
|
|
btnUp.BorderStyle = BorderStyle.None;
|
|
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.NAVIBTN_14X9_DOWN1_BASIC);
|
|
btnDown.ImageAlign = ContentAlignment.MiddleCenter;
|
|
btnDown.BorderStyle = BorderStyle.None;
|
|
|
|
if (btnUp.Image != null) btnUp.Text = "";
|
|
if (btnDown.Image != null) btnDown.Text = "";
|
|
|
|
btnExit.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BTN_CLOSE);
|
|
if (btnExit.Image != null) btnExit.Text = "";
|
|
|
|
btnCatApp.Visible = false;
|
|
|
|
//#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj
|
|
//적용 시 주석처리하고 아래 것으로 변경
|
|
//pnlBuyHistMot.BackColor = Color.FromArgb(70, 86, 98);
|
|
//pnlBuyHistMot.ForeColor = Color.White;
|
|
//lblBuyHistMot.BackColor = Color.FromArgb(70, 86, 98);
|
|
//lblBuyHistMot.ForeColor = Color.White;
|
|
|
|
//적용 시 주석해제
|
|
pnlBuyHistMot.BackColor = Color.FromArgb(255, 255, 128);
|
|
pnlBuyHistMot.ForeColor = Color.Black;
|
|
lblBuyHistMot.BackColor = Color.FromArgb(255, 255, 128);
|
|
lblBuyHistMot.ForeColor = Color.Black;
|
|
//#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|
FormManager.SetControlSize(pnlBuyHist, padInPut.Location.X, padInPut.Location.Y, padInPut.Width, padInPut.Height);
|
|
pnlBuyHist.Visible = false;
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|
pnlBuyHistMot.Visible = false;
|
|
FormManager.SetControlSize(pnlBuyHistMot, 20, 21, 983, 96, 16);
|
|
FormManager.SetControlSize(lblBuyHistMot, 20, 21, 983, 96, 16);
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|
|
|
//#15525 고객구매이력 수정 요청 start
|
|
//VIP 여부 안내 표시
|
|
pnlBuyHistVip.Visible = false;
|
|
FormManager.SetControlSize(pnlBuyHistVip, 311, 123, 402, 400);
|
|
//pnlBuyHistVip.Location = new Point(290, 50);
|
|
//#15525 고객구매이력 수정 요청 end
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
//컴퍼넌트 visible 초기화
|
|
lblPayAmt.Visible = true;
|
|
lblTotSavePoint.Visible = true;
|
|
//lblUsablePoint.Visible = true;
|
|
lblBasicPoint.Visible = true;
|
|
lblAddPoint.Visible = true;
|
|
lblAddPointNm.Visible = true;
|
|
lblBox2.Visible = true;
|
|
lblBox3.Visible = true;
|
|
//lblBox4.Visible = true;
|
|
lblBox5.Visible = true;
|
|
lblBox6.Visible = true;
|
|
////////////////////////////////////////
|
|
label8.Visible = true;
|
|
////////////////////////////////////////
|
|
txtPayAmt.Visible = true;
|
|
txtTotSavePoint.Visible = true;
|
|
txtUsablePoint.Visible = true;
|
|
txtBasicPoint.Visible = true;
|
|
txtAddPoint.Visible = true;
|
|
////////////////////////////////////////
|
|
gridList.Visible = true;
|
|
btnUp.Visible = true;
|
|
btnDown.Visible = true;
|
|
////////////////////////////////////////
|
|
btnPrint.Visible = true;
|
|
btnPointUse.Visible = true;
|
|
btnCatApp.Visible = false;
|
|
btnEnter.Visible = true;
|
|
|
|
|
|
lblWelcom.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1160);
|
|
//#20180628 멤버십카드 발급 버튼 명칭 메시지 처리 start
|
|
btnWccIssue.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1131);
|
|
//#20180628 멤버십카드 발급 버튼 명칭 메시지 처리 end
|
|
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT516) == "1" &&
|
|
m_SetClientSearch == "0" &&
|
|
m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT)
|
|
{
|
|
lblWelcom.Visible = true;
|
|
lblBox7.Visible = true;
|
|
txtWccIssue.Visible = true;
|
|
txtWccIssue.Text = "";
|
|
btnWccIssue.Visible = false;
|
|
}
|
|
else
|
|
{
|
|
lblWelcom.Visible = false;
|
|
lblBox7.Visible = false;
|
|
txtWccIssue.Visible = false;
|
|
txtWccIssue.Text = "";
|
|
btnWccIssue.Visible = false;
|
|
}
|
|
|
|
lblInfo.Visible = false;
|
|
lblInfo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1158);
|
|
lblInfo.Location = new System.Drawing.Point(228, 235);
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
|
|
if (m_sPosMenuKey != PosKey.MENU_KEY.HAPPY_POINT || m_sHappyPointSave != "1")
|
|
{
|
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|
//기존
|
|
/*
|
|
FormManager.SetControlSize(gridList, 238, 350, 374, 106);
|
|
FormManager.SetControlSize(btnUp, 615, 350, 31, 51);
|
|
FormManager.SetControlSize(btnDown, 615, 404, 31, 51);
|
|
gridList.Visible = true;
|
|
btnUp.Visible = true;
|
|
btnDown.Visible = true;
|
|
lblBasicPoint.Visible = false;
|
|
lblAddPoint.Visible = false;
|
|
lblAddPointNm.Visible = false;
|
|
txtBasicPoint.Visible = false;
|
|
txtAddPoint.Visible = false;
|
|
//lblLine06.Visible = false;
|
|
//lblLine07.Visible = false;
|
|
lblBox5.Visible = false;
|
|
lblBox6.Visible = false;
|
|
*/
|
|
|
|
//변경
|
|
if (m_SetClientSearch != "2")
|
|
{
|
|
FormManager.SetControlSize(gridList, 238, 350, 374, 106);
|
|
FormManager.SetControlSize(btnUp, 615, 350, 31, 51);
|
|
FormManager.SetControlSize(btnDown, 615, 404, 31, 51);
|
|
gridList.Visible = true;
|
|
btnUp.Visible = true;
|
|
btnDown.Visible = true;
|
|
lblBasicPoint.Visible = false;
|
|
lblAddPoint.Visible = false;
|
|
lblAddPointNm.Visible = false;
|
|
txtBasicPoint.Visible = false;
|
|
txtAddPoint.Visible = false;
|
|
//lblLine06.Visible = false;
|
|
//lblLine07.Visible = false;
|
|
lblBox5.Visible = false;
|
|
lblBox6.Visible = false;
|
|
}
|
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|
}
|
|
else
|
|
{
|
|
gridList.Visible = false;
|
|
btnUp.Visible = false;
|
|
btnDown.Visible = false;
|
|
|
|
lblBasicPoint.Visible = true;
|
|
lblAddPoint.Visible = true;
|
|
lblAddPointNm.Visible = true;
|
|
txtBasicPoint.Visible = true;
|
|
txtAddPoint.Visible = true;
|
|
//lblLine06.Visible = true;
|
|
//lblLine07.Visible = true;
|
|
lblBox5.Visible = true;
|
|
lblBox6.Visible = true;
|
|
|
|
if (m_cDevStatus.CatTerminal.UseYn == true)
|
|
btnCatApp.Visible = true;
|
|
}
|
|
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT_SCH)
|
|
{
|
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|
//기존
|
|
/*
|
|
this.Size = new Size(788, 402);
|
|
picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_SIZE_S);
|
|
FormManager.SetFormAllControlMove(this, -216, -123);
|
|
FormManager.MovePopUpForm(this, false, m_cPosStatus.Sale.ScreenSizeUser);
|
|
|
|
// 해피포인트 조회
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0365);
|
|
|
|
lblPayAmt.Visible = false;
|
|
txtPayAmt.Visible = false;
|
|
lblBox2.Visible = false;
|
|
|
|
btnPrint.Visible = true;
|
|
btnEnter.Visible = false;
|
|
*/
|
|
|
|
//변경
|
|
//m_SetClientSearch 1: 영업메뉴에서오픈, 2:결제화면에서오픈
|
|
|
|
if (m_SetClientSearch == "2")
|
|
{
|
|
this.Location = new Point(0, 50);
|
|
this.Size = new Size(1024, 525);
|
|
picBack.Size = new Size(1024, 525);
|
|
|
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|
//기존
|
|
//picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.PAY_MAIN_BACKGROUND);
|
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|
|
|
}
|
|
else if (m_SetClientSearch == "1")
|
|
{
|
|
this.Size = new Size(788, 402);
|
|
|
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|
//기존
|
|
//picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_SIZE_S);
|
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|
|
|
FormManager.SetFormAllControlMove(this, -216, -123);
|
|
FormManager.MovePopUpForm(this, false, m_cPosStatus.Sale.ScreenSizeUser);
|
|
}
|
|
else
|
|
{
|
|
this.Size = new Size(788, 402);
|
|
|
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|
//기존
|
|
//picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_SIZE_S);
|
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|
|
|
FormManager.SetFormAllControlMove(this, -216, -123);
|
|
FormManager.MovePopUpForm(this, false, m_cPosStatus.Sale.ScreenSizeUser);
|
|
|
|
// 해피포인트 조회
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0365);
|
|
|
|
lblPayAmt.Visible = false;
|
|
txtPayAmt.Visible = false;
|
|
lblBox2.Visible = false;
|
|
|
|
btnPrint.Visible = true;
|
|
btnEnter.Visible = false;
|
|
}
|
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|
}
|
|
else
|
|
{
|
|
this.Location = new Point(0, 50);
|
|
this.Size = new Size(1024, 525);
|
|
picBack.Size = new Size(1024, 525);
|
|
|
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|
//기존
|
|
//picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.PAY_MAIN_BACKGROUND);
|
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|
|
|
if (m_sHappyPointSave == "1") // 해피포인트 카드등록 구분(0:카드등록, 1:적립등록)
|
|
{
|
|
// 해피포인트 적립
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0108);
|
|
|
|
btnEnter.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0134);
|
|
}
|
|
else
|
|
{
|
|
// 해피포인트 카드등록
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0365);
|
|
|
|
btnEnter.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0126);
|
|
|
|
// 고객화면 캠페인 컨텐츠 표시
|
|
ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|
cCampaingMain.CustDisplayCampaign(ItemConst.CPI_CUST_PAY_TYPE.HP_SAVE);
|
|
}
|
|
|
|
lblPayAmt.Visible = true;
|
|
txtPayAmt.Visible = true;
|
|
lblBox2.Visible = true;
|
|
|
|
btnPrint.Visible = false;
|
|
btnEnter.Visible = true;
|
|
|
|
}
|
|
|
|
lblCardNo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0051);
|
|
lblPayAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098);
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
//기존
|
|
/*
|
|
lblTotSavePoint.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0071);
|
|
lblUsablePoint.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0070);
|
|
*/
|
|
//변경
|
|
lblTotSavePoint.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1159);
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
|
|
lblBasicPoint.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0728);
|
|
lblAddPoint.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0729);
|
|
lblAddPointNm.Text = "";
|
|
|
|
btnIcCard.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0132);
|
|
btnRfCard.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0580);
|
|
btnPopCard.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0878);
|
|
|
|
btnPinPad.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0097);
|
|
btnPrint.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0257);
|
|
btnSearch.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0004);
|
|
btnCatApp.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0854);
|
|
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
|
|
csmLabel5.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1123);
|
|
csmLabel6.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1124);
|
|
csmLabel7.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1125);
|
|
csmLabel8.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1126);
|
|
csmLabel9.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1127);
|
|
csmLabel10.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1128);
|
|
csmLabel14.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1129);
|
|
csmLabel15.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1130);
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|
|
|
//#20180119 해피포인트 사용, 오케이 캐쉬백 사용 start,phj
|
|
//주석
|
|
//btnPointUse.Visible = false;
|
|
|
|
btnPointUse.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0629);
|
|
|
|
if ((m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT) || (m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT_USE))
|
|
{
|
|
btnPointUse.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
btnPointUse.Visible = false;
|
|
}
|
|
//#20180119 해피포인트 사용, 오케이 캐쉬백 사용 end,phj
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|
|
|
//#20180619 웰컴카드 개선사항 start
|
|
//기존
|
|
//if (m_SetClientSearch != "")
|
|
//변경
|
|
if (m_SetClientSearch != "0")
|
|
//#20180619 웰컴카드 개선사항 end
|
|
{
|
|
// 해피포인트 고객등록 대상 조회
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1132);
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
lblInfo.Visible = true;
|
|
lblInfo.BringToFront();
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
|
|
// 웰컴카드 발급화면에서 열었을 경우 아래 컴포넌트는 visible false 처리
|
|
lblPayAmt.Visible = false;
|
|
lblTotSavePoint.Visible = false;
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
//lblUsablePoint.Visible = false;
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
lblBasicPoint.Visible = false;
|
|
lblAddPoint.Visible = false;
|
|
lblAddPointNm.Visible = false;
|
|
lblBox2.Visible = false;
|
|
lblBox3.Visible = false;
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
//lblBox4.Visible = false;
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
lblBox5.Visible = false;
|
|
lblBox6.Visible = false;
|
|
////////////////////////////////////////
|
|
label8.Visible = false;
|
|
////////////////////////////////////////
|
|
txtPayAmt.Visible = false;
|
|
txtTotSavePoint.Visible = false;
|
|
txtUsablePoint.Visible = false;
|
|
txtBasicPoint.Visible = false;
|
|
txtAddPoint.Visible = false;
|
|
////////////////////////////////////////
|
|
gridList.Visible = false;
|
|
btnUp.Visible = false;
|
|
btnDown.Visible = false;
|
|
////////////////////////////////////////
|
|
btnPrint.Visible = false;
|
|
btnPointUse.Visible = false;
|
|
btnCatApp.Visible = false;
|
|
btnEnter.Visible = false;
|
|
|
|
//#20180619 웰컴카드 개선사항 start
|
|
//웰컴카드 해피포인트 조회 시 하단의 '조회'버튼을 '등록'으로 명칭 변경
|
|
btnSearch.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0126);
|
|
//#20180619 웰컴카드 개선사항 end
|
|
}
|
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|
|
|
// 기능 버튼 설정 체크
|
|
FormManager.SetbtnMenu(txtCardNo, m_cDevStatus.ICReader.UseYn, btnIcCard, btnRfCard, btnPopCard, btnPinPad);
|
|
|
|
//20171219_적립대상금액 체크 수정 기존_hs start
|
|
//m_nDestAmt = m_cDataService.GetPluTagetAmount(PosKey.MENU_KEY.HAPPY_POINT); // 적립 대상 금액
|
|
//txtPayAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_nDestAmt);
|
|
|
|
//#20171221 적립대상금액 계산 변경 start, 20171222
|
|
//기존
|
|
//m_nDestAmt = m_cDataService.GetPluTagetAmount(PosKey.MENU_KEY.HAPPY_POINT); // 적립 대상 금액
|
|
//변경
|
|
m_cTrnStatus.Head.AftSavePoint = m_cDataService.GetPluTagetAmount(PosKey.MENU_KEY.HAPPY_POINT); // 적립 대상 금액
|
|
//#20171221 적립대상금액 계산 변경 end, 20171222
|
|
|
|
// 캠페인(해피포인트 적립) 설정 처리
|
|
ICampaignUs cCampaingMainCheck = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|
cCampaingMainCheck.ExecuteCampaignHappyPointSave(PosConst.CAMPAIGN_PAY_KEY.HP_SAVE, (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { }));
|
|
|
|
//#20171221 적립대상금액 계산 변경 start
|
|
//기본적립대상 + 추가적립대상 둘다 있는 경우 기본적립대상 금액만 표시되는 증상
|
|
//기존
|
|
//m_nDestAmt = m_cTrnStatus.Head.AftSavePoint; // 적립대상금액 - 캠페인적립대상금액이 있을 경우 변경
|
|
//변경
|
|
//#20171221 적립대상금액 계산 변경 start, 20171222
|
|
m_nDestAmt = m_cTrnStatus.Head.AftSavePoint;
|
|
//#20171221 적립대상금액 계산 변경 end, 20171222
|
|
|
|
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
|
|
{
|
|
//#20180312 추가적립 캠페인 대상상품 적립대상금액 2배 표시 되는 증상 수정 start
|
|
//기존
|
|
/*
|
|
string sAddHpAccumeYN = m_cTrnStatus.Head.AftSaveAddInfo.ToString().Substring(25, 1);
|
|
double sAddHpAccumeAmt = CmUtil.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.ToString().Substring(10, 15));
|
|
|
|
if (sAddHpAccumeYN == "Y")
|
|
{
|
|
m_nDestAmt = m_nDestAmt + sAddHpAccumeAmt; // 적립대상금액 - 캠페인적립대상금액이 있을 경우 변경
|
|
}
|
|
*/
|
|
//변경
|
|
string sAddHpCpiCd = m_cTrnStatus.Head.AftSaveAddInfo.ToString().Substring(0, 10).Trim();
|
|
string sAddHpAccumeYN = m_cTrnStatus.Head.AftSaveAddInfo.ToString().Substring(25, 1).Trim();
|
|
double sAddHpAccumeAmt = CmUtil.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.ToString().Substring(10, 15).Trim());
|
|
|
|
if (sAddHpAccumeYN == "Y" && sAddHpCpiCd == "")
|
|
{
|
|
m_nDestAmt = m_nDestAmt + sAddHpAccumeAmt; // 적립대상금액 - 캠페인적립대상금액이 있을 경우 변경
|
|
}
|
|
//#20180312 추가적립 캠페인 대상상품 적립대상금액 2배 표시 되는 증상 수정 end
|
|
}
|
|
//#20171221 적립대상금액 계산 변경 end
|
|
|
|
txtPayAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_nDestAmt);
|
|
//20171219_적립대상금액 체크 수정 기존_hs end
|
|
|
|
InitializeGrid();
|
|
InitPayMainBack(m_cPosStatus, m_cDataCommon, m_sPosMenuKey, PosConst.MOT_MSG_TYPE.PAY_STEP_1, "");
|
|
|
|
ClearCardInfo(); // 카드 입력 정보 클리어
|
|
txtUsablePoint.ForeColor = Color.Red;
|
|
bNotDoubleClik = false;
|
|
|
|
// 무결성 실패후 진행시 오류 메시지 표시
|
|
if (m_cDevStatus.ICReader.UseYn == true) // 여신전문금융업법 적용여부 체크
|
|
{
|
|
//#20171208, RF버튼 선택 시에만 서명패드 무결성 체크하도록 수정 Start
|
|
/*(if (m_cDevStatus.ICReader.Integrity_IC_Status != true && m_cDevStatus.ICReader.UseYn == true && m_cDevStatus.ICReader.Integrity_SignPad_Status != true && m_cDevStatus.SignPad.UseYn == true) WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0388);
|
|
else
|
|
{
|
|
if (m_cDevStatus.ICReader.Integrity_IC_Status != true && m_cDevStatus.ICReader.UseYn == true) WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0384);
|
|
if (m_cDevStatus.ICReader.Integrity_SignPad_Status != true && m_cDevStatus.SignPad.UseYn == true) WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0385);
|
|
}*/
|
|
if (m_cDevStatus.ICReader.Integrity_IC_Status != true && m_cDevStatus.ICReader.UseYn == true) WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0384);
|
|
//#20171208, RF버튼 선택 시에만 서명패드 무결성 체크하도록 수정 End
|
|
}
|
|
|
|
// 해피포인트 카드 등록 여부 체크
|
|
ArrayList alTrEtc = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|
foreach (Column.TR_ETC.DATA cEtcItem in alTrEtc)
|
|
{
|
|
if (cEtcItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
|
|
|
|
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|
|
{
|
|
//m_sInPutType = cEtcItem.OCCUR_ENTRY_05; // 입력구분
|
|
//m_sInMaskData = cEtcItem.OCCUR_ENTRY_01; // 마스킹
|
|
//m_sInEncData = cEtcItem.CanFiller1; // 카드데이터
|
|
//m_sInPutData = cEtcItem.CanFiller3; // 입력데이터
|
|
//m_sAppCardNo = cEtcItem.OCCUR_ENTRY_14; // 승인카드번호
|
|
|
|
m_sInPutType = cEtcItem.OCCUR_ENTRY_05; // 입력구분
|
|
|
|
|
|
//#12326 PC 서울역SW_해피포인트 마그네틱 포인트 적립시에 에러 발생 start, 20171109 phj
|
|
//기존
|
|
//m_sInPutData = cEtcItem.OCCUR_ENTRY_14; // 입력데이터
|
|
//변경
|
|
m_sInPutData = cEtcItem.CanFiller3; // 입력데이터
|
|
//#12326 PC 서울역SW_해피포인트 마그네틱 포인트 적립시에 에러 발생 end, 20171109 phj
|
|
|
|
m_sInMaskData = cEtcItem.OCCUR_ENTRY_01; // 마스킹
|
|
m_sInEncData = cEtcItem.CanFiller1; // 카드데이터
|
|
m_sAppCardNo = cEtcItem.OCCUR_ENTRY_14; // 승인카드번호
|
|
|
|
|
|
txtCardNo.Value = m_sInPutData;
|
|
SearchTxtInPut(cEtcItem);
|
|
break;
|
|
}
|
|
}
|
|
|
|
txtCardNo.Value = m_sInPutData;
|
|
|
|
if (m_sInPutData == "")
|
|
{
|
|
btnSearch.Enabled = true;
|
|
btnIcCard.Enabled = true;
|
|
btnRfCard.Enabled = true;
|
|
btnPinPad.Enabled = true;
|
|
|
|
txtCardNo.ReadOnly = false;
|
|
|
|
// 스마일페이 등록 여부 체크
|
|
ArrayList alTrPay = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
|
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPay)
|
|
{
|
|
if (cPayItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
|
|
|
|
//#20170731, 해피기프트카드(코나머니) 개발 Start, srlee
|
|
/*if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY)
|
|
{
|
|
txtCardNo.Value = cPayItem.CanFiller2.Trim();
|
|
break;
|
|
}*/
|
|
|
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY)
|
|
{
|
|
txtCardNo.Value = cPayItem.CanFiller2.Trim();
|
|
break;
|
|
}
|
|
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 Start, srlee
|
|
else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HPGIFT_CARD && cPayItem.CanFiller2 != "")
|
|
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 End, srlee
|
|
{
|
|
txtCardNo.Value = cPayItem.CanFiller2.Trim();
|
|
}
|
|
//#20170731, 해피기프트카드(코나머니) 개발 End, srlee
|
|
}
|
|
}
|
|
else
|
|
{
|
|
btnSearch.Enabled = false;
|
|
btnIcCard.Enabled = false;
|
|
btnRfCard.Enabled = false;
|
|
btnPinPad.Enabled = false;
|
|
|
|
txtCardNo.ReadOnly = true;
|
|
}
|
|
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT && m_sHappyPointSave == "1") // 해피포인트 카드등록 구분(0:카드등록, 1:적립등록)
|
|
{
|
|
if (m_sInPutData == "")
|
|
txtCardNo.Select();
|
|
else
|
|
txtPayAmt.Select();
|
|
}
|
|
else
|
|
{
|
|
txtCardNo.Select();
|
|
}
|
|
txtPayAmt.ReadOnly = 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);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 그리드 초기화
|
|
/// </summary>
|
|
private void InitializeGrid()
|
|
{
|
|
try
|
|
{
|
|
gridList.CsmGridColumnHeadersFont = new Font(m_cPosStatus.Base.FONT, 11, gridList.CsmGridColumnHeadersFont.Style);
|
|
|
|
//DataGridView 자체의 컬럼 헤더 Visible 여부
|
|
gridList.CsmGridColumnHeadersVisible = true;
|
|
//DataGridView 자체의 컬럼 헤더 높이
|
|
gridList.CsmGridColumnHeadersHeight = 34;
|
|
gridList.CsmGridRowsHeight = 35;
|
|
//그리드의 컬럼 수
|
|
gridList.CsmGridColumnCount = 4;
|
|
//그리드의 한 화면에 보이는 로우수
|
|
gridList.CsmGridShowPageRowsCount = 2;
|
|
|
|
gridList.CsmGridSetHeaderBackColor(236, 238, 239); //그리드 헤더 배경색
|
|
gridList.CsmGridDefaultRowBackColor = Color.FromArgb(255, 255, 255); //그리드 홀수(Default)행의 배경색 지정
|
|
gridList.CsmGridAlternateRowBackColor = Color.FromArgb(251, 253, 255); //그리드 짝수(Alternate)행의 배경색 지정
|
|
gridList.CsmGridBackGroundColor = Color.FromArgb(251, 253, 255); //기본 백그라운드 컬러
|
|
gridList.CsmGridHighlightColor = Color.FromArgb(255, 251, 211); //그리드 선택 백 컬러
|
|
gridList.CsmGridHighlightTextColor = Color.Black; //그리드 선택 글자 컬러
|
|
|
|
//각 컬럼별 이름 지정
|
|
gridList.CsmGridColumnName(0, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0139));
|
|
gridList.CsmGridColumnName(1, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0140));
|
|
gridList.CsmGridColumnName(2, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0141));
|
|
gridList.CsmGridColumnName(3, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0142));
|
|
|
|
//컬럼넓이 지정
|
|
gridList.CsmGridSetColumnWidth(new int[] { 0, 184, 95, 95 });
|
|
//gridList.CsmGridSetColumnWidth(new int[] { 100, 160, 76, 76 });
|
|
|
|
//컬럼 정렬 0:왼쪽, 1:가운데, 2:오른쪽
|
|
gridList.CsmGridAlignment(new int[] { 0, 0, 0, 0 });
|
|
|
|
m_dtGridList = new DataTable("GRID_LIST");
|
|
m_dtGridList.Columns.Add(new DataColumn("COUPON_CD", typeof(string)));
|
|
m_dtGridList.Columns.Add(new DataColumn("COUPON_NM", typeof(string)));
|
|
m_dtGridList.Columns.Add(new DataColumn("START_DT", typeof(string)));
|
|
m_dtGridList.Columns.Add(new DataColumn("END_DT", typeof(string)));
|
|
m_dtGridList.Clear();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 카드 입력 정보 클리어
|
|
/// </summary>
|
|
private void ClearCardInfo()
|
|
{
|
|
try
|
|
{
|
|
m_sInPutType = ""; // 입력구분
|
|
m_sInPutData = ""; // 입력데이터
|
|
m_sInMaskData = ""; // 마스킹
|
|
m_sInEncData = ""; // 카드데이터
|
|
m_sServiceCode = ""; // 서비스코드
|
|
m_sAppCardNo = ""; // 승인카드번호
|
|
|
|
txtUsablePoint.Text = "";
|
|
txtTotSavePoint.Text = "";
|
|
txtBasicPoint.Text = "";
|
|
txtAddPoint.Text = "";
|
|
|
|
m_bSearchSuccess = false;
|
|
m_dtGridList.Clear();
|
|
gridList.CsmGridDataSource = m_dtGridList;
|
|
|
|
txtPayAmt.ReadOnly = 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);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
//#20180119 해피포인트 사용, 오케이 캐쉬백 사용 start,phj
|
|
/// <summary>
|
|
/// 해피포인트 사용화면 오픈
|
|
/// </summary>
|
|
|
|
private void HappyPointUseForm()
|
|
{
|
|
try
|
|
{
|
|
frmPntHappyPointUse fForm = (frmPntHappyPointUse)FormManager.GetForm(FormManager.FORM_PAY_POINT_HAPPY_POINT_USE);
|
|
if (fForm == null)
|
|
{
|
|
fForm = new frmPntHappyPointUse();
|
|
|
|
FormManager.AddForm(FormManager.FORM_PAY_POINT_HAPPY_POINT_USE, fForm);
|
|
}
|
|
fForm.SetPosMenuKey = PosKey.MENU_KEY.HAPPY_POINT_USE; //00078;
|
|
fForm.ShowDialog();
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
|
|
//#20180119 해피포인트 사용, 오케이 캐쉬백 사용 end,phj
|
|
|
|
#region 버튼 입력 처리
|
|
/// <summary>
|
|
/// 버튼 입력 처리
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btnProc_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (bNotDoubleClik) return;
|
|
bNotDoubleClik = true;
|
|
|
|
if (((Cosmos.UI.CsmButton)sender) == btnIcCard) // 카드입력
|
|
{
|
|
if (GetIcCardData(e != null ? true : false) == true)
|
|
{
|
|
bNotDoubleClik = false;
|
|
txtEditBox_EditBoxKeyDownEvent(txtCardNo, PosKey.MENU_KEY.ENTER);
|
|
}
|
|
}
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnRfCard) // RF카드
|
|
{
|
|
UnRegIcCallback(); // IC리더 콜백 해지
|
|
if (GetRfCardData() == true)
|
|
{
|
|
bNotDoubleClik = false;
|
|
txtEditBox_EditBoxKeyDownEvent(txtCardNo, PosKey.MENU_KEY.ENTER);
|
|
}
|
|
if (txtCardNo.Value == "") tmrIcCard.Enabled = true;
|
|
}
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnPopCard) // POP카드
|
|
{
|
|
UnRegIcCallback(); // IC리더 콜백 해지
|
|
if (GetPopCardData() == true)
|
|
{
|
|
bNotDoubleClik = false;
|
|
txtEditBox_EditBoxKeyDownEvent(txtCardNo, PosKey.MENU_KEY.ENTER);
|
|
}
|
|
if (txtCardNo.Value == "") tmrIcCard.Enabled = true;
|
|
}
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnPinPad) // 핀패드
|
|
{
|
|
UnRegIcCallback(); // IC리더 콜백 해지
|
|
if (GetPinPadData() == true)
|
|
{
|
|
bNotDoubleClik = false;
|
|
txtEditBox_EditBoxKeyDownEvent(txtCardNo, PosKey.MENU_KEY.ENTER);
|
|
}
|
|
if (txtCardNo.Value == "") tmrIcCard.Enabled = true;
|
|
}
|
|
//#20180119 해피포인트 사용, 오케이 캐쉬백 사용 start,phj
|
|
//주석
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnPointUse) // 사용
|
|
{
|
|
//#20180219 통신사할인 후 포인트 사용할 수 없도록 수정 start,phj
|
|
if (m_cDataCommon.PayDcDuplicationCheck(ItemConst.TR_ITEM_ID.POINT_ITEM, ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT, true) == false) return;
|
|
//#20180219 통신사할인 후 포인트 사용할 수 없도록 수정 end,phj
|
|
|
|
//자동등록 후 [사용] 화면 열리도록 함.
|
|
if (txtCardNo.Value != "")
|
|
{
|
|
CompleteTxtInPut(2);
|
|
}
|
|
else
|
|
{
|
|
HappyPointUseForm();
|
|
}
|
|
}
|
|
|
|
//#20180119 해피포인트 사용, 오케이 캐쉬백 사용 end,phj
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnSearch) // 조회
|
|
{
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
//기존
|
|
//SearchTxtInPut(null); // 조회
|
|
//변경
|
|
bool bSch = SearchTxtInPut(null); // 조회
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|
|
|
//#20180619 웰컴카드 개선사항 start
|
|
//기존
|
|
//if (m_SetClientSearch != "")
|
|
//변경
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
//기존
|
|
//if (m_SetClientSearch != "0")
|
|
//변경
|
|
if (m_SetClientSearch != "0" && bSch == true)
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
|
|
//#20180619 웰컴카드 개선사항 end
|
|
{
|
|
bNotDoubleClik = false;
|
|
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
return;
|
|
}
|
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|
}
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnEnter) // 승인
|
|
{
|
|
CompleteTxtInPut(0);
|
|
}
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnCatApp) // Cat단말기 승인
|
|
{
|
|
CompleteTxtInPut(1);
|
|
}
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnWccIssue) // 웰컴카드 발급
|
|
{
|
|
WelcomeCard_Issue();
|
|
}
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnPrint) // 출력
|
|
{
|
|
PrintTxtInPut();
|
|
}
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnUp)
|
|
{
|
|
gridList.CsmGridScroll("UP");
|
|
}
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnDown)
|
|
{
|
|
gridList.CsmGridScroll("DOWN");
|
|
}
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnExit)
|
|
{
|
|
ArrayList alTrEtc = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|
foreach (Column.TR_ETC.DATA cEtcItem in alTrEtc)
|
|
{
|
|
if (cEtcItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
|
|
|
|
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|
|
{
|
|
cEtcItem.CANCEL_DIV = PosConst.CANCEL_DIV.CANCEL;
|
|
if (m_sHappyPointSave != "1") // 해피포인트 카드등록 구분(0:카드등록, 1:적립등록))
|
|
{
|
|
// 캠페인 취소 처리
|
|
ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|
cCampaingMain.ExecuteCampaignPluHappyPoint("", false, "", "", "", ""); // 상품 캠페인 계산
|
|
}
|
|
}
|
|
}
|
|
bNotDoubleClik = false;
|
|
|
|
this.DialogResult = DialogResult.Cancel;
|
|
this.Close();
|
|
return;
|
|
}
|
|
padInPut.SetActiveFocus();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
bNotDoubleClik = false;
|
|
}
|
|
bNotDoubleClik = false;
|
|
}
|
|
#endregion
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|
#region 고객 구매이력 정보 버튼 입력 처리
|
|
/// <summary>
|
|
/// 고객 구매이력 정보 버튼 입력 처리
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btnBuyList_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (((Cosmos.UI.CsmButton)sender) == btnBuyListCls)
|
|
{
|
|
pnlBuyHist.Visible = false;
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|
pnlBuyHistMot.Visible = false;
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
}
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnCpnSend)
|
|
{
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180508
|
|
//[쿠폰발송] 버튼 클릭시 '쿠폰발송 기능은 추후 오픈 예정입니다.' 팝업 출력
|
|
|
|
//#20180605 해피쿠폰 발송 해당 옵션 체크 기능 제외 start
|
|
/*
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT513) != "1")
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0785);
|
|
return;
|
|
}
|
|
*/
|
|
//#20180605 해피쿠폰 발송 해당 옵션 체크 기능 제외 end
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180508
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//적용시 주석 해제
|
|
|
|
if (m_cPosStatus.Mst.HpyCokStorYn != "1")
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0786);
|
|
return;
|
|
}
|
|
|
|
if (m_cPosStatus.Mst.CpnSendYn != "1")
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0787);
|
|
return;
|
|
}
|
|
|
|
if (m_cPosStatus.Sale.sRegularYN != "Y")
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0788);
|
|
return;
|
|
}
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180502
|
|
//기능키 추가 후 권한 체크 기능 적용
|
|
if (WinBasic.CheckMenuKeyAuth(PosKey.MENU_KEY.HPYCPN_SEND) == false) return; // 기능키 판매원 권한 체크
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180502
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180528
|
|
//쿠폰 발송 횟수 제한 기능
|
|
|
|
//저장된 쿠폰 발송 횟수 가져오기
|
|
string sCpnSendCnt = m_cDataCommon.CpnSendCntSearch();
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|
//저장되지 않은 쿠폰 발송 횟수 가져오기
|
|
int iCpnSendCnt = 0;
|
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM); // 기타 내역 받아 오기
|
|
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
|
|
{
|
|
if (cEtcItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
|
|
|
|
//해피쿠폰 발송
|
|
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.HAPPYCPN_SEND)
|
|
{
|
|
iCpnSendCnt = iCpnSendCnt + 1;
|
|
}
|
|
}
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|
//기존
|
|
//if (CmUtil.IntParse(m_cPosStatus.Mst.CpnSendLimitCnt) <= CmUtil.IntParse(sCpnSendCnt))
|
|
//변경
|
|
if (CmUtil.IntParse(m_cPosStatus.Mst.CpnSendLimitCnt) <= CmUtil.IntParse(sCpnSendCnt) + iCpnSendCnt)
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|
{
|
|
WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0789), m_cPosStatus.Mst.CpnSendLimitCnt));
|
|
//WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0789);
|
|
return;
|
|
}
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180528
|
|
|
|
|
|
WinPay.ShowForm(new string[] { FormManager.FORM_CPN_SEND, m_sInPutType, m_sInMaskData, m_sInEncData, m_sServiceCode, m_sAppCardNo });
|
|
}
|
|
else if (((Cosmos.UI.CsmButton)sender) == btnHpCok)
|
|
{
|
|
pnlBuyHist.Visible = false;
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|
pnlBuyHistMot.Visible = false;
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
}
|
|
}
|
|
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="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void lblBuyList_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
pnlBuyHist.Visible = false;
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|
pnlBuyHistMot.Visible = false;
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
}
|
|
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
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|
|
|
|
|
#region 텍스트박스 키 입력 이벤트 처리
|
|
/// <summary>
|
|
/// 텍스트박스 키 입력 이벤트 처리
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="sFuncValue"></param>
|
|
private void txtEditBox_EditBoxKeyDownEvent(object sender, string sFuncValue)
|
|
{
|
|
try
|
|
{
|
|
if (bNotDoubleClik) return;
|
|
bNotDoubleClik = true;
|
|
|
|
try
|
|
{
|
|
if (sFuncValue == PosKey.MENU_KEY.ENTER)
|
|
{
|
|
if (((Cosmos.UI.CsmPosEditBox)sender) == txtCardNo)
|
|
{
|
|
if (txtCardNo.Text == "")
|
|
{
|
|
if (GetIcCardData(true) == false)
|
|
{
|
|
bNotDoubleClik = false;
|
|
return;
|
|
}
|
|
}
|
|
|
|
if (CheckTxtInPut(sender) == false)
|
|
{
|
|
bNotDoubleClik = false;
|
|
return;
|
|
}
|
|
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT)
|
|
{
|
|
if (txtTotSavePoint.Text == "")
|
|
SearchTxtInPut(null); // 조회
|
|
else
|
|
{
|
|
if (m_sHappyPointSave == "1") // 해피포인트 카드등록 구분(0:카드등록, 1:적립등록)
|
|
txtPayAmt.Focus();
|
|
else
|
|
CompleteTxtInPut(0); // 적립
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
//기존
|
|
//SearchTxtInPut(null); // 조회
|
|
//변경
|
|
bool bSch = SearchTxtInPut(null); // 조회
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|
|
|
//#20180619 웰컴카드 개선사항 start
|
|
//기존
|
|
//if (m_SetClientSearch != "")
|
|
//변경
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
//기존
|
|
//if (m_SetClientSearch != "0")
|
|
//변경
|
|
if (m_SetClientSearch != "0" && bSch == true)
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
|
|
//#20180619 웰컴카드 개선사항 end
|
|
{
|
|
bNotDoubleClik = false;
|
|
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
}
|
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|
}
|
|
}
|
|
else if (((Cosmos.UI.CsmPosEditBox)sender) == txtPayAmt)
|
|
{
|
|
if (txtCardNo.Text == "")
|
|
{
|
|
bNotDoubleClik = false;
|
|
return;
|
|
}
|
|
|
|
if (CheckTxtInPut(sender) == false)
|
|
{
|
|
bNotDoubleClik = false;
|
|
return;
|
|
}
|
|
|
|
CompleteTxtInPut(0); // 적립
|
|
}
|
|
}
|
|
else if (sFuncValue == PosKey.MENU_KEY.CLEAR)
|
|
{
|
|
if (((Cosmos.UI.CsmPosEditBox)sender).ReadOnly == false)
|
|
{
|
|
if (((Cosmos.UI.CsmPosEditBox)sender) == txtCardNo)
|
|
{
|
|
ClearCardInfo(); // 카드 입력 정보 클리어
|
|
tmrIcCard.Enabled = true;
|
|
}
|
|
|
|
((Cosmos.UI.CsmPosEditBox)sender).Text = "";
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
bNotDoubleClik = false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 텍스트박스 활성화 처리
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void txtEditBox_EnterEvent(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
padInPut.SetActiveControl = (Control)sender;
|
|
}
|
|
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="sender"></param>
|
|
/// <returns></returns>
|
|
private bool CheckTxtInPut(object sender)
|
|
{
|
|
try
|
|
{
|
|
// 특정 문자값 제거
|
|
try
|
|
{
|
|
if (m_cDevStatus.Msr.STX != "" && txtCardNo.Value.StartsWith(m_cDevStatus.Msr.STX)) txtCardNo.Value = txtCardNo.Value.Substring(1);
|
|
|
|
int iLastEtx = txtCardNo.Value.LastIndexOf(m_cDevStatus.Msr.ETX);
|
|
if (m_cDevStatus.Msr.ETX != "" && iLastEtx > 0) txtCardNo.Value = CmUtil.MidH(txtCardNo.Value, 0, iLastEtx);
|
|
}
|
|
catch { }
|
|
|
|
// 카드번호 길이 체크
|
|
if (sender == null || ((Cosmos.UI.CsmPosEditBox)sender) == txtCardNo)
|
|
{
|
|
if (txtCardNo.Value.Length < 10)
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0037);
|
|
txtCardNo.Focus();
|
|
return false;
|
|
}
|
|
|
|
// 입력된 카드번호 변경 체크
|
|
//#20170913 현금영수증, 포인트카드 마스킹 미적용 start
|
|
//카드번호를 비교시 16자리까지만 비교 하도록 수정
|
|
//기존
|
|
/*
|
|
if (txtCardNo.Value != m_sInPutData)
|
|
{
|
|
ClearCardInfo(); // 카드 입력 정보 클리어
|
|
}
|
|
*/
|
|
//변경
|
|
|
|
string sCardTemp = "";
|
|
string sInputTemp = "";
|
|
if (txtCardNo.Value.Length > 16)
|
|
{
|
|
sCardTemp = txtCardNo.Value.Substring(0, 16);
|
|
}
|
|
else
|
|
{
|
|
sCardTemp = txtCardNo.Value.Substring(0, txtCardNo.Value.Length);
|
|
}
|
|
|
|
if (m_sInPutData.Length > 16)
|
|
{
|
|
sInputTemp = m_sInPutData.Substring(0, 16);
|
|
}
|
|
else
|
|
{
|
|
sInputTemp = m_sInPutData.Substring(0, m_sInPutData.Length);
|
|
}
|
|
|
|
if (sCardTemp != sInputTemp)
|
|
{
|
|
ClearCardInfo(); // 카드 입력 정보 클리어
|
|
}
|
|
|
|
//#20170913 현금영수증, 포인트카드 마스킹 미적용 end
|
|
|
|
if (m_sInEncData == "")
|
|
{
|
|
if (m_sInPutData == "")
|
|
{
|
|
m_sInPutData = txtCardNo.Value;
|
|
if (m_sInPutData.Length > 16 && CmUtil.IsNumber(m_sInPutData.Substring(16, 1)) == false)
|
|
{
|
|
if (CmUtil.CheckHappyMobileCard(m_sInPutData) == false)
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0037);
|
|
ClearCardInfo(); // 카드 입력 정보 클리어
|
|
txtCardNo.Focus();
|
|
txtCardNo.SelectText();
|
|
return false;
|
|
}
|
|
m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_MOBILE_SWIP;
|
|
txtCardNo.Value = m_sInPutData; // .Substring(0, 16);
|
|
if (m_sInPutData.Length.Equals(17) && CmUtil.IsNumber(m_sInPutData.Substring(16, 1)) == false) m_sInPutData = m_sInPutData.Substring(0, 16) + "="; //Moon SeokWoo 20171023
|
|
}
|
|
else
|
|
{
|
|
m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_KEYIN;
|
|
}
|
|
//2017.10.26 MoonSeokWoo 17자리가 아닐시 입력모드 변경하도록 수정.
|
|
if (m_sInPutData.Contains("=") == true && !m_sInPutData.Length.Equals(17)) m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP;
|
|
|
|
|
|
}
|
|
if (EncryptedCardNo(m_sInPutData, ref m_sInMaskData, ref m_sInEncData) == false) return false;
|
|
|
|
m_sAppCardNo = m_sInPutData; // 승인카드번호
|
|
}
|
|
}
|
|
|
|
if (sender == null || ((Cosmos.UI.CsmPosEditBox)sender) == txtPayAmt)
|
|
{
|
|
if (CmUtil.DoubleParse(txtPayAmt.Value) > m_nDestAmt)
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0597);
|
|
txtPayAmt.Focus();
|
|
return false;
|
|
}
|
|
}
|
|
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="nFlowMode"></param>
|
|
/// <returns></returns>
|
|
private bool CompleteTxtInPut(int nFlowMode)
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
try
|
|
{
|
|
|
|
if (nFlowMode == 1)
|
|
{
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT && m_sHappyPointSave == "1") // 해피포인트 카드등록 구분(0:카드등록, 1:적립등록)
|
|
{
|
|
//InParam
|
|
// 0.전문구분,1.거래유형, 2.할부개월, 3.승인금액 , 4.봉사료, 5.세금, 6.원승인번호, 7.원거래일자, 8.포인트거래구분, 9.상품코드,
|
|
//10.전표인쇄여부, 11.추가항목, 12.제휴할인코드, 13.제휴할인금액, 14.예비1, 15.예비2
|
|
|
|
string sAppType = PosConst.POS_CAT_MASTER.TRADE_ID.CAT_HAPPY_SAVE;
|
|
string sItemCode = ""; // 상품 코드 설정
|
|
|
|
//적립 포인트는 클래스에서 셋팅함!
|
|
//승인처리 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
|
|
sRet = m_cHappyPoint.CompletePayment(new string[] { PosConst.POS_CAT_MASTER.TRAN_TYPE, sAppType, "00", txtPayAmt.Value, "0", "0", "", "", "04", sItemCode, "", "", m_sPosMenuKey, "", "", "" });
|
|
|
|
if (sRet != UserCom.RST_OK)
|
|
{
|
|
//WinManager.ErrorMessage(sRet);
|
|
txtCardNo.SelectText();
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (CheckTxtInPut(null) == false) return false;
|
|
|
|
if (m_bSearchSuccess == false)
|
|
{
|
|
if (SearchTxtInPut(null) == false) return false; // 조회
|
|
}
|
|
|
|
// 해피포인트 카드 등록 처리
|
|
sRet = m_cHappyPoint.SetPayment(new string[] { m_sInPutType, m_sInMaskData, m_sInEncData, "1", m_sServiceCode, m_sAppCardNo });
|
|
if (sRet != UserCom.RST_OK)
|
|
{
|
|
txtCardNo.SelectText();
|
|
return false;
|
|
}
|
|
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT && m_sHappyPointSave == "1") // 해피포인트 카드등록 구분(0:카드등록, 1:적립등록)
|
|
{
|
|
// 해피포인트 적립 완료 처리
|
|
sRet = m_cHappyPoint.CompletePayment(new string[] { txtPayAmt.Value });
|
|
if (sRet != UserCom.RST_OK)
|
|
{
|
|
txtCardNo.SelectText();
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
//#20180119 해피포인트 사용, 오케이 캐쉬백 사용 start,phj
|
|
//기존
|
|
/*
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
*/
|
|
|
|
//변경
|
|
if (nFlowMode == 2)
|
|
{
|
|
HappyPointUseForm();
|
|
}
|
|
else
|
|
{
|
|
//#20180619 웰컴카드 개선사항 start
|
|
//#20180619 웰컴카드 개선사항 end
|
|
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
}
|
|
//#20180119 해피포인트 사용, 오케이 캐쉬백 사용 end,phj
|
|
|
|
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>
|
|
/// <returns></returns>
|
|
private bool SearchTxtInPut(Column.TR_ETC.DATA cEtcItem)
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
try
|
|
{
|
|
if (CheckTxtInPut(null) == false) return false;
|
|
|
|
txtUsablePoint.Text = "";
|
|
txtTotSavePoint.Text = "";
|
|
lblAddPointNm.Text = "";
|
|
|
|
m_bSearchSuccess = false;
|
|
|
|
if (m_sHappyPointSave == "1") // 해피포인트 카드등록 구분(0:카드등록, 1:적립등록)
|
|
{
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0108);
|
|
}
|
|
else
|
|
{
|
|
//#20180619 웰컴카드 개선사항 start
|
|
//기존
|
|
//lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0365);
|
|
//변경
|
|
|
|
//#20180619 웰컴카드 개선사항 start
|
|
//기존
|
|
//if (m_SetClientSearch != "")
|
|
//변경
|
|
if (m_SetClientSearch != "0")
|
|
//#20180619 웰컴카드 개선사항 end
|
|
{
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1132);
|
|
}
|
|
else
|
|
{
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0365);
|
|
}
|
|
|
|
//#20180619 웰컴카드 개선사항 end
|
|
}
|
|
|
|
//m_cTrnStatus.Sale.HappyBuzzMemNo = "";
|
|
|
|
m_dtGridList.Clear();
|
|
gridList.CsmGridDataSource = m_dtGridList;
|
|
|
|
if (cEtcItem == null)
|
|
{
|
|
// 해피 포인트 조회
|
|
string[] saRecvdData = null;
|
|
sRet = m_cHappyPoint.SearchPayment(new string[] { m_sInPutType, m_sInMaskData, m_sInEncData, "1", m_sServiceCode, m_sAppCardNo }, ref saRecvdData);
|
|
if (sRet != UserCom.RST_OK)
|
|
{
|
|
InDataToZeroFill();
|
|
txtCardNo.Focus();
|
|
return false;
|
|
}
|
|
|
|
//#20170913 현금영수증, 포인트카드 마스킹 미적용 start
|
|
//조회 성공시 카드번호 16자리까지만 표기
|
|
|
|
if (txtCardNo.Value.Length > 16)
|
|
{
|
|
txtCardNo.Value = txtCardNo.Value.Substring(0, 16);
|
|
}
|
|
else
|
|
{
|
|
txtCardNo.Value = txtCardNo.Value.Substring(0, txtCardNo.Value.Length);
|
|
}
|
|
|
|
//#20170913 현금영수증, 포인트카드 마스킹 미적용 end
|
|
|
|
// 조회 데이터 획득
|
|
cEtcItem = (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { });
|
|
|
|
//#13753 POS MOT음성 기능 추가 개발요청 start,phj
|
|
|
|
//#20180214 마스터 수신 시 포스에서 설정한 MOT 값 변경안되도록 수정 start,phj
|
|
// 기존
|
|
/*
|
|
if ((m_cTrnStatus.Head.CmpCd == "PCKR" && m_cPosStatus.Mst.DrtFrcsDiv == "10") && // PCKR 이고 직영점일 때
|
|
m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT && m_sHappyPointSave == "0" &&
|
|
(m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE ||
|
|
CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT309), "1") == "2"))
|
|
*/
|
|
// 변경
|
|
if (m_cTrnStatus.Head.CmpCd == "PCKR" &&
|
|
//#13753 POS MOT음성 기능 추가 개발요청 - 20180222 음성MOT 옵션처리 start,phj
|
|
PosMstManager.GetPosOption(POS_OPTION.OPT331) == "1" &&
|
|
//#13753 POS MOT음성 기능 추가 개발요청 - 20180222 음성MOT 옵션처리 end,phj
|
|
m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT && m_sHappyPointSave == "0" &&
|
|
(m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE && CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT309), "1") == "2"))
|
|
//#20180214 마스터 수신 시 포스에서 설정한 MOT 값 변경안되도록 수정 end,phj
|
|
|
|
{
|
|
// 가용포인트 1000점 이상일 때 플레이.
|
|
if (cEtcItem.AMT_ENTRY_04 >= 1000 &&
|
|
//#20180219 keyin 이나 휴대폰 번호는 사용할 수 없도록 수정 start,phj
|
|
(m_sInPutType == PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP ||
|
|
m_sInPutType == PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_MOBILE_SWIP))
|
|
//#20180219 keyin 이나 휴대폰 번호는 사용할 수 없도록 수정 end,phj
|
|
{
|
|
SetPlayMotMsg(PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.HPP_USE_INPUT, "");
|
|
}
|
|
}
|
|
//#13753 POS MOT음성 기능 추가 개발요청 end,phj
|
|
|
|
if (m_sInPutData.StartsWith(PosConst.HP_CARD_PRIFIX) == false && cEtcItem.HP_ADD_INFO_SCH.Trim() != "") // 제휴카드 조회
|
|
{
|
|
int nNowPos = 0;
|
|
string[] aIrtRsp = new string[Column.POINT_ADD_INFO_SEARCH.LEN.Length];
|
|
ItemColumn.ParseMessage(Column.POINT_ADD_INFO_SEARCH.LEN, Column.POINT_ADD_INFO_SEARCH.TYPE, Encoding.Default.GetBytes(cEtcItem.HP_ADD_INFO_SCH), ref nNowPos, ref aIrtRsp);
|
|
|
|
// 고객정보 중에서 첫번째 카드 선택
|
|
string sMemInfo = aIrtRsp[Column.POINT_ADD_INFO_SEARCH.SEQ.pointMEMINFO].Trim();
|
|
if (sMemInfo.Length >= 17 && CmUtil.LongParse(sMemInfo.Substring(0, 1)) > 0)
|
|
{
|
|
string sInPutData = sMemInfo.Substring(1, 16).Trim(); // 카드번호
|
|
string sInMaskData = "";
|
|
if (EncryptedCardNo(sInPutData, ref sInMaskData, ref m_sInEncData) == false) return false;
|
|
// 핸드폰 번호로 해피포인트 조회 시 응답전문의 포인트카드번호로 조회하지 않고 핸드폰 번호로 조회 하도록 수정(2017.09.06)
|
|
//cEtcItem.CanFiller1 = m_sInEncData;
|
|
if (IsCellularPhoneNumber(m_sInPutData) == false)
|
|
{
|
|
cEtcItem.CanFiller1 = m_sInEncData;
|
|
}
|
|
cEtcItem.OCCUR_ENTRY_14 = m_sAppCardNo = sInPutData; // 승인카드번호
|
|
}
|
|
}
|
|
|
|
if (cEtcItem.OCCUR_ENTRY_12 == "Y")
|
|
{
|
|
m_cTrnStatus.Sale.HappyBuzzMemNo = m_sInPutData;
|
|
}
|
|
|
|
cEtcItem.CanFiller3 = m_sInPutData;
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|
|
|
string m_HPCustNo = "";
|
|
string HP_WelcomeCard = "";
|
|
|
|
// 회원번호
|
|
m_HPCustNo = CmUtil.MidH(cEtcItem.OCCUR_ENTRY_10, 0, 10).Trim();
|
|
cEtcItem.OCCUR_ENTRY_22 = m_HPCustNo; //HP회원번호
|
|
|
|
// 웰컴카드번호
|
|
//int iNowPos = 0;
|
|
//string[] HPPAddInfo = new string[Column.POINT_ADD_INFO_SEARCH.LEN.Length];
|
|
//ItemColumn.ParseMessage(Column.POINT_ADD_INFO_SEARCH.LEN, Column.POINT_ADD_INFO_SEARCH.TYPE, Encoding.Default.GetBytes(cEtcItem.HP_ADD_INFO_SCH), ref iNowPos, ref HPPAddInfo);
|
|
//m_HPWccCard = HPPAddInfo[Column.POINT_ADD_INFO_SEARCH.SEQ.pointRESERVED].Trim();
|
|
//if (m_HPWccCard != "")
|
|
//{
|
|
// m_HPWccCard = CmUtil.MidH(m_HPWccCard, 0, 20).Trim();
|
|
//};
|
|
//cEtcItem.OCCUR_ENTRY_19 = m_HPWccCard; //웰컴카드번호
|
|
|
|
int t_nNowPos = 0;
|
|
string[] t_aIrtRsp = null;
|
|
t_aIrtRsp = new string[Column.POINT_ADD_INFO_SEARCH.LEN.Length];
|
|
byte[] t_bytes = Encoding.Default.GetBytes(cEtcItem.HP_ADD_INFO_SCH);
|
|
ItemColumn.ParseMessage(Column.POINT_ADD_INFO_SEARCH.LEN, Column.POINT_ADD_INFO_SEARCH.TYPE, t_bytes, ref t_nNowPos, ref t_aIrtRsp);
|
|
|
|
|
|
HP_WelcomeCard = t_aIrtRsp[Column.POINT_ADD_INFO_SEARCH.SEQ.pointRESERVED].Trim();
|
|
HP_WelcomeCard = CmUtil.MidH(HP_WelcomeCard, 0, 20).Trim();
|
|
cEtcItem.OCCUR_ENTRY_19 = HP_WelcomeCard; // 웰컴카드번호
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT516) == "1" &&
|
|
m_SetClientSearch == "0" &&
|
|
m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT &&
|
|
cEtcItem.OCCUR_ENTRY_19.Trim() == "")
|
|
{
|
|
btnWccIssue.Visible = true;
|
|
btnWccIssue.BringToFront();
|
|
txtWccIssue.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0918);
|
|
}
|
|
else
|
|
{
|
|
btnWccIssue.Visible = false;
|
|
txtWccIssue.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0126);
|
|
}
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|
|
|
|
|
//#12500 해피포인트 실효정책 변경에 따른 프로그램 수정 start, phj
|
|
//기존
|
|
/*
|
|
// 소멸예정포인트 안내 메지시(2017.05.31)
|
|
if (cEtcItem.HP_EXT_POINT > 0 && CmUtil.LongParse(DateTime.Now.ToString("MM")) == 6)
|
|
{
|
|
WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0696)
|
|
, DateTime.Now.ToString("yyyy"), m_cPosStatus.Global.NumericTOCurrency(cEtcItem.HP_EXT_POINT)));
|
|
}
|
|
*/
|
|
|
|
//변경
|
|
// 소멸예정포인트 안내 메지시(2017.05.31)
|
|
if (cEtcItem.HP_EXT_POINT > 0)
|
|
{
|
|
WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0740)
|
|
, DateTime.Now.ToString("yyyy"), m_cPosStatus.Global.NumericTOCurrency(cEtcItem.HP_EXT_POINT)));
|
|
}
|
|
//#12500 해피포인트 실효정책 변경에 따른 프로그램 수정 end, phj
|
|
}
|
|
|
|
txtUsablePoint.Text = m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04); // 가용포인트
|
|
txtTotSavePoint.Text = m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_03); // 누적포인트
|
|
|
|
// 적립등록 중 적립예정 포인트 표시
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.HAPPY_POINT && m_sHappyPointSave == "1") // 해피포인트 카드등록 구분(0:카드등록, 1:적립등록)
|
|
{
|
|
// 해피포인트 기본적립 대상 금액 획득
|
|
m_cTrnStatus.Head.AftSavePoint = m_cDataService.GetPluTagetAmount(PosKey.MENU_KEY.HAPPY_POINT);
|
|
|
|
// 캠페인(해피포인트 적립) 설정 처리
|
|
ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|
cCampaingMain.ExecuteCampaignHappyPointSave(PosConst.CAMPAIGN_PAY_KEY.HP_SAVE, cEtcItem);
|
|
|
|
m_nDestAmt = m_cTrnStatus.Head.AftSavePoint; // 적립대상금액
|
|
txtPayAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_nDestAmt);
|
|
|
|
// 적립예정포인트
|
|
double nSavePoint = (long)CmUtil.MathRounds(CmUtil.MathAmtPercent(m_cTrnStatus.Head.AftSavePoint, m_cPosStatus.Mst.HpyPntAccumRate), PosConst.MATH_ROUND.CEILING, 0);
|
|
//double nSavePoint = m_cDataCommon.ExecTermCoopCmpPayDc(cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, "", m_cTrnStatus.Head.AftSavePoint); // 적립예정 포인트
|
|
txtBasicPoint.Text = m_cPosStatus.Global.NumericTOCurrency(nSavePoint);
|
|
|
|
// 추가적립 정보[캠페인코드(10)+대상상품금액(15)+추가적립여부(1)+추가적립상세코드(2)+본사부담금(7)+매장부담금(7)]
|
|
double nAddSavePnt = 0;
|
|
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
|
|
{
|
|
if (m_cTrnStatus.Head.AftSaveAddInfo.Substring(25).StartsWith("N") == true) txtBasicPoint.Text = "0";
|
|
nAddSavePnt = m_cDataService.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.Substring(28, 7));
|
|
|
|
lblAddPointNm.Text = cCampaingMain.GetCampaignName(m_cTrnStatus.Head.AftSaveAddInfo.Substring(0, 10).Trim(), 0);
|
|
}
|
|
txtAddPoint.Text = m_cPosStatus.Global.NumericTOCurrency(nAddSavePnt);
|
|
|
|
if (m_cTrnStatus.Head.AftSavePoint < 1000 && m_cTrnStatus.Head.AftSaveAddInfo == "") // 적립 대상금액 없음
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0448);
|
|
txtCardNo.SelectText();
|
|
return false;
|
|
}
|
|
|
|
txtPayAmt.ReadOnly = false;
|
|
txtPayAmt.Focus();
|
|
}
|
|
else
|
|
{
|
|
// 카드등록 모드일때 인카드 쿠폰 조회
|
|
if (cEtcItem.HP_ADD_INFO_SCH.Trim() != "")
|
|
{
|
|
// 인카드 쿠폰 보유 여부 확인
|
|
int nNowPos = 0;
|
|
string[] aIrtRsp = new string[Column.POINT_ADD_INFO_SEARCH.LEN.Length];
|
|
ItemColumn.ParseMessage(Column.POINT_ADD_INFO_SEARCH.LEN, Column.POINT_ADD_INFO_SEARCH.TYPE, Encoding.Default.GetBytes(cEtcItem.HP_ADD_INFO_SCH), ref nNowPos, ref aIrtRsp);
|
|
|
|
if (CmUtil.LongParse(aIrtRsp[Column.POINT_ADD_INFO_SEARCH.SEQ.pointCOUPONCNT]) > 0)
|
|
{
|
|
// 인카드 쿠폰 리스트 조회
|
|
IPaymentUs cHappyCoupon = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYCOUPON);
|
|
string[] saRecvdDataCpn = null;
|
|
sRet = cHappyCoupon.SearchPayment(new string[] { m_sInPutType, m_sInMaskData, m_sInEncData, "1" }, ref saRecvdDataCpn);
|
|
if (sRet == UserCom.RST_OK)
|
|
{
|
|
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)cHappyCoupon.GetPayment(new string[] { });
|
|
|
|
foreach (string[] sInfo in cPayItem.HP_CPN_INFO)
|
|
{
|
|
DataRow drNewRow = m_dtGridList.NewRow();
|
|
drNewRow["COUPON_CD"] = sInfo[0];
|
|
|
|
|
|
//#20171116 온라인 쿠폰 제품군코드,상품코드 존재 시 할인 대상이 변경되도록 추가 start, phj
|
|
//기존
|
|
//drNewRow["COUPON_NM"] = sInfo[1];
|
|
//변경
|
|
drNewRow["COUPON_NM"] = CmUtil.MidH(sInfo[1], 0, 40);
|
|
//#20171116 온라인 쿠폰 제품군코드,상품코드 존재 시 할인 대상이 변경되도록 추가 end, phj
|
|
|
|
drNewRow["START_DT"] = m_cPosStatus.Global.DateToCulture(sInfo[2]);
|
|
drNewRow["END_DT"] = m_cPosStatus.Global.DateToCulture(sInfo[3]);
|
|
|
|
m_dtGridList.Rows.Add(drNewRow);
|
|
}
|
|
gridList.CsmGridDataSource = m_dtGridList;
|
|
gridList.CsmGridSelectRow(0);
|
|
|
|
cEtcItem.HP_CPN_INFO = cPayItem.HP_CPN_INFO;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//#20180821 해피포인트 고객이름 마스킹 start
|
|
if (cEtcItem.HP_CUST_NAME != "") { cEtcItem.HP_CUST_NAME = m_cDataCommon.NameMasking(cEtcItem.HP_CUST_NAME); }
|
|
//#20180821 해피포인트 고객이름 마스킹 end
|
|
|
|
// 고객명 표시
|
|
lblTitle.Text += " [ " + cEtcItem.HP_CUST_NAME + " ]";
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|
|
|
//고객 구매이력 화면 미표시
|
|
pnlBuyHist.Visible = false;
|
|
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|
pnlBuyHistMot.Visible = false;
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|
//포인트창 닫히는 시점에 안보이도록 수정 - 불필요해서 소스 주석
|
|
//BuyHistTime = DateTime.Now;
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
//#15525 고객구매이력 수정 요청 start
|
|
//VIP 여부 안내 표시
|
|
pnlBuyHistVip.Visible = false;
|
|
//#15525 고객구매이력 수정 요청 end
|
|
|
|
// TEST START
|
|
//m_cPosStatus.Mst.BuyHistShowYn = "1";
|
|
// TEST END
|
|
|
|
|
|
//해피쿠폰 발송 사용여부 사용이고 해피포인트 고객번호가 있는 경우 POS서버로 구매이력정보 수신
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//해당 옵션 사용하지 않고 STR_SEND_CPN_MST 테이블의 사용여부로 판단
|
|
//기존
|
|
//if (PosMstManager.GetPosOption(POS_OPTION.OPT514) == "1" && cEtcItem.OCCUR_ENTRY_10.Trim().Length > 0)
|
|
//변경
|
|
if (m_cPosStatus.Mst.BuyHistShowYn == "1" && cEtcItem.OCCUR_ENTRY_10.Trim().Length > 0)
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
{
|
|
string sBuyHistRet = UserCom.RST_ERR;
|
|
string sGetData = "";
|
|
|
|
//초기화
|
|
//m_cPosStatus.Sale.strBuyHist = new string[7];
|
|
for (int i = 0; i < m_cPosStatus.Sale.strBuyHist.Length; i++) { m_cPosStatus.Sale.strBuyHist[i] = ""; }
|
|
|
|
//해피포인트 고객번호
|
|
string sHppMembNo = "";
|
|
|
|
//단골여부 Y/N
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//단골고객여부 전역변수로 변경
|
|
//기존
|
|
//string sRegularYN = "";
|
|
//변경
|
|
m_cPosStatus.Sale.sRegularYN = "";
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
//해피전문 반영 안되있으면 11자리만 내려옴. (고객번호(10) + 전자영수증 수신여부(1))
|
|
if (cEtcItem.OCCUR_ENTRY_10.Length > 11)
|
|
{
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//단골고객여부 전역변수로 변경
|
|
//기존
|
|
//sRegularYN = cEtcItem.OCCUR_ENTRY_10.Substring(11, 1);
|
|
//변경
|
|
m_cPosStatus.Sale.sRegularYN = cEtcItem.OCCUR_ENTRY_10.Substring(11, 1);
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
sHppMembNo = cEtcItem.OCCUR_ENTRY_10.Substring(0, 10);
|
|
}
|
|
else
|
|
{
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//단골고객여부 전역변수로 변경
|
|
//기존
|
|
//sRegularYN = "";
|
|
//변경
|
|
m_cPosStatus.Sale.sRegularYN = "";
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
}
|
|
|
|
//#20180524 구매이력조회 단골여부 전문추가 start,phj
|
|
//기존
|
|
//POS 서버 조회
|
|
//sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, ref sGetData);
|
|
//변경
|
|
//POS 서버 조회
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180528
|
|
//쿠폰 발송 횟수 제한 기능
|
|
//기존
|
|
//sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, m_cPosStatus.Sale.sRegularYN, ref sGetData);
|
|
//변경
|
|
|
|
//쿠폰 발송 횟수 조회
|
|
//구현
|
|
string sCpnSendCnt = m_cDataCommon.CpnSendCntSearch();
|
|
|
|
//#15525 고객구매이력 수정 요청 start
|
|
//TEST
|
|
//1위: 1006024148, 2위: 1008346700, 31위: 1002325773, 32위: 1005674140, 33099위: 1000616629
|
|
//sHppMembNo = "1002325773";
|
|
//#15525 고객구매이력 수정 요청 end
|
|
|
|
//구매이력 조회
|
|
sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, m_cPosStatus.Sale.sRegularYN, sCpnSendCnt, ref sGetData);
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180528
|
|
|
|
//#20180524 구매이력조회 단골여부 전문추가 end,phj
|
|
|
|
if (sBuyHistRet == UserCom.RST_OK)
|
|
{
|
|
//고객 구매이력 데이터 파싱
|
|
// 단골여부 | 최근1개월 | 전월 | 객단가 | 선호제품유형 | 최근구매일 | 최근 케익 구매일
|
|
|
|
//#15525 고객구매이력 수정 요청 start
|
|
//VIP 여부 안내 표시
|
|
// 단골여부 | 최근1개월 | 전월 | 객단가 | 선호제품유형 | 최근구매일 | 최근 케익 구매일 |코드|문구1 | 문구2| VIP여부|
|
|
// Y | 0(0) | 0 | 0 | 완제생크림 , 버터 | 21일전 (05/03)| 21일전 (05/03) |01 |어제 | 케익 | Y |
|
|
|
|
//테스트 start
|
|
//sGetData = "Y|0(0)|0|0|완제생크림 , 버터|21일전 (05/03)|21일전 (05/03)|01|어제|케익|Y";
|
|
|
|
//#15525 고객구매이력 수정 요청 end
|
|
|
|
m_cPosStatus.Sale.strBuyHist = sGetData.Split('|');
|
|
|
|
string sStrBuyHist3_0 = m_cPosStatus.Sale.strBuyHist[1];
|
|
string sStrBuyHist3_1 = "";
|
|
string sStrBuyHist3_2 = "";
|
|
string sStrBuyHist3_3 = "";
|
|
|
|
int iStrBuyHistPosUp = 0;
|
|
int iStrBuyHistPosDwn = 0;
|
|
int iStrBuyHistPosNon = 0;
|
|
|
|
iStrBuyHistPosUp = sStrBuyHist3_0.LastIndexOf("▲");
|
|
iStrBuyHistPosDwn = sStrBuyHist3_0.LastIndexOf("▼");
|
|
iStrBuyHistPosNon = sStrBuyHist3_0.LastIndexOf("(");
|
|
|
|
|
|
if (iStrBuyHistPosUp > 0)
|
|
{
|
|
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosUp);
|
|
sStrBuyHist3_2 = sStrBuyHist3_0.Substring(iStrBuyHistPosUp, 1);
|
|
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosUp + 1, sStrBuyHist3_0.Length - iStrBuyHistPosUp - 1);
|
|
|
|
lblBuyHist8.ForeColor = Color.Blue;
|
|
}
|
|
else if (iStrBuyHistPosDwn > 0)
|
|
{
|
|
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosDwn);
|
|
sStrBuyHist3_2 = sStrBuyHist3_0.Substring(iStrBuyHistPosDwn, 1);
|
|
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosDwn + 1, sStrBuyHist3_0.Length - iStrBuyHistPosDwn - 1);
|
|
|
|
lblBuyHist8.ForeColor = Color.Red;
|
|
}
|
|
else if (iStrBuyHistPosNon > 0)
|
|
{
|
|
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosNon + 1);
|
|
sStrBuyHist3_2 = " ";
|
|
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosNon + 1, sStrBuyHist3_0.Length - iStrBuyHistPosNon - 1);
|
|
|
|
lblBuyHist8.ForeColor = Color.FromArgb(51, 51, 51);
|
|
}
|
|
|
|
//고객 구매이력 데이터 표시
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//단골고객여부 전역변수로 변경
|
|
//기존
|
|
//lblBuyHist1.Text = sRegularYN;
|
|
//변경
|
|
lblBuyHist1.Text = m_cPosStatus.Sale.sRegularYN;
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
lblBuyHist2.Text = sStrBuyHist3_1;
|
|
lblBuyHist3.Text = m_cPosStatus.Sale.strBuyHist[2];
|
|
lblBuyHist4.Text = m_cPosStatus.Sale.strBuyHist[3];
|
|
lblBuyHist5.Text = m_cPosStatus.Sale.strBuyHist[4];
|
|
lblBuyHist6.Text = m_cPosStatus.Sale.strBuyHist[5];
|
|
lblBuyHist7.Text = m_cPosStatus.Sale.strBuyHist[6];
|
|
|
|
lblBuyHist8.Text = sStrBuyHist3_2;
|
|
lblBuyHist9.Text = sStrBuyHist3_3;
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180508
|
|
//[쿠폰발송] 버튼 클릭시 '쿠폰발송 기능은 추후 오픈 예정입니다.' 팝업 출력
|
|
//기존
|
|
/*
|
|
//단골고객만 쿠폰 발송 버튼 활성화
|
|
if (sRegularYN == "Y" && PosMstManager.GetPosOption(POS_OPTION.OPT513) == "1")
|
|
{
|
|
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
|
|
btnCpnSend.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
btnCpnSend.Text = "";
|
|
btnCpnSend.Enabled = false;
|
|
}
|
|
*/
|
|
//변경
|
|
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
|
|
btnCpnSend.Enabled = true;
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180508
|
|
|
|
//고객 구매이력 화면 표시
|
|
pnlBuyHist.Visible = true;
|
|
|
|
//#20180524 구매이력조회 단골여부 전문추가 start,phj
|
|
//기존
|
|
|
|
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
////고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|
//string sMsgCode = "";
|
|
//
|
|
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180521
|
|
////기존
|
|
///*
|
|
//if (m_cPosStatus.Sale.strBuyHist.Length > 7)
|
|
//{
|
|
// sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
|
|
//}
|
|
//else
|
|
//{
|
|
// sMsgCode = "00";
|
|
//}
|
|
//DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
|
|
//if (!(dt == null || dt.Rows.Count == 0))
|
|
//{
|
|
// DataRow dr = dt.Rows[0];
|
|
// lblBuyHistMot.Text = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CD_NM);
|
|
//}
|
|
////적용시 true
|
|
//pnlBuyHistMot.Visible = true;
|
|
//*/
|
|
//
|
|
////변경
|
|
//if (m_cPosStatus.Sale.strBuyHist.Length > 7)
|
|
//{
|
|
// sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
|
|
//}
|
|
//
|
|
//// TEST START
|
|
////sMsgCode = "요즘 방문이 뜸하셨는데, 다시 찾아주셔서 감사드려요";
|
|
////sMsgCode = "요즘 방문이 뜸하셨는데, 다시 찾아주셔서 감사드려요@$다음 방문시 사용 하실 수 있는 XX쿠폰 발송해 드릴께요";
|
|
//// TEST END
|
|
//
|
|
//if (sMsgCode != "")
|
|
//{
|
|
// lblBuyHistMot.Text = sMsgCode.Replace("@", "\r").Replace("$", "\n").ToString();
|
|
// pnlBuyHistMot.Visible = true;
|
|
//}
|
|
//else
|
|
//{
|
|
// pnlBuyHistMot.Visible = false;
|
|
//}
|
|
//
|
|
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180521
|
|
//BuyHistTime = DateTime.Now;
|
|
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
//변경
|
|
|
|
string sMsgCode = "";
|
|
string sMsg1 = "";
|
|
string sMsg2 = "";
|
|
|
|
if (m_cPosStatus.Sale.strBuyHist.Length > 7)
|
|
{
|
|
sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
|
|
sMsg1 = m_cPosStatus.Sale.strBuyHist[8];
|
|
sMsg2 = m_cPosStatus.Sale.strBuyHist[9];
|
|
}
|
|
else
|
|
{
|
|
//#20180528 구매이력조회 상단 MOT 미표시 start,phj
|
|
//기존
|
|
//sMsgCode = "00";
|
|
//변경
|
|
sMsgCode = "99";
|
|
//#20180528 구매이력조회 상단 MOT 미표시 end,phj
|
|
|
|
}
|
|
|
|
//#20180528 구매이력조회 상단 MOT 미표시 start,phj
|
|
//기존
|
|
/*
|
|
string sCmmMsg1 = "";
|
|
string sCmmMsg2 = "";
|
|
DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
|
|
if (!(dt == null || dt.Rows.Count == 0))
|
|
{
|
|
DataRow dr = dt.Rows[0];
|
|
sCmmMsg1 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01);
|
|
sCmmMsg2 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_02);
|
|
}
|
|
|
|
sCmmMsg1 = string.Format(sCmmMsg1, sMsg1, sMsg2);
|
|
sCmmMsg2 = string.Format(sCmmMsg2, sMsg1, sMsg2);
|
|
if (sCmmMsg1 != "" || sCmmMsg2 != "")
|
|
{
|
|
lblBuyHistMot.Text = sCmmMsg1 + "\r" + sCmmMsg2;
|
|
pnlBuyHistMot.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
lblBuyHistMot.Text = "";
|
|
pnlBuyHistMot.Visible = false;
|
|
}
|
|
*/
|
|
|
|
//변경
|
|
if (sMsgCode == "99")
|
|
{
|
|
lblBuyHistMot.Text = "";
|
|
pnlBuyHistMot.Visible = false;
|
|
}
|
|
else
|
|
{
|
|
string sCmmMsg1 = "";
|
|
string sCmmMsg2 = "";
|
|
DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
|
|
if (!(dt == null || dt.Rows.Count == 0))
|
|
{
|
|
DataRow dr = dt.Rows[0];
|
|
sCmmMsg1 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01);
|
|
sCmmMsg2 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_02);
|
|
}
|
|
|
|
sCmmMsg1 = string.Format(sCmmMsg1, sMsg1, sMsg2);
|
|
sCmmMsg2 = string.Format(sCmmMsg2, sMsg1, sMsg2);
|
|
if (sCmmMsg1 != "" || sCmmMsg2 != "")
|
|
{
|
|
lblBuyHistMot.Text = sCmmMsg1 + "\r" + sCmmMsg2;
|
|
pnlBuyHistMot.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
lblBuyHistMot.Text = "";
|
|
pnlBuyHistMot.Visible = false;
|
|
}
|
|
}
|
|
//#20180528 구매이력조회 상단 MOT 미표시 end,phj
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|
//포인트창 닫히는 시점에 안보이도록 수정 - 불필요해서 소스 주석
|
|
//BuyHistTime = DateTime.Now;
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|
|
|
//#20180524 구매이력조회 단골여부 전문추가 end,phj
|
|
|
|
//#15525 고객구매이력 수정 요청 start
|
|
//VIP 여부 안내 표시
|
|
string sVipYN = "N";
|
|
|
|
if (m_cPosStatus.Sale.strBuyHist.Length > 10)
|
|
{
|
|
sVipYN = m_cPosStatus.Sale.strBuyHist[10];
|
|
}
|
|
|
|
if (sVipYN == "Y")
|
|
{
|
|
//#15525 고객구매이력 수정 요청 start, 20180704
|
|
//기존
|
|
/*
|
|
pnlBuyHistVip.Visible = true;
|
|
pnlBuyHistVip.BringToFront();
|
|
*/
|
|
//변경
|
|
WinBasic.ShowForm(new string[] { FormManager.FORM_VIP });
|
|
//#15525 고객구매이력 수정 요청 end, 20180704
|
|
}
|
|
else
|
|
{
|
|
pnlBuyHistVip.Visible = false;
|
|
}
|
|
|
|
//#15525 고객구매이력 수정 요청 end
|
|
|
|
}
|
|
else
|
|
{
|
|
//고객 구매이력 데이터 초기화
|
|
//for (int i = 0; i < m_cPosStatus.Sale.strBuyHist.Length; i++) { m_cPosStatus.Sale.strBuyHist[i] = ""; }
|
|
|
|
//고객 구매이력 화면 미표시
|
|
pnlBuyHist.Visible = false;
|
|
}
|
|
}
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|
|
|
txtCardNo.SelectText();
|
|
|
|
m_bSearchSuccess = true;
|
|
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;
|
|
}
|
|
|
|
#region public bool SearchTxtInPut(Column.TR_ETC.DATA _cEtcItem, string _strHappyPointCardNo, string _strDiv)
|
|
public bool SearchTxtInPut(Column.TR_ETC.DATA _cEtcItem, string _strHappyPointCardNo, object _strDiv)
|
|
{
|
|
// 리턴 변수 선언 -----
|
|
bool _blnResult = false;
|
|
|
|
//==================================================================
|
|
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리를 위한 함수 오버로딩
|
|
//==================================================================
|
|
#region 해피포인트 제휴할인 선리딩 처리를 위한 함수 오버로딩
|
|
|
|
#region 만약 구분(_strDiv) 값이 ''(공백)일 경우 해피 포인트만 표시한다.
|
|
if (_strDiv == null)
|
|
{
|
|
// 해피포인트 카드 번호 표시 -----
|
|
txtCardNo.Text = _strHappyPointCardNo;
|
|
}
|
|
#endregion
|
|
|
|
#region 만약 구분(_strDiv) 값이 '조회'일 경우 해피 포인트 번호 표시후 조회까지 처리한다.
|
|
else if (((Cosmos.UI.CsmButton)_strDiv) == btnSearch)
|
|
{
|
|
// 해피포인트 카드 번호 설정 -----
|
|
txtCardNo.Value = _strHappyPointCardNo;
|
|
|
|
// 해피포인트 조회 함수 호출 -----
|
|
_blnResult = SearchTxtInPut(null);
|
|
}
|
|
#endregion
|
|
|
|
#region 만약 구분(_strDiv) 값이 '등록'일 경우 해피 포인트 번호 표시후 등록까지 처리한다.
|
|
else if (((Cosmos.UI.CsmButton)_strDiv) == btnEnter)
|
|
{
|
|
// 해피포인트 카드 번호 설정 -----
|
|
txtCardNo.Value = _strHappyPointCardNo;
|
|
|
|
// 해피포인트 등록 버튼 클릭 이벤트 호출 -----
|
|
btnProc_Click(btnEnter, null);
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
// 리턴값 설정 -----
|
|
return _blnResult;
|
|
}
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 해피포인트 정보 출력 처리
|
|
/// </summary>
|
|
/// <param name="nFlowMode"></param>
|
|
/// <returns></returns>
|
|
private bool PrintTxtInPut()
|
|
{
|
|
try
|
|
{
|
|
if (txtUsablePoint.Text == "") return false;
|
|
|
|
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { });
|
|
|
|
// 해피포인트 정보 출력
|
|
ISaleCompleteUs cSaleComplete = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE);
|
|
cSaleComplete.ExecuteInCardCpnReceipt(cEtcItem, m_dtGridList);
|
|
|
|
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 DeviceEvent 관련
|
|
/// <summary>
|
|
/// DeviceEvent 관련
|
|
/// </summary>
|
|
/// <param name="sDevice"></param>
|
|
/// <param name="sData1"></param>
|
|
/// <param name="sData2"></param>
|
|
/// <param name="sData3"></param>
|
|
public void OnDeviceEvent(string sDevice, string sData1, string sData2, string sData3)
|
|
{
|
|
try
|
|
{
|
|
if (bNotDoubleClik) return;
|
|
bNotDoubleClik = true;
|
|
|
|
switch (sDevice)
|
|
{
|
|
case PosConst.OPOS_DEVICE.MSR:
|
|
this.Invoke(new EventHandler(OnMSREvent));
|
|
break;
|
|
case PosConst.OPOS_DEVICE.SCANNER:
|
|
this.Invoke(new EventHandler(OnScannerEvent));
|
|
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);
|
|
bNotDoubleClik = false;
|
|
}
|
|
bNotDoubleClik = false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// MSR Event
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
/// <param name="e"></param>
|
|
private void OnMSREvent(object source, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
string sMsrData = m_cDevStatus.Msr.Track2Data;
|
|
if (sMsrData.Length > 0)
|
|
{
|
|
m_sInEncData = "";
|
|
m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP;
|
|
m_sInPutData = sMsrData;
|
|
|
|
txtCardNo.Value = m_sInPutData.Length > 16 ? m_sInPutData.Substring(0, 16) : m_sInPutData;
|
|
|
|
txtEditBox_EditBoxKeyDownEvent(txtCardNo, PosKey.MENU_KEY.ENTER);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 스캐너 이벤트 처리
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
/// <param name="e"></param>
|
|
private void OnScannerEvent(object source, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
string sScanData = m_cDevStatus.Scanner.DataLabel;
|
|
if (sScanData.Length > 0)
|
|
{
|
|
m_sInEncData = "";
|
|
m_sInPutData = sScanData;
|
|
if (m_sInPutData.Length > 16 && CmUtil.IsNumber(m_sInPutData.Substring(16, 1)) == false)
|
|
{
|
|
m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_MOBILE_SWIP;
|
|
txtCardNo.Value = m_sInPutData.Substring(0, 16);
|
|
}
|
|
else
|
|
{
|
|
m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_KEYIN;
|
|
txtCardNo.Value = m_sInPutData;
|
|
}
|
|
|
|
txtEditBox_EditBoxKeyDownEvent(txtCardNo, PosKey.MENU_KEY.ENTER);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
|
|
private bool IsCellularPhoneNumber(string sInputData)
|
|
{
|
|
bool bRet = false;
|
|
try
|
|
{
|
|
if (sInputData.Length == 10 || sInputData.Length == 11)
|
|
{
|
|
if (sInputData.StartsWith("010") == true || sInputData.StartsWith("011") == true || sInputData.StartsWith("017") == true ||
|
|
sInputData.StartsWith("016") == true || sInputData.StartsWith("018") == true || sInputData.StartsWith("019") == true)
|
|
{
|
|
bRet = true;
|
|
}
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
bRet = false;
|
|
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
|
|
return bRet;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 카드 번호 암호화
|
|
/// </summary>
|
|
/// <param name="sInData"></param>
|
|
/// <param name="sInMaskData"></param>
|
|
/// <param name="sInEncData"></param>
|
|
/// <returns></returns>
|
|
private bool EncryptedCardNo(string sInData, ref string sInMaskData, ref string sInEncData)
|
|
{
|
|
string sEncData = sInData;
|
|
bool bRet = false;
|
|
try
|
|
{
|
|
UnRegIcCallback(); // IC리더 콜백 해지
|
|
|
|
//#20170913 현금영수증, 포인트카드 마스킹 미적용 start
|
|
// "0"인 경우 마스킹 미처리
|
|
//기존
|
|
//sEncData = m_cDeviceICReader.GetEncryptedCardNo(sInData).Trim();
|
|
//변경
|
|
sEncData = m_cDeviceICReader.GetEncryptedCardNo(sInData, "0").Trim();
|
|
//#20170913 현금영수증, 포인트카드 마스킹 미적용 end
|
|
|
|
if (CmUtil.MidH(sEncData, 0, 2) == "00")
|
|
{
|
|
sInEncData = CmUtil.MidH(sEncData, 2, 512).Trim(); // 암호화 데이터
|
|
sInMaskData = CmUtil.MidH(sEncData, 514, sEncData.Length - 514).Trim(); // 마스킹 데이터
|
|
|
|
//#20170913 현금영수증, 포인트카드 마스킹 미적용 start
|
|
sInMaskData = CmUtil.MidH(sInMaskData, 0, 6) + "********";
|
|
//#20170913 현금영수증, 포인트카드 마스킹 미적용 end
|
|
|
|
bRet = true;
|
|
}
|
|
else
|
|
{
|
|
//암호화 처리 실패!
|
|
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "Fail =>" + sInData);
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0280);
|
|
}
|
|
|
|
if (txtCardNo.ReadOnly == false)
|
|
{
|
|
if (txtCardNo.Value == "") tmrIcCard.Enabled = true; // IC리더 콜백 설정
|
|
}
|
|
}
|
|
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 bRet;
|
|
}
|
|
|
|
/// <summary>
|
|
/// IC 카드 정보 입력 처리
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private bool GetIcCardData(bool bCancelCallBack)
|
|
{
|
|
string sRsvStr = "";
|
|
try
|
|
{
|
|
tmrIcCard.Enabled = false;
|
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "");
|
|
|
|
if (bCancelCallBack == true) UnRegIcCallback(); // IC리더 콜백 해지
|
|
|
|
txtCardNo.Value = "";
|
|
ClearCardInfo(); // 카드 입력 정보 클리어
|
|
|
|
if (m_cDeviceICReader.GetCardInfo_ICReader(PosConst.IC_READER_TRAN_TYPE.POINT, (int)m_cTrnStatus.Head.NetSaleAmt, ref sRsvStr) == true)
|
|
{
|
|
if (CmUtil.MidH(sRsvStr, 0, 2) == "00")
|
|
{
|
|
m_sInEncData = CmUtil.MidH(sRsvStr, 6, 512).Trim();
|
|
m_sInMaskData = CmUtil.MidH(sRsvStr, 1030, 37).Trim();
|
|
m_sServiceCode = CmUtil.MidH(sRsvStr, 1067, 5).Trim();
|
|
|
|
m_sInPutData = m_sInMaskData;
|
|
m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP;
|
|
|
|
txtCardNo.Value = m_sInPutData.Length > 16 ? m_sInPutData.Substring(0, 16) : m_sInPutData;
|
|
|
|
//tmrIcCard.Enabled = true; // IC리더 콜백 설정
|
|
return true;
|
|
}
|
|
}
|
|
|
|
if (txtCardNo.Value == "") tmrIcCard.Enabled = true; // IC리더 콜백 설정
|
|
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0321);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
// 여전법 대응////////////////////////////////////////////////////////////////////
|
|
CmUtil.ZeroFillClear(ref sRsvStr);
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// RF 카드 정보 입력 처리
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private bool GetRfCardData()
|
|
{
|
|
string sRsvStr = "";
|
|
try
|
|
{
|
|
txtCardNo.Value = "";
|
|
ClearCardInfo(); // 카드 입력 정보 클리어
|
|
|
|
//카드 정보 입력
|
|
if (m_cDeviceICReader.GetRfCreditCardInfo("1", m_cTrnStatus.Head.NetSaleAmt.ToString(), "", "", "", ref sRsvStr) == false)
|
|
{
|
|
if (sRsvStr != "") WinManager.ErrorMessage(sRsvStr);
|
|
return false;
|
|
}
|
|
|
|
m_sInEncData = CmUtil.MidH(sRsvStr, 2, 512).Trim();
|
|
m_sInMaskData = CmUtil.MidH(sRsvStr, 514, 40).Trim();
|
|
m_sServiceCode = CmUtil.MidH(sRsvStr, 554, 5).Trim();
|
|
|
|
m_sInPutData = m_sInMaskData;
|
|
m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_RF;
|
|
|
|
txtCardNo.Value = m_sInPutData.Length > 16 ? CmUtil.MidH(m_sInPutData, 0, 16) : m_sInPutData;
|
|
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);
|
|
}
|
|
finally
|
|
{
|
|
// 여전법 대응////////////////////////////////////////////////////////////////////
|
|
CmUtil.ZeroFillClear(ref sRsvStr);
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// POP 카드 정보 입력 처리
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private bool GetPopCardData()
|
|
{
|
|
string sRsvStr = "";
|
|
try
|
|
{
|
|
txtCardNo.Value = "";
|
|
ClearCardInfo(); // 카드 입력 정보 클리어
|
|
|
|
if ( m_cDeviceICReader.RfPrepaidCardInfo(ref sRsvStr) == false)
|
|
{
|
|
if (sRsvStr != "") WinManager.ErrorMessage(sRsvStr);
|
|
return false;
|
|
}
|
|
if (sRsvStr.StartsWith("T") == true)
|
|
{
|
|
m_sInPutData = sRsvStr.Substring(7, 16).Trim();
|
|
}
|
|
else if (sRsvStr.StartsWith("E") == true)
|
|
{
|
|
m_sInPutData = sRsvStr.Substring(1, 20).Trim();
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool bRet = EncryptedCardNo(m_sInPutData, ref m_sInMaskData, ref m_sInEncData);
|
|
if (bRet == true)
|
|
{
|
|
m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_RF;
|
|
txtCardNo.Text = m_sInPutData;
|
|
}
|
|
return bRet;
|
|
|
|
//UnRegIcCallback(); // IC리더 콜백 해지
|
|
|
|
//string sEncData = m_cDeviceICReader.GetEncryptedCardNo(m_sInPutData).Trim();
|
|
//if (CmUtil.MidH(sEncData, 0, 2) == "00")
|
|
//{
|
|
// m_sInEncData = CmUtil.MidH(sEncData, 2, 512).Trim(); // 암호화 데이터
|
|
// m_sInMaskData = CmUtil.MidH(sEncData, 514, sEncData.Length - 514).Trim(); // 마스킹 데이터
|
|
// m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_RF;
|
|
// txtCardNo.Text = m_sInPutData;
|
|
// return true;
|
|
//}
|
|
//else
|
|
//{
|
|
// //암호화 처리 실패!
|
|
// UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "Fail =>" + m_sInPutData);
|
|
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0280);
|
|
//}
|
|
|
|
//if (txtCardNo.ReadOnly == false) tmrIcCard.Enabled = true; // IC리더 콜백 설정
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
// 여전법 대응////////////////////////////////////////////////////////////////////
|
|
CmUtil.ZeroFillClear(ref sRsvStr);
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 전화번호 입력 처리
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private bool GetPinPadData()
|
|
{
|
|
try
|
|
{
|
|
txtCardNo.Value = "";
|
|
ClearCardInfo(); // 카드 입력 정보 클리어
|
|
|
|
string sRsvStr = "";
|
|
if (m_cDeviceSignPad.GetMsg_SignPad(false, MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0324), ref sRsvStr) == false)
|
|
{
|
|
//WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0321);
|
|
return false;
|
|
}
|
|
txtCardNo.Value = sRsvStr;
|
|
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
|
|
|
|
private void gridList_Enter(object sender, EventArgs e)
|
|
{
|
|
padInPut.SetActiveFocus();
|
|
}
|
|
|
|
private void lblCardNo_MouseDown(object sender, MouseEventArgs e)
|
|
{
|
|
//if (e.Button == System.Windows.Forms.MouseButtons.Right)
|
|
//{
|
|
// m_cDevStatus.Scanner.DataLabel = "8231124183433925%";
|
|
// OnScannerEvent(null, null);
|
|
//}
|
|
}
|
|
|
|
//#13753 POS MOT음성 기능 추가 개발요청 start,phj
|
|
public bool SetPlayMotMsg(string sMsgTp, string sMsgFlag, string sSeqNo)
|
|
{
|
|
try
|
|
{
|
|
DataTable dtHead = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
|
|
if (dtHead != null && dtHead.Rows.Count > 0)
|
|
{
|
|
// 음성 사용 유무(0:미사용, 1:사용)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT309) == "2")
|
|
{
|
|
DataRow dr = dtHead.Rows[0];
|
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "01") // 00(없음), 01(WAVE), 02(TTS)
|
|
{
|
|
string sFilePath = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_NM);
|
|
CmUtil.PlaySound(sFilePath);
|
|
}
|
|
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "02") // 00(없음), 01(WAVE), 02(TTS)
|
|
{
|
|
CmUtil.SpeakByTTSEngine(m_cPosStatus.Base.Country, CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.TTS_DSCRP), 150);
|
|
}
|
|
}
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
//#13753 POS MOT음성 기능 추가 개발요청 end,phj
|
|
|
|
//#20180413 웰컴카드 신규기능 추가 start, 20180621
|
|
#region 웰컴카드 발급 버튼
|
|
/// <summary>
|
|
/// 웰컴카드 발급 버튼
|
|
/// </summary>
|
|
private bool WelcomeCard_Issue(string sCardNo = "")
|
|
{
|
|
string sRet = UserCom.RST_ERR;
|
|
|
|
if (m_cTrnStatus.Head.TradeDiv != ItemConst.TRAN_DIV.NORMAL) return false;
|
|
if (m_cPosStatus.Base.TrainingFlag == "1" || m_cPosStatus.Mst.TestStorYn == "1") return false;
|
|
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT516) != "1")
|
|
{
|
|
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0790);
|
|
return false;
|
|
|
|
}
|
|
|
|
try
|
|
{
|
|
UserLog.WriteLogFile(UserCom.LOG_IOS,
|
|
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
|
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
|
|
"[WelcomeCard_Issue] WELCOMECARD_ISSUE Open! ");
|
|
|
|
|
|
sRet = WinPay.ShowForm(new string[] { FormManager.FORM_WELCOMECARD_ISSUE, PosKey.MENU_KEY.WELCOMECARD_ISSUE, "2", "", "false" });
|
|
|
|
if (sRet != UserCom.RST_OK)
|
|
{
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
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
|
|
//#20180413 웰컴카드 신규기능 추가 end, 20180621
|
|
|
|
|
|
#region 여전법 대응
|
|
/// <summary>
|
|
/// ZeroFill 초기화
|
|
/// </summary>
|
|
private void InDataToZeroFill()
|
|
{
|
|
try
|
|
{
|
|
|
|
//여전법 대응!
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
CmUtil.ZeroFillClear(ref m_sInPutData);
|
|
CmUtil.ZeroFillClear(ref m_sInEncData);
|
|
CmUtil.ZeroFillClear(ref m_sInMaskData);
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
|
txtCardNo.Value = string.Empty;
|
|
}
|
|
catch (Exception) { }
|
|
|
|
}
|
|
#endregion 여전법 대응
|
|
|
|
#region IC리더 콜백 관련
|
|
/// <summary>
|
|
/// IC리더 콜백 설정
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void tmrIcCard_Tick(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", tmrIcCard.Tag.ToString());
|
|
|
|
if (m_cDevStatus.ICReader.UseYn != true) // 여전법 인증여부(0:MSR, 1:IC)
|
|
{
|
|
tmrIcCard.Enabled = false;
|
|
return;
|
|
}
|
|
|
|
if (tmrIcCard.Tag == null || tmrIcCard.Tag.ToString() == "")
|
|
{
|
|
// IC리더 콜백 설정
|
|
if (bNotDoubleClik) return;
|
|
|
|
tmrIcCard.Enabled = false;
|
|
|
|
//#20170918 IC 콜백 함수 변경 start
|
|
//포인트창에서 해피제휴 신용카드 리딩시 IC 우선 거래로 인해 '카드를 읽혀 주세요' 팝업 나오는 현상 수정.
|
|
//기존
|
|
m_cDeviceICReader.RegIcCallback(delegateReader);
|
|
//변경
|
|
//string sApprID = PosMstManager.GetMstVan(ItemConst.TR_ITEM_ID.CREDITCARD_ITEM, ItemConst.TR_ITEM_ID.CREDITCARD.CREDIT_CARD, PosMst.MST_VAN.DATA.APPR_ID);
|
|
//m_cDeviceICReader.RegIcCallbackCardInfo(sApprID, m_cDataService.IntParse(txtPayAmt.Text), delegateReaderCardInfo);
|
|
//#20170918 IC 콜백 함수 변경 end
|
|
}
|
|
else if (tmrIcCard.Tag.ToString() == "MSR" )
|
|
{
|
|
// MSR 카드 읽기
|
|
tmrIcCard.Enabled = false;
|
|
tmrIcCard.Tag = "";
|
|
tmrIcCard.Interval = 500;
|
|
|
|
bNotDoubleClik = false;
|
|
txtEditBox_EditBoxKeyDownEvent(txtCardNo, PosKey.MENU_KEY.ENTER);
|
|
|
|
tmrIcCard.Enabled = true;
|
|
}
|
|
else if (tmrIcCard.Tag.ToString() == "IC")
|
|
{
|
|
// IC리더 카드 읽기
|
|
tmrIcCard.Enabled = false;
|
|
tmrIcCard.Tag = "";
|
|
tmrIcCard.Interval = 500;
|
|
|
|
bNotDoubleClik = false;
|
|
btnProc_Click(btnIcCard, null);
|
|
}
|
|
//#20170918 IC 콜백 함수 변경 start
|
|
/*
|
|
//포인트창에서 해피제휴 신용카드 리딩시 IC 우선 거래로 인해 '카드를 읽혀 주세요' 팝업 나오는 현상 수정.
|
|
else if (tmrIcCard.Tag.ToString() == "ICREADER")
|
|
{
|
|
// IC리더 카드 읽기(CardInfo)
|
|
tmrIcCard.Enabled = false;
|
|
tmrIcCard.Tag = "";
|
|
tmrIcCard.Interval = 500;
|
|
|
|
bNotDoubleClik = false;
|
|
}
|
|
*/
|
|
//#20170918 IC 콜백 함수 변경 end
|
|
else
|
|
tmrIcCard.Enabled = 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);
|
|
}
|
|
}
|
|
|
|
delegate void DelegateIcReaderCallBack(int rc, StringBuilder str);
|
|
/// <summary>
|
|
/// IC리더 콜백 함수
|
|
/// </summary>
|
|
/// <param name="num"></param>
|
|
/// <param name="str"></param>
|
|
public void OnIcReaderCallBack(int num, StringBuilder str)
|
|
{
|
|
try
|
|
{
|
|
if (txtCardNo.InvokeRequired)
|
|
{
|
|
DelegateIcReaderCallBack d = new DelegateIcReaderCallBack(OnIcReaderCallBack);
|
|
this.Invoke(d, new object[] { num, str });
|
|
}
|
|
else
|
|
{
|
|
if (bNotDoubleClik) return;
|
|
bNotDoubleClik = true;
|
|
|
|
if (num == 1)
|
|
{
|
|
// IC 카드
|
|
tmrIcCard.Tag = "IC";
|
|
tmrIcCard.Interval = 100;
|
|
}
|
|
else
|
|
{
|
|
// MSR 카드
|
|
if (str.ToString().StartsWith("EN") == true)
|
|
{
|
|
ClearCardInfo(); // 카드 입력 정보 클리어
|
|
|
|
m_sInEncData = CmUtil.MidH(str.ToString(), 0, 512).Trim();
|
|
m_sInMaskData = CmUtil.MidH(str.ToString(), 512, 40).Trim();
|
|
m_sInPutData = m_sInMaskData;
|
|
m_sInPutType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP;
|
|
|
|
txtCardNo.Value = m_sInPutData;
|
|
tmrIcCard.Tag = "MSR";
|
|
|
|
tmrIcCard.Interval = 100;
|
|
}
|
|
else
|
|
{
|
|
tmrIcCard.Interval = 500;
|
|
}
|
|
}
|
|
tmrIcCard.Enabled = true;
|
|
|
|
bNotDoubleClik = 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);
|
|
bNotDoubleClik = false;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// IC리더 콜백 해지
|
|
/// </summary>
|
|
private void UnRegIcCallback()
|
|
{
|
|
try
|
|
{
|
|
if (m_cDevStatus.ICReader.UseYn == true) // 여신전문금융업법 적용여부 체크
|
|
{
|
|
tmrIcCard.Enabled = false;
|
|
|
|
//#20170918 IC 콜백 함수 변경 start
|
|
//포인트창에서 해피제휴 신용카드 리딩시 IC 우선 거래로 인해 '카드를 읽혀 주세요' 팝업 나오는 현상 수정.
|
|
//기존
|
|
m_cDeviceICReader.UnRegIcCallback();
|
|
//변경
|
|
//m_cDeviceICReader.UnRegIcCallbackCardInfo();
|
|
//#20170918 IC 콜백 함수 변경 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);
|
|
}
|
|
}
|
|
|
|
private void tmrDateTime_Tick(object sender, EventArgs e)
|
|
{
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|
//포인트창 닫히는 시점에 안보이도록 수정 - 불필요해서 소스 주석
|
|
/*
|
|
if (pnlBuyHistMot.Visible == true)
|
|
{
|
|
TimeSpan Ti = DateTime.Now - BuyHistTime;
|
|
if (Ti.Seconds > 3)
|
|
{
|
|
pnlBuyHistMot.Visible = false;
|
|
BuyHistTime = new DateTime();
|
|
}
|
|
|
|
}
|
|
*/
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|
|
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|
|
|
}
|
|
|
|
//#15525 고객구매이력 수정 요청 start
|
|
//VIP 여부 안내 표시
|
|
#region VIP 여부 안내표시 클릭시 안보이게 처리
|
|
private void picVip_Click(object sender, EventArgs e)
|
|
{
|
|
pnlBuyHistVip.Visible = false;
|
|
}
|
|
#endregion VIP 여부 안내표시 클릭시 안보이게 처리
|
|
//#15525 고객구매이력 수정 요청 end
|
|
|
|
//#20170918 IC 콜백 함수 변경 start
|
|
//포인트창에서 해피제휴 신용카드 리딩시 IC 우선 거래로 인해 '카드를 읽혀 주세요' 팝업 나오는 현상 수정.
|
|
/*
|
|
delegate void DelegateWriteLog(int returnValue, StringBuilder returnData);
|
|
/// <summary>
|
|
/// IC리더 콜백 함수(CardInfo)
|
|
/// </summary>
|
|
/// <param name="returnValue"></param>
|
|
/// <param name="returnData"></param>
|
|
public void OnIcReaderCallBackCardInfo(int returnValue, StringBuilder returnData)
|
|
{
|
|
if (txtCardNo.InvokeRequired)
|
|
{
|
|
DelegateWriteLog d = new DelegateWriteLog(OnIcReaderCallBackCardInfo);
|
|
this.Invoke(d, new object[] { returnValue, returnData });
|
|
}
|
|
else
|
|
{
|
|
if (m_bCardInPut) return;
|
|
m_bCardInPut = true;
|
|
|
|
if (returnValue > 0)
|
|
{
|
|
string sRsvStr = returnData.ToString();
|
|
if (CmUtil.MidH(sRsvStr, 0, 2) == "00")
|
|
{
|
|
m_sCardNo = CmUtil.MidH(sRsvStr, 6, 512).Trim();
|
|
txtCardNo.Value = CmUtil.MidH(sRsvStr, 1030, 37).Trim();
|
|
m_sIcChip = CmUtil.MidH(sRsvStr, 518, 512).Trim();
|
|
if (CmUtil.MidH(sRsvStr, 4, 2).Trim() == "02")
|
|
{
|
|
m_InputType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP;
|
|
}
|
|
else
|
|
{
|
|
m_InputType = PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_IC;
|
|
}
|
|
m_sServiceCode = CmUtil.MidH(sRsvStr, 1067, 5).Trim();
|
|
m_sFallDiv = CmUtil.MidH(sRsvStr, 3, 1); // == "3" ? "0" : "1";
|
|
|
|
// IC 카드(CardInfo)
|
|
tmrIcCard.Tag = "ICREADER";
|
|
tmrIcCard.Interval = 100;
|
|
tmrIcCard.Enabled = true;
|
|
|
|
m_bCardInPut = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
*/
|
|
//#20170918 IC 콜백 함수 변경 end
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|