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 /// /// 0: 일반, 1:웰컴카드에서오픈 /// private string m_SetClientSearch; public string SetClientSearch { set { this.m_SetClientSearch = value; } } //#20180413 웰컴카드 신규기능 추가 end,phj private string m_sPosMenuKey; /// /// POS 기능키 /// public string SetPosMenuKey { set { this.m_sPosMenuKey = value; } } private string m_sHappyPointSave; /// /// 해피포인트 카드등록 구분(0:카드등록, 1:적립등록) /// public string SetHappyPointSave { set { this.m_sHappyPointSave = value; } } /// /// 입력구분 /// private string m_sInPutType = ""; /// /// 입력데이터 /// private string m_sInPutData = ""; /// /// 마스킹데이터 /// private string m_sInMaskData = ""; /// /// 카드데이터(암호화) /// private string m_sInEncData = ""; /// /// 서비스코드 /// private string m_sServiceCode = ""; /// /// 승인카드번호 /// private string m_sAppCardNo = ""; /// /// 대상 금액 /// private double m_nDestAmt = 0; /// /// 조회 성공 여부 /// private bool m_bSearchSuccess = false; /// /// 쿠폰리스트 데이터 /// 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 } /// /// 폼 컨트롤 초기화 /// 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); } } /// /// 그리드 초기화 /// 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); } } /// /// 카드 입력 정보 클리어 /// 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 /// /// 해피포인트 사용화면 오픈 /// 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 버튼 입력 처리 /// /// 버튼 입력 처리 /// /// /// 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 고객 구매이력 정보 버튼 입력 처리 /// /// 고객 구매이력 정보 버튼 입력 처리 /// /// /// 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 고객 구매이력 정보 라벨 입력 처리 /// /// 고객 구매이력 정보 버튼 입력 처리 /// /// /// 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 텍스트박스 키 입력 이벤트 처리 /// /// 텍스트박스 키 입력 이벤트 처리 /// /// /// 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; } /// /// 텍스트박스 활성화 처리 /// /// /// 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 텍스트박스 입력 유효성 체크 /// /// 텍스트박스 입력 유효성 체크 /// /// /// 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 입력 완료 처리 /// /// 해피포인트 카드 등록 처리 /// /// /// 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; } /// /// 해피포인트 카드 조회 처리 /// /// 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 /// /// 해피포인트 정보 출력 처리 /// /// /// 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 관련 /// /// DeviceEvent 관련 /// /// /// /// /// 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; } /// /// MSR Event /// /// /// 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); } } /// /// 스캐너 이벤트 처리 /// /// /// 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; } /// /// 카드 번호 암호화 /// /// /// /// /// 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; } /// /// IC 카드 정보 입력 처리 /// /// 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; } /// /// RF 카드 정보 입력 처리 /// /// 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; } /// /// POP 카드 정보 입력 처리 /// /// 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; } /// /// 전화번호 입력 처리 /// /// 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 웰컴카드 발급 버튼 /// /// 웰컴카드 발급 버튼 /// 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 여전법 대응 /// /// ZeroFill 초기화 /// 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리더 콜백 관련 /// /// IC리더 콜백 설정 /// /// /// 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); /// /// IC리더 콜백 함수 /// /// /// 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; } } /// /// IC리더 콜백 해지 /// 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); /// /// IC리더 콜백 함수(CardInfo) /// /// /// 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 } }