using System; using System.Data; using System.Drawing; using System.Windows.Forms; using System.Collections; using System.Runtime.InteropServices; using System.Threading; using System.IO; using Cosmos.BaseFrame; using Cosmos.UserFrame; using Cosmos.ServiceProvider; using Cosmos.Common; using Cosmos.CommonManager; using Cosmos.UI; using System.Diagnostics; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start using System.Text; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end //using Cosmos.Service; //#20181015 결제창 엑박 관련 이미지 미사용 처리 start using System.Drawing.Drawing2D; //#20181015 결제창 엑박 관련 이미지 미사용 처리 end //************************************************************************************************ // 변경 이력 : 해피포인트 제휴할인 선리딩 처리 //------------------------------------------------------------------------------------------------ // - 작 업 자 : 서광원B // - 작업일자 : 2017.11.01 // - 작업내용1 : 매출등록화면에서 상품등록 후 // 해피포인트 카드 혹은 제휴할인 카드를 리딩했을때 // 정상적인 카드일 경우 각각의 번호를 저장한다. // 이후 '결제' 버튼 클릭 -> 포인트할인결제 화면에서 -> '해피포인트' 버튼 클릭시 // 저장되어 있던 해피포인트 번호 표시후 조회까지 진행한다. // '제휴할인(통합)' 버튼 클릭시에도 동일한 처리를 수행한다. // - 작업내용2 : 만약 해피포인트 옵션이 설정되어 있을 경우 // '결제' 버튼 클릭시 해피포인트 사용 화면을 바로 표시한다. // 추가로 만약 해피포인트 카드가 리딩되었다면 조회까지 진행한다. //************************************************************************************************ //************************************************************************************************ // 변경 이력 : 바코드 중복 처리 //------------------------------------------------------------------------------------------------ // - 작 업 자 : 서광원B // - 작업일자 : 2017.11.10 // - 작업분류 : 2017.10.28 정보운영 판매 바코드 인식 // - 요청사항 : 1.상품마스터에는 바코드 복수 등록이 가능하나, 판매POS는 복수로 적용불가함. // - 바코드가 키값으로 되어 있어 중복적용이 불가능한 구조 개선 필요 // 2.1개의 상품에 바코드 정보가 여러 개인 경우 제품선택화면에서 사용자가 // 상품선택할 수 있도록 기능 개선 // - 작업내용 : 상품마스터테이블(MST_ITEM), 상품바코드테이블(MST_ITEM_BAR_CD)을 대상으로 // 만약 1개의 상품을 리딩했는데, 마침 상품바코드테이블에 데이터가 2개 이상일 경우 // 새로 생성한 상품 선택 화면(frmMultiItem) 에서 사용자가 원하는 상품을 선택할 수 있도록 한다. // cf) 상품코드와 상품명을 리턴하는 쿼리 함수(SeletItemMstNmoScanCode) 추가 //************************************************************************************************ namespace Cosmos.Win { public partial class frmSaleMain : Form, IFormSaleMainUs { private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출 private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object(객체) private PosStatus m_cPosStatus = null; // 기본정보 참조 private TranStatus m_cTrnStatus = null; // 거래정보 참조 private DeviceStatus m_cDevStatus = null; // 장치저보 참조 private PosOLEDevice.DelegateOlePos delegatePos; private IDataProcessUs m_cDataService = null; // 거래데이터 합계금액 계산 및 관리 private ISalePluItemUs m_cPluService = null; // 판매 등록 관리 private ICustDisplayUs m_cCustDisp = null; // 고객디스플레이 관리 private IMasterUs m_cMaster = null; // 마스터 관리 private ICampaignUs m_cCampaingMain = null; // 캠페인 관리 private IDataCommonUs m_cDataCommon = null; // POS 공통함수 인터페이스 private IPaymentUs m_cPayCancel = null; // 결제 취소 공통 private ITableUs m_cTableSvr = null; // 테이블 관리 private IWatcherBack m_cBackgroundDown = null; private IDataServiceUs m_cPosNoticeCom = null; // 공지사항 공통 private SaleMainProcess m_cSaleMainProc = null; // 판매화면 기능 관리 private ISvr2Tran m_cSvr2Tran = null; // 서버시간 동기화 //17.05.18 dkshin 쇼킹박스 추가 private ISaleCompleteUs m_cSaleService = null; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start private IICReaderUs m_cDeviceICReader = null; /// /// 입력구분 /// private string m_sInPutType = ""; /// /// 마스킹데이터 /// private string m_sInMaskData = ""; /// /// 카드데이터(암호화) /// private string m_sInEncData = ""; /// /// 서비스코드 /// private string m_sServiceCode = ""; /// /// 승인카드번호 /// private string m_sAppCardNo = ""; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end private int m_nTimeSyncFlag = 0; /// /// 부가메뉴선택유형(1:단일선택, 2:멀티선택) /// string m_sSubMenuGrpSelType = ""; /// /// 화면 초기화 여부 /// private bool m_bFormInint = false; /// /// 상품키 구성 마스터 /// //private DataTable m_dtMstItemKeyCompnt; private ArrayList m_alMotDtl = new ArrayList(); // 결제 수단 정보 MOT 배열 private int iMaxPage; // 결제 수단 정보 MOT 최대 페이지 수 private int iNowPage; // 결제 수단 정보 MOT 현재 페이지 private readonly string MotbtnName = "BtnMotPay"; // 결제 수단 기본 버튼명 private Hashtable m_htMenuControls; // 상단 SLIDE 메뉴버튼 컨트롤 정보 private ArrayList m_alMenuHead = new ArrayList(); // 상단 SLIDE 메뉴타이틀정의 배열 private ArrayList m_alMenuProc = new ArrayList(); // 상단 SLIDE 메뉴정의 배열 private string m_SlideMenuKey = string.Empty; // 슬라이드 메뉴키 #region 해피포인트 선리딩 처리를 위한 변수 DataTable gdtFuncKey = new DataTable(); // 해피포인트 및 제휴할인 카드를 선리딩할 수 있는지 여부 확인을 위한 테이블 string strDispPriorReading = ""; // 선리딩된 내역을 상태바에 표시하기 위한 스트링 변수 #endregion /// /// 메뉴상단표시위치 /// private int m_nTopPos = 0; private string m_sPosMenuKeyIn = ""; /// /// frmSaleMain 호출자 설정 /// private string m_sSaleMainCaller = ""; public string SetSaleMainCaller { set { m_sSaleMainCaller = value; } } /// /// 상품키 구성마스터 /// DataTable m_dtMstItemKeyCompnt = new DataTable(); /// /// 마스터 배치 다운로드 시간 /// private string m_sMstBatchDownDate = ""; private bool AllianceCardTranMode = false; //false 취소 , true 등록 private DateTime AllianceCardTime = new DateTime(); private bool AllianceCardVisibleFlag2 = false; public int AllianceCardVisibleCnt2 = 0; private string m_sPluItemCode = string.Empty; // 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510 //고객 구매이력 정보 표시 시점에 상단 MOT 표시 private DateTime BuyHistTime = new DateTime(); //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510 //#20180605 해피오더 개선 start //즉시주문, 예약주문 알림 //즉시픽업 private int m_nTimeSync_HpOrd_Direct = 0; //즉시배달 private int m_nTimeSync_HpOrd_Reserv = 0; //#20180605 해피오더 개선 end //#15058 해피오더 버튼 변경_20180612 start,phj /// /// 1분 카운트 /// private int iCount = 0; /// /// 해피오더 신규버튼 (true: 활성화, false: 비활성화) /// private bool bSaleMain = true; //#15058 해피오더 버튼 변경_20180612 end,phj //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368 //기존 /* //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start /// /// 해피오더 실시간 재고 알림 디스플레이 상태 (true : 디스플레이 false: 미디스플레이) /// private bool bInventoryDispStat = false; /// /// 특별한 액션이 없을 때 (1분동안보여줌) /// private int iInventoryDispCnt = -1; //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end */ //변경 /// /// true: 닫기, false: 열기 /// private bool bInventoryCancel = false; //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368 #region 생성자, 폼로딩 /// /// 생성자 /// public frmSaleMain() { InitializeComponent(); base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true); //this.UpdateStyles(); //#20181015 결제창 엑박 관련 이미지 미사용 처리 start this.picPayBack.Paint += new System.Windows.Forms.PaintEventHandler(this.picPayBack_Gradient); //#20181015 결제창 엑박 관련 이미지 미사용 처리 end m_cPosStatus = (PosStatus)StateObject.POS; //POS 기본정보 m_cTrnStatus = (TranStatus)StateObject.TRAN; //POS 거래정보 m_cDevStatus = (DeviceStatus)StateObject.DEVICE; m_cDataService = (IDataProcessUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_SERVICE); m_cPluService = (ISalePluItemUs)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.SALE_PLU_ITEM); m_cCustDisp = (ICustDisplayUs)sManager.InitServiceInstance(ServiceLists.ASV_CUSTDISPLAY.DLL, ServiceLists.ASV_CUSTDISPLAY.CUST_DISPLAY); m_cMaster = (IMasterUs)sManager.InitServiceInstance(ServiceLists.ASV_MASTER.DLL, ServiceLists.ASV_MASTER.POS_MASTER); m_cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN); m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON); m_cPayCancel = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.PAYMENTCANCEL); m_cTableSvr = (ITableUs)sManager.InitServiceInstance(ServiceLists.BSV_TABLE.DLL, ServiceLists.BSV_TABLE.TABLE_SERVICE); m_cPosNoticeCom = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.POS_NOTICE_COM); m_cSvr2Tran = (ISvr2Tran)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.SVR2TRAN); // 백그라운드 다운 데몬 기동 m_cBackgroundDown = (IWatcherBack)sManager.InitServiceInstance(ServiceLists.AGENT_BACKGROUND_DOWN.DLL, ServiceLists.AGENT_BACKGROUND_DOWN.BACKGROUND_DOWN_MAIN); //17.05.18 dkshin 쇼킹박스 추가 m_cSaleService = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE); //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start m_cDeviceICReader = (IICReaderUs)sManager.InitServiceInstance(ServiceLists.AGENT_OLEDEVICE.DLL, ServiceLists.AGENT_OLEDEVICE.DEVICE_ICREADER); //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end m_cSaleMainProc = new SaleMainProcess(); //OLE 입력 델리게이트 생성 delegatePos = new PosOLEDevice.DelegateOlePos(OnDeviceEvent); #region 초기화 관련 설정들은 Form 생성 전 한 번만 호출되도록 생성자 쪽으로 이동(CHOCY-20160707) //// 세트 할인 마스터 로딩 //m_cPluService.LoadSetMenuDisMaster(); //// 캠페인 마스터 로딩 //m_cCampaingMain.LoadCampaignCondition(new string[] { }); //// 그리드 초기화 //InitializeGrid(); ////// 컨트롤 초기화 //InitControl(); ////// 메뉴 버튼 초기화 및 로드 //LoadMenuMaster(); ////// 기능키 버튼 초기화 및 로드 //LoadFuncMaster(); #endregion } //#20181015 결제창 엑박 관련 이미지 미사용 처리 start #region picPayBack Paint 이벤트 private void picPayBack_Gradient(object sender, PaintEventArgs e) { try { //picPayBack 그라데이션 처리 #region picPayBack 그라데이션 처리 Color startColor = Color.FromArgb(138, 147, 165); Color middleColor1 = Color.FromArgb(138, 147, 165); Color middleColor2 = Color.FromArgb(33, 44, 56); Color endColor = Color.FromArgb(33, 44, 56); LinearGradientBrush br = new LinearGradientBrush(this.picPayBack.ClientRectangle, System.Drawing.Color.FromArgb(255, 255, 255), System.Drawing.Color.Black, 0, false); ColorBlend cb = new ColorBlend(); //그라데이션 시작 위치 설정 cb.Positions = new[] { 0, 1 / 10f, 1 / 2f, 1 }; //그라데이션 시작 위치별 색상 설정 cb.Colors = new[] { startColor, middleColor1, middleColor2, endColor }; //그라데이션 처리 회전 각도 br.RotateTransform(90); br.InterpolationColors = cb; e.Graphics.FillRectangle(br, this.picPayBack.ClientRectangle); #endregion picPayBack 그라데이션 처리 //하단 정보 박스 테두리 색상 변경 #region 하단 정보 박스 테두리 색상 변경 Pen p = new Pen(Color.Black); Graphics g = e.Graphics; int variance = 1; //해피포인트 정보 g.DrawRectangle(p, new Rectangle(lblHappyPoint.Location.X - variance, lblHappyPoint.Location.Y - variance, lblHappyPoint.Width + variance, lblHappyPoint.Height + variance)); //금액 정보 g.DrawRectangle(p, new Rectangle(lblPayAmtBack.Location.X - variance, lblPayAmtBack.Location.Y - variance, lblPayAmtBack.Width + variance, lblPayAmtBack.Height + variance)); //결제 정보 g.DrawRectangle(p, new Rectangle(lstPaymentList.Location.X, lstPaymentList.Location.Y - variance, lstPaymentList.Width, lstPaymentList.Height + variance)); #endregion 하단 정보 박스 테두리 색상 변경 } 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 picPayBack Paint 이벤트 //#20181015 결제창 엑박 관련 이미지 미사용 처리 end private void frmSaleMain_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 + "()", ""); #region 초기화 관련 설정들은 Form 생성 전 한 번만 호출되도록 생성자 쪽으로 이동(CHOCY-20160707) // 세트 할인 마스터 로딩 m_cPluService.LoadSetMenuDisMaster(); // 캠페인 마스터 로딩 m_sMstBatchDownDate = m_cPosStatus.Base.MstBatchDownDate; m_cCampaingMain.LoadCampaignCondition(new string[] { }); // 그리드 초기화 InitializeGrid(); // 컨트롤 초기화 InitControl(); // 메뉴 버튼 초기화 및 로드 LoadMenuMaster(); // 기능키 버튼 초기화 및 로드 LoadFuncMaster(); // 컨트롤 CLEAR ClearControl(); // 프로그램 버전정보 표시 lblPgmVersion.Text = string.Format("VER:{0}", m_cPosStatus.Ver.ProgramVer == "" ? "2016011000001" : m_cPosStatus.Ver.ProgramVer); if (m_cPosStatus.Base.MstDownDate.Trim() != "") lblDBVersion.Text = "MST:" + m_cPosStatus.Base.MstDownDate; //#20171011 영업일, 시스템일시 위치 변경 start //개점일자 표시 //lblSaleDate.Text = string.Format("SaleDate : {0}", m_cPosStatus.Base.SaleDate == "" ? m_cPosStatus.Global.DateToCulture("20000101") : m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate)); //#20171011 영업일, 시스템일시 위치 변경 end // 판매모드 초기화 m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; InitializeGrid(); // 판매화면 초기화 DisplayInit(false, true); WinSale.SetTradType(lblSaleStatus, pnlTopBg, ItemConst.TRAN_DIV.NORMAL, ItemConst.TRAN_KIND.NORMAL.SALE); SetOwnPartDiv(false); GetClientPOSVersion();//실행파일 버젼 표시; girak.kim; 2017.08.30.001 #endregion PosOLEDevice.SetEventHandle(delegatePos); //if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT) if (m_sSaleMainCaller == PosConst.SAL_MAIN_FORM_CALLER_TYPE.TABLE_SVC) { switch (m_cPosStatus.Sale.EtcOperateMode) { case PosConst.ETC_OPERATION_MODE.NORMAL: case PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY: // 테이블 서비스에서 호출 되었을 경우 처리 m_cPosStatus.Sale.TableInfo = CmUtil.RPadH(m_cTrnStatus.Head.OrderFlag, 1) + CmUtil.RPadH(m_cTrnStatus.Head.FloorCd, 4) + CmUtil.RPadH(m_cTrnStatus.Head.TableNo, 4); string ret = m_cTableSvr.SelectMenuOrder(); if (ret != UserCom.RST_OK) { WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087); m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END; tmrCustCount.Enabled = true; return; } ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); if (aSaleItem.Count == 0 && m_cPosStatus.Sale.EtcOperateMode != PosConst.ETC_OPERATION_MODE.NORMAL) { WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087); m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END; tmrCustCount.Enabled = true; return; } if (aSaleItem.Count > 0) { // 판매중 모드 설정 m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; // 판매화면 초기화 DisplayInit(true, false); // 상품등록 내역 표시 DisplayItem(0, false); // 판매진행상태 재설정 m_cPosStatus.Sale.SaleFlow = m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL ? PosConst.SALE_FLOW.SALE_DOING : PosConst.SALE_FLOW.PAY_WAIT; } else { // 상품등록 대기 모드 설정 m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; // 판매화면 초기화 DisplayInit(true, false); } if (m_cTrnStatus.Head.OrderFlag == PosConst.ORDER_TYPE.NORMAL) // 테이블 { if (m_cTrnStatus.Head.OrderPicNm.Trim() == "") lblTableInfo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0176) + ": " + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm; else lblTableInfo.Text = "[" + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm + "]" + m_cTrnStatus.Head.OrderPicNm; } break; case PosConst.ETC_OPERATION_MODE.NO_ORDER_SALE: default: // 상품등록 대기 모드 설정 m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; // 판매화면 초기화 DisplayInit(true, false); break; } if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT && m_cTrnStatus.Head.OrderFlag == PosConst.ORDER_TYPE.NORMAL) { // 고객 수 입력 폼 설정 tmrCustCount.Enabled = true; } else { // lblCustCount } } else if (m_sSaleMainCaller == PosConst.SAL_MAIN_FORM_CALLER_TYPE.HPORD) { // 해피오더에서 호출 되었을 경우 처리 ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); if (aSaleItem.Count == 0) { WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087); m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END; tmrCustCount.Enabled = true; return; } // 판매중 모드 설정 m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; // 판매화면 초기화 DisplayInit(true, false); // 상품등록 내역 표시 DisplayItem(0, false); } else { // 그 외에서 호출 되었을 경우 처리 // 거래 초기화 m_cDataService.InitTranHeader(); m_cDataService.DeleteTranItem(); } m_cPosStatus.Sale.ChangeCashAmt = 0; // 더치페이 진행중 초기화! m_cPosStatus.Sale.PayingDutchFlag = ""; if (m_cPosStatus.Base.TrainingFlag == "1") GetTopMsgMode("0"); else GetTopMsgMode(""); // 타이머 호출 tmrSaleTimer.Enabled = true; tmrDateTime.Enabled = true; //------------------------------------------------- // 만약 판매화면 초기화시 // 해피포인트 제휴할인 변수 초기화 함수를 호출한다. //------------------------------------------------- #region 판매화면 초기화시 해피포인트 제휴할인 변수 초기화 함수를 호출한다. SubPriorReadingVarClear(true); #endregion } private void frmSaleMain_FormClosing(object sender, FormClosingEventArgs e) { lblTopMsgMode.MpStop(); tmrSaleTimer.Enabled = false; tmrDateTime.Enabled = false; UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ""); } #endregion #region 그리드 초기화 /// /// 그리드 초기화 /// private void InitializeGrid() { int[] arGridItemWidth = new int[] { 0 }; bool[] arGridItemClickEventFlag = new bool[] { true }; string[] arGridItemText = new string[] { "" }; StringAlignment[] arHStringAlignment = new StringAlignment[] { StringAlignment.Center }; if (m_cPosStatus.Base.DesignType == "1") // 1안 { arGridItemWidth = new int[] { 40, 10, 175, 90, 60, 90, 100, 50, 50 }; SaleItemGrid.DisplayItemCount = 7; } else if (m_cPosStatus.Base.DesignType == "2") // 2안 { arGridItemWidth = new int[] { 30, 10, 115, 65, 50, 70, 100, 40, 40 }; SaleItemGrid.DisplayItemCount = 8; } else // 3안 { arGridItemWidth = new int[] { 30, 10, 115, 63, 40, 67, 75, 40, 30 }; //arGridItemWidth = new int[] { 30, 10, 80, 70, 50, 70, 90, 40, 30 }; SaleItemGrid.DisplayItemCount = 8; } int[] arFontSize = new int[] { 9, 10, 10, 10, 10, 10, 10, 10, 10 }; arGridItemText = new string[] { MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0014), "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0015), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0016), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0017), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0019), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0020), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0021)}; arHStringAlignment = new StringAlignment[] { StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center }; arGridItemClickEventFlag = new bool[] { false, false, false, false, false, false, false, false, true }; // Set Item Data Grid Information //SaleItemGrid.DisplayItemCount = 8; SaleItemGrid.GapSize = 0; SaleItemGrid.BackColor = Color.White; // Row Item GridDataItem cGridDataItem = new GridDataItem(); cGridDataItem.GridItemBackColor = Color.FromArgb(234, 234, 234); cGridDataItem.GridItemBackColorClick = Color.White; cGridDataItem.GridItemBackImage = null; cGridDataItem.GridItemBackImageClick = null; cGridDataItem.GridItemData = new System.Collections.Hashtable(); // Set Column for (int nLoop = 0; nLoop < arGridItemWidth.Length; nLoop++) { CsmGridExRowData cGridExRowData = new CsmGridExRowData(); cGridExRowData.GridItemWidth = arGridItemWidth[nLoop]; cGridExRowData.HStringAlignment = arHStringAlignment[nLoop]; cGridExRowData.VStringAlignment = StringAlignment.Center; cGridExRowData.GridItemText = arGridItemText[nLoop]; cGridExRowData.GridItemValue = arGridItemText[nLoop]; //할인 경우 빨강색! if (MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018) == arGridItemText[nLoop]) cGridExRowData.ForeColor = Color.Red; else cGridExRowData.ForeColor = Color.Black; cGridExRowData.FontName = m_cPosStatus.Base.FONT; cGridExRowData.FontSize = arFontSize[nLoop]; cGridExRowData.FontStyle = FontStyle.Bold; cGridExRowData.ClickEventFlag = arGridItemClickEventFlag[nLoop]; //거래 취소 경우 아이콘 삽입! if (MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0021) == arGridItemText[nLoop]) { cGridExRowData.GridRowImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.ITEM_GRID_HDR_DEL); } // Add Column cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData); } // Grid Data Header 설정 SaleItemGrid.SetGridDataHeader(35, cGridDataItem, GRID_EX_ITEM_BORDER_STYLE.BOTTOM, 1, Color.FromArgb(234, 234, 234)); SaleItemGrid.Invalidate(); } #endregion #region 컨트롤 초기화 /// /// 폼 컨트롤 초기화 /// private void InitControl() { try { this.SuspendLayout(); FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT); FormManager.SetFormAllControlColor(this, BaseCom.NxImgPath); //btnMenu.Font = new Font("돋움", btnMenu.Font.Size, btnMenu.Font.Style); lblTopMsgMode.csmMoveFont = new Font(m_cPosStatus.Base.FONT, 21); //폼 크기 설정 this.Location = new Point(0, 0); this.Size = new Size(1024, 768); //picTopBg.BackgroundImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MAIN_TOP_BG); picFooterBg.BackgroundImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MAIN_FOOTER_BG); picSaleBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.SALE_BG + m_cPosStatus.Base.DesignType + ".png"); //BtnPayCanc.ClickImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BUTTON_PAY_MAIN_FUNC_PRESS); //BtnPayMain.ClickImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BUTTON_PAY_MAIN_FUNC_PRESS); picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON); picWeb.Tag = "ON"; lblWeb.Tag = "0"; // 라벨 초기화 및 다국어 처리 lblQtySaleAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.QTY_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0035); lblDiscountAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.DC_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0036); lblVatSvc.Text = PosConst.SALE_DISP_SPCL_CHAR.VAT_SVC_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0981); lblRecvedAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.RECV_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0366); //lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037); lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037); btnSubMenuExit.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0040); lblPayQtySaleAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.QTY_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0035); lblPayDiscountAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.DC_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0036); lblPayRecvAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.RECV_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0366); //lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037); lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037); lblPayVatSvc.Text = PosConst.SALE_DISP_SPCL_CHAR.VAT_SVC_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0981); lblOffLine.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1020); if (string.IsNullOrEmpty(lblOffLine.Text) == true) lblOffLine.Text = "The currently offline. Please check your nework."; padInPut.BtnMinusEnable = true; padInPut.BtnPlusEnable = true; padInPut.BtnQtyEnable = true; padInPut.BtnSearchEnable = true; padInPut.QtyBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0017); padInPut.ClearBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0817); padInPut.SearchBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1018); //#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); pnlBuyHist.Visible = false; //#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj //적용 시 주석처리하고 아래 것으로 변경 //pnlBuyHistMot.BackColor = Color.FromArgb(20, 92, 180); //pnlBuyHistMot.ForeColor = Color.White; //lblBuyHistMot.BackColor = Color.FromArgb(20, 92, 180); //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, 20180510 //고객 구매이력 정보 표시 시점에 상단 MOT 표시 pnlBuyHistMot.Visible = false; if (m_cPosStatus.Sale.ScreenSizeUser == 800) { //#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj //기존 //FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 645, 50, 12); //FormManager.SetControlSize(lblBuyHistMot, 0, 0, 645, 50, 12); //변경 FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 645, 100, 16); FormManager.SetControlSize(lblBuyHistMot, 0, 0, 645, 100, 16); //#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj } else { //#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj //기존 //FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 1024, 50, 12); //FormManager.SetControlSize(lblBuyHistMot, 0, 0, 1024, 50, 12); //변경 FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 1024, 100, 16); FormManager.SetControlSize(lblBuyHistMot, 0, 0, 1024, 100, 16); //#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj } //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510 //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end //#15525 고객구매이력 수정 요청 start //VIP 여부 안내 표시 pnlBuyHistVip.Visible = false; FormManager.SetControlSize(pnlBuyHistVip, 311, 99, 402, 400); //#15525 고객구매이력 수정 요청 end SetCmsRichTbMotMsg(rtbMotSale, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.SALE_WAIT_MOT, ""); InitControlLocation(); //시작 MOT 사용 여부 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "0") { pnlMotSale.Visible = false; } else { pnlMotSale.Visible = true; } Color clrBtnBack = Color.FromArgb(231, 233, 236); //CmUtil.GetColorToString(m_cPosStatus.Mst.ThemeColor); btnItemGridDown.BackColor = clrBtnBack; btnItemGridBottom.BackColor = clrBtnBack; btnItemGridTop.BackColor = clrBtnBack; btnItemGridUp.BackColor = clrBtnBack; if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), 0, 0, 0); } else { lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1009), 0, 0, 0); } lblIFStatus2.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0464), 0); lblIFStatus3.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0465), 0); //if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0") //{ // lblIFStatus1.Visible = false; //} //if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT036), "0") == "0") //{ // lblIFStatus2.Visible = false; //} //if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT037), "0") == "0") //{ // lblIFStatus3.Visible = false; //} lblAnniv.Text = ""; lblAnniv.Tag = ""; TopMenuLocation(); //=========================================================================================== // 결제화면 //#20181015 결제창 엑박 관련 이미지 미사용 처리 start //기존 //picPayBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.PAY_BACKGROUND); //#20181015 결제창 엑박 관련 이미지 미사용 처리 end //버튼 초기화 BtnPayCanc.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0044); BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045); lblPayStep1.Text = string.Format("STEP 1\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0046)); lblPayStep2.Text = string.Format("STEP 2\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0047)); lblPayStep3.Text = string.Format("STEP 3\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0048)); picMotPayImg.Parent = pnlCardMot; PayListInit(); // 기능기 초기화 LoadFuncMasterPayment(); SetSaleMot(); } 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 { this.ResumeLayout(false); } } /// /// 상단 표시 메뉴 처리 /// private void TopMenuLocation() { int iBasciLocation = 0; try { if (m_cPosStatus.Sale.ScreenSizeUser == 800) { //800 iBasciLocation = 220; } else { //1024 iBasciLocation = 263; } //온도표시 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT039), "0") != "1") { pnlIFStatus4.Visible = false; } else { pnlIFStatus4.Visible = true; pnlIFStatus4.Location = new Point(iBasciLocation, 25); iBasciLocation = iBasciLocation + pnlIFStatus4.Width; } //#15058 해피오더 버튼 변경_20180612 start,phj PnlNewHPOrd_Disp.Visible = false; NewHPOrd_Disp2.Visible = false; NewHPOrd_Disp.Visible = false; //#15058 해피오더 버튼 변경_20180612 end,phj //해피오더 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0") { lblIFStatus1.Visible = false; //#15058 해피오더 버튼 변경_20180612 start,phj bSaleMain = false; //#15058 해피오더 버튼 변경_20180612 end,phj } else { if(m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { lblIFStatus1.Size = new Size(260, 21); } else { lblIFStatus1.Size = new Size(260, 21); } lblIFStatus1.Visible = true; lblIFStatus1.Location = new Point(iBasciLocation, 25); iBasciLocation = iBasciLocation + lblIFStatus1.Width; //#15058 해피오더 버튼 변경_20180612 start,phj if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1") { //#20180605 해피오더 개선 start - 20180618 //기존 /* PnlNewHPOrd_Disp.Size = new Size(260, 21); PnlNewHPOrd_Disp.Width = lblIFStatus1.Width; PnlNewHPOrd_Disp.Height = 50; //lblIFStatus1.Height; PnlNewHPOrd_Disp.Top = 0; //lblIFStatus1.Top; PnlNewHPOrd_Disp.Left = lblIFStatus1.Left; PnlNewHPOrd_Disp.Location = lblIFStatus1.Location; // new Point(iBasciLocation, 25); PnlNewHPOrd_Disp.Visible = false; */ //변경 PnlNewHPOrd_Disp.Size = new Size(260, 21); PnlNewHPOrd_Disp.Width = lblIFStatus1.Width; PnlNewHPOrd_Disp.Left = lblIFStatus1.Left; PnlNewHPOrd_Disp.Top = 0; PnlNewHPOrd_Disp.Height = 50; bSaleMain = true; //#20180605 해피오더 개선 start - 20180618 } //#15058 해피오더 버튼 변경_20180612 end,phj } //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368 //기존 /* //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start iInventoryDispCnt = -1; bInventoryDispStat = false; lb_HPOInventoryAlram.Visible = false; lb_HPOInventoryAlram2.Visible = false; Pnl_HPOInventoryAlram.Visible = false; if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1") { if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0") { Pnl_HPOInventoryAlram.Location = new Point(iBasciLocation, 25); Pnl_HPOInventoryAlram.Size = new Size(260, 21); Pnl_HPOInventoryAlram.Width = lblIFStatus1.Width; // lblIFStatus1.Width; Pnl_HPOInventoryAlram.Left = lblIFStatus1.Left; Pnl_HPOInventoryAlram.Top = 0; Pnl_HPOInventoryAlram.Height = 50; } else { Pnl_HPOInventoryAlram.Size = new Size(260, 21); Pnl_HPOInventoryAlram.Width = PnlNewHPOrd_Disp.Width; Pnl_HPOInventoryAlram.Left = PnlNewHPOrd_Disp.Left + PnlNewHPOrd_Disp.Width; Pnl_HPOInventoryAlram.Top = 0; Pnl_HPOInventoryAlram.Height = 50; } } //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end */ //변경 bInventoryCancel = false; lb_HPOInventoryAlram.Visible = false; lb_HPOInventoryAlram2.Visible = false; Pnl_HPOInventoryAlram.Visible = false; if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1") { if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0") { Pnl_HPOInventoryAlram.Location = new Point(iBasciLocation, 25); Pnl_HPOInventoryAlram.Size = new Size(260, 21); Pnl_HPOInventoryAlram.Width = lblIFStatus1.Width; // lblIFStatus1.Width; Pnl_HPOInventoryAlram.Left = lblIFStatus1.Left; Pnl_HPOInventoryAlram.Top = 0; Pnl_HPOInventoryAlram.Height = 50; } else { Pnl_HPOInventoryAlram.Size = new Size(260, 21); Pnl_HPOInventoryAlram.Width = PnlNewHPOrd_Disp.Width; Pnl_HPOInventoryAlram.Left = PnlNewHPOrd_Disp.Left + PnlNewHPOrd_Disp.Width; Pnl_HPOInventoryAlram.Top = 0; Pnl_HPOInventoryAlram.Height = 50; } } //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368 //빚은몰 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT036), "0") == "0") { lblIFStatus2.Visible = false; } else { lblIFStatus2.Visible = true; lblIFStatus2.Location = new Point(iBasciLocation, 25); iBasciLocation = iBasciLocation + lblIFStatus2.Width; } //이지웰 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT037), "0") == "0") { lblIFStatus3.Visible = false; } else { lblIFStatus3.Visible = true; lblIFStatus3.Location = new Point(iBasciLocation, 25); iBasciLocation = iBasciLocation + lblIFStatus3.Width; } //점주 알바 점수 표시 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT019), "1") == "1") { lblOwnerPart.Visible = true; if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) { lblOwnerPart.Size = new Size(182, 21); lblOwnerPart.Text = string.Format("{0}:0{2}/{1}:0{2}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0733), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734)); } else { lblOwnerPart.Size = new Size(95, 21); lblOwnerPart.Text = string.Format("{0}:0{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734)); } lblOwnerPart.Location = new Point(iBasciLocation, 25); iBasciLocation = iBasciLocation + lblOwnerPart.Width; } else { lblOwnerPart.Visible = false; lblOwnerPart.Text = ""; } //기념일 배송 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0") { lblAnniv.Text = string.Format("{0}:0", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742)); lblAnniv.Visible = true; lblAnniv.Location = new Point(iBasciLocation, 25); iBasciLocation = iBasciLocation + lblAnniv.Width; } else { lblAnniv.Visible = false; lblAnniv.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); } } /// /// 상단 메세지 설정(연습모드, 긴급메세지) /// /// private void GetTopMsgMode(string sType) { try { if (sType == "0") { if (lblTopMsgMode.MpStatus() == false) { lblTopMsgMode.MpIntervalMove(20); if (m_cPosStatus.Sale.ScreenSizeUser == 800) FormManager.SetControlSize(lblTopMsgMode, 95, 0, 645, 50, 21); else FormManager.SetControlSize(lblTopMsgMode, 125, 0, 820, 50, 21); // 연습모드 설정 Cosmos.UI.CsmPosMovePanel.MovePanelInfo cMoveInfo = new Cosmos.UI.CsmPosMovePanel.MovePanelInfo(); cMoveInfo.BackColor = Color.Red; cMoveInfo.ForeColor = Color.Yellow; cMoveInfo.MoveKind = "4"; //0:좌->우, 1:우->좌, 4:깜박임 cMoveInfo.MoveText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0402); lblTopMsgMode.MpAdd(cMoveInfo); lblTopMsgMode.Visible = true; lblTopMsgMode.MpStart(); } } else if (sType == "1") { EmgNoticeProcess(); // 백그라운드 프로그램 적용 확인 메시지 POSProgramApplyCheck(); } else { //중지 lblTopMsgMode.MpStop(); lblTopMsgMode.Visible = 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); } } #region 점주알바점수, 유해상품, 입고등록, 배송정보, 기념일배송 처리 /// /// 점주알바점수, 유해상품, 입고등록, 배송정보, 기념일배송 처리 /// /// private void SelectEtcNoticeCom() { string[] aOutParam = new string[] { "0", "0" }; try { string sDpsStr = string.Empty; if (lblOwnerPart.Visible == true) { if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { sDpsStr = string.Format("{0}:#1{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734)); } else { sDpsStr = string.Format("{0}:#1{2}/{1}:#2{2}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0733), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734)); } //01 - 점주알바모드 if (m_cDataCommon.GetEtcNoticeProcess("01", ref aOutParam) == false) { aOutParam = new string[] { "0", "0" }; } lblOwnerPart.Text = sDpsStr.Replace("#1", aOutParam[0]).Replace("#2", aOutParam[1]); } //02 - 유해상품 //03 - 입고등록 확인 //04 - 배송정보 //05 - 기념일 배송 m_cDataCommon.GetEtcNoticeProcess("02", ref aOutParam); //기념일 배송 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0") { m_cDataCommon.GetEtcNoticeProcess("05", ref aOutParam); if (aOutParam == null || aOutParam[0] == "0") { lblAnniv.Text = string.Format("{0}:0", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742)); lblAnniv.Tag = ""; } else { lblAnniv.Text = string.Format("{0}:{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742), aOutParam[0]); lblAnniv.Tag = "1"; } } } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } ///// ///// 점주 알바 웹 호출 ///// //private void ShowOwnerPartWeb(string sKeyCode) //{ // try // { // //WEB 링크 조회 // IDataServiceUs cWebBiz = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.WEB_POS); // if (cWebBiz != null) // { // string sUrl = string.Empty; // sUrl = (string)cWebBiz.GetData(new string[] { sKeyCode }); // if (sUrl != UserCom.ERROR && sUrl != null) // { // System.Diagnostics.Process.Start("iexplore.exe", CmUtil.MidH(sUrl, 31, CmUtil.LenH(sUrl))); // } // } // } // 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 점주알바점수, 유해상품, 입고등록, 배송정보, 기념일배송 처리 /// /// 판매 화면 MOT /// private void SetSaleMot() { try { //시작 MOT 사용 유무! if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "1") { pnlMotSale.BackgroundImage = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, m_cPosStatus.ScnMst.WaitImg); if (pnlMotSale.BackgroundImage != null) CmUtil.FileCopy(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + m_cPosStatus.ScnMst.WaitImg, BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + ImageManager.SALE_MOT_WAIT, false); else pnlMotSale.BackgroundImage = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, ImageManager.SALE_MOT_WAIT); } } 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 ClearControl() { try { lblStoreNm.Text = CmUtil.GetDataRowStr(PosMstManager.GetMstStore(), PosMst.MST_STORE.DATA.STORNM); //점포명 lblPosNo.Text = "POS " + m_cPosStatus.Base.PosNo; lblTranNo.Text = m_cPosStatus.Base.TradeNo; lblCashier.Text = m_cPosStatus.Base.CashierName; lblEtc.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0038); lblWeb.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0039); lblTableInfo.Text = string.Empty; txtQtySaleAmt.Text = "0"; txtDiscountAmt.Text = "0"; txtRecvedAmt.Text = "0"; txtNetSaleAmt.Text = "0"; txtVatSvc.Text = "0"; pnlSubMenu.Visible = false; pnlSetMenu.Visible = false; pnlFlavour.Visible = false; picCampaign.Visible = false; //=========================================================================================== // 결제화면 rtbMotMain.Text = ""; txtPayQtySaleAmt.Text = "0"; txtPayDiscountAmt.Text = "0"; txtPayNetSaleAmt.Text = "0"; txtPayRecvAmt.Text = "0"; txtPayVatSvc.Text = "0"; SlideSetMenuBtn(); pnlMenuSlide.Location = new Point(0, 50); pnlMenuSlide.Visible = false; picTempInfo.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG); pnlTempInfo.Location = new Point(0, 50); pnlTempInfo.Visible = 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); } } /// /// 시안별 컨트롤 위치 설정 /// private void InitControlLocation() { try { //FormManager.SetControlSize(pnlSaleMainBack, 0, 50, 1024, 698); FormManager.SetControlSize(picSaleBack, 0, 50, 1024, 698); FormManager.SetControlSize(pnlPayMainBack, 0, 1025, 1024, 696); FormManager.SetControlSize(picPayBack, 0, 0, 1024, 696); FormManager.SetControlSize(lblTopMsgMode, 127, 0, 903, 50); if (m_cPosStatus.Base.DesignType == "1") // 1안 { FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴 FormManager.SetControlSize(pnlMenuLClass, 0, 329, 712, 57); // 메뉴키 대분류 FormManager.SetControlSize(btnMenuLClassUp, 0, 0, 60, 57); FormManager.SetControlSize(btnMenuLClass, 61, 0, 590, 57); // 메뉴키 대분류 FormManager.SetControlSize(btnMenuLClassDn, 652, 0, 60, 57); btnMenuLClass.SetFuncButtonCount(1, 5); // 버튼갯수 설정 FormManager.SetControlSize(pnlMenuMClass, 0, 386, 142, 360); // 메뉴키 중분류 int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2; if (nMFixCnt == 0) { btnMenuMClassFix.Visible = false; FormManager.SetControlSize(btnMenuMClass, 0, 0, 142, 360); // 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정 } else { FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 142, 72 * nMFixCnt); // 메뉴키 중분류 btnMenuMClassFix.SetFuncButtonCount(nMFixCnt, 2); // 버튼갯수 설정 btnMenuMClassFix.Visible = true; FormManager.SetControlSize(btnMenuMClass, 0, (72 * nMFixCnt) + 1, 142, 360 - (72 * nMFixCnt));// 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(5 - nMFixCnt, 2); // 버튼갯수 설정 } //FormManager.SetControlSize(btnMenuMClass, 0, 386, 142, 360); // 메뉴키 중분류 //btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정 FormManager.SetControlSize(pnlSubMenu, 0, 329, 712, 417); // 부가메뉴 FormManager.SetControlSize(btnSubMenuGrp, 1, 0, 109, 370); // 부가메뉴-그룹 FormManager.SetControlSize(btnSubMenuExit, 1, 371, 109, 47); // 부가메뉴-종료 FormManager.SetControlSize(btnSubMenuDtl, 111, 0, 600, 417); // 부가메뉴-상품 FormManager.SetControlSize(pnlSetMenu, 0, 329, 712, 417); // 세트메뉴 FormManager.SetControlSize(lblSetMenuTitle, 2, 2, 708, 29); // 세트메뉴-타이틀 FormManager.SetControlSize(btnSetMenu, 2, 35, 708, 380); // 세트메뉴-상품 FormManager.SetControlSize(pnlFlavour, 0, 329, 712, 417); // 플레이버 FormManager.SetControlSize(lblItemGrid, 0, 50, 711, 278); // 상품그리드 BACK FormManager.SetControlSize(SaleItemGrid, 0, 50, 665, 278); // 상품그리드 FormManager.SetControlSize(txtInPut, 716, 331, 302, 49); // 입력박스 FormManager.SetControlSize(padInPut, 712, 385, 309, 361); // 키패드 padInPut.DesignType = DesignType.Design_A; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start FormManager.SetControlSize(pnlBuyHist, 712, 327, 309, 419); // 고객 구매이력 정보 //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end FormManager.SetControlSize(btnFuncItem, 0, 768, 322, 247); // 기능(오른쪽) FormManager.SetControlSize(btnItemGridTop, 668, 50, 43, 68); // 상품그리드 TOP FormManager.SetControlSize(btnItemGridUp, 668, 120, 43, 68); // 상품그리드 UP FormManager.SetControlSize(btnItemGridDown, 668, 190, 43, 68); // 상품그리드 DOWN FormManager.SetControlSize(btnItemGridBottom, 668, 260, 43, 68); // 상품그리드 BOTTOM //#20171109 대기화면 위치 변경 및 상품목록 유지 start //기존 FormManager.SetControlSize(pnlMotSale, 0, 50, 712, 278); // 판매대기 MOT //변경 //FormManager.SetControlSize(pnlMotSale, 0, 329, 712, 417); // 판매대기 MOT //#20171109 대기화면 위치 변경 및 상품목록 유지 end FormManager.SetControlSize(rtbMotSale, 4, 135, 700, 136); // 판매대기 MOT FormManager.SetControlSize(picCampaign, 712, 51, 311, 110); // 캠페인 이미지 // 포함 여부에 따라 부가세 표시 if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED) { FormManager.SetControlSize(btnFuncSale, 712, 182, 312, 144); // 기능(왼쪽) FormManager.SetControlSize(lblAmtBack, 712, 51, 312, 131); // 금액배경(잔상제거용) FormManager.SetControlSize(lblQtySaleAmt, 716, 51, 131, 24); // 수량총금액(24) FormManager.SetControlSize(lblDiscountAmt, 716, 75, 131, 24); // 할인금액 FormManager.SetControlSize(lblVatSvc, 716, 99, 131, 24); // 봉사료,부가세 FormManager.SetControlSize(lblRecvedAmt, 716, 123, 131, 24); // 받은금액 FormManager.SetControlSize(lblNetSaleAmt, 716, 149, 131, 28); // 받을금액(27) FormManager.SetControlSize(txtQtySaleAmt, 847, 51, 177, 24); // 수량총금액 FormManager.SetControlSize(txtDiscountAmt, 847, 75, 177, 24); // 할인금액 FormManager.SetControlSize(txtVatSvc, 847, 99, 177, 24); // 봉사료,부가세 FormManager.SetControlSize(txtRecvedAmt, 847, 123, 177, 24); // 받을금액 FormManager.SetControlSize(txtNetSaleAmt, 847, 149, 180, 28); // 받을금액 lblVatSvc.Visible = true; txtVatSvc.Visible = true; } else { FormManager.SetControlSize(btnFuncSale, 712, 162, 312, 164); // 기능(왼쪽) FormManager.SetControlSize(lblAmtBack, 712, 51, 311, 110); // 금액배경(잔상제거용) FormManager.SetControlSize(lblQtySaleAmt, 716, 55, 131, 24); // 수량총금액(24) FormManager.SetControlSize(lblDiscountAmt, 716, 79, 131, 24); // 할인금액 FormManager.SetControlSize(lblRecvedAmt, 716, 103, 131, 24); // 받은금액 FormManager.SetControlSize(lblNetSaleAmt, 716, 127, 131, 29); // 받을금액(27) FormManager.SetControlSize(txtQtySaleAmt, 847, 55, 177, 24); // 수량총금액 FormManager.SetControlSize(txtDiscountAmt, 847, 79, 177, 24); // 할인금액 FormManager.SetControlSize(txtRecvedAmt, 847, 103, 177, 24); // 받을금액 FormManager.SetControlSize(txtNetSaleAmt, 847, 127, 180, 29); // 받을금액 lblVatSvc.Visible = false; txtVatSvc.Visible = false; } lblAmtBack.BackColor = Color.FromArgb(204, 204, 204); // 금액배경(잔상제거용) lblQtySaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 수량총금액 lblDiscountAmt.BackColor = Color.FromArgb(204, 204, 204); // 할인금액 lblVatSvc.BackColor = Color.FromArgb(204, 204, 204); // 봉사료,부가세 lblRecvedAmt.BackColor = Color.FromArgb(204, 204, 204); lblNetSaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 받을금액 txtQtySaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 수량총금액 txtDiscountAmt.BackColor = Color.FromArgb(204, 204, 204); // 할인금액 txtVatSvc.BackColor = Color.FromArgb(204, 204, 204); // 봉사료,부가세 txtRecvedAmt.BackColor = Color.FromArgb(204, 204, 204); txtNetSaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 받을금액 lblQtySaleAmt.ForeColor = Color.Black; // 수량총금액 lblDiscountAmt.ForeColor = Color.Black; // 할인금액 lblVatSvc.ForeColor = Color.Black; // 봉사료,부가세 lblRecvedAmt.ForeColor = Color.Black; //Color.FromArgb(128, 128, 255); lblNetSaleAmt.ForeColor = Color.Brown; // 받을금액 txtQtySaleAmt.ForeColor = Color.Black; // 수량총금액 txtDiscountAmt.ForeColor = Color.Black; // 할인금액 txtVatSvc.ForeColor = Color.Black; // 봉사료,부가세 txtRecvedAmt.ForeColor = Color.Black; //Color.FromArgb(128, 128, 255); txtNetSaleAmt.ForeColor = Color.Brown; // 받을금액 } else if (m_cPosStatus.Base.DesignType == "2") // 2안 { FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴 FormManager.SetControlSize(pnlMenuLClass, 0, 50, 100, 90); // 메뉴키 대분류 FormManager.SetControlSize(btnMenuLClass, 0, 0, 100, 90); // 메뉴키 대분류 btnMenuLClass.SetFuncButtonCount(2, 1); // 버튼갯수 설정 FormManager.SetControlSize(pnlMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류 int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2; if (nMFixCnt == 0) { btnMenuMClassFix.Visible = false; FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정 } else { FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류 btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정 btnMenuMClassFix.Visible = true; FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정 } //FormManager.SetControlSize(btnMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류 //btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정 FormManager.SetControlSize(pnlSubMenu, 523, 141, 500, 355); // 부가메뉴 FormManager.SetControlSize(btnSubMenuGrp, 1, 1, 110, 303); // 부가메뉴-그룹 FormManager.SetControlSize(btnSubMenuExit, 1, 305, 110, 49); // 부가메뉴-종료 FormManager.SetControlSize(btnSubMenuDtl, 112, 1, 387, 353); // 부가메뉴-상품 FormManager.SetControlSize(pnlSetMenu, 523, 141, 500, 355); // 세트메뉴 FormManager.SetControlSize(lblSetMenuTitle, 2, 3, 496, 29); // 세트메뉴-타이틀 FormManager.SetControlSize(btnSetMenu, 2, 35, 496, 318); // 세트메뉴-상품 FormManager.SetControlSize(pnlFlavour, 0, 497, 1024, 249); // 플레이버 FormManager.SetControlSize(lblItemGrid, 0, 141, 522, 356); // 상품그리드 BACK FormManager.SetControlSize(SaleItemGrid, 0, 141, 522, 315); // 상품그리드 FormManager.SetControlSize(txtInPut, 381, 502, 314, 24); // 입력박스 FormManager.SetControlSize(padInPut, 376, 531, 324, 215); // 키패드 padInPut.DesignType = DesignType.Design_B; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start FormManager.SetControlSize(pnlBuyHist, 376, 498, 324, 248); // 고객 구매이력 정보 //csmLabel5.Border //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end FormManager.SetControlSize(btnFuncSale, 0, 637, 375, 109); // 기능(왼쪽) FormManager.SetControlSize(btnFuncItem, 701, 497, 322, 248); // 기능(오른쪽) FormManager.SetControlSize(btnItemGridTop, 2, 457, 129, 40); // 상품그리드 TOP FormManager.SetControlSize(btnItemGridUp, 132, 457, 129, 40); // 상품그리드 UP FormManager.SetControlSize(btnItemGridDown, 262, 457, 129, 40); // 상품그리드 DOWN FormManager.SetControlSize(btnItemGridBottom, 392, 457, 130, 40); // 상품그리드 BOTTOM //#20171109 대기화면 위치 변경 및 상품목록 유지 start //기존 FormManager.SetControlSize(pnlMotSale, 0, 141, 522, 356); // 판매대기 MOT //변경 //FormManager.SetControlSize(pnlMotSale, 502, 141, 522, 356); // 판매대기 MOT //#20171109 대기화면 위치 변경 및 상품목록 유지 end FormManager.SetControlSize(rtbMotSale, 4, 239, 509, 110); // 판매대기 MOT //FormManager.SetControlSize(picCampaign, 1, 498, 375, 138); // 캠페인 이미지 FormManager.SetControlSize(picCampaign, 1, 498, 375, 247); // 캠페인 이미지 // 포함 여부에 따라 부가세 표시 if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED) { FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용) FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 25); // 수량총금액 FormManager.SetControlSize(lblDiscountAmt, 10, 525, 150, 25); // 할인금액 FormManager.SetControlSize(lblVatSvc, 10, 550, 150, 25); // 봉사료,부가세 FormManager.SetControlSize(lblRecvedAmt, 10, 575, 150, 25); FormManager.SetControlSize(lblNetSaleAmt, 10, 600, 150, 35); // 받을금액 FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 25); // 수량총금액 FormManager.SetControlSize(txtDiscountAmt, 170, 525, 200, 25); // 할인금액 FormManager.SetControlSize(txtVatSvc, 170, 550, 200, 25); // 봉사료,부가세 FormManager.SetControlSize(txtRecvedAmt, 170, 575, 200, 25); FormManager.SetControlSize(txtNetSaleAmt, 170, 600, 202, 35); // 받을금액 lblVatSvc.Visible = true; txtVatSvc.Visible = true; } else { FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용) FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 30); // 수량총금액 FormManager.SetControlSize(lblDiscountAmt, 10, 530, 150, 30); // 할인금액 FormManager.SetControlSize(lblRecvedAmt, 10, 560, 150, 30); // 받은금액 FormManager.SetControlSize(lblNetSaleAmt, 10, 590, 150, 40); // 받을금액 FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 30); // 수량총금액 FormManager.SetControlSize(txtDiscountAmt, 170, 530, 200, 30); // 할인금액 FormManager.SetControlSize(txtRecvedAmt, 170, 560, 200, 30); // 받은금액 FormManager.SetControlSize(txtNetSaleAmt, 170, 590, 202, 40); // 받을금액 lblVatSvc.Visible = false; txtVatSvc.Visible = false; } //FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액 //FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액 //FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35); //FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액 //FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액 //FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액 //FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35); //FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액 lblAmtBack.BackColor = Color.FromArgb(68, 68, 68); // 금액배경(잔상제거용) lblQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액 lblDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액 lblVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세 lblRecvedAmt.BackColor = Color.FromArgb(68, 68, 68); lblNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액 txtQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액 txtDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액 txtVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세 txtRecvedAmt.BackColor = Color.FromArgb(68, 68, 68); // txtNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액 lblQtySaleAmt.ForeColor = Color.White; // 수량총금액 lblDiscountAmt.ForeColor = Color.White; // 할인금액 lblVatSvc.ForeColor = Color.White; // 봉사료,부가세 lblRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255); // lblNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액 txtQtySaleAmt.ForeColor = Color.White; // 수량총금액 txtDiscountAmt.ForeColor = Color.White; // 할인금액 txtVatSvc.ForeColor = Color.White; // 봉사료,부가세 txtRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255); txtNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액 } else { FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴 FormManager.SetControlSize(pnlMenuLClass, 0, 50, 100, 90); // 메뉴키 대분류 FormManager.SetControlSize(btnMenuLClass, 0, 0, 100, 90); // 메뉴키 대분류 btnMenuLClass.SetFuncButtonCount(2, 1); // 버튼갯수 설정 FormManager.SetControlSize(pnlMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류 int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2; if (nMFixCnt == 0) { btnMenuMClassFix.Visible = false; FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정 } else { FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류 btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정 btnMenuMClassFix.Visible = true; FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정 } //FormManager.SetControlSize(btnMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류 //btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정 FormManager.SetControlSize(pnlSubMenu, 481, 141, 542, 355); // 부가메뉴 FormManager.SetControlSize(btnSubMenuGrp, 2, 0, 109, 303); // 부가메뉴-그룹 FormManager.SetControlSize(btnSubMenuExit, 2, 305, 109, 47); // 부가메뉴-종료 FormManager.SetControlSize(btnSubMenuDtl, 112, 0, 429, 352); // 부가메뉴-상품 FormManager.SetControlSize(pnlSetMenu, 481, 141, 542, 355); // 세트메뉴 FormManager.SetControlSize(lblSetMenuTitle, 2, 3, 538, 29); // 세트메뉴-타이틀 FormManager.SetControlSize(btnSetMenu, 2, 35, 538, 318); // 세트메뉴-상품 FormManager.SetControlSize(pnlFlavour, 0, 497, 1024, 249); // 플레이버 FormManager.SetControlSize(lblItemGrid, 0, 141, 480, 356); // 상품그리드 BACK FormManager.SetControlSize(SaleItemGrid, 0, 141, 480, 315); // 상품그리드 FormManager.SetControlSize(btnSubMenuCommGrp, 481, 141, 95, 356); // 부가메뉴 FormManager.SetControlSize(btnSubMenuCommDtl, 576, 141, 96, 356); // 부가메뉴 //FormManager.SetControlSize(btnSubMenuCommDtl, 481, 141, 189, 356); // 부가메뉴 FormManager.SetControlSize(txtInPut, 381, 502, 314, 24); // 입력박스 FormManager.SetControlSize(padInPut, 376, 531, 324, 215); // 키패드 padInPut.DesignType = DesignType.Design_C; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start FormManager.SetControlSize(pnlBuyHist, 376, 498, 324, 248); // 고객 구매이력 정보 //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end FormManager.SetControlSize(btnFuncSale, 0, 637, 375, 109); // 기능(왼쪽) FormManager.SetControlSize(btnFuncItem, 701, 497, 322, 248); // 기능(오른쪽) FormManager.SetControlSize(btnItemGridTop, 2, 457, 119, 40); // 상품그리드 TOP FormManager.SetControlSize(btnItemGridUp, 122, 457, 119, 40); // 상품그리드 UP FormManager.SetControlSize(btnItemGridDown, 242, 457, 119, 40); // 상품그리드 DOWN FormManager.SetControlSize(btnItemGridBottom, 362, 457, 118, 40); // 상품그리드 BOTTOM //#20171109 대기화면 위치 변경 및 상품목록 유지 start //기존 FormManager.SetControlSize(pnlMotSale, 0, 141, 480, 356); // 판매대기 MOT //변경 //FormManager.SetControlSize(pnlMotSale, 481, 141, 542, 355); // 판매대기 MOT //#20171109 대기화면 위치 변경 및 상품목록 유지 end FormManager.SetControlSize(rtbMotSale, 4, 239, 472, 110); // 판매대기 MOT //FormManager.SetControlSize(picCampaign, 1, 498, 375, 138); // 캠페인 이미지 FormManager.SetControlSize(picCampaign, 1, 498, 375, 247); // 캠페인 이미지 // 포함 여부에 따라 부가세 표시 if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED) { FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용) FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 25); // 수량총금액 FormManager.SetControlSize(lblDiscountAmt, 10, 525, 150, 25); // 할인금액 FormManager.SetControlSize(lblVatSvc, 10, 550, 150, 25); // 봉사료,부가세 FormManager.SetControlSize(lblRecvedAmt, 10, 575, 150, 25); FormManager.SetControlSize(lblNetSaleAmt, 10, 600, 150, 35); // 받을금액 FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 25); // 수량총금액 FormManager.SetControlSize(txtDiscountAmt, 170, 525, 200, 25); // 할인금액 FormManager.SetControlSize(txtVatSvc, 170, 550, 200, 25); // 봉사료,부가세 FormManager.SetControlSize(txtRecvedAmt, 170, 575, 200, 25); FormManager.SetControlSize(txtNetSaleAmt, 170, 600, 202, 35); // 받을금액 lblVatSvc.Visible = true; txtVatSvc.Visible = true; } else { FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용) FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 30); // 수량총금액 FormManager.SetControlSize(lblDiscountAmt, 10, 530, 150, 30); // 할인금액 FormManager.SetControlSize(lblRecvedAmt, 10, 560, 150, 30); // 받은금액 FormManager.SetControlSize(lblNetSaleAmt, 10, 590, 150, 40); // 받을금액 FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 30); // 수량총금액 FormManager.SetControlSize(txtDiscountAmt, 170, 530, 200, 30); // 할인금액 FormManager.SetControlSize(txtRecvedAmt, 170, 560, 200, 30); // 받은금액 FormManager.SetControlSize(txtNetSaleAmt, 170, 590, 202, 40); // 받을금액 lblVatSvc.Visible = false; txtVatSvc.Visible = false; } //FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용) //FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액 //FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액 //FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35); //FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액 //FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액 //FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액 //FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35); //FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액 //// 포함 여부에 따라 부가세 표시 //if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED) //{ // FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용) // FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액 // FormManager.SetControlSize(lblDiscountAmt, 18, 524, 146, 30); // 할인금액 // FormManager.SetControlSize(lblVatSvc, 18, 547, 146, 30); // 봉사료,부가세 // FormManager.SetControlSize(lblRecvedAmt, 18, 571, 146, 35); // FormManager.SetControlSize(lblNetSaleAmt, 18, 598, 146, 35); // 받을금액 // FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액 // FormManager.SetControlSize(txtDiscountAmt, 176, 524, 194, 30); // 할인금액 // FormManager.SetControlSize(txtVatSvc, 176, 547, 194, 30); // 봉사료,부가세 // FormManager.SetControlSize(txtRecvedAmt, 173, 571, 200, 35); // FormManager.SetControlSize(txtNetSaleAmt, 173, 598, 200, 35); // 받을금액 // lblVatSvc.Visible = true; // txtVatSvc.Visible = true; //} //else //{ // FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용) // FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액 // FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액 // FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35); // FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액 // FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액 // FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액 // FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35); // FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액 // lblVatSvc.Visible = false; // txtVatSvc.Visible = false; //} lblAmtBack.BackColor = Color.FromArgb(68, 68, 68); // 금액배경(잔상제거용) lblQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액 lblDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액 lblVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세 lblRecvedAmt.BackColor = Color.FromArgb(68, 68, 68); lblNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액 txtQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액 txtDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액 txtVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세 txtRecvedAmt.BackColor = Color.FromArgb(68, 68, 68); // txtNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액 lblQtySaleAmt.ForeColor = Color.White; // 수량총금액 lblDiscountAmt.ForeColor = Color.White; // 할인금액 lblVatSvc.ForeColor = Color.White; // 봉사료,부가세 lblRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255); // lblNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액 txtQtySaleAmt.ForeColor = Color.White; // 수량총금액 txtDiscountAmt.ForeColor = Color.White; // 할인금액 txtVatSvc.ForeColor = Color.White; // 봉사료,부가세 txtRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255); txtNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액 } // 포함 여부에 따라 부가세 표시 if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED) { FormManager.SetControlSize(lblPayQtySaleAmt, 220, 545, 123, 21); FormManager.SetControlSize(lblPayDiscountAmt, 220, 570, 123, 21); FormManager.SetControlSize(lblPayVatSvc, 220, 595, 123, 21); FormManager.SetControlSize(lblPayRecvAmt, 220, 620, 123, 21); FormManager.SetControlSize(lblPayNetSaleAmt, 220, 645, 123, 30); FormManager.SetControlSize(txtPayQtySaleAmt, 335, 545, 190, 21); FormManager.SetControlSize(txtPayDiscountAmt, 345, 570, 180, 21); FormManager.SetControlSize(txtPayVatSvc, 345, 595, 180, 21); FormManager.SetControlSize(txtPayRecvAmt, 345, 620, 180, 21); FormManager.SetControlSize(txtPayNetSaleAmt, 345, 645, 182, 30); lblPayVatSvc.Visible = true; txtPayVatSvc.Visible = true; } else { //FormManager.SetControlSize(lblPayQtySaleAmt, 233, 550, 120, 21); //FormManager.SetControlSize(lblPayDiscountAmt, 232, 579, 120, 21); //FormManager.SetControlSize(lblPayRecvAmt, 228, 612, 123, 21); //FormManager.SetControlSize(lblPayNetSaleAmt, 229, 646, 123, 21); //FormManager.SetControlSize(txtPayQtySaleAmt, 354, 550, 165, 21); //FormManager.SetControlSize(txtPayDiscountAmt, 357, 579, 162, 21); //FormManager.SetControlSize(txtPayRecvAmt, 355, 604, 168, 34); //FormManager.SetControlSize(txtPayNetSaleAmt, 356, 638, 168, 34); FormManager.SetControlSize(lblPayQtySaleAmt, 220, 550, 123, 21); FormManager.SetControlSize(lblPayDiscountAmt, 220, 580, 123, 21); FormManager.SetControlSize(lblPayRecvAmt, 220, 610, 123, 21); FormManager.SetControlSize(lblPayNetSaleAmt, 220, 640, 123, 30); FormManager.SetControlSize(txtPayQtySaleAmt, 335, 550, 190, 21); FormManager.SetControlSize(txtPayDiscountAmt, 345, 580, 180, 21); FormManager.SetControlSize(txtPayRecvAmt, 345, 610, 180, 21); FormManager.SetControlSize(txtPayNetSaleAmt, 345, 640, 182, 30); lblPayVatSvc.Visible = false; txtPayVatSvc.Visible = false; //*** MoonSeokWoo 2017.12.12 Add pnlPayMainBack.Visible = false; //*** MoonSeokWoo 2017.12.12 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); } } #endregion #region 메뉴 컨트롤 초기화 및 메뉴 마스터 로딩 private void btnMenuLClassUp_Click(object sender, EventArgs e) { try { if ((UI.CsmButton)sender == btnMenuLClassUp) { btnMenuLClass.FuncUpDown("UP"); //if (btnMenuLClass.FuncUpDown("UP") == true) //{ // btnMenuLClassUp.Text = "<"; // btnMenuLClassDn.Text = ">"; //} //else // btnMenuLClassUp.Text = "■"; } else if ((UI.CsmButton)sender == btnMenuLClassDn) { btnMenuLClass.FuncUpDown("DN"); //if (btnMenuLClass.FuncUpDown("DN") == true) //{ // btnMenuLClassDn.Text = ">"; // btnMenuLClassUp.Text = "<"; //} //else // btnMenuLClassDn.Text = "■"; } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 메뉴 컨트롤 초기화 및 메뉴 마스터 로딩 /// /// 성공/실패 public bool LoadMenuMaster() { string sFirstLCode = ""; // 첫번째 그룹 try { // 상품키 구성 마스터 로딩 DataRow drItemKeyCompnt = PosMstManager.GetMstScreen(); m_dtMstItemKeyCompnt = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_COMPNT.TABLE_NAME); if (m_dtMstItemKeyCompnt == null || m_dtMstItemKeyCompnt.Rows.Count <= 0) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0056); // 상품키 구성 마스터가 없습니다 } else { drItemKeyCompnt = m_dtMstItemKeyCompnt.Rows[0]; foreach (DataRow dr in m_dtMstItemKeyCompnt.Rows) { if (m_cPosStatus.Base.StoreNo == CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD)) drItemKeyCompnt = dr; } } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 메뉴 대분류 로딩 DataTable dtLClass = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_L_CLSS.TABLE_NAME); if (dtLClass == null || dtLClass.Rows.Count <= 0) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0057); // 메뉴 대분류 마스터가 없습니다 } if (m_cPosStatus.Base.DesignType == "1") // 1안 { btnMenuLClass.VisibleUpDown = false; btnMenuLClassUp.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR)); btnMenuLClassUp.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR)); btnMenuLClassUp.Visible = true; btnMenuLClassDn.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR)); btnMenuLClassDn.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR)); btnMenuLClassDn.Visible = true; } else { btnMenuLClass.VisibleUpDown = false; btnMenuLClassUp.Visible = false; btnMenuLClassDn.Visible = false; } pnlMenuLClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR)); btnMenuLClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR)); btnMenuLClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR)); btnMenuLClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR)); btnMenuLClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_FONT_COLOR)); btnMenuLClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR)); btnMenuLClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR)); btnMenuLClass.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화 if (dtLClass != null) { int nL_CLSS_SEQ = 0; foreach (DataRow dr in dtLClass.Rows) { nL_CLSS_SEQ++; Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); cMenuInfo.sGroupCode = "00"; // 분류코드 cMenuInfo.nSeqNo = nL_CLSS_SEQ; //CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.SEQ); // 표시순번 // 대분류키값 = 본부키구분(1) + 서브점포코드 + 대분류 코드 cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.HQ_KEY_DIV), 1) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.SUB_SHOP_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_CD); // 코드 string sCOMPLEX_SHOP_STOR_NM = ""; if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포 { sCOMPLEX_SHOP_STOR_NM = CmUtil.GetDataRowStr(dr, PosMst.MST_COMPLEX_SHOP_STOR.DATA.COMPLEX_SHOP_STOR_NM); } if (sCOMPLEX_SHOP_STOR_NM == "") cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_NM); // 명 else cMenuInfo.sFuncText = sCOMPLEX_SHOP_STOR_NM + PosConst.CRLF + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_NM); // 명 cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR)); // 백 컬러 cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR)); // 명 컬러 cMenuInfo.fFontSize = 10; // 명 폰트 사이즈 cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) btnMenuLClass.AddFuncButtonInfo(cMenuInfo); } } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 메뉴 중분류 로딩 DataTable dtMClass = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_CLSS.TABLE_NAME); if (dtMClass == null || dtMClass.Rows.Count <= 0) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0058); // 메뉴 중분류 마스터가 없습니다 } pnlMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR)); btnMenuMClassFix.VisibleUpDown = false; btnMenuMClassFix.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR)); btnMenuMClassFix.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); btnMenuMClassFix.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR)); btnMenuMClassFix.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR)); btnMenuMClassFix.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR)); btnMenuMClassFix.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); btnMenuMClassFix.FontSizeUpDown = 10; btnMenuMClassFix.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화 if (dtMClass != null) { foreach (DataRow dr in dtMClass.Rows) { if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) != "1") continue; if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포 { foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows) { if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) == CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD)) { drItemKeyCompnt = drCompnt; } } } Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD); // 서브점포코드+분류코드 cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ); // 표시순번 // 중분류키값 = (서브점포+대분류)(20)+고정여부+중분류순번 cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD), 20) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ); cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.ITEM_GRP_NM); // 명 cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.BACKGR_COLOR)); // 백 컬러 cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); // 명 컬러 cMenuInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FONT_SIZE); // 명 폰트 사이즈 cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) btnMenuMClassFix.AddFuncButtonInfo(cMenuInfo); } } btnMenuMClass.VisibleUpDown = true; btnMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR)); btnMenuMClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); btnMenuMClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR)); btnMenuMClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR)); btnMenuMClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR)); btnMenuMClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); btnMenuMClass.UpDownSeqUsed = false; btnMenuMClass.FontSizeUpDown = 10; btnMenuMClass.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화 if (dtMClass != null) { foreach (DataRow dr in dtMClass.Rows) { if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) == "1") continue; if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포 { foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows) { if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) == CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD)) { drItemKeyCompnt = drCompnt; } } } Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD); // 서브점포코드+분류코드 cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ); // 표시순번 // 중분류키값 = (서브점포+대분류)(20)+고정여부+중분류순번 cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD), 20) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ); cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.ITEM_GRP_NM); // 명 cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.BACKGR_COLOR)); // 백 컬러 cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); // 명 컬러 cMenuInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FONT_SIZE); // 명 폰트 사이즈 cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) btnMenuMClass.AddFuncButtonInfo(cMenuInfo); } } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 즐겨찾기 로딩 DataTable dtMemuFix = m_cPluService.SearchMenuMaster(PosMst.MST_BOOKMK.TABLE_NAME); if (dtMemuFix == null || dtMemuFix.Rows.Count <= 0) { // WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 즐겨찾기 마스터가 없습니다 } int nMenuFixRows = 2, nMenuFixCols = 5; SetMenuRowColCnt(CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY), ref nMenuFixRows, ref nMenuFixCols); if (CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_USE_YN) != "1" || CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY) == 0) nMenuFixRows = 0; btnMenuFix.Visible = (nMenuFixRows == 0) ? false : true; if (m_cPosStatus.Base.DesignType == "1") // 1안 { FormManager.SetControlSize(pnlMenu, 143, 386, 568, 360); pnlMenu.BackColor = CmUtil.GetColorToString("223223223"); FormManager.SetControlSize(btnMenuFix, 0, 0, 568, 72 * nMenuFixRows - 1); FormManager.SetControlSize(btnMenu, 0, (72 * nMenuFixRows), 568, 360 - (72 * nMenuFixRows)); } else if (m_cPosStatus.Base.DesignType == "2") // 2안 { FormManager.SetControlSize(pnlMenu, 523, 141, 500, 356); pnlMenu.BackColor = CmUtil.GetColorToString("223223223"); FormManager.SetControlSize(btnMenuFix, 0, 0, 500, 58 * nMenuFixRows - 1); FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 500, 355 - (58 * nMenuFixRows)); } else { FormManager.SetControlSize(pnlMenu, 673, 141, 350, 356); pnlMenu.BackColor = CmUtil.GetColorToString("223223223"); FormManager.SetControlSize(btnMenuFix, 0, 0, 350, 58 * nMenuFixRows - 1); FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 350, 355 - (58 * nMenuFixRows)); } btnMenuFix.SetMenuButtonCount(nMenuFixRows, nMenuFixCols); // 메뉴버튼갯수 설정 btnMenuFix.BackColor = CmUtil.GetColorToString("223223223"); btnMenuFix.VisibleUpDown = false; btnMenuFix.BackColorUpDown = Color.White; btnMenuFix.ForeColorUpDown = Color.Black; string sUseMenuImage = PosMstManager.GetPosOption(POS_OPTION.OPT105); // 메뉴 이미지 사용여부 btnMenuFix.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화 // 메뉴정보 설정 if (dtMemuFix != null) { foreach (DataRow dr in dtMemuFix.Rows) { Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo(); cMenuInfo.sClassCode = "00"; // 대분류코드 cMenuInfo.sGroupCode = "0000"; // 중분류코드 cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.SEQ); // 표시순번 // 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드 string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUBPRC_MENU_POPUP_YN), 1) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD), 10) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD); cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드 cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 메뉴 명 if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0") cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT)); // 메뉴 가격 else cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT)); // 메뉴 가격 cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.BACKGR_COLOR)); // 버튼 백 컬러 cMenuInfo.cForeColorName = Color.Black; // 메뉴명 컬러 cMenuInfo.cForeColorPrice = Color.Red; // 메뉴가격 컬러 cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈 cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈 cMenuInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.BTN_SIZE); // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) cMenuInfo.cMenuImage = ""; if (sUseMenuImage != "0") { //MoonSeokWoo 대표코드로 변경. //#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 start //기존 //cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG"; //변경 cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD) + ".PNG"; if (File.Exists(cMenuInfo.cMenuImage) == false) { cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG"; } //#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 end //cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG"; //cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG"; //if (File.Exists(cMenuInfo.cMenuImage) == false) // cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim(); //cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim()); } btnMenuFix.AddMenuButtonInfo(cMenuInfo); } } btnMenuFix.DisplayMenuButton("00", "0000"); // 메뉴 기본 로딩 DataTable dtMemu = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY.TABLE_NAME); if (dtMemu == null || dtMemu.Rows.Count <= 0) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다 } btnMenu.BackColor = CmUtil.GetColorToString("223223223"); btnMenu.VisibleUpDown = true; btnMenu.BackColorUpDown = Color.White; btnMenu.ForeColorUpDown = Color.Black; btnMenu.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화 if (dtMemu != null) { //#20171018 메뉴명 폰트 색상 변경 기능 start string sFontColor = ""; //#20171018 메뉴명 폰트 색상 변경 기능 end // 메뉴정보 설정 foreach (DataRow dr in dtMemu.Rows) { Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo(); cMenuInfo.sClassCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.L_CLSS_CD); // 대분류 cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.GRP_SEQ); // 중분류코드 cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.SEQ); // 표시순번 // 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드 string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUBPRC_MENU_POPUP_YN), 1) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD), 10) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD); cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드 cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 메뉴 명 if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0") cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT)); // 메뉴 가격 else cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT)); // 메뉴 가격 cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.BACKGR_COLOR)); // 버튼 백 컬러 //#20171018 메뉴명 폰트 색상 변경 기능 start //기존 //cMenuInfo.cForeColorName = Color.FromArgb(51, 51, 51); // 메뉴명 컬러 //변경 sFontColor = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.FONT_COLOR).Trim(); if (sFontColor != "") { cMenuInfo.cForeColorName = CmUtil.GetColorToString(sFontColor); // 메뉴명 컬러 } else { cMenuInfo.cForeColorName = Color.FromArgb(51, 51, 51); // 메뉴명 컬러 } //#20171018 메뉴명 폰트 색상 변경 기능 end cMenuInfo.cForeColorPrice = Color.Red; //Color.FromArgb(102, 102, 102); // 메뉴가격 컬러 cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈 cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈 cMenuInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.BTN_SIZE); // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) cMenuInfo.cMenuImage = ""; if (sUseMenuImage != "0") { //MoonSeokWoo 대표코드로 변경. //#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 start //기존 //cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG"; //변경 cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD) + ".PNG"; if (File.Exists(cMenuInfo.cMenuImage) == false) { cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG"; } //#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 end //cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG"; //if (File.Exists(cMenuInfo.cMenuImage) == false) // cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim(); //cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim()); } btnMenu.AddMenuButtonInfo(cMenuInfo); } } sFirstLCode = btnMenuLClass.DisplayFuncButton("00"); // 대분류 버튼 표시 btnMenuLClass_FuncClickHandler(btnMenuLClass, sFirstLCode); // 첫번째 대분류 선택 처리(메뉴 버튼 그리기) 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 void btnMenuLClass_FuncClickHandler(object sender, string sFuncCode) { string sHQ_KEY_DIV = "", sLClassCode = "", sMClassCode = ""; try { m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { //충전, 판매 거래 경우 if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false) pnlSetMenu.Visible = false; pnlSubMenu.Visible = false; } // 대분류 선택 효과 btnMenuLClass.SelectFuncButton(sFuncCode); if (sFuncCode != "") { // 대분류키값 = 본부키구분(1) + 서브점포코드 + 대분류 코드 sHQ_KEY_DIV = sFuncCode.Substring(0, 1); sLClassCode = sFuncCode.Substring(1); } // 중분류 위치 조정 int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2; if (m_cPosStatus.Base.DesignType == "1") // 1안 { if (sHQ_KEY_DIV != "1" || nMFixCnt == 0) { btnMenuMClassFix.Visible = false; FormManager.SetControlSize(btnMenuMClass, 0, 0, 142, 360); // 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정 btnMenuMClass.SetUpDownPosition(5, 2); } else { FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 142, 72 * nMFixCnt); // 메뉴키 중분류 btnMenuMClassFix.SetFuncButtonCount(nMFixCnt, 2); // 버튼갯수 설정 btnMenuMClassFix.Visible = true; FormManager.SetControlSize(btnMenuMClass, 0, (72 * nMFixCnt) + 1, 142, 360 - (72 * nMFixCnt));// 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(5 - nMFixCnt, 2); // 버튼갯수 설정 btnMenuMClass.SetUpDownPosition(5 - nMFixCnt, 2); } } else if (m_cPosStatus.Base.DesignType == "2") // 2안 { if (sHQ_KEY_DIV != "1" || nMFixCnt == 0) { btnMenuMClassFix.Visible = false; FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정 btnMenuMClass.SetUpDownPosition(2, 10); } else { FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류 btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정 btnMenuMClassFix.Visible = true; FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정 btnMenuMClass.SetUpDownPosition(2, 10 - nMFixCnt); } } else { if (sHQ_KEY_DIV != "1" || nMFixCnt == 0) { btnMenuMClassFix.Visible = false; FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정 btnMenuMClass.SetUpDownPosition(2, 10); } else { FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류 btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정 btnMenuMClassFix.Visible = true; FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류 btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정 btnMenuMClass.SetUpDownPosition(2, 10 - nMFixCnt); } } // 복합매장 중분류 구성 DataRow drItemKeyCompnt = PosMstManager.GetMstScreen(); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포 { foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows) { if (sLClassCode.StartsWith(CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD))) { drItemKeyCompnt = drCompnt; } } pnlMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR)); btnMenuMClassFix.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR)); btnMenuMClassFix.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); btnMenuMClassFix.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR)); btnMenuMClassFix.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR)); btnMenuMClassFix.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR)); btnMenuMClassFix.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); btnMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR)); btnMenuMClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); btnMenuMClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR)); btnMenuMClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR)); btnMenuMClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR)); btnMenuMClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// int nMenuFixRows = 2, nMenuFixCols = 5; SetMenuRowColCnt(CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY), ref nMenuFixRows, ref nMenuFixCols); if (CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_USE_YN) != "1") nMenuFixRows = 0; btnMenuFix.Visible = (nMenuFixRows == 0) ? false : true; if (m_cPosStatus.Base.DesignType == "1") // 1안 { FormManager.SetControlSize(btnMenuFix, 0, 0, 568, 72 * nMenuFixRows - 1); FormManager.SetControlSize(btnMenu, 0, (72 * nMenuFixRows), 568, 360 - (72 * nMenuFixRows)); } else if (m_cPosStatus.Base.DesignType == "2") // 2안 { FormManager.SetControlSize(btnMenuFix, 0, 0, 500, 58 * nMenuFixRows - 1); FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 500, 355 - (58 * nMenuFixRows)); } else { FormManager.SetControlSize(btnMenuFix, 0, 0, 350, 58 * nMenuFixRows - 1); FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 350, 355 - (58 * nMenuFixRows)); } btnMenuFix.SetMenuButtonCount(nMenuFixRows, nMenuFixCols); // 메뉴버튼갯수 설정 } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 중분류 표시 if (sHQ_KEY_DIV == "1" && CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2 > 0) { sMClassCode = btnMenuMClassFix.DisplayFuncButton(sLClassCode); btnMenuMClass.DisplayFuncButton(sLClassCode); } else { btnMenuMClassFix.DisplayFuncButton(sLClassCode); sMClassCode = btnMenuMClass.DisplayFuncButton(sLClassCode); } // 본부키구분(sHQ_KEY_DIV) 값에 따른 메뉴키 컨트롤 갯수 설정 필요 int nKeyLayout = 0; if (sHQ_KEY_DIV == "1") // 본부키 nKeyLayout = CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.HQ_ITEMKEY_LAYOUT); else nKeyLayout = CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SHOP_ITEMKEY_LAYOUT); // 메뉴버튼갯수 설정 int nRow = 0, nCol = 0; SetMenuRowColCnt(nKeyLayout, ref nRow, ref nCol); btnMenu.SetMenuButtonCount(nRow, nCol); // 해당 중분류의 첫번째 메뉴키 그룹 표시 if (sHQ_KEY_DIV == "1" && CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2 > 0) btnMenuMClass_FuncClickHandler(btnMenuMClassFix, sMClassCode); else btnMenuMClass_FuncClickHandler(btnMenuMClass, sMClassCode); } 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 btnMenuMClass_FuncClickHandler(object sender, string sFuncCode) { string sLClassCode = "", sMClassCode = ""; try { m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { //충전, 판매 거래 경우 if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false) pnlSetMenu.Visible = false; pnlSubMenu.Visible = false; } if (sender != null && (CsmFunc)sender == btnMenuMClassFix) { btnMenuMClassFix.SelectFuncButton(sFuncCode); // 중분류 선택 효과 btnMenuMClass.SelectFuncButton(""); btnMenuMClass.Tag = "FIX"; } if (sender != null && (CsmFunc)sender == btnMenuMClass) { btnMenuMClassFix.SelectFuncButton(""); btnMenuMClass.SelectFuncButton(sFuncCode); // 중분류 선택 효과 btnMenuMClass.Tag = ""; } if (sFuncCode != "") { // 중분류키값 = 서브점포+대분류)(20)+고정여부+중분류순번 sLClassCode = sFuncCode.Substring(0, 20).Trim(); sMClassCode = sFuncCode.Substring(20); } // 메뉴 표시 btnMenu.DisplayMenuButton(sLClassCode, sMClassCode); } 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 btnMenuMClass_UpDownClick(object sender, string sFuncCode) { string sLClassCode = "", sMClassCode = ""; try { m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { //충전, 판매 거래 경우 if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false) pnlSetMenu.Visible = false; pnlSubMenu.Visible = false; } if (btnMenuMClass.Tag == null || btnMenuMClass.Tag.ToString() == "") { btnMenuMClass.SelectFuncButton(sFuncCode); // 중분류 선택 효과 if (sFuncCode != "") { // 중분류키값 = 서브점포+대분류)(20)+고정여부+중분류순번 sLClassCode = sFuncCode.Substring(0, 20).Trim(); sMClassCode = sFuncCode.Substring(20); } // 메뉴 표시 btnMenu.DisplayMenuButton(sLClassCode, sMClassCode); } } 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 btnMenu_MenuClickHandler(object sender, string sMenuCode) { try { m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 if (sMenuCode == "") return; string sInPutValue = txtInPut.Text; // 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드 m_cTrnStatus.Sale.SubMenuPopUpYn = sMenuCode.Substring(0, 1); m_cTrnStatus.Sale.SubStoreCode = sMenuCode.Substring(1, 10).Trim(); if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) DisplayInit(true, false); // 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:전체상품합산) if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2" && sInPutValue == "") { if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); for (int i = 0; i < alTrPluItem.Count; i++) { Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i]; if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue; if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue; if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue; if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue; if (cPluItem.SUB_SHOP_CD != sMenuCode.Substring(1, 10).Trim() || cPluItem.ITEM_PLU_CD != sMenuCode.Substring(11)) continue; if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue; if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue; if (cPluItem.SALE_QTY >= 99999) continue; //#20170825 오픈 상품은 무조건 새 row로 입력 start if (cPluItem.OPEN_ITEM_DIV == "1") continue; //#20170825 오픈 상품은 무조건 새 row로 입력 end // 수량 증가 처리 m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), ""); SaleItemGrid.SelectIndexItem(i); m_cCustDisp.DisplaySaleItemList(true, true, i); txtInPut.Text = ""; //// 부가메뉴 등록 //if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) // && m_cTrnStatus.Sale.SubMenuPopUpYn == "1") //{ // // 부가메뉴 화면 표시 // if (LoadSubMenuDisplay(cPluItem.SUB_SHOP_CD, cPluItem.M_CLSS) == true) // { // //20160911 SBSEO 추가 부가 메뉴일때도 부모코드 입력! // m_cTrnStatus.Sale.SubMenuMainCode = cPluItem.ITEM_PLU_CD; // } //} //// 플레이버 등록 //if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) // && cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR_OWN) //{ // if (cPluItem.FLAVOUR_QTY <= 2) // { // // 플레이버 화면 표시 // LoadFlavourMaster(m_cTrnStatus.Sale.SubStoreCode); // } //} return; } } } // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) bool bRet = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, sInPutValue, "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMenuCode.Substring(1)); if (bRet == true) { string sSUB_SHOP_CD = "", sM_CLSS = ""; if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) && (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)) { if (SaleItemGrid.SelectedIndex >= 0) { ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 상품 아이템 Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[SaleItemGrid.SelectedIndex]; // 상품 정보 if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL) { sSUB_SHOP_CD = cPluItem.SUB_SHOP_CD; sM_CLSS = cPluItem.M_CLSS; } } } LoadCommonSubMenuDisplay(sSUB_SHOP_CD, sM_CLSS); } txtInPut.Text = ""; TxtInPutFocus(); } 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 SetMenuRowColCnt(int nKeyLayout, ref int nRow, ref int nCol) { try { // 메뉴버튼갯수 설정 switch (nKeyLayout) { case 1: nRow = 5; nCol = 5; break; case 2: nRow = 5; nCol = 4; break; case 3: nRow = 5; nCol = 3; break; case 4: nRow = 4; nCol = 5; break; case 5: nRow = 4; nCol = 4; break; case 6: nRow = 4; nCol = 3; break; case 7: nRow = 3; nCol = 5; break; case 8: nRow = 3; nCol = 4; break; case 9: nRow = 3; nCol = 3; break; case 10: nRow = 2; nCol = 5; break; case 11: nRow = 2; nCol = 4; break; case 12: nRow = 2; nCol = 3; break; case 13: nRow = 1; nCol = 5; break; case 14: nRow = 1; nCol = 4; break; case 15: nRow = 1; nCol = 3; break; default: nRow = 5; nCol = 5; 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); } } #endregion #region 부가메뉴 초기화 및 부가메뉴 마스터 로딩 /// /// 공통 부가메뉴 초기화 및 부가메뉴 마스터 로딩 /// /// public bool LoadCommonSubMenuDisplay(string sSubStoreCode, string sItemCode) { try { // 3안 => 부가메뉴 항시 표시 일때 사용 if (m_cPosStatus.Base.DesignType != "3") return true; DataTable dtSubGrpKey = null; if (sSubStoreCode != "") { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 부가메뉴 그룹 로딩 dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, sItemCode); if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0) { dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON); } } btnSubMenuCommGrp.SetFuncButtonCount(6, 1); // 버튼갯수 설정 btnSubMenuCommGrp.VisibleUpDown = true; btnSubMenuCommGrp.ClearFuncButtonInfo(); // 설정된 정보 초기화 btnSubMenuCommGrp.BackColorUpDown = Color.FromArgb(204, 210, 217); btnSubMenuCommGrp.FontSizeUpDown = 12; btnSubMenuCommGrp.SelectedBackColor = Color.FromArgb(95, 104, 116); btnSubMenuCommGrp.SelectedForeColor = Color.FromArgb(255, 255, 255); if (dtSubGrpKey != null && dtSubGrpKey.Rows.Count > 0) { foreach (DataRow dr in dtSubGrpKey.Rows) { Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU.DATA.SEQ_NO); nSeq += (int)((nSeq - 1)/ 5); cFuncInfo.sGroupCode = "00"; // 분류코드 cFuncInfo.nSeqNo = nSeq; // 표시순번 cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SEL_TYPE), 1) + CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_CD); // 기능코드 cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_NM); // 기능 명 cFuncInfo.cBackColor = Color.FromArgb(214, 219, 255); // 백 컬러 cFuncInfo.cForeColor = Color.Black; // 명 컬러 cFuncInfo.fFontSize = 12; // 명 폰트 사이즈 cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) btnSubMenuCommGrp.AddFuncButtonInfo(cFuncInfo); } } DataTable dtSubDtl = null; if (sSubStoreCode != "") { // 부가메뉴 그룹 상세 로딩 dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, sItemCode); if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0) { dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON); } } btnSubMenuCommDtl.SetFuncButtonCount(6, 1); // 버튼갯수 설정 btnSubMenuCommDtl.VisibleUpDown = true; btnSubMenuCommDtl.ClearFuncButtonInfo(); // 설정된 정보 초기화 btnSubMenuCommDtl.BackColorUpDown = Color.FromArgb(224, 230, 235); // 백 컬러 btnSubMenuCommDtl.FontSizeUpDown = 12; if (dtSubDtl != null && dtSubDtl.Rows.Count > 0) { foreach (DataRow dr in dtSubDtl.Rows) { Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번 nSeq += (int)((nSeq - 1) / 5); cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_GRP_CD); // 분류코드 cFuncInfo.nSeqNo = nSeq; // CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번 // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴) if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "1") { // 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20) cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1) + CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_CD), 20) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM), 40) + CmUtil.RPadH("0", 20); cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM); } else if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "2") { double nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.UP_CHARGE_AMT); //if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0") // nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT); // 메뉴 가격 //else // nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT); // 메뉴 가격 // 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20) cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1) + CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40) + CmUtil.RPadH(nMenuPrc.ToString(), 20); cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.NumericTOCurrency(nMenuPrc); //cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" // + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol // + m_cPosStatus.Global.NumericTOCurrency(nMenuPrc); } else { cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1) + CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40) + CmUtil.RPadH("0", 20); cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + "0"; //cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + "0"; } cFuncInfo.cBackColor = Color.FromArgb(224, 230, 235); // 백 컬러 cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_COLOR)); // 명 컬러 cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈 cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) btnSubMenuCommDtl.AddFuncButtonInfo(cFuncInfo); } } // 메뉴 표시 string sGrpCode = btnSubMenuCommGrp.DisplayFuncButton("00"); // 분류 버튼 표시 btnSubMenuCommGrp_FuncClickHandler(btnSubMenuCommGrp, sGrpCode); // 첫번째 분류 선택 처리(버튼 그리기) 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 void btnSubMenuCommGrp_FuncClickHandler(object sender, string sFuncCode) { try { if (sFuncCode == "") { btnSubMenuCommGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과 btnSubMenuCommDtl.DisplayFuncButton(""); // 메뉴 표시 } else { btnSubMenuCommGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과 m_sSubMenuGrpSelType = sFuncCode.Substring(0, 1); // 메뉴 표시 btnSubMenuCommDtl.DisplayFuncButton(sFuncCode.Substring(1)); } } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 부가메뉴 초기화 및 부가메뉴 마스터 로딩 /// /// /// 중분류코드 /// public bool LoadSubMenuDisplay(string sSubStoreCode, string sItemCode) { try { // 3안 => 부가메뉴 항시 표시 일때 사용 if (m_cPosStatus.Base.DesignType == "3") { LoadCommonSubMenuDisplay(sSubStoreCode, sItemCode); return false; } pnlSetMenu.Visible = false; pnlFlavour.Visible = false; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 부가메뉴 그룹 로딩 DataTable dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, sItemCode); if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0) { dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON); if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0018); // 부가메뉴 그룹 마스터가 없습니다 return false; } } btnSubMenuGrp.SetFuncButtonCount(6, 1); // 버튼갯수 설정 btnSubMenuGrp.VisibleUpDown = true; btnSubMenuGrp.ClearFuncButtonInfo(); // 설정된 정보 초기화 btnSubMenuGrp.BackColorUpDown = Color.FromArgb(204, 210, 217); //btnSubMenuGrp.BackColor = Color.FromArgb(224, 230, 235); btnSubMenuGrp.SelectedBackColor = Color.FromArgb(95, 104, 116); btnSubMenuGrp.SelectedForeColor = Color.FromArgb(255, 255, 255); foreach (DataRow dr in dtSubGrpKey.Rows) { Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU.DATA.SEQ_NO); nSeq += (int)((nSeq - 1) / 5); cFuncInfo.sGroupCode = "00"; // 분류코드 cFuncInfo.nSeqNo = nSeq; // 표시순번 cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SEL_TYPE), 1) + CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_CD); // 기능코드 cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_NM); // 기능 명 cFuncInfo.cBackColor = Color.FromArgb(214, 219, 255); // 백 컬러 cFuncInfo.cForeColor = Color.Black; // 명 컬러 cFuncInfo.fFontSize = 12; // 명 폰트 사이즈 cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) btnSubMenuGrp.AddFuncButtonInfo(cFuncInfo); } // 부가메뉴 그룹 상세 로딩 DataTable dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, sItemCode); if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0) { dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON); if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0019); // 부가메뉴 그룹 상세 마스터가 없습니다 return false; } } btnSubMenuDtl.SetFuncButtonCount(6, 4); // 버튼갯수 설정 btnSubMenuDtl.VisibleUpDown = true; btnSubMenuDtl.ClearFuncButtonInfo(); // 설정된 정보 초기화 btnSubMenuDtl.BackColorUpDown = Color.FromArgb(224, 230, 235); // 백 컬러 //btnSubMenuDtl.BackColor = Color.FromArgb(224, 230, 235); foreach (DataRow dr in dtSubDtl.Rows) { Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번 nSeq += (int)((nSeq - 1) / 23); cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_GRP_CD); // 분류코드 cFuncInfo.nSeqNo = nSeq; // CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번 // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴) if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "1") { // 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20) cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1) + CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_CD), 20) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM), 40) + CmUtil.RPadH("0", 20); cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM); } else if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "2") { double nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.UP_CHARGE_AMT); //if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0") // nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT); // 메뉴 가격 //else // nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT); // 메뉴 가격 // 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20) cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1) + CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40) + CmUtil.RPadH(nMenuPrc.ToString(), 20); cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.NumericTOCurrency(nMenuPrc); //cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" // + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol // + m_cPosStatus.Global.NumericTOCurrency(nMenuPrc); } else { cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1) + CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40) + CmUtil.RPadH("0", 20); cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + "0"; //cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + "0"; } cFuncInfo.cBackColor = Color.FromArgb(224, 230, 235); // 백 컬러 cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_COLOR)); // 명 컬러 cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈 cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) btnSubMenuDtl.AddFuncButtonInfo(cFuncInfo); } string sGrpCode = btnSubMenuGrp.DisplayFuncButton("00"); // 분류 버튼 표시 btnSubMenuGrp_FuncClickHandler(btnSubMenuGrp, sGrpCode); // 첫번째 분류 선택 처리(버튼 그리기) pnlSubMenu.Visible = 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; } } /// /// 부가메뉴 그룹 선택 이벤트 처리 /// /// /// private void btnSubMenuGrp_FuncClickHandler(object sender, string sFuncCode) { try { btnSubMenuGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과 if (sFuncCode == "") { btnSubMenuDtl.DisplayFuncButton(""); return; } m_sSubMenuGrpSelType = sFuncCode.Substring(0, 1); // 메뉴 표시 btnSubMenuDtl.DisplayFuncButton(sFuncCode.Substring(1)); } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 부가메뉴 선택 이벤트 처리 /// /// /// private void btnSubMenuDtl_FuncClickHandler(object sender, string sFuncCode) { try { if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) return; if (sFuncCode == "") return; // 메뉴 키 값 = 부가메뉴구분(1) + 서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20) string sMENU_KEY_DIV = CmUtil.MidH(sFuncCode, 0, 1).Trim(); // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴) string sMENU_KEY_CD = CmUtil.MidH(sFuncCode, 1, 30).Trim(); // 서버점포코드(10) + 메뉴코드(20) string sMENU_KEY_NM = CmUtil.MidH(sFuncCode, 31, 40).Trim(); // 부가메뉴명 string sMENU_PRICE = CmUtil.MidH(sFuncCode, 71, 20).Trim(); // 부가메뉴단가 // 그리드의 현재 선택 행번호 int nSelectRow = SaleItemGrid.SelectedIndex; string sSelectRow = ""; if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0) { Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터 GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow]; // No CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0]; sSelectRow = cGridExRowData.GridItemValue; } m_cTrnStatus.Sale.SubMenuKeyDiv = sMENU_KEY_DIV; if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { // 상품 아이템 ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)]; // 상품 정보 if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다 return; } if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다 return; } if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL && cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.SET_DETL && cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.OPT_MENU) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0026); // 부가메뉴를 등록 할 수 없는 상품입니다 return; } sMENU_KEY_CD = CmUtil.RPadH(cPluItem.SUB_SHOP_CD, 10) + CmUtil.MidH(sFuncCode, 11, 20).Trim(); m_cTrnStatus.Sale.SubMenuSelectPos = CmUtil.IntParse(sSelectRow); m_cTrnStatus.Sale.SubMenuMainCode = cPluItem.ITEM_PLU_CD; m_cTrnStatus.Sale.SubMenuUpSalePrc = m_cDataService.DoubleParse(sMENU_PRICE); if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL) { // 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:전체상품합산) bool bSubMenuQtyAdd = false; if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2" && txtInPut.Text == "") { for (int i = CmUtil.IntParse(sSelectRow) + 1; i < alPluItem.Count; i++) { Column.TR_PLU.DATA cSubPluItem = (Column.TR_PLU.DATA)alPluItem[i]; if (cSubPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.OPT_MENU) break; if (cSubPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cSubPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue; if (cSubPluItem.SUBPRC_MENU_KEY_DIV != sMENU_KEY_DIV) continue; if (cSubPluItem.SUB_SHOP_CD != sMENU_KEY_CD.Substring(0, 10).Trim() || cSubPluItem.ITEM_PLU_CD != sMENU_KEY_CD.Substring(10)) continue; if (cSubPluItem.ITEM_DC_AMT > 0 || cSubPluItem.SUM_DC_AMT > 0 || cSubPluItem.SET_DC_AMT > 0 || cSubPluItem.EXCEP_DC_AMT > 0) continue; if (cSubPluItem.SALE_QTY >= 99999) continue; // 수량 증가 처리 m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), ""); SaleItemGrid.SelectIndexItem(i); bSubMenuQtyAdd = true; } } /////////////////////////////////////////////////////////////////////////////////////////////////////////// // 부가메뉴 추가 등록 if (bSubMenuQtyAdd == false) { if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴) { m_cPluService.SetSubMenuMemoItem(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text); } else { // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.SUBMENU + sMENU_KEY_CD); } } } else { // 부가메뉴 변경 등록 /////////////////////////////////////////////////////////////////////////////////////////////////////////// if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴) { m_cPluService.SetSubMenuMemoItemChange(sSelectRow, sMENU_KEY_CD, sMENU_KEY_NM); } else { m_cPluService.SetSubMenuItemChange(sSelectRow, sMENU_KEY_CD, sMENU_KEY_DIV); } } DisplayItem(1, false); // 0:LastItem, 1:OldFocus SaleItemGrid.SelectIndexItem(CmUtil.IntParse(sSelectRow)); } else { m_cTrnStatus.Sale.SubMenuUpSalePrc = m_cDataService.DoubleParse(sMENU_PRICE); if (sMENU_KEY_DIV == "1") // (0:부가상품, 1:부가메모) { m_cPluService.SetSubMenuMemoItem(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text); DisplayItem(0, false); } else { // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.SUBMENU + sMENU_KEY_CD); } //pnlSubMenu.Visible = false; } if (PosMstManager.GetPosOption(POS_OPTION.OPT032) == "1" || m_sSubMenuGrpSelType == "1") btnSubMenuExit_Click(null, null); txtInPut.Text = ""; TxtInPutFocus(); } 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 btnSubMenuExit_Click(object sender, EventArgs e) { try { if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT) { m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_SET; m_cSaleMainProc.RegisterPluItem("", "", ""); if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.SALE_DOING_SET_OPT) pnlSubMenu.Visible = false; } else { m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; m_cTrnStatus.Sale.SubMenuPopUpYn = "0"; pnlSubMenu.Visible = false; } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 btnSubMenuDtl_FuncClickHandler(object sender, string sFuncCode) //{ // try // { // if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) return; // if (sFuncCode == "") return; // // 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) // string sMENU_KEY_DIV = sFuncCode.Substring(0, 1).Trim(); // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴) // m_cTrnStatus.Sale.SubStoreCode = sFuncCode.Substring(1, 10).Trim(); // 서브점포코드 // string sMENU_KEY_CD = sFuncCode.Substring(1, 30).Trim(); // 서버점포코드(10) + 메뉴코드(20) // string sMENU_KEY_NM = sFuncCode.Substring(31).Trim(); // 서브메모명 // // 그리드의 현재 선택 행번호 // int nSelectRow = SaleItemGrid.SelectedIndex; // string sSelectRow = ""; // if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0) // { // Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터 // GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow]; // // No // CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0]; // sSelectRow = cGridExRowData.GridItemValue; // } // if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_BTN_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) // { // // 상품 아이템 // ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--) // { // // 상품 정보 // Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[i]; // if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN) // { // WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0026); // 부가메뉴를 등록 할 수 없는 상품입니다 // return; // } // if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL && cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.SET_DETL) continue; // if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) // { // WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다 // return; // } // if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) // { // WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다 // return; // } // string sOldSaleFlow = m_cPosStatus.Sale.SaleFlow; // m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_BTN_OPT; // m_cTrnStatus.Sale.SubMenuSelectPos = i; // if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴) // { // m_cPluService.SetSubMemo(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text); // DisplayItem(1, false); // } // else // { // // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) // m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, i.ToString(), PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMENU_KEY_CD); // SaleItemGrid.SelectIndexItem((int)m_cTrnStatus.Sale.SubMenuSelectPos + 1); // } // m_cPosStatus.Sale.SaleFlow = sOldSaleFlow; // break; // } // } // else // { // if (sMENU_KEY_DIV == "1") // (0:부가상품, 1:부가메모) // { // m_cPluService.SetSubMemo(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text); // DisplayItem(0, false); // } // else // { // // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) // m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMENU_KEY_CD); // } // //pnlSubMenu.Visible = false; // } // if (PosMstManager.GetPosOption(POS_OPTION.OPT032) == "1") btnSubMenuExit_Click(null, null); // txtInPut.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); // } //} ///// ///// 부가메뉴 등록 완료 ///// ///// ///// //private void btnSubMenuExit_Click(object sender, EventArgs e) //{ // try // { // if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT) // { // m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_SET; // m_cSaleMainProc.RegisterPluItem("", "", ""); // if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.SALE_DOING_SET_OPT) pnlSubMenu.Visible = false; // } // else // { // m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; // m_cTrnStatus.Sale.SubMenuPopUpYn = "0"; // pnlSubMenu.Visible = 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); // } //} #endregion #region 세트메뉴 상품 화면 표시 /// /// 세트메뉴 상품 화면 표시 /// /// /// /// public bool LoadSetMenuDisplay(string sGroupCode, string sGroupName) { return LoadSetMenuDisplay(sGroupCode, sGroupName, false); } /// /// 세트메뉴 상품 화면 표시 /// /// /// /// /// public bool LoadSetMenuDisplay(string sGroupCode, string sGroupName, bool bSellGift) { bool bMenuExist = false; try { pnlSubMenu.Visible = false; pnlFlavour.Visible = false; // 세트 그룹 상세 로딩 btnSetMenu.SetFuncButtonCount(6, 4); // 버튼갯수 설정 btnSetMenu.VisibleUpDown = true; btnSetMenu.ClearFuncButtonInfo(); // 설정된 정보 초기화 // 선불카드 판매 - 중국 (별도 입력 처리) if (PosMstManager.GetPosOption(POS_OPTION.OPT046) == "1") { btnSetMenu.DisplayFuncButton(sGroupCode); // 메뉴 버튼 표시 pnlSetMenu.Visible = true; return true; } else { if (this.m_cSaleMainProc.m_dtSetMenuDetail == null) return false; } if (bSellGift == true) { int nSeq = 1; foreach (DataRow dr in this.m_cSaleMainProc.m_dtSetMenuDetail.Rows) { lblSetMenuTitle.Text = sGroupName; Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); cFuncInfo.sGroupCode = sGroupCode; // 분류코드 cFuncInfo.nSeqNo = nSeq; // 표시순번 cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SUB_STOR_CD), 10) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD); // 코드 cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 명 cFuncInfo.fFontSize = 10; cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) btnSetMenu.AddFuncButtonInfo(cFuncInfo); nSeq++; } } else { foreach (DataRow dr in this.m_cSaleMainProc.m_dtSetMenuDetail.Rows) { lblSetMenuTitle.Text = sGroupName; if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_GRP_CD) == sGroupCode) { Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); cFuncInfo.sGroupCode = sGroupCode; // 분류코드 cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_SET_GRP.DATA.SEQ_NO); // 표시순번 cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SUB_STOR_CD), 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_CD), 20) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC); // 코드+업차지금액 cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC)); //cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" // + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol // + m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC)); cFuncInfo.cBackColor = Color.LightGray; // 백 컬러 cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.FONT_COLOR)); // 명 컬러 cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_SET_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈 cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) btnSetMenu.AddFuncButtonInfo(cFuncInfo); bMenuExist = true; } } if (bMenuExist == false) return false; } btnSetMenu.DisplayFuncButton(sGroupCode); // 메뉴 버튼 표시 pnlSetMenu.Visible = 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; } } public int GetSelectedIndexOnSaleItemGrid() { return SaleItemGrid.SelectedIndex; } /// /// 세트메뉴 선택 이벤트 처리 /// /// /// private void btnSetMenu_FuncClickHandler(object sender, string sFuncCode) { try { if (sFuncCode == "") return; // 메뉴 키 값 = 서버점포코드(10) + 메뉴코드 m_cTrnStatus.Sale.SubStoreCode = sFuncCode.Substring(0, 10).Trim(); // 그리드의 현재 선택 행번호 int nSelectRow = SaleItemGrid.SelectedIndex; string sSelectRow = ""; if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0) { Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터 GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow]; // No CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0]; sSelectRow = cGridExRowData.GridItemValue; } if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.GIFT || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.PREPAID) { //상품권, 선불 카드 판매면... // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sFuncCode); } else { pnlSetMenu.Visible = false; string sMenuCode = sFuncCode.Substring(0, 30).Trim(); m_cTrnStatus.Sale.SetPluUpSalePrc = m_cDataService.DoubleParse(sFuncCode.Substring(30).Trim()); if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { // 상품 아이템 ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 상품 정보 Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)]; m_cPluService.SetSetMenuItemChange(sSelectRow, sMenuCode.Substring(10), "", m_cTrnStatus.Sale.SetPluUpSalePrc.ToString()); DisplayItem(1, false); // 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus) } else { // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMenuCode); } } txtInPut.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); } } #endregion #region 플레이버 초기화 및 플레이버 마스터 로딩 /// /// 플레이버 초기화 및 플레이버 마스터 로딩 /// /// public bool LoadFlavourMaster(string sSubStoreCode) { bool bMenuExist = false; int nMaxSeqNo = 0; try { if (PosMstManager.GetPosOption(POS_OPTION.OPT028) == "0") return false; if (sSubStoreCode == "") { // 플레이버 화면 숨기기 pnlFlavour.Visible = false; return true; } // 플레이버 로딩 DataTable dtMemu = m_cPluService.SearchMenuMaster(PosMst.MST_FLAVOUR.TABLE_NAME, sSubStoreCode, ""); if (dtMemu == null || dtMemu.Rows.Count <= 0) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0029); // 플레이버 마스터가 없습니다 return false; } btnFlavourMenu.Location = new Point(1, 3); btnFlavourMenu.Size = new Size(pnlFlavour.Width - 2, pnlFlavour.Height - 4); if (m_cPosStatus.Base.DesignType == "1") // 1안 { btnFlavourMenu.SetMenuButtonCount(6, 6); // 메뉴버튼갯수 설정 } else { btnFlavourMenu.SetMenuButtonCount(4, 9); // 메뉴버튼갯수 설정 } btnFlavourMenu.VisibleUpDown = true; btnFlavourMenu.BackColor = CmUtil.GetColorToString("223223223"); btnFlavourMenu.BackColorUpDown = Color.White; btnFlavourMenu.ForeColorUpDown = Color.Black; btnFlavourMenu.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화 // 메뉴정보 설정 foreach (DataRow dr in dtMemu.Rows) { Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo(); cMenuInfo.sClassCode = "00"; // 대분류 cMenuInfo.sGroupCode = "0000"; // 중분류코드 int nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FLAVOUR.DATA.ITEM_LOC); nSeqNo = nSeqNo + (int)(nSeqNo / 35); cMenuInfo.nSeqNo = nSeqNo; // 표시순번 // 메뉴 키 값 = 서브점포코드(10) + 메뉴코드 string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.SUB_STOR_CD), 10) + CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.ITEM_CD); cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드 cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.SHTCUT_ITEMNM); // 메뉴 명 cMenuInfo.sMenuPrice = ""; // 메뉴 가격 cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.BTN_COLOR1)); // 버튼 백 컬러 cMenuInfo.cForeColorName = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.FONT_COLOR)); // 메뉴명 컬러 cMenuInfo.cForeColorPrice = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.FONT_COLOR)); // 메뉴가격 컬러 cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_FLAVOUR.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈 cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_FLAVOUR.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈 cMenuInfo.nButtonSize = 0; // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) if (PosMstManager.GetPosOption(POS_OPTION.OPT107) == "0") cMenuInfo.cMenuImage = ""; else { cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.ITEM_CD) + ".PNG"; //if (File.Exists(cMenuInfo.cMenuImage) == false) // cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim(); //cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG)); } btnFlavourMenu.AddMenuButtonInfo(cMenuInfo); bMenuExist = true; if ( nMaxSeqNo < nSeqNo) nMaxSeqNo = nSeqNo; } if (bMenuExist == false) return false; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 닫기 버튼 생성 { for (int i = 0; i < nMaxSeqNo; i += 35) { // 닫기 버튼 설정 Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo(); cMenuInfo.nSeqNo = i + 35; // 표시순번 cMenuInfo.sClassCode = "00"; // 대분류 cMenuInfo.sGroupCode = "0000"; // 중분류코드 cMenuInfo.sMenuCode = PosKey.MENU_KEY.ESC_PREVIOUS; // 메뉴 연결코드 cMenuInfo.sMenuName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0040); // 메뉴 명 cMenuInfo.sMenuPrice = ""; // 메뉴 가격 cMenuInfo.cBackColor = Color.White; // 버튼 백 컬러 cMenuInfo.cForeColorName = Color.Black; // 메뉴명 컬러 cMenuInfo.cForeColorPrice = Color.Black; // 메뉴가격 컬러 cMenuInfo.fFontSizeName = 12; // 메뉴명 폰트 사이즈 cMenuInfo.fFontSizePrice = 12; // 메뉴 가격 폰트 사이즈 cMenuInfo.nButtonSize = 0; // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) cMenuInfo.cMenuImage = ""; btnFlavourMenu.AddMenuButtonInfo(cMenuInfo); } } btnFlavourMenu.DisplayMenuButton("00", "0000"); pnlFlavour.Visible = 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; } } /// /// 플레이버 선택 /// /// /// private void btnFlavour_MenuClickHandler(object sender, string sMenuCode) { try { if (sMenuCode == "" || sMenuCode == PosKey.MENU_KEY.ESC_PREVIOUS) { pnlFlavour.Visible = false; return; } txtInPut.Text = ""; // 그리드의 현재 선택 행번호 int nSelectRow = SaleItemGrid.SelectedIndex; string sSelectRow = ""; if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0) { Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터 GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow]; // No CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0]; sSelectRow = cGridExRowData.GridItemValue; } if (sSelectRow == "") return; // 상품 아이템 ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--) { // 상품 정보 Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[i]; if ((cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR)) continue; if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0030); // 플레이버를 등록 할 수 없는 상품 입니다 return; } if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다 return; } if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다 return; } // 플레이버 등록 가능 상품만 등록 if ((cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR_OWN)) { // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄, 3:플레이버) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, i.ToString(), PosConst.SALE_PLU_INPUT_TYPE.FLAVOUR + sMenuCode); SaleItemGrid.SelectIndexItem(i + 1); SaleItemGrid.Refresh(); if (PosMstManager.GetPosOption(POS_OPTION.OPT028) == "2") pnlFlavour.Visible = false; } else { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0030); // 플레이버를 등록 할 수 없는 상품 입니다 } 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); } } #endregion #region 기능키 컨트롤 초기화 및 기능키 마스터 로딩 /// /// 기능키 컨트롤 초기화 및 기능키 마스터 로딩 /// /// 성공/실패 public bool LoadFuncMaster() { try { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 판매기본 기능키 로딩 DataTable dtFuncKey = m_cPluService.SearchMenuMaster(PosMst.MST_FUNC_KEY_GRP.TABLE_NAME); if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0) { // WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 기능키 그룹 마스터가 없습니다 return false; } // 좌측 기능키 초기화 btnFuncSale.SetFuncButtonCount(2, 4); // 버튼갯수 설정 if (m_cPosStatus.Base.DesignType == "1") // 1안 { btnFuncSale.BackColor = CmUtil.GetColorToString("116116116"); btnFuncSale.BackColorUpDown = Color.FromArgb(109, 110, 113); btnFuncSale.ForeColorUpDown = Color.White; } else { btnFuncSale.BackColor = CmUtil.GetColorToString("202207213"); btnFuncSale.BackColorUpDown = CmUtil.GetColorToString("225230236"); } if (m_cPosStatus.ScnMst.FuncScrollUseYn == "1") { btnFuncSale.VisibleUpDown = true; btnFuncSale.SetUpDownPosition(1, 4); } else { btnFuncSale.VisibleUpDown = false; } btnFuncSale.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화 // 우측 기능키 초기화 btnFuncItem.SetFuncButtonCount(3, 4); // 버튼갯수 설정 btnFuncItem.BackColor = CmUtil.GetColorToString("202207213"); btnFuncItem.BackColorUpDown = CmUtil.GetColorToString("225230236"); if (m_cPosStatus.ScnMst.FuncScrollUseYn == "1") { btnFuncItem.VisibleUpDown = true; btnFuncItem.SetUpDownPosition(1, 4); } else { btnFuncItem.VisibleUpDown = false; } btnFuncItem.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화 foreach (DataRow dr in dtFuncKey.Rows) { if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT) { // 후불 if (CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.SALE_EXIT) continue; } else { // 선불 if (CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_PRINT || CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_COMPLETED || CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.EDIT_CUST_CNT || CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_EXIT) continue; } Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_GRP_ID); // 분류코드 cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번 cFuncInfo.sFuncCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능코드 cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM).Replace("\n", PosConst.CRLF).Replace("\\n", PosConst.CRLF); // 기능 명 string sColor = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR); //2016-10-29 기능키 배경 색상이 없을 때 기본 값으로 하드 코딩 - 요청사항! if (m_cPosStatus.Base.DesignType == "1") // 1안 { cFuncInfo.cBackColor = CmUtil.GetColorToString(sColor.Length == 9 ? sColor : "109110113"); cFuncInfo.cForeColor = Color.White; } else { cFuncInfo.cBackColor = CmUtil.GetColorToString(sColor.Length == 9 ? sColor : "225230236"); cFuncInfo.cForeColor = Color.Black; } //cFuncInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR)); // 백 컬러 //if (m_cPosStatus.Base.DesignType == "1") // 1안 // cFuncInfo.cForeColor = Color.White; // 명 컬러 //else // cFuncInfo.cForeColor = Color.Black; // 명 컬러 cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈 cFuncInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_SIZE); // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) btnFuncSale.AddFuncButtonInfo(cFuncInfo); btnFuncItem.AddFuncButtonInfo(cFuncInfo); } 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 판매화면 표시 /// /// 판매화면 초기화 /// /// /// public void DisplayInit(bool bChgSaleDoing, bool bChgSaleFlow) { try { //if(bChgSaleDoing == true && bChgSaleFlow == true) //{ // SubPriorReadingVarClear(true); //} m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 if (bChgSaleDoing == true) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 판매 개시 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// pnlMotSale.Visible = false; pnlSubMenu.Visible = false; // 받은금액, 거스름 초기화 m_cPosStatus.Sale.PayRecvedAmt = 0; m_cPosStatus.Sale.ChangeCashAmt = 0; // 받을금액 텍스트 초기화 //lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037); lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037); // 그리드 초기화 SaleItemGrid.RemoveAll(); // 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus) DisplayItem(0, false); // 고객화면 상품정보 클리어 m_cCustDisp.ClearSaleItemList(); } if (bChgSaleFlow == true) { if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) { pnlSetMenu.Visible = false; if (m_cPosStatus.Base.DesignType == "1") // 1안 { btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.A_BEFORE_MENU); // 기능 버튼 표시 } else { btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.BC_BEFORE_MENU_L); // 기능 버튼 표시 btnFuncItem.DisplayFuncButton(PosKey.MENU_KEY.BC_BEFORE_MENU_R); // 기능 버튼 표시 } WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", ""); // 공통부가메뉴 버튼초기화 LoadCommonSubMenuDisplay(m_cPosStatus.Base.StoreNo, PosConst.SUB_MEMO_L_CLSS_COMMON); } else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { // 상품등록 중 if (m_cPosStatus.Base.DesignType == "1") // 1안 { btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.A_AFTER_MENU); // 기능 버튼 표시 } else { btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.BC_AFTER_MENU_L); // 기능 버튼 표시 btnFuncItem.DisplayFuncButton(PosKey.MENU_KEY.BC_AFTER_MENU_R); // 기능 버튼 표시 } if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", ""); } } txtInPut.Text = ""; txtInPut.Select(); } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 상품등록 정보 화면 표시 /// /// 0:LastItem, 1:OldFocus public void DisplayItem(int nFocus, bool bDispChange) { try { this.SuspendLayout(); if (bDispChange == true) { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 결제 완료 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #region //시작 MOT 사용 유무! if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "1") { pnlMotSale.Visible = true; } //lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212); lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212); if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR) { // 받은금액 표시 txtRecvedAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.PayRecvedAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; // 순매출액 표시 자리에 거스름 표시 txtNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; } else { // 받은금액 표시 txtRecvedAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.PayRecvedAmt); // 순매출액 표시 자리에 거스름 표시 txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt); } //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start pnlBuyHist.Visible = false; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end // 그리드 초기화 //#20171109 대기화면 위치 변경 및 상품목록 유지 start //기존 SaleItemGrid.RemoveAll(); //#20171109 대기화면 위치 변경 및 상품목록 유지 end // 고객화면 거스름 표시 m_cCustDisp.SaleCompleteDisplay(m_cPosStatus.Sale.ChangeCashAmt); // 캠페인 마스터 로딩 m_cCampaingMain.LoadCampaignCondition(new string[] { }); #endregion return; } ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 그리드의 현재 선택 행번호 int nOldSelectRow = SaleItemGrid.SelectedIndex; int[] arGridItemWidth; if (m_cPosStatus.Base.DesignType == "1") // 1안 { arGridItemWidth = new int[] { 40, 10, 175, 90, 60, 90, 100, 50, 50 }; } else if (m_cPosStatus.Base.DesignType == "2") // 2안 { arGridItemWidth = new int[] { 30, 10, 115, 65, 50, 70, 100, 40, 40 }; } else { arGridItemWidth = new int[] { 30, 10, 115, 63, 40, 67, 75, 40, 30 }; //arGridItemWidth = new int[] { 30, 10, 80, 70, 50, 70, 90, 40, 30 }; } int[] arFontSize = new int[] { 10, 10, 10, 11, 11, 11, 11, 10, 14 }; if (SaleItemGrid.GridDataItems.Count > alPluItem.Count) { while (SaleItemGrid.GridDataItems.Count > alPluItem.Count) { SaleItemGrid.RemoveAt(SaleItemGrid.GridDataItems.Count - 1); } } // SaleItemGrid.RemoveAll(); Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; //그리드 데이터 long nItemNo = 0; // 번호 for (int iRow = 0; iRow < alPluItem.Count; iRow++) { Column.TR_PLU.DATA cItem = (Column.TR_PLU.DATA)alPluItem[iRow]; bool bCancelDiv = false; if (cItem.CANCEL_DIV == "1" || cItem.CANCEL_DIV_MAIN == "1") bCancelDiv = true; //#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 Start if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS) && cItem.GRP_SEQ != string.Empty) { m_sPluItemCode = cItem.GRP_SEQ; // "999990001 01" } //#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 End // 상품메모 처리 string itemName = cItem.ITEM_NAME; string itemMemo = (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_1) ? "" : cItem.ITEM_MEMO_1) + (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_2) ? "" : " " + cItem.ITEM_MEMO_2) + (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_3) ? "" : " " + cItem.ITEM_MEMO_3); if (cItem.FIRE_KEY) itemMemo = "FIRE KEY"; if (string.IsNullOrWhiteSpace(itemMemo) == false) { #region using (Control ctrl = new Control()) { using (Font f = new Font(m_cPosStatus.Base.FONT, arFontSize[1], FontStyle.Regular)) { string temp = string.Empty; string name = string.Empty; temp = string.Empty; name = itemName.Replace("\r\n", " ").Replace("\r", " ").Replace("\n", " "); for (var i = 0; i < name.Length; i++) { temp = name.Substring(0, i + 1); SizeF sizeF = ctrl.CreateGraphics().MeasureString(temp, f); if (sizeF.Width > arGridItemWidth[2]) { itemName = name.Substring(0, i - 1); break; } } temp = string.Empty; name = itemMemo.Replace("\r\n", " ").Replace("\r", " ").Replace("\n", " "); for (var i = 0; i < name.Length; i++) { temp = name.Substring(0, i + 1); SizeF sizeF = ctrl.CreateGraphics().MeasureString(temp, f); if (sizeF.Width > arGridItemWidth[2]) { itemMemo = name.Substring(0, i - 1); break; } } } } #endregion itemName += "\n" + itemMemo; } string sEtcName = ""; //1. 로스거래인지 체크 if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL && m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) { sEtcName = cItem.NONSALES_RSN_NM; } else { if (cItem.CPI_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0829); if (cItem.SET_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0830) + cItem.SET_DC_GROUP_CD; if (cItem.ITEM_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018); } if (SaleItemGrid.GetItemCount() > iRow) // 이미 그리드에 추가된 상품 { #region GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[iRow]; // No CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0]; if (cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN) { nItemNo++; cGridExRowData.GridItemText = (nItemNo).ToString(); } else { cGridExRowData.GridItemText = ""; } cGridExRowData.GridItemValue = (iRow).ToString(); cGridExRowData.StrikeThrough = bCancelDiv; // 과세구분 cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[1]; cGridExRowData.GridItemText = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : ""; cGridExRowData.StrikeThrough = bCancelDiv; cGridExRowData.GridItemValue = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : ""; // 상품명 cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[2]; cGridExRowData.GridItemText = itemName; //cItem.ITEM_NAME; cGridExRowData.StrikeThrough = bCancelDiv; cGridExRowData.GridItemValue = cItem.ITEM_PLU_CD; //2018.01.23;미주의 경우 NoTax 상품은 상품명 빨간색으로 표시;girak.kim;Start if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS)) { if (cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) cGridExRowData.ForeColor = Color.Red; else cGridExRowData.ForeColor = Color.Black; } //2018.01.23;미주의 경우 NoTax 상품은 상품명 빨간색으로 표시;girak.kim;End // 단가 cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[3]; cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.SALE_PRC); cGridExRowData.GridItemValue = cItem.SALE_PRC.ToString(); cGridExRowData.StrikeThrough = bCancelDiv; // 수량 cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[4]; cGridExRowData.GridItemText = cItem.SALE_QTY.ToString(); cGridExRowData.GridItemValue = cItem.SALE_QTY.ToString(); cGridExRowData.StrikeThrough = bCancelDiv; cGridExRowData.ForeColor = Color.Black; // 할인 cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[5]; cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT); cGridExRowData.GridItemValue = cItem.TOT_DC_AMT.ToString(); cGridExRowData.StrikeThrough = bCancelDiv; // 금액 cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[6]; cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT); cGridExRowData.GridItemValue = cItem.BILL_AMT.ToString(); cGridExRowData.StrikeThrough = bCancelDiv; // 비고 cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[7]; cGridExRowData.GridItemText = sEtcName; cGridExRowData.GridItemValue = ""; cGridExRowData.StrikeThrough = bCancelDiv; #endregion } else//상품 클릭하여 그리드에 추가 되는 상품 { #region // Row Item GridDataItem cGridDataItem = new GridDataItem(); if (iRow % 2 == 0) { cGridDataItem.GridItemBackColor = Color.FromArgb(250, 250, 250); } else { cGridDataItem.GridItemBackColor = Color.FromArgb(255, 255, 255); } cGridDataItem.GridItemBackColorClick = Color.FromArgb(219, 253, 252); cGridDataItem.GridItemBackImage = null; cGridDataItem.GridItemBackImageClick = null; cGridDataItem.GridItemData = new System.Collections.Hashtable(); // No CsmGridExRowData cGridExRowData = new CsmGridExRowData(); cGridExRowData.GridItemWidth = arGridItemWidth[0]; cGridExRowData.ClickEventFlag = true; cGridExRowData.HStringAlignment = StringAlignment.Center; cGridExRowData.VStringAlignment = StringAlignment.Center; if (cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN) { nItemNo++; cGridExRowData.GridItemText = (nItemNo).ToString(); } else { cGridExRowData.GridItemText = ""; } cGridExRowData.GridItemValue = (iRow).ToString(); cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156); cGridExRowData.FontName = m_cPosStatus.Base.FONT; cGridExRowData.FontSize = arFontSize[0]; cGridExRowData.FontStyle = FontStyle.Regular; cGridExRowData.StrikeThrough = bCancelDiv; cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData); // 과세구분 cGridExRowData = new CsmGridExRowData(); cGridExRowData.GridItemWidth = arGridItemWidth[1]; cGridExRowData.ClickEventFlag = true; cGridExRowData.HStringAlignment = StringAlignment.Near; cGridExRowData.VStringAlignment = StringAlignment.Center; cGridExRowData.GridItemText = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : ""; cGridExRowData.GridItemValue = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : ""; cGridExRowData.ForeColor = Color.Red; cGridExRowData.FontName = m_cPosStatus.Base.FONT; cGridExRowData.FontSize = arFontSize[1]; cGridExRowData.FontStyle = FontStyle.Regular; cGridExRowData.StrikeThrough = bCancelDiv; cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData); // 상품명 cGridExRowData = new CsmGridExRowData(); cGridExRowData.GridItemWidth = arGridItemWidth[2]; cGridExRowData.ClickEventFlag = true; cGridExRowData.HStringAlignment = StringAlignment.Near; cGridExRowData.VStringAlignment = StringAlignment.Center; cGridExRowData.GridItemText = itemName; //cItem.ITEM_NAME; cGridExRowData.GridItemValue = cItem.ITEM_PLU_CD; cGridExRowData.ForeColor = Color.FromArgb(3, 3, 3); cGridExRowData.FontName = m_cPosStatus.Base.FONT; cGridExRowData.FontSize = arFontSize[2]; cGridExRowData.FontStyle = FontStyle.Regular; cGridExRowData.StrikeThrough = bCancelDiv; cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData); // 단가 cGridExRowData = new CsmGridExRowData(); cGridExRowData.GridItemWidth = arGridItemWidth[3]; cGridExRowData.ClickEventFlag = true; cGridExRowData.HStringAlignment = StringAlignment.Far; cGridExRowData.VStringAlignment = StringAlignment.Center; cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.SALE_PRC); cGridExRowData.GridItemValue = cItem.SALE_PRC.ToString(); cGridExRowData.ForeColor = Color.FromArgb(100, 100, 100); cGridExRowData.FontName = m_cPosStatus.Base.FONT; cGridExRowData.FontSize = arFontSize[3]; cGridExRowData.FontStyle = FontStyle.Regular; cGridExRowData.StrikeThrough = bCancelDiv; cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData); // 수량 cGridExRowData = new CsmGridExRowData(); cGridExRowData.GridItemWidth = arGridItemWidth[4]; cGridExRowData.ClickEventFlag = true; cGridExRowData.HStringAlignment = StringAlignment.Far; cGridExRowData.VStringAlignment = StringAlignment.Center; cGridExRowData.GridItemText = cItem.SALE_QTY.ToString(); cGridExRowData.GridItemValue = cItem.SALE_QTY.ToString(); //#20171107 수량 폰트색 검은색으로 변경 start //마지막 상품은 색상이 변경이 안되어 추가 수정. //기존 //cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156); //변경 cGridExRowData.ForeColor = Color.Black; //#20171107 수량 폰트색 검은색으로 변경 end cGridExRowData.FontName = m_cPosStatus.Base.FONT; cGridExRowData.FontSize = arFontSize[4]; cGridExRowData.FontStyle = FontStyle.Regular; cGridExRowData.StrikeThrough = bCancelDiv; cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData); // 할인 cGridExRowData = new CsmGridExRowData(); cGridExRowData.GridItemWidth = arGridItemWidth[5]; cGridExRowData.ClickEventFlag = true; cGridExRowData.HStringAlignment = StringAlignment.Far; cGridExRowData.VStringAlignment = StringAlignment.Center; cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT); cGridExRowData.GridItemValue = cItem.TOT_DC_AMT.ToString(); cGridExRowData.ForeColor = Color.Red; //Color.FromArgb(155, 155, 156); cGridExRowData.FontName = m_cPosStatus.Base.FONT; cGridExRowData.FontSize = arFontSize[5]; cGridExRowData.FontStyle = FontStyle.Regular; cGridExRowData.StrikeThrough = bCancelDiv; cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData); // 금액 cGridExRowData = new CsmGridExRowData(); cGridExRowData.GridItemWidth = arGridItemWidth[6]; cGridExRowData.ClickEventFlag = true; cGridExRowData.HStringAlignment = StringAlignment.Far; cGridExRowData.VStringAlignment = StringAlignment.Center; cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT); cGridExRowData.GridItemValue = cItem.BILL_AMT.ToString(); cGridExRowData.ForeColor = Color.FromArgb(3, 3, 3); cGridExRowData.FontName = m_cPosStatus.Base.FONT; cGridExRowData.FontSize = arFontSize[6]; cGridExRowData.FontStyle = FontStyle.Regular; cGridExRowData.StrikeThrough = bCancelDiv; cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData); // 비고 cGridExRowData = new CsmGridExRowData(); cGridExRowData.GridItemWidth = arGridItemWidth[7]; cGridExRowData.ClickEventFlag = true; cGridExRowData.HStringAlignment = StringAlignment.Center; cGridExRowData.VStringAlignment = StringAlignment.Center; cGridExRowData.GridItemText = sEtcName; cGridExRowData.GridItemValue = ""; cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156); cGridExRowData.FontName = m_cPosStatus.Base.FONT; cGridExRowData.FontSize = arFontSize[7]; cGridExRowData.FontStyle = FontStyle.Regular; cGridExRowData.StrikeThrough = bCancelDiv; cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData); // 삭제 cGridExRowData = new CsmGridExRowData(); cGridExRowData.GridItemWidth = arGridItemWidth[8]; cGridExRowData.ClickEventFlag = true; cGridExRowData.HStringAlignment = StringAlignment.Center; cGridExRowData.VStringAlignment = StringAlignment.Center; cGridExRowData.GridRowImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.ITEM_GRID_ROW_DEL); cGridExRowData.GridItemText = "X"; cGridExRowData.GridItemValue = ""; cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156); cGridExRowData.FontName = m_cPosStatus.Base.FONT; cGridExRowData.FontSize = arFontSize[7]; cGridExRowData.FontStyle = FontStyle.Regular; //cGridExRowData.StrikeThrough = bCancelDiv; cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData); SaleItemGrid.AddDataGridItem(cGridDataItem, GRID_EX_ITEM_BORDER_STYLE.BOTTOM, 1, Color.FromArgb(236, 236, 236)); #endregion } }//for end //0:LastItem, 1::OldFocus if (nFocus == 1) { if (nOldSelectRow >= SaleItemGrid.GridDataItems.Count) nOldSelectRow = SaleItemGrid.GridDataItems.Count - 1; SaleItemGrid.SelectIndexItem(nOldSelectRow); } SaleItemGrid.Refresh(); //// 상품 그리드에 상품 판매 등록 내역 표시 처리. //m_dtSaleItemGrid.Clear(); //ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); //for (int iRow = 0; iRow < alPluItem.Count; iRow++) //{ // Column.TR_PLU.DATA cItem = (Column.TR_PLU.DATA)alPluItem[iRow]; // string sCancelDiv = "0"; // if (cItem.CANCEL_DIV == "1" || cItem.CANCEL_DIV_MAIN == "1") sCancelDiv = "1"; // DataRow drRow = m_dtSaleItemGrid.NewRow(); // drRow["SEQ_NO"] = iRow + 1; // drRow["PLU_NAME"] = cItem.ITEM_NAME; // drRow["ITEM_PRICE"] = cItem.SALE_PRC; // drRow["ITEM_QTY"] = cItem.SALE_QTY; // drRow["DISCOUNT_AMT"] = (sCancelDiv == "1") ? "0" : m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT); // drRow["ITEM_AMT"] = (sCancelDiv == "1") ? "0" : m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT); // drRow["REMARK"] = ""; // drRow["CANCEL"] = (sCancelDiv == "1") ? "취소" : ""; // m_dtSaleItemGrid.Rows.Add(drRow); //} //SaleItemGrid.CsmGridDataSource = m_dtSaleItemGrid; //SaleItemGrid.CsmGridFirstDisplayedScrollingRowIndex = 0; //SaleItemGrid.CsmGridSelectRow(SaleItemGrid.CsmGridRowsCount - 1); //SaleItemGrid.Refresh(); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 상품등록 중 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR) { //로스면 로스 합계표시 if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) { // 총수량, 총매출액 txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.LossTotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; } else { // 총수량, 총매출액 txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; } // 총 할인 금액 txtDiscountAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED) { txtVatSvc.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName + "/ " + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; } // 받은금액 표시 처리 txtRecvedAmt.Text = m_cPosStatus.Global.NumericTOCurrency(0) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; // 순매출액 표시 처리 txtNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; } else { //로스면 로스 합계표시 if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) { // 총수량, 총매출액 txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.LossTotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)); } else { // 총수량, 총매출액 txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)); } // 총 할인 금액 //txtDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + // m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? -1 : 1)); txtDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt); if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED) { txtVatSvc.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) + "/ " + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt); } // 받은금액 표시 처리 txtRecvedAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(0); // 순매출액 표시 처리 //txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + // m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.NetSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)); txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)); } // 상품 등록내역 고객용 화면 표시 m_cCustDisp.DisplaySaleItemList(true, true, SaleItemGrid.SelectedIndex); if (m_cTrnStatus.Sale.CampaignFileName != "") { picCampaign.Image = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CAMPAIGN + m_cTrnStatus.Sale.CampaignFileName); //picCampaign.Visible = picCampaign.Image != null ? true : false; } else picCampaign.Visible = 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); } finally { this.ResumeLayout(true); this.Update(); if (m_cTrnStatus.Sale.CampaignFileName != "") { picCampaign.Visible = picCampaign.Image != null ? true : false; } } } #endregion #region 기능 버튼 이벤트 및 기능 업무 처리 /// /// 기능버튼 선택 /// /// /// private void btnFuncSale_FuncClickHandler(object sender, string sFuncCode) { string DCValue = string.Empty; try { m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 if(sFuncCode.Equals(PosKey.MENU_KEY.SALE_DC)) DCValue = txtInPut.Text; tmrSaleTimer.Enabled = false; if (picCampaign.Visible == true) picCampaign.Visible = false; //m_cCustDisp.DisplayCampaign("", ""); if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) // 판매대기 모드 { switch (sFuncCode) { case PosKey.MENU_KEY.SALE_EXIT: // 판매종료 SaleMainExit(); return; } DisplayInit(true, false); } else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { if (sFuncCode == PosKey.MENU_KEY.ADD_MENU && pnlSubMenu.Visible == true) { pnlSubMenu.Visible = false; tmrSaleTimer.Enabled = true; return; } //충전, 판매 거래 경우 안 닫음! if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false) { pnlSetMenu.Visible = false; pnlSubMenu.Visible = false; } } else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_WAIT && m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY) { switch (sFuncCode) { case PosKey.MENU_KEY.SALE_EXIT: // 판매종료 case PosKey.MENU_KEY.ORDER_COMPLETED: // 주문완료 SaleMainExit(); return; } } // 그리드의 현재 선택 행번호 int nSelectRow = SaleItemGrid.SelectedIndex; string sSelectRow = ""; if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0) { Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터 GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow]; // No CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0]; sSelectRow = cGridExRowData.GridItemValue; } // 키유효성 체크 if (m_cDataCommon.FunctionKeyValidity(sFuncCode) == false) { WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0054)); tmrSaleTimer.Enabled = true; return; } CsmFunc tmpFunc = new CsmFunc(); if (((Cosmos.UI.CsmFunc)sender) == btnFuncItem) //Right tmpFunc = btnFuncItem; else if (((Cosmos.UI.CsmFunc)sender) == btnFuncSale) //Left tmpFunc = btnFuncSale; // 키 그룹 판매원 권한 체크 if (WinBasic.CheckMenuKeyAuth(sFuncCode) == false) return; // 키 그룹 체크 if (m_cDataCommon.FunctionKeySubMenuLoad(sFuncCode) == true) { if (tmpFunc != null) { if (sFuncCode == PosKey.MENU_KEY.ESC_PREVIOUS) //이전 tmpFunc.DisplayPrevButton(); // 기능 버튼 표시 else tmpFunc.DisplayFuncButton(sFuncCode); // 기능 버튼 표시 } } else { if (sFuncCode == PosKey.MENU_KEY.ESC_PREVIOUS) //이전 { tmpFunc.DisplayPrevButton(); // 기능 버튼 표시 } else { // 기능 항목 처리 this.rtbMotMain.Visible = false; //#20171117 통제, 슈퍼바이저 로그인창 여러번 표시 되는 현상 수정 start //기존 //m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), ""); //변경 //m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "", true); //#20171117 통제, 슈퍼바이저 로그인창 여러번 표시 되는 현상 수정 end this.rtbMotMain.Visible = true; //---------------------------------------------------------------------------------------------------- // 만약 판매화면에서 전체취소 버튼 클릭시 // 해피포인트 제휴할인 변수 초기화 함수를 호출한다. //---------------------------------------------------------------------------------------------------- // (원본) m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Te바xt, sSelectRow.ToString(), ""); //---------------------------------------------------------------------------------------------------- #region 판매화면 초기화시 해피포인트 제휴할인 변수 초기화 함수를 호출한다. bool blnResult = m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "", true); if (blnResult == true) { if (sFuncCode == PosKey.MENU_KEY.TRADE_STOP) { SubPriorReadingVarClear(true); } } #endregion this.rtbMotMain.Visible = true; } } //DisplayInit(true, false); // 상품등록 내역 표시 //DisplayItem(0, false); SetOwnPartDiv(false); WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", ""); if (sFuncCode.Equals(PosKey.MENU_KEY.SALE_DC)) txtInPut.Text = DCValue; else txtInPut.Text = ""; TxtInPutFocus(); m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 { // 테이블 데이터 백업! m_cTrnStatus.Head.FloorCd = m_cPosStatus.Sale.SelectFloorCd; m_cTrnStatus.Head.TableNo = m_cPosStatus.Sale.SelectTableNo; m_cTrnStatus.Head.FloorNm = m_cPosStatus.Sale.SelectFloorNm; m_cTrnStatus.Head.TableNm = m_cPosStatus.Sale.SelectTableNm; tmrSaleTimer.Enabled = true; CmUtil.IgnoreMouseClick(this); // 마우스 클릭 무시 } } private void txtInput_Enter(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); } } /// /// 입력박스 이벤트 처리 /// /// /// private void txtInPut_EditBoxKeyDownEvent(object sender, string sFuncValue) { try { m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 tmrSaleTimer.Enabled = false; string sInPutData = txtInPut.Text; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start bool bReturn = true; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end // 그리드의 현재 선택 행번호 int nSelectRow = SaleItemGrid.SelectedIndex; string sSelectRow = ""; if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0) { Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터 GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow]; // No CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0]; sSelectRow = cGridExRowData.GridItemValue; } if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) DisplayInit(true, false); if (sFuncValue == PosKey.MENU_KEY.ENTER) { //#2017122 #13238 LG 은평_은평_부가메뉴 입력 안되는 증상 start, phj if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT) { WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0022)); txtInPut.Text = ""; return; } //#2017122 #13238 LG 은평_은평_부가메뉴 입력 안되는 증상 end, phj //충전, 판매 거래 경우 if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == true) return; if (sInPutData == "") return; //17.05.18 dkshin 쇼킹박스 추가 //if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.LOG.SHOCKING_BOX) == true) if (m_cTrnStatus.Head.ShockingBoxStat == "1") { WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0699)); txtInPut.Text = ""; return; } UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "BarCode Sacan : " + sInPutData); //17.05.18 dkshin 쇼킹박스 추가 //-------------start--------------- // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) //m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData); //sInPutData(바코드 데이타)조회 후 m_cTrnStatus.Head.TradeKind가 99(쇼킹박스) 일때 판매화면에 상품 보여주기 //쇼킹박스는 pc만_ho_20170828 if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC && m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR) { //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start //기존 //string sRet = m_cSaleService.PosShockingBoxSearch(sInPutData); //if (sRet == UserCom.RST_OK) //{ // if (SaleItemGrid.GridDataItems.Count > 0) //제품선택후 쇼킹박스상품을 불러온경우. // { // txtInPut.Text = ""; // return; // } // // //m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.LOG.SHOCKING_BOX; // m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.SHOCKING_BOX, "", "", sInPutData); //} //변경 string sTradeKind = string.Empty; sTradeKind = m_cSaleService.PosShockingBoxSearch(sInPutData); if (sTradeKind == ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX || sTradeKind == ItemConst.TRAN_KIND.LOG.SHOCKING_BOX) { if (SaleItemGrid.GridDataItems.Count > 0) //제품선택후 쇼킹박스상품을 불러온경우. { txtInPut.Text = ""; return; } if (sTradeKind == ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX) { // 상품정보출력(해피오더 랜덤박스) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.ITEMINFO_PRINT, "", "", sInPutData); } else if (sTradeKind == ItemConst.TRAN_KIND.LOG.SHOCKING_BOX) { // 쇼킹박스 m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.SHOCKING_BOX, "", "", sInPutData); } } //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end else { // 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:상품별합산) if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2") { if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); for (int i = 0; i < alTrPluItem.Count; i++) { Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i]; if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue; if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue; if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue; if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue; if (cPluItem.SUB_SHOP_CD != m_cPosStatus.Base.SubShopNo || cPluItem.ITEM_BAR_CD != sInPutData) continue; if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue; if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue; if (cPluItem.SALE_QTY >= 99999) continue; //#20170825 오픈 상품은 무조건 새 row로 입력 start if (cPluItem.OPEN_ITEM_DIV == "1") continue; //#20170825 오픈 상품은 무조건 새 row로 입력 end // 수량 증가 처리 m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), ""); SaleItemGrid.SelectIndexItem(i); m_cCustDisp.DisplaySaleItemList(true, true, i); txtInPut.Text = ""; m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 return; } } } //***************************************************************************** // (2017.11.01) 해피포인트 제휴할인 선리딩 처리 //----------------------------------------------------------------------------- // - 만약 입력박스에서 해피포인트 카드 및 제휴할인 카드를 리딩했을 때 // 만약, 해피포인트 카드일 경우 해피포인트 카드번호를 전역변수에 저장한다. // (ex. 해피포인트 카드번호 : m_cPosStatus.Sale.strHappyPointCardNo) // 만약, 제휴할인 카드일 경우 제휴할인 카드번호를 전역변수에 저장한다. // (ex. 제휴할인 카드번호 : m_cPosStatus.Sale.strMobileUnityCardNo) //***************************************************************************** //***************************************************************************** // (2017.11.01) 해피포인트 제휴할인 선리딩 처리 //----------------------------------------------------------------------------- // - 만약 입력박스에서 해피포인트 카드 및 제휴할인 카드를 리딩했을 때 // 만약, 해피포인트 카드일 경우 해피포인트 카드번호를 전역변수에 저장한다. // (ex. 해피포인트 카드번호 : m_cPosStatus.Sale.strHappyPointCardNo) // 만약, 제휴할인 카드일 경우 제휴할인 카드번호를 전역변수에 저장한다. // (ex. 제휴할인 카드번호 : m_cPosStatus.Sale.strMobileUnityCardNo) //***************************************************************************** #region 해피포인트 제휴할인 선리딩 처리 if (sInPutData != "" && sInPutData.Length > 15) { //=================================================================== // 해피포인트 카드 체크 //------------------------------------------------------------------- // - 만약 입력된 값의 앞의 4자리가 // 정의된 해피포인트 프리픽스(HP_CARD_PRIFIX) 값과 동일할 경우 // (ex. public const string HP_CARD_PRIFIX = "8231";) // 입력된 값을 전역변수에 저장하여 해피포인트 카드 번호로 사용한다. //------------------------------------------------------------------- // - frmPointHappyPoint_Load 이벤트에서 처리함 //=================================================================== #region 해피포인트 카드 체크 if (sInPutData.Substring(0, 4) == PosConst.HP_CARD_PRIFIX) { //----------------------------------------------------------------- // 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다. // - 다시 사용하기로 했음 //----------------------------------------------------------------- #region 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다. //if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) //{ // WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0020); // 판매 대기중에 처리 할수 없는 기능 입니다. // DisplayInit(true, false); // return; //} #endregion #region 만약 결제 기능키 항목에 해피포인트('00058')이 없을 경우 에러메시지를 표시한다. if (gdtFuncKey.Rows.Count != 0) { DataRow[] _drFuncKey = gdtFuncKey.Select("FUNC_ID = '" + PosKey.MENU_KEY.HAPPY_POINT + "'"); if (_drFuncKey.Length == 0) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다 DisplayInit(true, false); return; } } #endregion //--------------------------------------------------- // 입력된 해피포인트 카드 번호를 전역변수에 저장한다. //--------------------------------------------------- #region 입력된 해피포인트 카드 번호를 전역변수에 저장한다. //#20180620 해피포인트 선리딩시 '=' 붙이는 기능 제거 start //키인으로 입력하면 해피포인트 사용을 못해야 되는제 사용 가능함 //기존 //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start //기존 //m_cPosStatus.Sale.strHappyPointCardNo = sInPutData+"="; //변경 //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start, 20181025 //해피포인트 선리딩시 해피포인트 사용이 안되는 증상 수정 //기존 //m_cPosStatus.Sale.strHappyPointCardNo = sInPutData; //변경 m_cPosStatus.Sale.strHappyPointCardNo = sInPutData + "="; //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end, 20181025 //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end //변경 //m_cPosStatus.Sale.strHappyPointCardNo = sInPutData;// +"="; //#20180620 해피포인트 선리딩시 '=' 붙이는 기능 제거 end m_cPosStatus.Sale.strHappyPointCardNo_Title = "HPC"; #endregion //*** MoonSeokWoo 2017.12.12 Add if(pnlPayMainBack.Visible == false) AllianceCardInit(true, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0789), true); //*** MoonSeokWoo 2017.12.12 End //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start #region 고객 구매이력 정보 표시 및 해피쿠폰 발송 //결제화면이 표시 안된 경우 해피포인트 조회 -> 고객번호로 POS서버 조회 -> 고객구매이력 표시 //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510 //해당 옵션 사용하지 않고 STR_SEND_CPN_MST 테이블의 사용여부로 판단 //기존 /* if (PosMstManager.GetPosOption(POS_OPTION.OPT514) == "1" && pnlPayMainBack.Visible == false && m_cPosStatus.Sale.strHappyPointCardNo != "") */ //변경 // TEST START //m_cPosStatus.Mst.BuyHistShowYn = "1"; // TEST END if (m_cPosStatus.Mst.BuyHistShowYn == "1" && pnlPayMainBack.Visible == false && m_cPosStatus.Sale.strHappyPointCardNo != "") //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510 { //고객 구매이력 화면 미표시 pnlBuyHist.Visible = false; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510 //고객 구매이력 정보 표시 시점에 상단 MOT 표시 pnlBuyHistMot.Visible = false; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510 //#15525 고객구매이력 수정 요청 start //VIP 여부 안내 표시 pnlBuyHistVip.Visible = false; //#15525 고객구매이력 수정 요청 end //해피포인트 조회 후 고객번호 획득 (고객번호(10) + 전자영수증 수신여부(1) + 단골여부(1) + 기타정보(23)) string sHppMembNo = SchHappyPointMembInfo(PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP, m_cPosStatus.Sale.strHappyPointCardNo); //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510 //단골고객여부 전역변수로 변경 //기존 //string sRegularYN = ""; //변경 m_cPosStatus.Sale.sRegularYN = ""; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510 //해피전문 반영 안되있으면 11자리만 내려옴. (고객번호(10) + 전자영수증 수신여부(1)) if (sHppMembNo.Length > 11) { //sHppMembNo = sHppMembNo.Substring(0, 10); //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510 //단골고객여부 전역변수로 변경 //기존 //sRegularYN = sHppMembNo.Substring(11, 1); //변경 m_cPosStatus.Sale.sRegularYN = sHppMembNo.Substring(11, 1); //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510 sHppMembNo = sHppMembNo.Substring(0, 10); } else { //sHppMembNo = ""; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510 //단골고객여부 전역변수로 변경 //기존 //sRegularYN = ""; //변경 m_cPosStatus.Sale.sRegularYN = ""; //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510 } //해피포인트 고객번호가 있는 경우 POS서버로 구매이력정보 수신 if (sHppMembNo !="") { //수신 데이터 있는 경우 표시 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] = ""; } //#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 = "1008346700"; //#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개월 | 전월 | 객단가 | 선호제품유형 | 최근구매일 | 최근 케익 구매일 |코드|문구1 | 문구2| // Y | 0(0) | 0 | 0 | 완제생크림 , 버터 | 21일전 (05/03)| 21일전 (05/03) |01 |어제 | 케익 | //테스트 start //sGetData = "Y|0(0)|0|0|완제생크림 , 버터|21일전 (05/03)|21일전 (05/03)|01|어제|케익|"; //테스트 end //#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 BuyHistTime = DateTime.Now; //#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 { //m_cCustDisp.ScreenVipDisplay(false); 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; } } } #endregion //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start #region SPC임직원 여부 조회 if (m_cPosStatus.Sale.strHappyPointCardNo != "") { m_cPosStatus.Sale.strEmpInfo = SchHappyPointEmpInfo(PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP, m_cPosStatus.Sale.strHappyPointCardNo); } #endregion SPC임직원 여부 조회 //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end //---------------------------------------- // 해피포인트 상태바 표시을 위한 배열 설정 //---------------------------------------- #region 해피포인트 상태바 표시를 위한 배열 설정 if (m_cPosStatus.Sale.strPriorReading_Title[0] == null || m_cPosStatus.Sale.strPriorReading_Title[0] == "") { //-------------------------------------------------------- // 만약 첫번째로 리딩된 해피포인트 및 제휴카드가 없을 경우 // -> 첫번째에 해피포인트를 그대로 입력한다. //-------------------------------------------------------- m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title; } else if (m_cPosStatus.Sale.strPriorReading_Title[1] == null || m_cPosStatus.Sale.strPriorReading_Title[1] == "") { //-------------------------------------------------------- // 만약 두번째로 리딩된 해피포인트 및 제휴카드가 없을 경우 // -> 두번째에 해피포인트를 입력한다. // 단, 첫번째로 리딩된 해피포인트가 없을 경우에만 입력한다. //-------------------------------------------------------- if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC") { m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title; } } else { //---------------------------------------------------------------- // 만약 첫번째, 두번째로 리딩한 해피포인트 및 제휴카드가 있을 경우 // 아무 처리를 안한다. //---------------------------------------------------------------- } #endregion // 텍스트 박스 클리어 ----- txtInPut.Text = ""; if(pnlPayMainBack.Visible == true) { #region 만약 해피포인트 값이 설정되어 있을 경우 해피포인트 화면을 표시한다. if (m_cPosStatus.Sale.strHappyPointCardNo != "") { //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start //기존 // 해피포인트(00058) 화면 표시 ----- //PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1"); //변경 #region SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시 if (m_cPosStatus.Sale.strEmpInfo == "3A") { // SPC임직원할인(결제) - 상품에 적용하지 않음 DataTable dtFuncKeyArr1 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY); // SPC임직원할인(할인) - 상품에 적용 DataTable dtFuncKeyArr2 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC); if (dtFuncKeyArr1 == null || dtFuncKeyArr1.Rows.Count <= 0) { if (dtFuncKeyArr2 == null || dtFuncKeyArr2.Rows.Count <= 0) { // SPC임직원할인(결제), SPC임직원할인(할인) 둘다 기능키가 배치되어 있지 않은 경우 // 해피포인트(00058) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1"); } else { // SPC임직원할인(할인) 기능키가 배치되어 있는 경우 // 임직원할인(00064) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC, "2"); } } else { // SPC임직원할인(결제) 기능키가 배치되어 있는 경우 // 임직원할인(00281) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY, "2"); } } else { // SPC임직원이 아닌 경우 // 해피포인트(00058) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1"); } #endregion SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시 //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end } #endregion } return; } #endregion //======================================================================= // 제휴할인 카드 체크 //----------------------------------------------------------------------- // - 제휴할인 카드 폼에 포함되어 있는 // 제휴카드 종류 자동 선택(SelectMobileUnityKind) 함수를 이용하여 // 제휴할인 카드가 맞는지 체크한다. // - 만약 제휴할인 카드가 맞을 경우 // 입력된 값을 전역변수에 저장하여 제휴할인 카드 번호로 사용한다. //----------------------------------------------------------------------- // - frmPntMobileUnity_Load 이벤트에서 처리함 // - 오버로딩 함수 : public frmPntMobileUnity(string _strDiv) // public bool SelectMobileUnityKind(string _strCardNo) //======================================================================= #region 제휴할인 카드 체크 //----------------------------------------------------- // 제휴할인 카드 폼의 제휴카드 종류 자동 선택 함수 호출 //----------------------------------------------------- #region 제휴할인 카드 폼의 제휴카드 종류 자동 선택 함수 호출 frmPntMobileUnity frmPntMobileUnity = new frmPntMobileUnity("Initial"); string _strCardDiv = frmPntMobileUnity.SelectMobileUnityKind(sInPutData); #endregion if (_strCardDiv != "") { //----------------------------------------------------------------- // 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다. // - 다시 사용하기로 했음 //----------------------------------------------------------------- #region 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다. //if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) //{ // WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0020); // 판매 대기중에 처리 할수 없는 기능 입니다. // DisplayInit(true, false); // return; //} #endregion #region 만약 결제 기능키 항목에 제휴할인 카드('00292')이 없을 경우 에러메시지를 표시한다. if (gdtFuncKey.Rows.Count != 0) { DataRow[] _drFuncKey = gdtFuncKey.Select("FUNC_ID = '" + PosKey.MENU_KEY.MOBILE_UNITY + "'"); if (_drFuncKey.Length == 0) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다 DisplayInit(true, false); return; } } #endregion //-------------------------------------------- // 입력된 제휴카드 번호를 전역변수에 저장한다. //-------------------------------------------- // - _strCardDiv : SKT, KT, LGT //-------------------------------------------- #region 입력된 제휴카드 번호를 전역변수에 저장한다. m_cPosStatus.Sale.strMobileUnityCardNo = sInPutData; m_cPosStatus.Sale.strHappyPointCardNo_Title = _strCardDiv; #endregion //*** MoonSeokWoo 2017.12.12 Add if (pnlPayMainBack.Visible == false) AllianceCardInit(true, _strCardDiv, false); //*** MoonSeokWoo 2017.12.12 End //-------------------------------------- // 제휴카드 상태바 표시을 위한 배열 설정 //-------------------------------------- #region 제휴카드 상태바 표시를 위한 배열 설정 if (m_cPosStatus.Sale.strPriorReading_Title[0] == null || m_cPosStatus.Sale.strPriorReading_Title[0] == "") { //-------------------------------------------------------- // 만약 첫번째로 리딩된 해피포인트 및 제휴카드가 없을 경우 // -> 그대로 입력한다. //-------------------------------------------------------- m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title; } else if (m_cPosStatus.Sale.strPriorReading_Title[1] == null || m_cPosStatus.Sale.strPriorReading_Title[1] == "") { //------------------------------------------------------------------- // 만약 두번째로 리딩된 해피포인트 및 제휴카드가 없을 경우 // -> 두번째에 해피포인트를 입력한다. // 단, 첫번째로 리딩된 제휴카드가 있을 경우 이전 제휴카드를 치환한다. //------------------------------------------------------------------- if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC") { m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title; } else { m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title; } } else { //---------------------------------------------------------------- // 만약 첫번째, 두번째로 리딩한 해피포인트 및 제휴카드가 있을 경우 // 이전 제휴카드를 치환한다. //---------------------------------------------------------------- if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC") { m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title; } else { m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title; } } #endregion // 텍스트 박스 클리어 ----- txtInPut.Text = ""; if (pnlPayMainBack.Visible == true) { #region '해피포인트' 및 '제휴할인 카드' 화면을 표시한다. #region 만약 제휴할인 카드 값이 설정되어 있을 경우 제휴할인 카드 화면을 표시한다. if (m_cPosStatus.Sale.strMobileUnityCardNo != "") { // 제휴할인 카드(00292) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2"); } #endregion #endregion } return; } #endregion } #endregion //***************************************************************************** // (2017.11.10) 바코드 중복 처리 //----------------------------------------------------------------------------- // - 만약 입력박스에서 1개의 상품을 리딩했는데 // 상품바코드테이블(MST_ITEM_BAR_CD)에 2개 이상의 데이터가 존재할 경우 // 상품선택화면(frmMultiItem)을 표시해서 사용자 1개의 상품을 선택하도록 한다. //***************************************************************************** #region 바코드 중복 처리 if (sInPutData != "") { //#20181102 상품 터치, 바코드 스캔시 동일 상품인 경우 수량 증가 안되는 증상 수정 start //기존 #region 기존 DataTable dtDataInfo = m_cDataCommon.SeletItemMstNmToScanCode("0000007", sInPutData); if (dtDataInfo != null && dtDataInfo.Rows.Count > 1) { frmMultiItem fForm = new frmMultiItem(dtDataInfo); if (DialogResult.OK == fForm.ShowDialog()) { // 사용자가 선택한 매장코드 설정 ----- string _strStorCD = fForm.strStorCD; // 사용자가 선택한 상품코드 설정 ----- string _strSelectItemCD = fForm.strSelectItemCD; //------------------------- // EtcData=0:수입력 값 설정 //------------------------- #region EtcData=0:수입력 값 설정 sInPutData = _strStorCD + " " + _strSelectItemCD; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //기존 /* // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sInPutData); */ //변경 //상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sInPutData); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end #endregion } else { return; } } else { //------------------------------------------------- // 만약 중복상품이 아닐경우에는 // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) //------------------------------------------------- //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //기존 //m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData); //변경 bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end } #endregion 기존 //변경 #region 변경 //DataTable dtDataInfo = m_cDataCommon.SeletItemMstNmToScanCode("0000007", sInPutData); //if (dtDataInfo != null && dtDataInfo.Rows.Count > 1) //{ // frmMultiItem fForm = new frmMultiItem(dtDataInfo); // if (DialogResult.OK == fForm.ShowDialog()) // { // // 사용자가 선택한 매장코드 설정 ----- // string _strStorCD = fForm.strStorCD; // // 사용자가 선택한 상품코드 설정 ----- // string _strSelectItemCD = fForm.strSelectItemCD; // //------------------------- // // EtcData=0:수입력 값 설정 // //------------------------- // #region EtcData=0:수입력 값 설정 // string sSchData = _strStorCD + " " + _strSelectItemCD; // if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2") // { // if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) // { // ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // for (int i = 0; i < alTrPluItem.Count; i++) // { // Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i]; // if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue; // if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue; // if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue; // if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue; // if (cPluItem.SUB_SHOP_CD != sSchData.Substring(0, 10).Trim() || cPluItem.ITEM_PLU_CD != sSchData.Substring(10)) continue; // if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue; // if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue; // if (cPluItem.SALE_QTY >= 99999) continue; // //#20170825 오픈 상품은 무조건 새 row로 입력 start // if (cPluItem.OPEN_ITEM_DIV == "1") continue; // //#20170825 오픈 상품은 무조건 새 row로 입력 end // // 수량 증가 처리 // bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), ""); // SaleItemGrid.SelectIndexItem(i); // m_cCustDisp.DisplaySaleItemList(true, true, i); // txtInPut.Text = ""; // return; // } // } // } // #endregion // } // else { return; } //} //else //{ // if (dtDataInfo != null && dtDataInfo.Rows.Count == 1) // { // string sSchData = dtDataInfo.Rows[0]["STOR_CD"].ToString() + " " + dtDataInfo.Rows[0]["ITEM_CD"].ToString(); // if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2") // { // if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) // { // ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // for (int i = 0; i < alTrPluItem.Count; i++) // { // Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i]; // if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue; // if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue; // if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue; // if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue; // if (cPluItem.SUB_SHOP_CD != sSchData.Substring(0, 10).Trim() || cPluItem.ITEM_PLU_CD != sSchData.Substring(10)) continue; // if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue; // if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue; // if (cPluItem.SALE_QTY >= 99999) continue; // //#20170825 오픈 상품은 무조건 새 row로 입력 start // if (cPluItem.OPEN_ITEM_DIV == "1") continue; // //#20170825 오픈 상품은 무조건 새 row로 입력 end // // 수량 증가 처리 // bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), ""); // SaleItemGrid.SelectIndexItem(i); // m_cCustDisp.DisplaySaleItemList(true, true, i); // txtInPut.Text = ""; // return; // } // } // } // } // //------------------------------------------------- // // 만약 중복상품이 아닐경우에는 // // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) // //------------------------------------------------- // //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start // //기존 // //m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData); // //변경 // bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData); // //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end //} #endregion 변경 //#20181102 상품 터치, 바코드 스캔시 동일 상품인 경우 수량 증가 안되는 증상 수정 end } #endregion //#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 start #region 모바일쿠폰 해피기프트카드 자동인식 기능 //결제창에서만 동작 하도록 처리 if (pnlPayMainBack.Visible == true) { #region 모바일쿠폰 PREFIX 체크 //모바일쿠폰 prefix 체크 if (sInPutData.Length >= 6 && sInPutData != "") { // PreFix 검색 DataTable dtVanInfo = m_cDataCommon.SeletPrefixToPayTypeInfo(sInPutData); if (dtVanInfo != null && dtVanInfo.Rows.Count > 0) { m_cPosStatus.Sale.strMobileCpnNo = sInPutData; } } #endregion 모바일쿠폰 PREFIX 체크 #region 해피기프트 prefix 체크 //해피기프트 prefix 체크 if (sInPutData.Length >= 6 && sInPutData != "") { IPaymentUs m_cHappyGiftCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HPGIFTCARD); string[] aRet = new string[10]; string ret = m_cHappyGiftCard.SearchPayment(new string[] { PosConst.HPGIFTCARD_SEARCH_TYPE.PREFIX, sInPutData }, ref aRet); if (ret == UserCom.RST_OK) { //해피기프트(구) if (aRet[0].Trim() == "C" && aRet[2] == "98") { m_cPosStatus.Sale.strHappyGiftCardNo = sInPutData; } //해피기프트(신) if (aRet[0].Trim() == "N") { m_cPosStatus.Sale.strHappyGiftCardNo = sInPutData; } } } #endregion 해피기프트 prefix 체크 #region 모바일쿠폰인 경우 모바일결제(00073) 화면 표시 //모바일쿠폰인 경우 모바일결제(00073) 화면 표시 if (m_cPosStatus.Sale.strMobileCpnNo != "") { PayComFuncion(PosKey.MENU_KEY.MOBILE_COUPON, "3"); } #endregion 모바일쿠폰인 경우 모바일결제(00073) 화면 표시 #region 해피기프트인 경우 해피기프트(00291) 화면 표시 //해피기프트인 경우 해피기프트(00291) 화면 표시 if (m_cPosStatus.Sale.strHappyGiftCardNo != "") { PayComFuncion(PosKey.MENU_KEY.HPGIFTCARD, "3"); } #endregion 해피기프트인 경우 해피기프트(00291) 화면 표시 } #endregion //#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 end //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start #region 해피오더 주문내역 바코드 리딩 시 자동 완료처리 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT553), "0") == "1") { if (pnlPayMainBack.Visible != true) { if (bReturn == false) { if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0021); // 판매 등록 중에 처리 할수 없는 기능 입니다. txtInPut.Text = ""; //DisplayInit(true, false); return; } //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20180829 if (sInPutData.Length == 15 && sInPutData.StartsWith("999")) //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20180829 { WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "00", "C", sInPutData }); } } } } #endregion //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end } } else { // 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:상품별합산) if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2") { if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); for (int i = 0; i < alTrPluItem.Count; i++) { Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i]; if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue; if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue; if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue; if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue; if (cPluItem.SUB_SHOP_CD != m_cPosStatus.Base.SubShopNo || cPluItem.ITEM_BAR_CD != sInPutData) continue; if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue; if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue; if (cPluItem.SALE_QTY >= 99999) continue; //#20170825 오픈 상품은 무조건 새 row로 입력 start if (cPluItem.OPEN_ITEM_DIV == "1") continue; //#20170825 오픈 상품은 무조건 새 row로 입력 end // 수량 증가 처리 m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), ""); SaleItemGrid.SelectIndexItem(i); m_cCustDisp.DisplaySaleItemList(true, true, i); txtInPut.Text = ""; m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 return; } } } // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData); } //-------------end----------------- } else { // 기능 항목 처리 m_cSaleMainProc.ExecuteSaleMainProcess(sFuncValue, sInPutData, sSelectRow, ""); //#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 Start if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS) && m_sPluItemCode != string.Empty) { // 메뉴 표시 btnMenuMClass_FuncClickHandler(btnMenuMClass, m_sPluItemCode); m_sPluItemCode = string.Empty; } //#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 End } txtInPut.Text = ""; m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } tmrSaleTimer.Enabled = true; } /// /// 그리드 헤더 거래 취소 /// /// private void SaleItemGrid_GridHeaderClickEvent(object sender) { tmrSaleTimer.Enabled = false; try { if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.PAY_WAIT) { //if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0261)) == true ) //{ // 기능 항목 처리(지정취소) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.TRADE_STOP, "", "", ""); ////// 거래 완료 후 초기화 처리 //DisplayInit(false, true); ////// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus) //DisplayItem(0, 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 { tmrSaleTimer.Enabled = true; } } /// /// 그리드 상품 클릭(지정취소) /// /// private void SaleItemGrid_GridItemClickEvent(object sender, int nCellIndex) { try { m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 txtInPut.Text = ""; tmrSaleTimer.Enabled = false; // 그리드의 현재 선택 행번호 int nSelectRow = SaleItemGrid.SelectedIndex; string sSelectRow = ""; if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0) { Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터 GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow]; // No CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0]; sSelectRow = cGridExRowData.GridItemValue; } if (sSelectRow == "") return; // 상품 등록내역 고객용 화면 표시 m_cCustDisp.DisplaySaleItemSelect(nSelectRow); if (nCellIndex == 8) { if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { pnlSubMenu.Visible = false; pnlSetMenu.Visible = false; } // 기능 항목 처리(지정취소) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.CANCEL_ITEM, "", sSelectRow, ""); } else if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { // 상품 아이템 ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)]; // 상품 정보 if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN) { pnlSubMenu.Visible = false; pnlSetMenu.Visible = false; if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL) LoadCommonSubMenuDisplay(cPluItem.SUB_SHOP_CD, cPluItem.M_CLSS); } else if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.OPT_MENU) { if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") return; if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) return; for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--) { // 상품 정보 Column.TR_PLU.DATA cPluSubItem = (Column.TR_PLU.DATA)alPluItem[i]; if (cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN) break; if (cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL) { if (cPluSubItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluSubItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) break; if (cPluSubItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) break; LoadSubMenuDisplay(cPluSubItem.SUB_SHOP_CD, cPluSubItem.M_CLSS); break; } } } else if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL) { if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") return; if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) return; if (cPluItem.SET_PLU_SET_GROUP_CODE == "") return; // 세트메뉴 그룹 상세 로딩 m_cSaleMainProc.m_dtSetMenuDetail = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_SET_GRP.TABLE_NAME_CHANGE, cPluItem.SUB_SHOP_CD, cPluItem.SET_PLU_SET_GROUP_CODE); LoadSetMenuDisplay(cPluItem.SET_PLU_SET_GROUP_CODE, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0497)); } } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 { tmrSaleTimer.Enabled = false; } } /// /// 판매화면 종료 처리 /// public void SaleMainExit() { try { //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start if (m_cPosStatus.Base.DmbIf == "1" && PosMstManager.GetPosOption(POS_OPTION.OPT554) == "1" && m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT && m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL) { // 디지털메뉴보드 I/F IDataServiceUs cDigitalMenuBoard = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.DMB_IF); // 판매완료 cDigitalMenuBoard.Execute(new string[] { ItemConst.DT_IRT_ID.SALE_END }); } if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3" && PosMstManager.GetPosOption(POS_OPTION.OPT554) == "1" && m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT && m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL) { // 고객화면 상품정보 클리어 m_cCustDisp.ClearSaleItemList(); } //#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end tmrSaleTimer.Enabled = false; this.DialogResult = DialogResult.Cancel; 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); } } #endregion #region 상단 기타 업무 및 WEB 기능 호출 /// /// 상단 기타 업무 및 WEB 기능 호출 /// /// /// private void lblEtc_Click(object sender, EventArgs e) { try { m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정 if ((UI.CsmLabel)sender == lblEtc) { //ETC 메뉴 //WinSale.ExecuteBinessRun(PosKey.MENU_KEY.TOP_MENU_ETC); if (pnlMenuSlide.Visible != true) { m_SlideMenuKey = ""; m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_ETC; pnlMenuSlide.Visible = true; MenuSlideList(); SlideInitControl(); pnlMenuSlide.BringToFront(); } else { pnlMenuSlide.Visible = false; } } else { //WEB 메뉴 //WinSale.ExecuteBinessRun(PosKey.MENU_KEY.TOP_MENU_WEB); if (pnlMenuSlide.Visible != true) { m_SlideMenuKey = ""; m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_WEB; pnlMenuSlide.Visible = true; MenuSlideList(); SlideInitControl(); pnlMenuSlide.BringToFront(); } else { pnlMenuSlide.Visible = false; } } txtInPut.Text = ""; m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 picWeb_Click(object sender, EventArgs e) { try { m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정 if (pnlMenuSlide.Visible != true) { m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_WEB; pnlMenuSlide.Visible = true; MenuSlideList(); SlideInitControl(); pnlMenuSlide.BringToFront(); } else { pnlMenuSlide.Visible = false; } txtInPut.Text = ""; m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 btnAdmin_Click(object sender, EventArgs e) { try { SetOwnPartDiv(true); m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 SetOwnPartDiv(bool bOwnPartDivChange) { try { if (bOwnPartDivChange == true) { if (m_cPosStatus.Base.OwnPartDiv == PosConst.OWN_PART_DIV.PART_DIV) { m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.OWN_DIV; } else { m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.PART_DIV; } //전송데이터 저장 m_cDataCommon.SaveServerRequestTransactionData(PosConst.RE_TRANSACTIONDATA.OWNER_MODE, new string[] { m_cPosStatus.Base.OwnPartDiv }); } if (m_cPosStatus.Base.OwnPartDiv == PosConst.OWN_PART_DIV.PART_DIV) { btnAdmin.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0033); } else { m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.OWN_DIV; btnAdmin.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0034); } ////전송데이터 저장 //m_cDataCommon.SaveServerRequestTransactionData(PosConst.RE_TRANSACTIONDATA.OWNER_MODE, new string[] { m_cPosStatus.Base.OwnPartDiv }); } 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 tmrSaleTimer_Tick(object sender, EventArgs e) { try { tmrSaleTimer.Enabled = false; if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) { if (Form.ActiveForm == this) { // Add, 2017.02.15, 영수증프린터로 주방 주문서/메시지 출력 처리 //m_cSaleMainProc.KtchOrderSheetToBillPrint(); // 화면보호기 처리 if (m_cCustDisp.ScreenSaverDisplay() == true) { //스크린세이버 기능(0: 사용안함. 1:사용함, 2:사용함(LOGOFF)) if (PosMstManager.GetPosOption(POS_OPTION.OPT013) == "2") { string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.SIMPLE_LOG_ON }); if (sRet == UserCom.RST_ERR) { m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMQUIT; SaleMainExit(); return; } lblCashier.Text = m_cPosStatus.Base.CashierName; } } SetOwnPartDiv(false); if (m_sMstBatchDownDate != m_cPosStatus.Base.MstBatchDownDate) { // 캠페인 마스터 로딩 m_sMstBatchDownDate = m_cPosStatus.Base.MstBatchDownDate; m_cCampaingMain.LoadCampaignCondition(new string[] { }); } SelectBrPopUp(); // BR 팝업 업무 조회 //긴급공지 체크(10초마다) if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 10 == 0) { GetTopMsgMode("1"); if (m_cPosStatus.Sale.SysShutDown != "") return; } // 해피오더 주문접수 알람 //#20170913 해피오더 알림 팝업 여부 옵션 처리 start //기존 //if (m_cPosStatus.Sale.HappyOrderAlarm == true) //변경 if ((m_cPosStatus.Sale.HappyOrderAlarm == true) && (PosMstManager.GetPosOption(POS_OPTION.OPT510) == "1")) //#20170913 해피오더 알림 팝업 여부 옵션 처리 end { // 상품등록 대기 일 때만 해피오더 주문접수 알림창 강제 POP-UP m_cPosStatus.Sale.HappyOrderAlarm = false; //#20180615 해피오더 팝업 수정 start //기존 //WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_POPUP, "ALARM" }); //변경 WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" }); //#20180615 해피오더 팝업 수정 end } //기타 공지 1분마다 if (DateTime.Now.ToString("ss") == "00") { SelectEtcNoticeCom(); //if (m_cPosStatus.Sale.SysShutDown != "") return; } //#20180605 해피오더 개선 start //즉시주문, 예약주문 알림 if (PosMstManager.GetPosOption(POS_OPTION.OPT510) == "1") { // 즉시주문 30초 마다 표시 //#20180605 해피오더 개선 start - 20180618 //기존 //if (m_nTimeSync_HpOrd_Direct >= 30) //변경 if (m_nTimeSync_HpOrd_Direct >= 30 || m_cPosStatus.Sale.bPayCompleteYN == true) //#20180605 해피오더 개선 end - 20180618 { // Count 초기화 m_nTimeSync_HpOrd_Direct = 0; //#20180605 해피오더 개선 start - 20180618 m_cPosStatus.Sale.bPayCompleteYN = false; //#20180605 해피오더 개선 end - 20180618 //주문접수 건이 1건 이상인 경우 int DirectCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDirectCnt, "0")) + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservCnt, "0")); //DirectCnt = 10; //TEST DELETE if (DirectCnt >= 1) { //해피오더 리스트 팝업(Y:당일픽업, A:즉시주문, B:예약주문) WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "A" }); //해피오더 리스트 팝업 종료 후 해피오더 주문건수 재조회 후 건수 갱신 m_cSvr2Tran.HappyOrderCntChk(); } } else { m_nTimeSync_HpOrd_Direct++; } // 예약주문 30분 마다 표시 if (m_nTimeSync_HpOrd_Reserv >= 60 * 30) { // Count 초기화 m_nTimeSync_HpOrd_Reserv = 0; //주문접수 건이 1건 이상인 경우 int ReservCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0")) - int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDirectCnt, "0")) - int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservCnt, "0")); if (ReservCnt >= 1) { //해피오더 리스트 팝업(Y:당일픽업, A:즉시주문, B:예약주문) WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "B" }); //해피오더 리스트 팝업 종료 후 해피오더 주문건수 재조회 후 건수 갱신 m_cSvr2Tran.HappyOrderCntChk(); } } else { m_nTimeSync_HpOrd_Reserv++; } } //#20180605 해피오더 개선 end } } // 서버 시간 동기화 05분 마다(2017.07.12) if (DateTime.Now.ToString("ss") == "00") { m_nTimeSyncFlag++; if (m_nTimeSyncFlag == 5) { string sRet = m_cSvr2Tran.ServerSysDateTime(); m_cPosStatus.Base.OlePosNetworkStatus = sRet; m_nTimeSyncFlag = 0; } } // 시간 표시 //lblDateTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); lblCashier.Text = m_cPosStatus.Base.CashierName; lblTranNo.Text = m_cPosStatus.Base.TradeNo; // 해피오더 주문알림 처리 if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1") { //// 해피오더 신규주문 //int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderRegCnt, "0")); //// 해피오더 배달미처리 //int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0")) // + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0")) // + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0")); //lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), iCnt01, iCnt02); if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { // 해피오더 신규주문(일반주문건수 + 배달주문건수 + 예약주문건수) int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0")); if (iCnt01 > 99) iCnt01 = 99; // 해피오더 픽업미처리 int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderProductReadyCnt, "0")) + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderPickupWaitCnt, "0")); if (iCnt02 > 99) iCnt02 = 99; // 해피오더 배달미처리 //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 start //기존 /* int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0")) + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0")) + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0")); */ //변경 int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0")) + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0")) //#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 start //기존 //+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0")) //#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 end //#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 start + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryProductReadyCnt, "0")) //#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 end + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryDirectCnt, "0")); //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 end lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), iCnt01, iCnt02, iCnt03); } else { // 해피오더 일반 int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderRegCnt, "0")); if (iCnt01 > 99) iCnt01 = 99; // 해피오더 배달 int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryOrderRegCnt, "0")); if (iCnt02 > 99) iCnt02 = 99; // 해피오더 예약 int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservedRegCnt, "0")); if (iCnt03 > 99) iCnt03 = 99; lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1009), iCnt01, iCnt02, iCnt03); } } // 빚은몰 주문알림 처리 if (PosMstManager.GetPosOption(POS_OPTION.OPT036) == "1") { lblIFStatus2.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0464), CmUtil.IntParse(m_cPosStatus.Sale.BizeunOrderCnt)); } // 이지웰 주문알림 처리 if (PosMstManager.GetPosOption(POS_OPTION.OPT037) == "1") { lblIFStatus3.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0465), CmUtil.IntParse(m_cPosStatus.Sale.EzwelOrderCnt)); } // 온도정보 갱신 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT039), "0") == "1") { #region 온도정보 색상 // 우선 순위 : 미수신 > 알람 > 경고 //- 녹색(정상) : 알람-N, 경고-N, 미수신-N //- 회색(미수신) : 미수신-Y 미수신이 Y이면 알람, 경고는 체크 하지 않음 //- 적색(알람) : 미수신-N, 알람-Y 알람이 Y이면 경고는 체크 하지 않음 //- 황색(경고) : 미수신-N, 알람-N, 경고-Y // [센서ID|온도계명|측정온도|알람YN|경고YN|미수신YN|최종수신시간] lblTemperature01.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature1, "-"); lblTemperature02.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature2, "-"); lblTemperature03.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature3, "-"); // 첫번째 온도 정보 if (m_cPosStatus.Temp.Alarm1 == "N" && m_cPosStatus.Temp.Warning1 == "N" && m_cPosStatus.Temp.receiveYN1 == "N") { // 녹색 lblTemperature01.BackColor = Color.Green; } else { if (m_cPosStatus.Temp.receiveYN1 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature1) == true) { // 회색 lblTemperature01.BackColor = Color.DarkGray; } else if (m_cPosStatus.Temp.receiveYN1 == "N") { if (m_cPosStatus.Temp.Alarm1 == "Y") { // 레드 lblTemperature01.BackColor = Color.Red; } else if (m_cPosStatus.Temp.Alarm1 == "N") { // 황색 lblTemperature01.BackColor = Color.DarkOrange; } } } // 두번째 온도 정보 if (m_cPosStatus.Temp.Alarm2 == "N" && m_cPosStatus.Temp.Warning2 == "N" && m_cPosStatus.Temp.receiveYN2 == "N") { // 녹색 lblTemperature02.BackColor = Color.Green; } else { if (m_cPosStatus.Temp.receiveYN2 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature2) == true) { // 회색 lblTemperature02.BackColor = Color.DarkGray; } else if (m_cPosStatus.Temp.receiveYN2 == "N") { if (m_cPosStatus.Temp.Alarm2 == "Y") { // 레드 lblTemperature02.BackColor = Color.Red; } else if (m_cPosStatus.Temp.Alarm2 == "N") { // 황색 lblTemperature02.BackColor = Color.DarkOrange; } } } // 세번째 온도 정보 if (m_cPosStatus.Temp.Alarm3 == "N" && m_cPosStatus.Temp.Warning3 == "N" && m_cPosStatus.Temp.receiveYN3 == "N") { // 녹색 lblTemperature03.BackColor = Color.Green; } else { if (m_cPosStatus.Temp.receiveYN3 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature3) == true) { // 회색 lblTemperature03.BackColor = Color.DarkGray; } else if (m_cPosStatus.Temp.receiveYN3 == "N") { if (m_cPosStatus.Temp.Alarm3 == "Y") { // 레드 lblTemperature03.BackColor = Color.Red; } else if (m_cPosStatus.Temp.Alarm3 == "N") { // 황색 lblTemperature03.BackColor = Color.DarkOrange; } } } #endregion 온도정보 색상 } //기념일 배송 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0") { if (lblAnniv.Tag.ToString().Equals("1")) { if (lblAnniv.BackColor == Color.FromArgb(34, 34, 34)) { lblAnniv.BackColor = Color.Red; } else { lblAnniv.BackColor = Color.FromArgb(34, 34, 34); } } } // 주변장치 상태 표시 lblDeviceState.ForeColor = m_cDataCommon.GS_DeviceStatus(); //if (DateTime.Now.ToString("ss") == "10") //{ //네트워크 온오프 체크 OnLinecheck(); //} //if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) // SelectBrPopUp(); } 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 { if (m_cPosStatus.Sale.SysShutDown == "") tmrSaleTimer.Enabled = true; } } #endregion #region SelectBrPopUp(BR팝업 업무 조회) /// /// BR팝업 업무 조회 /// private void SelectBrPopUp() { DataTable dt = null; try { if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) { dt = m_cDataCommon.GetBrPopUpBizMst(); if (dt == null || dt.Rows.Count == 0) { //처리 없음! } else { foreach (DataRow dr in dt.Rows) { string sRet = ""; if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0016)) { //BR) 품질관리 집중시간 sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.CONFIRM, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "T", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0128) }); } else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0015)) { //TO-BE 처리 없음! } else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0018)) { //DD) 재고율정보 알림 sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.QUESTION, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "F", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0131) }); if (sRet == UserCom.RST_OK) { WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_LINK, PosKey.MENU_KEY.PRODUCE_REG }); } } else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0019)) { //DD) 주말 행사정보 팝업 sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.QUESTION, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "F", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0392) }); if (sRet != UserCom.RST_OK) { //주말 행사 정보 추후 WEB POS 확정되면 처리해야함! //WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_LINK, "" }); } } m_cDataCommon.BrPopupUpdate(dr); } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } } } 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 디바이스 처리 /// /// DeviceEvent 관련 /// /// /// /// /// public void OnDeviceEvent(string sDevice, string sData1, string sData2, string sData3) { try { switch (sDevice) { 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); } } /// /// 스캐너 이벤트 처리 /// /// /// private void OnScannerEvent(object source, EventArgs e) { try { string sScanCode = m_cDevStatus.Scanner.DataLabel; // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄) m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.SCANNER + sScanCode); } 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 EmgNoticeProcess() { DataTable dt = null; try { // 긴급 공지 설정 if (lblTopMsgMode.MpStatus() == false) { //내역 조회 dt = (DataTable)m_cPosNoticeCom.GetData(new string[] { PosMst.MST_EMG_NOTE.TABLE_NAME, ItemConst.NOTE_MSG_DIV.ROL, "", "" }); if (dt == null || dt.Rows.Count == 0) { //처리 없음! } else { foreach (DataRow dr in dt.Rows) { //변수 담기 Cosmos.UI.CsmPosMovePanel.MovePanelInfo cMoveInfo = new Cosmos.UI.CsmPosMovePanel.MovePanelInfo(); cMoveInfo.BackColor = Color.Red; cMoveInfo.ForeColor = Color.Yellow; cMoveInfo.MoveKind = "1"; //0:좌->우, 1:우->좌, 4:깜박임 cMoveInfo.MoveText = CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS).Replace("\n", ""); cMoveInfo.ResvCode = string.Format("{0}^{1}^{2}^{3}", CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_TYPE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.POS_EXEC_TYPE)); lblTopMsgMode.MpAdd(cMoveInfo); if (CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.READ_YN) == "0") { //DB 업데이트 UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH); } } lblTopMsgMode.MpIntervalMove(5); //타이머 시간 설정: 최초 디폴트 10 if (m_cPosStatus.Sale.ScreenSizeUser == 800) FormManager.SetControlSize(lblTopMsgMode, 95, 0, 705, 50, 21); else FormManager.SetControlSize(lblTopMsgMode, 125, 0, 898, 50, 21); //시작 lblTopMsgMode.Visible = true; lblTopMsgMode.MpStart(); } } //팝업 공지 체크 if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) { dt = (DataTable)m_cPosNoticeCom.GetData(new string[] { PosMst.MST_EMG_NOTE.TABLE_NAME, ItemConst.NOTE_MSG_DIV.POP, "", "" }); if (dt == null || dt.Rows.Count == 0) { //처리 없음! } else { foreach (DataRow dr in dt.Rows) { string sRet = ""; //즉시 적용 체크 string sMsgType = CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_TYPE); if (sMsgType == "1") //1:마스터, 2:프로그램 { //프로그램 이면 다운로드 완료 확인! if (CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.DOWN_YN) == "1") //다운로드 완료 확인 { sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) }); if (sRet == UserCom.RST_OK) { //2.읽은 DB UPDATE UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH); // 재기동! m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART; SaleMainExit(); break; } else { UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.SHOW); } } } else { // 경과 시간 체크! if (CmUtil.LongParse(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.FNSH_HOUR)) >= CmUtil.LongParse(DateTime.Now.ToString("yyyyMMddHHmmss"))) { ////마스터면.... //if (sMsgType == "1") //{ // sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) }); // if (sRet == UserCom.RST_OK) // { // //2.읽은 DB UPDATE // UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH); // // 재기동! // m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART; // SaleMainExit(); // break; // } // else // { // UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.SHOW); // } //} //else //{ sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.CONFIRM, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) }); //1-2.즉시 적용 않일때 //WinManager.ConfirmMessage(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS).Replace("\n", "")); //2.읽은 DB UPDATE UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH); //} } } } } } } 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 UpdateNotice(string sStartDt, string sMsgCd, string sMsgDiv, string sReadFlag) { try { string sRet = m_cPosNoticeCom.Execute(new string[] { sStartDt, sMsgCd, sMsgDiv, sReadFlag }); } 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 lblTopMsgMode_MpClickHandler(object sender, string sCode) { try { //현업 요청으로 클릭하면 안보이기! if (m_cPosStatus.Base.TrainingFlag != "1" && lblTopMsgMode.Visible == true) { //연습모드가 아니고 lblTopMsgMode.Visible = false; //lblTopMsgMode.MpStop(); } } 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 lblTopMsgMode_Click(object sender, EventArgs e) { lblTopMsgMode_MpClickHandler(null, null); m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } #endregion 긴급 공지사항 처리 /// /// 판매,결제 모드 변경 /// /// true:판매모드, false:결제모드 /// /// 결제모드 전환 시 lstPaymentsList.Visiable = false 처리 하여 /// 화면잔상을 제거, 결제 추가 시 lstPaymentsList.Visiable = ture 처리 한다. /// public void ChangeSalePayMode(bool bSaleMode) { try { if (bSaleMode == true) { // 결제화면 숨기기 pnlCardMot.Visible = false; pnlPayMainBack.Visible = false; //pnlPayMainBack.Top = 770; } else { if (pnlAllianceCard.Visible == true) pnlAllianceCard.Visible = false; //System.Threading.Thread.Sleep(100); // 결제화면 화면 표시 pnlCardMot.Visible = false; pnlPayMainBack.Visible = false; pnlPayMainBack.Top = 50; if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false) //상품권,선불카드 판매시 비활성화 안함! { pnlSetMenu.Visible = false; } pnlSubMenu.Visible = false; pnlFlavour.Visible = false; //#20181015 결제창 엑박 관련 이미지 미사용 처리 start //기존 //lstPaymentList.Visible = false; //변경 lstPaymentList.Visible = true; //#20181015 결제창 엑박 관련 이미지 미사용 처리 end cFuncPnts.SelectFuncButton(""); cFuncDcs.SelectFuncButton(""); cFuncPays.SelectFuncButton(""); //기타 기능 SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_1); //TTS 결제 금액 사용 유무 if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT309), "1") == "1") { CmUtil.SpeakByTTSEngine(m_cPosStatus.Base.Country, string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0239), m_cTrnStatus.Sale.NetSaleAmt), 150); } //*** MoonSeokWoo 2017.11.20 Edit else if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT309), "1") == "2") { SetPlayMotMsg(PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, ""); } //*** MoonSeokWoo 2017.11.20 End DisplayPayment(); SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, ""); //lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037); lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037); // 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus) DisplayItem(1, false); pnlPayMainBack.Visible = true; pnlPayMainBack.BringToFront(); pnlCardMot.Visible = 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); } } public void ChangeShowPayBtn(bool bShowPayBtn) { try { // 결제화면 (이전 및 결제취소 버튼 숨기기기 처리) if (bShowPayBtn == false) { BtnPayMain.ForeColor = BtnPayMain.BackColor; BtnPayCanc.ForeColor = BtnPayCanc.BackColor; } else { BtnPayMain.ForeColor = Color.White; BtnPayCanc.ForeColor = Color.White; } } 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 PayListInit() { try { lstPaymentList.Columns.Clear(); lstPaymentList.Columns.Add("PAY_NO", 0, HorizontalAlignment.Left); lstPaymentList.Columns.Add("PAY_NM", 160, HorizontalAlignment.Left); lstPaymentList.Columns.Add("PAY_AMT", 110, HorizontalAlignment.Right); lstPaymentList.FullRowSelect = true; lstPaymentList.Scrollable = true; // 캠페인 등록 리스트 표시 lstCampaignList.Columns.Clear(); lstCampaignList.Columns.Add("CAMPAIGN_NO", 0, HorizontalAlignment.Left); lstCampaignList.Columns.Add("CAMPAIGN_NM", 177, HorizontalAlignment.Left); lstCampaignList.FullRowSelect = 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); } } ///// ///// TTS 음성 호출 ///// //private void TheradTTS() //{ // Thread t = new Thread(new ThreadStart(TTSForPayAmt)); // t.Start(); //} ///// ///// 결제 금액 TTS 처리 ///// //private void TTSForPayAmt() //{ // try // { // string stmp = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0239), m_cTrnStatus.Sale.NetSaleAmt); // CmUtil.SpeakByTTSEngine(PosConst.TTS_VOICE_NAME.VOICE_ko_KR, stmp, 150); // } // catch (Exception ex) // { // UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); // } //} /// /// 포인트 카드 기능키 /// /// /// private void cFuncPnts_FuncClickHandler(object sender, string sFuncCode) { try { //if (m_cPosStatus.Sale.DutchPayFlg == "2") //{ // WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0286)); // return; //} //cFuncPnts.SelectFuncButton(sFuncCode); //LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_1); PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_1); } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 제휴 할인 기능키 /// /// /// private void cFuncDcs_FuncClickHandler(object sender, string sFuncCode) { try { //if (m_cPosStatus.Sale.DutchPayFlg == "2") //{ // WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0286)); // return; //} //cFuncDcs.SelectFuncButton(sFuncCode); //LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_2); PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_2); } 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 cFuncPays_FuncClickHandler(object sender, string sFuncCode) { try { // ------------------------------------------------------------------------------------------- // 세브란스 직원식 상품 체크 // ------------------------------------------------------------------------------------------- string sRet = UserCom.RST_ERR; sRet = m_cSaleMainProc.SeveranceiTemCheck(sFuncCode); if (sRet != UserCom.RST_OK) return; // ------------------------------------------------------------------------------------------- //cFuncPays.SelectFuncButton(sFuncCode); //LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_3); PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_3); } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 결제 MOT 버튼 클릭 /// /// /// private void BtnMotPay_Click(object sender, EventArgs e) { try { if (((UI.CsmButton)sender).Text == "") return; //결제화면 전환시 부모 패널 Visible 가 false 이기 때문에 1개인 경우 자동 클릭이 안되서 null 체크함! if (BtnMotPay02.Visible == false && e != null) { SetBtnMotPay(); } else { if (((UI.CsmButton)sender) == BtnMotPayUp) { if (iNowPage == 1) return; iNowPage -= 1; SetBtnMotPay(); } else if (((UI.CsmButton)sender) == BtnMotPayDown) { if (iNowPage == iMaxPage) return; iNowPage += 1; SetBtnMotPay(); } else { string sTmp; BtnMotPay01.Text = ((UI.CsmButton)sender).Text; BtnMotPay01.Tag = ((UI.CsmButton)sender).Tag; sTmp = BtnMotPay01.Tag.ToString(); string[] aParam = sTmp.Split(new string[] { "^" }, StringSplitOptions.None); string sCnntId = aParam[0]; string sMsgFlg = aParam[1]; string sSeqNo = aParam[2]; string sImgPath = aParam[3]; picMotPayImg.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, sImgPath.Trim()); SetRichTbMotMsg(rtbMotPayTxt, sCnntId, sMsgFlg, sSeqNo); BtnMotPay02.Visible = false; BtnMotPay03.Visible = false; BtnMotPay04.Visible = false; BtnMotPay05.Visible = false; BtnMotPayUp.Enabled = true; BtnMotPayDown.Enabled = true; } } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 rtbMotDtl_Enter(object sender, EventArgs e) { try { if (sender is UI.CsmPosRichTextBox) DisplayInit(true, false); this.txtInPut.Focus(); } catch { } } /// /// 종료키 /// /// /// private void cBtnMain_Click(object sender, EventArgs e) { try { if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1") || (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING)) { ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 결제 완료 처리 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// BtnPayMain.Text = ""; BtnPayCanc.ForeColor = BtnPayCanc.BackColor; // 거래 완료 처리 m_cSaleMainProc.ExecuteSaleComplete(); // 판매대기 == 결제 완료 ==> 판매화면 판매대기 상태로 전환 if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) { ChangeSalePayMode(true); BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045); BtnPayMain.BackColor = Color.FromArgb(74, 97, 118); } else { BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0135); } BtnPayCanc.ForeColor = Color.White; } else { //1.포인트 조회 체크 ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM); foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem) { if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue; if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT) || (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA) || (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)) { //해피 포인트가 조회되어 있어 판매등록으로 갈 수 없습니다. 등록된 해피포인트를 취소하세요. WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0275)); return; } } //결제 수단 등록 체크 --> 추후엔 취소 처리까지 고려~ //2.결제 체크 ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); foreach (Column.TR_PAYMENT.DATA cPayItem in alPayItem) { if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.UNDECIDED.RESERVATION_COMPLETE) { if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.NORMAL && !(cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.RESERVATION_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.RESERVATION.RESERVATION_PAY)) { //결제가 등록되어 있어 판매등록으로 갈 수 없습니다. 등록된 결제를 취소 하세요. WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0276)); return; } } else { if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.NORMAL) { //결제가 등록되어 있어 판매등록으로 갈 수 없습니다. 등록된 결제를 취소 하세요. WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0276)); return; } } } bool bReservationCancel = false; if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.UNDECIDED.RESERVATION_COMPLETE) { if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0641)) == false) { return; } else { bReservationCancel = true; } } // 판매모드 변경 //m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; if (m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY) { m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.PAY_WAIT; } else { m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; } // 사은품 캠페인 취소 처리 ICampaignUs cCampaignMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN); cCampaignMain.CancelCampaignPayment("", PosConst.SALE_PLU_INPUT_TYPE.FREEGIFT); //사은품 캠페인 등록 취소 cCampaignMain.ExecuteCampaignPluHappyPoint("", false, "", "", "", ""); // 상품 캠페인 계산 if (m_cPosStatus.Sale.DutchPayFlg == "1") { //더치 페이 상품이면 아이템 원복! ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); for (int iRow = 0; iRow < aSaleItem.Count; iRow++) { Column.TR_PLU.DATA cSaleItem = (Column.TR_PLU.DATA)aSaleItem[iRow]; if (cSaleItem.DUTCH_PAY_CAN_DIV == "0" || cSaleItem.DUTCH_PAY_MAIN_CAN_DIV == "0") { cSaleItem.CANCEL_DIV = cSaleItem.DUTCH_PAY_CAN_DIV; cSaleItem.CANCEL_DIV_MAIN = cSaleItem.DUTCH_PAY_MAIN_CAN_DIV; cSaleItem.DUTCH_PAY_CAN_DIV = ""; cSaleItem.DUTCH_PAY_MAIN_CAN_DIV = ""; cSaleItem.SALE_QTY = cSaleItem.DUTCH_PAY_TOTQTY; cSaleItem.DUTCH_PAY_TOTQTY = 0; } } m_cPluService.ItemAmountExeccute(true, true); DisplayInit(true, true); } if (bReservationCancel == true) { m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.LOG.STOP; // 보류 후 거래 중지라면 로그 남기기! if (m_cTrnStatus.Head.HoldStat != "") m_cTrnStatus.Head.HoldStat = ItemConst.HOLD_STAT_CD.CANCEL; // 테이블 거래 완료 처리 string sRet = m_cTableSvr.CompleteSaleOrder(); ISaleCompleteUs m_cSaleComplete = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE); // 거래 완료 처리 sRet = m_cSaleComplete.PosSaleExecute(new string[] { }); if (sRet != UserCom.RST_OK) return; // 판매상태 변경 m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; //// 거래 완료 후 초기화 처리 DisplayInit(true, true); //// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus) DisplayItem(0, true); ChangeSalePayMode(true); if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT) { SaleMainExit(); return; } } else { // 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus) DisplayItem(1, false); ChangeSalePayMode(true); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 메인(상품등록 화면 이동) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (m_cPosStatus.Sale.PayingDutchFlag == "1") { m_cSaleMainProc.DutchPay("", "1"); //WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0284)); //return; } else { //더치페이 관련 함수들 초기화! m_cPosStatus.Sale.DutchPayFlg = ""; m_cTrnStatus.Head.AmtDutchPayYn = ""; m_cPosStatus.Sale.PayingDutchFlag = ""; } } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 lblStep1_Click(object sender, EventArgs e) { SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_1); m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } private void lblStep2_Click(object sender, EventArgs e) { SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_2); m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } private void lblStep3_Click(object sender, EventArgs e) { SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_3); m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } #region 기능키 컨트롤 초기화 및 기능키 마스터 로딩 /// /// 기능키 컨트롤 초기화 및 기능키 마스터 로딩 /// /// 성공/실패 public bool LoadFuncMasterPayment() { try { int iPntCnt = 0; int iDcCnt = 0; int iPayCnt = 0; cFuncPnts.VisibleUpDown = false; cFuncPnts.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화 cFuncDcs.VisibleUpDown = false; cFuncDcs.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화 cFuncPays.VisibleUpDown = false; cFuncPays.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화 // 선택 컬러 지정! Color clrTheme = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor); cFuncPnts.SelectedBackColor = clrTheme; cFuncPnts.SelectedForeColor = Color.WhiteSmoke; cFuncPnts.BackColor = Color.FromArgb(159, 159, 159); cFuncPnts.BorderColor = Color.FromArgb(159, 159, 159); cFuncPnts.BorderLineSize = 1; cFuncDcs.SelectedBackColor = clrTheme; cFuncDcs.SelectedForeColor = Color.WhiteSmoke; cFuncDcs.BackColor = Color.FromArgb(159, 159, 159); cFuncDcs.BorderColor = Color.FromArgb(159, 159, 159); cFuncDcs.BorderLineSize = 1; cFuncPays.SelectedBackColor = clrTheme; cFuncPays.SelectedForeColor = Color.WhiteSmoke; cFuncPays.BackColor = Color.FromArgb(159, 159, 159); cFuncPays.BorderColor = Color.FromArgb(159, 159, 159); cFuncPays.BorderLineSize = 1; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 판매기본 기능키 로딩 DataTable dtFuncKey = m_cDataCommon.SeletFuncKeyGroup(""); #region 해피포인트 및 제휴카드 선리딩 처리 가능 여부 확인을 위한 전역테이블 변수에 저장한다. gdtFuncKey = dtFuncKey; #endregion if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0) { // WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 기능키 그룹 마스터가 없습니다 return false; } foreach (DataRow dr in dtFuncKey.Rows) { Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo(); cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_GRP_ID); // 분류코드 cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번 cFuncInfo.sFuncCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능코드 cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM).Replace("\n", PosConst.CRLF).Replace("\\n", PosConst.CRLF); // 기능 명 cFuncInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR)); // 백 컬러 cFuncInfo.cForeColor = Color.Black; //Color.White; // 명 컬러 cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈 cFuncInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_SIZE); // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대) if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_POINT_MENU) { cFuncInfo.nSeqNo = iPntCnt + 1; cFuncPnts.AddFuncButtonInfo(cFuncInfo); iPntCnt += 1; iPntCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0); } else if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_DC_MENU) { cFuncInfo.nSeqNo = iDcCnt + 1; cFuncDcs.AddFuncButtonInfo(cFuncInfo); iDcCnt += 1; iDcCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0); } else if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_PAY_MENU) { cFuncInfo.nSeqNo = iPayCnt + 1; cFuncPays.AddFuncButtonInfo(cFuncInfo); iPayCnt += 1; iPayCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0); } } // 포인트 cFuncPnts.SetFuncButtonCount(1, iPntCnt); // 버튼갯수 설정 cFuncPnts.DisplayFuncButton(PosKey.MENU_KEY.PAY_POINT_MENU); // 기능 버튼 표시 // 할인 cFuncDcs.SetFuncButtonCount(1, iDcCnt); // 버튼갯수 설정 cFuncDcs.DisplayFuncButton(PosKey.MENU_KEY.PAY_DC_MENU); // 기능 버튼 표시 // 결제 cFuncPays.SetFuncButtonCount(1, iPayCnt); // 버튼갯수 설정 cFuncPays.DisplayFuncButton(PosKey.MENU_KEY.PAY_PAY_MENU); // 기능 버튼 표시 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 PayComFuncion(string sFuncCode, string sStep) { try { if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1") || (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING)) { //#20171227 인천공항 포스연동 start, phj - #20180313 //0원 상품등록 하고 결제완료 시점에 대기번호 화면 오픈 -> 인천공항포스에서 일괄취소 -> 자사포스 기능키 또는 결제완료 버튼 누를 때 //대기번호화면을 닫으면 모드가 PosConst.SALE_FLOW.PAY_DOING 변경되어 아래 팝업이 뜨므로 //인천공항 포스로 상품,결제 재전송 할 수 없기 때문없다. //인천공항 기능키 누를 때는 팝업 뜨지 않도록 수정! //기존 //WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0569); //return; //변경 if (sFuncCode != PosKey.MENU_KEY.INCHEON_AIRPORT) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0569); return; } //#20171227 인천공항 포스연동 end, phj - #20180313 } BtnPayMain.ForeColor = BtnPayMain.BackColor; BtnPayCanc.ForeColor = BtnPayCanc.BackColor; tmrSaleTimer.Enabled = false; //키유효성 체크 if (m_cDataCommon.FunctionKeyValidity(sFuncCode) == false) { WinManager.ConfirmMessage("(" + sFuncCode + ") " + MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0054)); return; } m_cPosStatus.Sale.SaleMainPayStep = sStep; //#15606 제휴서비스 결제 프로세스 개선 start //기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리 //기존 //SetPaySetpDisp(sStep); //변경 SetPaySetpDisp(sStep, sFuncCode); //#15606 제휴서비스 결제 프로세스 개선 end SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, sFuncCode, ""); //this.rtbMotMain.Visible = false; m_cSaleMainProc.PayMainProc(sFuncCode, ""); //this.rtbMotMain.Visible = true; //#15606 제휴서비스 결제 프로세스 개선 start //선택된 STEP MOT 표시 SetPaySetpDisp(sStep); //#15606 제휴서비스 결제 프로세스 개선 end //#20170828 해피포인트 적립 제외 버튼 추가 phj, start //if (m_cTrnStatus.Head.HP_EXCLUDE_YN == "1") cFuncPnts.SelectDispButton(PosKey.MENU_KEY.HAPPY_SAVE_EXCLUDE, 0); //#20170828 해피포인트 적립 제외 버튼 추가 phj, end SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, ""); //판매대기 == 결제 완료 ==> 판매화면 상품등록 대기 상태로 전환 if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) ChangeSalePayMode(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 { BtnPayMain.ForeColor = Color.White; BtnPayCanc.ForeColor = Color.White; tmrSaleTimer.Enabled = true; CmUtil.IgnoreMouseClick(this); // 마우스 클릭 무시 } } /// /// 상단 MOT 호출 처리 /// /// public void SetTopMot(string sFuncCode) { try { SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, sFuncCode, ""); } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 결제 스텝별 색상 변경 /// /// //#15606 제휴서비스 결제 프로세스 개선 start //기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리 //기존 //private void SetPaySetpDisp(string sStep) //변경 private void SetPaySetpDisp(string sStep, string sPosMenuKey = "") //#15606 제휴서비스 결제 프로세스 개선 end { try { Color cBasic = Color.FromArgb(51, 51, 51); Color cSelect = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor); //Color.FromArgb(31, 180, 236); Color cNormalBox = Color.FromArgb(159, 159, 159); //#15606 제휴서비스 결제 프로세스 개선 start //기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리 //기존 //LoadMotPayHdr(sStep); //변경 LoadMotPayHdr(sStep, sPosMenuKey); //#15606 제휴서비스 결제 프로세스 개선 end for (int i = 1; i < 4; i++) { Panel pnl = null; if (i == 1) { if (sStep == i.ToString()) { lblPayStep1.ForeColor = cSelect; pnlStep1.BackColor = cSelect; } else { lblPayStep1.ForeColor = cBasic; pnlStep1.BackColor = cNormalBox; } pnl = pnlStep1; } else if (i == 2) { if (sStep == i.ToString()) { lblPayStep2.ForeColor = cSelect; pnlStep2.BackColor = cSelect; } else { lblPayStep2.ForeColor = cBasic; pnlStep2.BackColor = cNormalBox; } pnl = pnlStep2; } else { if (sStep == i.ToString()) { lblPayStep3.ForeColor = cSelect; pnlStep3.BackColor = cSelect; } else { lblPayStep3.ForeColor = cBasic; pnlStep3.BackColor = cNormalBox; } pnl = pnlStep3; } //foreach (Control control in pnl.Controls) //{ // if (control is UI.CsmLabel) // { // if (sStep == i.ToString()) // { // control.BackColor = Color.BlueViolet; // control.ForeColor = Color.White; // } // else // { // control.BackColor = Color.White; // control.ForeColor = Color.Black; // } // } //} } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// 결제 MOT 헤더 로드 /// /// //#15606 제휴서비스 결제 프로세스 개선 start //기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리 //기존 //private void LoadMotPayHdr(string sStep) //변경 private void LoadMotPayHdr(string sStep, string sPosMenuKey) //#15606 제휴서비스 결제 프로세스 개선 end { //헤더 로드 m_alMotDtl.Clear(); int iPage = 1; int iSeq = 1; SetMotPayInit(); //#15606 제휴서비스 결제 프로세스 개선 start //기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리 //기존 //DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sStep, "", ""); //변경 DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sStep, sPosMenuKey, ""); //#15606 제휴서비스 결제 프로세스 개선 end if (dt == null || dt.Rows.Count <= 0) { //SetMotPayInit(); return; } //배열 담기 foreach (DataRow dr in dt.Rows) { if (iSeq == 6) { iPage += 1; iSeq = 1; } // 페이지 번호, 버튼명, 명, 태그 값 m_alMotDtl.Add(new string[] { iPage.ToString(), string.Format("{0}{1:00}",MotbtnName,iSeq), CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MOT_NM), string.Format("{0}^{1}^{2}^{3}",CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MSG_TYPE),CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.CNNT_ID) ,CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SEQ_NO),CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.IMG_NM)) }); iSeq += 1; } // 보여주기 iNowPage = 1; iMaxPage = iPage; SetBtnMotPay(); if (dt.Rows.Count == 1) BtnMotPay_Click(BtnMotPay01, null); } /// /// 결제 MOT 버튼 셋팅 /// /// public bool SetBtnMotPay() { try { SetMotPayInit(); if (m_alMotDtl == null || iMaxPage == 0) { return false; } int iStrtNum = 1; foreach (string[] atmp in m_alMotDtl) { if (atmp[0] == iNowPage.ToString()) { Cosmos.UI.CsmButton btnCtl = (Cosmos.UI.CsmButton)pnlCardMot.Controls[atmp[1]]; if (btnCtl != null) { btnCtl.Text = atmp[2]; btnCtl.Tag = atmp[3]; } } iStrtNum += 1; } if (iNowPage == 1) { BtnMotPayUp.Enabled = false; } else { BtnMotPayUp.Enabled = true; } if (iMaxPage == iNowPage) { BtnMotPayDown.Enabled = false; } else { BtnMotPayDown.Enabled = 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; } } /// /// 리치박스 MOT 텍스트 설정 /// /// public bool SetRichTbMotMsg(RichTextBox Richtb, string sMsgTp, string sMsgFlag, string sSeqNo) { try { Richtb.Text = ""; DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo); if (dt == null || dt.Rows.Count <= 0) { return false; } int iStrtNum = 0; foreach (DataRow dr in dt.Rows) { string tmpStr = string.Empty; tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG); //Richtb.AppendText(tmpStr.Trim()); //Richtb.Select(iStrtNum, tmpStr.Trim().Length); Richtb.AppendText(tmpStr); Richtb.Select(iStrtNum, tmpStr.Length); Richtb.SelectionColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_COLOR)); // 백 컬러 int iFontSize = CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE); if (iFontSize <= 0) iFontSize = 1; Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, iFontSize); if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1") { Richtb.AppendText("\n"); iStrtNum += 1; } //iStrtNum += tmpStr.Trim().Length; // +1; iStrtNum += tmpStr.Length; // +1; } return true; } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); return false; } } /// /// 코스모스 리치박스 MOT 텍스트 설정 /// /// public bool SetCmsRichTbMotMsg(UI.CsmPosRichTextBox Richtb, string sMsgTp, string sMsgFlag, string sSeqNo) { try { Richtb.Text = ""; DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo); if (dt == null || dt.Rows.Count <= 0) { return false; } int iStrtNum = 0; foreach (DataRow dr in dt.Rows) { string tmpStr = string.Empty; tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG); //Richtb.AppendText(tmpStr.Trim()); //Richtb.Select(iStrtNum, tmpStr.Trim().Length); Richtb.AppendText(tmpStr); Richtb.Select(iStrtNum, tmpStr.Length); Richtb.SelectionColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_COLOR)); // 백 컬러 int iFontSize = CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE); if (iFontSize <= 0) iFontSize = 1; Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, iFontSize); //Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE)); if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1") { Richtb.AppendText("\n"); iStrtNum += 1; } //iStrtNum += tmpStr.Trim().Length; // +1; iStrtNum += tmpStr.Length; // +1; } return true; } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); return false; } } /// /// 라벨 mot 텍스트 설정 /// /// public bool SetLabelMotMsg(Label txtControl, string sMsgTp, string sMsgFlag) { try { txtControl.Text = ""; DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, ""); if (dt == null || dt.Rows.Count <= 0) { return false; } foreach (DataRow dr in dt.Rows) { string tmpStr = string.Empty; tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG); txtControl.Text += tmpStr; if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1") { txtControl.Text += "\n"; } } 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; } } /// /// 결제 MOT 초기화 /// private void SetMotPayInit() { try { foreach (Control control in pnlCardMot.Controls) { if (control is UI.CsmButton) { if (control.Text != "∧" && control.Text != " ∨") { control.Text = ""; control.Tag = ""; control.Visible = true; } } } rtbMotPayTxt.Text = ""; picMotPayImg.Image = null; } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } 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; } } /// /// 결제등록 정보 화면 표시 /// public void DisplayPayment() { try { cFuncPnts.SelectFuncButton(""); cFuncDcs.SelectFuncButton(""); cFuncPays.SelectFuncButton(""); lstPaymentList.Items.Clear(); // 결제 내역 받아 오기 ArrayList aPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); for (int iRow = 0; iRow < aPayItem.Count; iRow++) { Column.TR_PAYMENT.DATA cItem = (Column.TR_PAYMENT.DATA)aPayItem[iRow]; // 결제내역 리스트 표시 // 취소내역 표시 제외 if (cItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue; //if (cItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue; ListViewItem lvData = new ListViewItem(iRow.ToString()); lvData.SubItems.Add(cItem.OCCUR_ENTRY_20); //// 결제수단 화면표시 여부 //if (cItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.PAY) //{ // //lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.PAY_AMT)); // lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.AMT_ENTRY_01)); //} lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.AMT_ENTRY_01) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName); lstPaymentList.Items.Add(lvData); // 결제 기능버튼 선택 처리 string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cItem.PAY_WAY_CD, cItem.PAY_DTL_CD_01); if (sMenuKey != "") { cFuncPnts.SelectDispButton(sMenuKey, 0); cFuncDcs.SelectDispButton(sMenuKey, 0); cFuncPays.SelectDispButton(sMenuKey, 0); // 제휴카드(통합) 할인 처리(2017.08.29) -- START if (sMenuKey == PosKey.MENU_KEY.SKT || sMenuKey == PosKey.MENU_KEY.KT || sMenuKey == PosKey.MENU_KEY.LGT //#20180413 웰컴카드 신규기능 추가 start,phj || sMenuKey == PosKey.MENU_KEY.WELCOMECARD_DC //#20180413 웰컴카드 신규기능 추가 end,phj || sMenuKey == PosKey.MENU_KEY.OLIBANK || sMenuKey == PosKey.MENU_KEY.BLUE_MEMBERS || sMenuKey == PosKey.MENU_KEY.RED_MEMBERS) { cFuncPnts.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0); cFuncDcs.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0); cFuncPays.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0); } // 제휴카드(통합) 할인 처리(2017.08.29) -- END } } if (lstPaymentList.Items.Count > 0) { lstPaymentList.Visible = true; lstPaymentList.Items[lstPaymentList.Items.Count - 1].EnsureVisible(); } // 해피포인트 등록 내역 //#20181015 결제창 엑박 관련 이미지 미사용 처리 start //기존 //lblHappyPoint.Visible = false; //변경 lblHappyPoint.Visible = true; lblHappyPoint.Text = ""; //#20181015 결제창 엑박 관련 이미지 미사용 처리 end ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM); foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem) { if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue; if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT) || (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA)) { //#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj /* //***************************************************************************** //5%기본대상금액계산 //***************************************************************************** // 해피포인트 기본적립 대상 금액 획득 m_cTrnStatus.Head.AftSavePoint = cEtcItem.AMT_ENTRY_08 = m_cDataService.GetPluTagetAmount(PosKey.MENU_KEY.HAPPY_POINT); // 캠페인(해피포인트 적립) 설정 처리 ICampaignUs CampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN); CampaingMain.ExecuteCampaignHappyPointSave(PosConst.CAMPAIGN_PAY_KEY.HP_SAVE, null); // 적립예정포인트 cEtcItem.ETC_AMT = (long)CmUtil.MathRounds(CmUtil.MathAmtPercent(cEtcItem.AMT_ENTRY_08, m_cPosStatus.Mst.HpyPntAccumRate), PosConst.MATH_ROUND.CEILING, 0); if (m_cTrnStatus.Head.AftSaveAddInfo != "") { if (m_cTrnStatus.Head.AftSaveAddInfo.Substring(25).StartsWith("N") == true) cEtcItem.ETC_AMT = 0; } */ //#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj //if (cEtcItem.HP_CUST_NAME.Length > 2) // lblHappyPoint.Text = " [ " + cEtcItem.HP_CUST_NAME.Substring(0, 1) + "*" + cEtcItem.HP_CUST_NAME.Substring(2) + " ]" + "\n\r"; //else //#20180821 해피포인트 고객이름 마스킹 start if (cEtcItem.HP_CUST_NAME != "") { cEtcItem.HP_CUST_NAME = m_cDataCommon.NameMasking(cEtcItem.HP_CUST_NAME); } //#20180821 해피포인트 고객이름 마스킹 end lblHappyPoint.Text = " [ " + cEtcItem.HP_CUST_NAME + " ]" + "\n\r"; lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0228) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_03) + "\n\r"; // 누적포인트 lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0229) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04) + "\n\r"; // 가용포인트 if (cEtcItem.HP_EXT_POINT > 0) lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0164) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.HP_EXT_POINT) + "\n\r"; // 소멸예정 //#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj //기존 lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_08) + "\n\r"; // 대상금액 //변경 /* if (m_cTrnStatus.Head.AftSaveAddInfo != "") { double dAddSavePnt = 0; dAddSavePnt = m_cDataService.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.Substring(10, 15)); //추가적립대상금액 dAddSavePnt = cEtcItem.AMT_ENTRY_08 + dAddSavePnt; //기본적립금액 + 추가적립대상금액 lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(dAddSavePnt) + "\n\r"; // 대상금액 } else { lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_08) + "\n\r"; // 대상금액 } */ //#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj // 적립예정포인트에 추가적립예정포인트도 합산하여 표시(2017.06.19) double nAddSavePnt = 0; if (m_cTrnStatus.Head.AftSaveAddInfo != "") { nAddSavePnt = m_cDataService.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.Substring(28, 7)); //#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj //cEtcItem.ETC_AMT = nAddSavePnt; //#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj } //#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj //기존 //1000원 미만일 경우 적립예정 포인트 미표시(2017.09.08) if (cEtcItem.AMT_ENTRY_08 >= 1000) //변경 //if (cEtcItem.AMT_ENTRY_08 >= 1000 || cEtcItem.AMT_ENTRY_08 == 0) //#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj { lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0613) + ": " + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(cEtcItem.ETC_AMT, nAddSavePnt)) + "\n\r"; // 적립예정 } //lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0613) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.ETC_AMT) + "\n\r"; // 적립예정 lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0013) + ": " + (cEtcItem.HP_PASSWORD_YN == "Y" ? MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0629) : MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0861)) + "\n\r"; // 비밀번호 lblHappyPoint.Visible = true; // 결제 기능버튼 선택 처리 string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01); if (sMenuKey != "") cFuncPnts.SelectDispButton(sMenuKey, 0); break; } else if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE) { string sName = cEtcItem.OCCUR_ENTRY_20.Trim(); lblHappyPoint.Text = " [ " + sName + " ]" + "\n\r"; //lblHappyPoint.Text = " [ OKCASHBACK ]" + "\n\r"; lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0228) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_03) + "\n\r"; // 누적포인트 lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0229) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04) + "\n\r"; // 가용포인트 lblHappyPoint.Visible = true; // 결제 기능버튼 선택 처리 string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01); if (sMenuKey != "") cFuncPnts.SelectDispButton(sMenuKey, 0); break; } } //#20170828 해피포인트 적립 제외 버튼 추가 phj, start if (m_cTrnStatus.Head.HP_EXCLUDE_YN == "1") { // 해피포인트 적립제외를 선택 시 해당 컴포넌트 선택 상태로 변경 cFuncPnts.SelectDispButton(PosKey.MENU_KEY.HAPPY_SAVE_EXCLUDE, 0); } //#20170828 해피포인트 적립 제외 버튼 추가 phj, end if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR) { // 총수량, 총매출액 txtPayQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; // 총 할인 금액 txtPayDiscountAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED) { txtPayVatSvc.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName + "/ " + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; } if (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.ChangeCashAmt > 0) { //결제 거스름 lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212); //결제 받은 금액 txtPayRecvAmt.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; //결제 거스름 금액 txtPayNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; } else { lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037); //받은금액 표시 txtPayRecvAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RecvedPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; // 순매출액 표시 처리 txtPayNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RemainPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName; } } else { // 총수량, 총매출액 txtPayQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)); // 총 할인 금액 //txtPayDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + // m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? -1 : 1)); txtPayDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt); if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED) { txtPayVatSvc.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) + "/ " + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt); } if (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.ChangeCashAmt > 0) { //결제 거스름 //lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212); lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212); //결제 받은 금액 txtPayRecvAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt)); //결제 거스름 금액 txtPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt); } else { //받은금액 표시 txtPayRecvAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RecvedPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)); // 순매출액 표시 처리 txtPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RemainPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)); } } if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1") || (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING)) { BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0135); BtnPayMain.BackColor = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor); if (BtnPayMain.ForeColor != Color.White) BtnPayMain.ForeColor = BtnPayMain.BackColor; } else { BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045); BtnPayMain.BackColor = Color.FromArgb(74, 97, 118); } m_cCustDisp.DisplaySaleItemList(false, true, 0); // 고객화면 표시 // 캠페인 적용 내역 표시 lstCampaignList.Items.Clear(); ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN); ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); foreach (Column.TR_PLU.DATA cPluItem in alPluItem) { if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") continue; //string sCampaingName = ""; if (cPluItem.CPI_DC_AMT > 0 && cPluItem.alTrSaleCpi != null) { foreach (Column.TR_SALE_CPI_RSLT.DATA cTrPluCpi in cPluItem.alTrSaleCpi) { if (cTrPluCpi.DC_SUM_AMT > 0) { string sCampaingName = cCampaingMain.GetCampaignName(cTrPluCpi.CPI_CD, 0); if (sCampaingName == "") continue; bool bExistCampaign = false; for (int i = 0; i < lstCampaignList.Items.Count; i++) { if (sCampaingName == lstCampaignList.Items[i].SubItems[1].Text) { bExistCampaign = true; break; } } if (bExistCampaign == false) { ListViewItem lvData = new ListViewItem(lstCampaignList.Items.Count.ToString()); lvData.SubItems.Add(sCampaingName); //lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(0)); lstCampaignList.Items.Add(lvData); } } } } } if ( lstCampaignList.Items.Count > 0) { lblCampaignList.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0400); lblCampaignList.Visible = true; lstCampaignList.Visible = true; } else { lblCampaignList.Visible = false; lstCampaignList.Visible = false; } //#16577 결제창 내부 봉투 추가 기능 도입 start if (PosMstManager.GetPosOption(POS_OPTION.OPT555) == "1") { //캠페인 정보 미표시 lblCampaignList.Visible = false; lstCampaignList.Visible = false; PnlAddBag.Visible = true; } else { PnlAddBag.Visible = false; } //#16577 결제창 내부 봉투 추가 기능 도입 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 BtnCanc_Click(object sender, EventArgs e) { string sRet; string sCardInfo = "", sPassWord = ""; try { m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM); //#Rhee, 20180221 미주 상품 결제취소시 메인화면으로 가기 추가 Start if(m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS)) { m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.PAY_WAIT; } //#Rhee, 20180221 미주 상품 결제취소시 메인화면으로 가기 추가 End int iListIndex = 0; if (lstPaymentList.Items.Count > 0) { #region // 미선택 null 예외처리 if (lstPaymentList.FocusedItem == null) lstPaymentList.Items[lstPaymentList.Items.Count - 1].Focused = true; iListIndex = lstPaymentList.FocusedItem.Index; int iRow = CmUtil.IntParse(lstPaymentList.Items[iListIndex].SubItems[0].Text); Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow]; if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return; if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CPI_PAY_ITEM) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0622); return; } // SKT할인 인 경우, T페이 통합결제 여부 확인 후 T페이 통합결제 ITEM으로 취소 처리 if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT && string.IsNullOrWhiteSpace(cPayItem.OCCUR_ENTRY_15) == false) { #region string[] aRet = new string[1]; IPaymentUs cTPayService = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.TPAY); sRet = cTPayService.SearchPayment(new string[] { PosConst.TPAY_SEARCH_TYPE.TPAY_ITEM, cPayItem.OCCUR_ENTRY_15 }, ref aRet); if (sRet == UserCom.RST_OK) { iRow = CmUtil.IntParse(aRet[0]); cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow]; } #endregion } //Cat단말기 승인이면 처리! 또는 X-CHARGE if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.CAT_TERMINAL || cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.X_CHARGE) { sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString(), "" }); } //#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 Start, srlee //else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM && cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL) else if (((cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM) || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HPGIFT_CARD)) && cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL) //#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 End, srlee { #region // 카드 입력 받기! sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" }); if (sCardInfo == "") return; sPassWord = sCardInfo.Substring(0, 20).Trim(); sCardInfo = sCardInfo.Substring(20); if (CmUtil.MidH(sCardInfo, 0, 2) == "00") { cPayItem.CanFiller1 = sCardInfo; sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString(), sCardInfo }); } #endregion } else { #region if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY) { #region // 카드 입력 받기! sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "Y" }); if (sCardInfo == "") return; sPassWord = sCardInfo.Substring(0, 20).Trim(); sCardInfo = sCardInfo.Substring(20); // T페이 cPayItem.CanFiller2 = sPassWord; // 비밀번호 cPayItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1); // 입력구분 cPayItem.CanFiller1 = sCardInfo.Substring(1); // 카드번호 #endregion } // 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- START else if ((cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY) // 스마일페이 || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY) // T페이 || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.OKCASHBACK_POINT) // 캐시백 || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.SAMSUNG_POINT) // 삼성포인트 || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT) // 해피기프트 //|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC_PAY) //|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC) ) { #region // OLD //else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT // 제휴할인(통신사,제휴카드) // || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY) // 스마일페이 // || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY) // T페이 // || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.OKCASHBACK_POINT) // 캐시백 // || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.SAMSUNG_POINT) // 삼성포인트 // || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT) // 해피기프트 // //|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC_PAY) // //|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC) // ) //{ // 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- END // 카드 입력 받기! sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" }); if (sCardInfo == "") return; sPassWord = sCardInfo.Substring(0, 20).Trim(); sCardInfo = sCardInfo.Substring(20); cPayItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1); cPayItem.CanFiller1 = sCardInfo.Substring(1); #endregion } sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString() }); //============================================= // (2017.11.01) 해피포인트 제휴할인 선리딩 처리 //============================================= #region (2017.11.01) 해피포인트 제휴할인 선리딩 처리 if (m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "") { if (cPayItem.PAY_WAY_CD == "03") { m_cPosStatus.Sale.strMobileUnityCardNo = ""; if (m_cPosStatus.Sale.strPriorReading_Title[0] == "SKT" || m_cPosStatus.Sale.strPriorReading_Title[0] == "KT" || //#20180413 웰컴카드 신규기능 추가 start,phj m_cPosStatus.Sale.strPriorReading_Title[0] == "MC" || //#20180413 웰컴카드 신규기능 추가 end,phj m_cPosStatus.Sale.strPriorReading_Title[0] == "LGT") { if (m_cPosStatus.Sale.strPriorReading_Title[1] != "") { m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strPriorReading_Title[1]; m_cPosStatus.Sale.strPriorReading_Title[1] = ""; } else { m_cPosStatus.Sale.strPriorReading_Title[0] = ""; } } else { m_cPosStatus.Sale.strPriorReading_Title[1] = ""; } } } #endregion #endregion } #endregion } else { for (int iRow = 0; iRow < alEtcItem.Count; iRow++) { #region Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[iRow]; if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue; if (cEtcItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.CAT_TERMINAL) { sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString(), "" }); } else 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.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA) || (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)) { // 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- START //if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE) //{ // // 카드 입력 받기! // sCardInfo = m_cPayCancel.SetPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.OCCUR_ENTRY_01, cEtcItem.ETC_AMT.ToString(), cEtcItem.OCCUR_ENTRY_20, cEtcItem.OCCUR_ENTRY_05, cEtcItem.ETC_DTL_CD_01, "N" }); // if (sCardInfo == "") return; // sPassWord = sCardInfo.Substring(0, 20).Trim(); // sCardInfo = sCardInfo.Substring(20); // cEtcItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1); // cEtcItem.CanFiller1 = sCardInfo.Substring(1); //} // 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- END sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString() }); //============================================= // (2017.11.01) 해피포인트 제휴할인 선리딩 처리 //============================================= #region (2017.11.01) 해피포인트 제휴할인 선리딩 처리 if (m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "") { if (cEtcItem.ETC_WAY_CD == "80") { m_cPosStatus.Sale.strHappyPointCardNo = ""; //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start m_cPosStatus.Sale.strEmpInfo = ""; //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end if (m_cPosStatus.Sale.strPriorReading_Title[0] == "HPC") { m_cPosStatus.Sale.strPriorReading_Title[0] = ""; } if (m_cPosStatus.Sale.strPriorReading_Title[1] == "HPC") { m_cPosStatus.Sale.strPriorReading_Title[1] = ""; } } } #endregion } #endregion } } DisplayItem(0, false); DisplayPayment(); m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 sCardInfo); ////////////////////////////////////////////////////////////////////////////////// } } private void lblHappyPoint_Click(object sender, EventArgs e) { string sRet; string sCardInfo = "", sPassWord = ""; try { m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정 ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM); for (int iRow = 0; iRow < alEtcItem.Count; iRow++) { Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[iRow]; if (cEtcItem.CANCEL_DIV == ItemConst.PAY_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.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA) || (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)) { if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0406)) == true) { if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE) { if (cEtcItem.OCCUR_ENTRY_08 != ItemConst.PAY_APP_DIV.CAT_TERMINAL) { // 카드 입력 받기! sCardInfo = m_cPayCancel.SetPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.OCCUR_ENTRY_01, cEtcItem.ETC_AMT.ToString(), cEtcItem.OCCUR_ENTRY_20, cEtcItem.OCCUR_ENTRY_05, cEtcItem.ETC_DTL_CD_01, "N" }); if (sCardInfo == "") return; sPassWord = sCardInfo.Substring(0, 20).Trim(); sCardInfo = sCardInfo.Substring(20); cEtcItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1); cEtcItem.CanFiller1 = sCardInfo.Substring(1); } } sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString() }); DisplayItem(0, false); DisplayPayment(); } } } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 sCardInfo); ////////////////////////////////////////////////////////////////////////////////// } } /// /// 결제 수단 반품 처리 /// /// /// public string ReturnPay(int iRow) { string sPassWord = ""; string sRet = UserCom.RST_ERR; try { ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow]; if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return sRet; if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM) { if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL) { // 카드 입력 받기! string sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" }); if (sCardInfo == "") return sRet; sPassWord = sCardInfo.Substring(0, 20).Trim(); sCardInfo = sCardInfo.Substring(20); if (CmUtil.MidH(sCardInfo, 0, 2) == "00") { cPayItem.CanFiller1 = sCardInfo; sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString(), sCardInfo }); } } else { sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString() }); } } else { sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString() }); } } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } return sRet; } ///// ///// 결제 취소 ///// ///// ///// //private void BtnCanc_Click(object sender, EventArgs e) //{ // string sRet; // try // { // m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 // int iListIndex = 0; // if (lstPaymentList.Items.Count > 0) // { // // 미선택 null 예외처리 // if (lstPaymentList.FocusedItem == null) lstPaymentList.Items[lstPaymentList.Items.Count - 1].Focused = true; // iListIndex = lstPaymentList.FocusedItem.Index; // int iRow = CmUtil.IntParse(lstPaymentList.Items[iListIndex].SubItems[0].Text); // ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); // Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow]; // if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return; // // 결제 수단 취소 // //m_cPayCanCom.CancelPayment(new string[] { clPayItem.PAY_WAY_CD, clPayItem.PAY_DTL_CD_01, iRow.ToString() }); // switch (cPayItem.PAY_WAY_CD) // { // case ItemConst.TR_ITEM_ID.CREDITCARD_ITEM: // { // IPaymentUs m_cPayCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CREDITCARD); // if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL) // { // //카드 입력 받기! // string sCardInfo = WinPay.ShowForm(new string[] { FormManager.FORM_INPUT_CARD, "", cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20 }); // if(CmUtil.MidH(sCardInfo,0,2) == "00") // { // sRet = m_cPayCard.CancelPayment(new string[] { iRow.ToString(), sCardInfo }); // } // } // else // { // sRet = m_cPayCard.CancelPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.MOBILE_COM_POINT: //제휴 통신사 할인 취소 // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KTF || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_LGT) // { // IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMOBILECOM); // sRet = cMobileComPoint.CancelPayment(new string[] { iRow.ToString() }); // } // else // { // IPaymentUs cMemberPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMEMBERUSE); // sRet = cMemberPointUse.CancelPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.CASH_ITEM: // { // IPaymentUs m_cPayCash = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CASH); // sRet = m_cPayCash.CancelPayment(new string[] { iRow.ToString() }); // break; // } // case ItemConst.TR_ITEM_ID.COUPON_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.COUPON.INCARD) // { // IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYCOUPON); // sRet = cMobileComPoint.CancelPayment(new string[] { iRow.ToString() }); // } // else // { // IPaymentUs m_cCouponDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.COUPONDC); // sRet = m_cCouponDC.CancelPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.MOBILECON_ITEM: // { // IPaymentUs m_cMobileCoupon= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MOBILECOUPON); // sRet = m_cMobileCoupon.CancelPayment(new string[] { iRow.ToString() }); // break; // } // case ItemConst.TR_ITEM_ID.EMP_DC_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SEVERANCE) // { // IPaymentUs m_cSeveranceDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC); // sRet = m_cSeveranceDC.CancelPayment(new string[] { iRow.ToString() }); // } // else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC) // { // IPaymentUs m_cSPCEmployeeDC= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEDC); // sRet = m_cSPCEmployeeDC.CancelPayment(new string[] { iRow.ToString() }); // } // else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SAMSUNGCARD) // { // WinManager.ConfirmMessage("카드 결제 내역을 취소 하세요."); // } // break; // } // case ItemConst.TR_ITEM_ID.POINT_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT) // { // IPaymentUs cHappyPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINTUSE); // sRet = cHappyPointUse.CancelPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.USER_DC_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.USER_DC.IN_EMP_DC) // { // // 입점건물직원할인 취소 // IPaymentUs ciNStorDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.iNStorDC); // sRet = ciNStorDC.CancelPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.PAYETC_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET) // { // // 식권취소 // IPaymentUs cMealTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MEALTICKET); // sRet = cMealTicket.CancelPayment(new string[] { iRow.ToString() }); // } // else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER) // { // // 잔액교환권 취소 // IPaymentUs cExchangeTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.EXCHANGETICKET); // sRet = cExchangeTicket.CancelPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.GIFT_ITEM : // { // // 상품권 취소 // IPaymentUs cGift= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.GIFT); // sRet = cGift.CancelPayment(new string[] { iRow.ToString() }); // break; // } // case ItemConst.TR_ITEM_ID.CREDIT_ITEM: // { // // 외상 취소 // IPaymentUs cSaleOnCustomer = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SALEONCUSTOMER); // sRet = cSaleOnCustomer.CancelPayment(new string[] { iRow.ToString() }); // break; // } // case ItemConst.TR_ITEM_ID.FOREIGNEX_ITEM: // { // // 외화 취소 // IPaymentUs cForeign = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.FOREIGN); // sRet = cForeign.CancelPayment(new string[] { iRow.ToString() }); // break; // } // case ItemConst.TR_ITEM_ID.PPCARD_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.PP_CARD) // { // // 선불카드 취소 // IPaymentUs cPrepaidCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.PREPAIDCARD); // sRet = cPrepaidCard.CancelPayment(new string[] { iRow.ToString() }); // } // else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT) // { // // 해피 기프트 사용 취소 // IPaymentUs cHappyGiftUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HAPPYGIFTUSE); // sRet = cHappyGiftUse.CancelPayment(new string[] { iRow.ToString(), "1" }); // } // break; // } // case ItemConst.TR_ITEM_ID.EMP_PAY_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.SPC) // { // // SPC 임직원 결제 취소 // IPaymentUs cSPCEmployeeUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEUSE); // sRet = cSPCEmployeeUse.CancelPayment(new string[] { iRow.ToString() }); // } // else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.SEVERANCE) // { // // 세브란스 직원 결제 취소 // IPaymentUs cSeverancePay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC); // sRet = cSeverancePay.CancelPayment(new string[] { iRow.ToString() }); // } // else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.OURHOME) // { // // 아워홈 직원 결제 취소 // IPaymentUs cOurHome= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.OURHOME); // sRet = cOurHome.CancelPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.PAY_ITEM: // { // // 알리페이 취소 // IPaymentUs cAlipay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.ALIPAY ); // sRet = cAlipay.CancelPayment(new string[] { iRow.ToString() }); // break; // } // default: // { // break; // } // } // } // else // { // ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM); // for (int nRow = 0; nRow < alEtcItem.Count; nRow++ ) // { // Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[nRow]; // if (cEtcItem.CANCEL_DIV == ItemConst.PAY_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) // { // // 해피포인트 적립 취소 // IPaymentUs cHappyPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT); // sRet = cHappyPoint.CancelPayment(new string[] { nRow.ToString() }); // break; // } // } // } // DisplayPayment(); // m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 // } // catch (Exception ex) // { // WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); // } //} ///// ///// 결제 수단 반품 처리 ///// ///// ///// //public string ReturnPay(int iRow) //{ // string sRet = UserCom.RST_ERR; // try // { // ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); // Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow]; // if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return sRet; // switch (cPayItem.PAY_WAY_CD) // { // case ItemConst.TR_ITEM_ID.CREDITCARD_ITEM: // { // IPaymentUs m_cPayCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CREDITCARD); // if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL) // { // //카드 입력 받기! // string sCardInfo = WinPay.ShowForm(new string[] { FormManager.FORM_INPUT_CARD, "", cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20 }); // if (CmUtil.MidH(sCardInfo, 0, 2) == "00") // { // sRet = m_cPayCard.RefundPayment(new string[] { iRow.ToString(), sCardInfo }); // } // } // else // { // sRet = m_cPayCard.RefundPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.MOBILE_COM_POINT: //제휴 통신사 할인 취소 // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KTF || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_LGT) // { // IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMOBILECOM); // sRet = cMobileComPoint.RefundPayment(new string[] { iRow.ToString() }); // } // else // { // IPaymentUs cMemberPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMEMBERUSE); // sRet = cMemberPointUse.RefundPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.CASH_ITEM: // { // IPaymentUs m_cPayCash = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CASH); // sRet = m_cPayCash.RefundPayment(new string[] { iRow.ToString() }); // break; // } // case ItemConst.TR_ITEM_ID.COUPON_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.COUPON.INCARD) // { // IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYCOUPON); // sRet = cMobileComPoint.RefundPayment(new string[] { iRow.ToString() }); // } // else // { // IPaymentUs m_cCouponDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.COUPONDC); // sRet = m_cCouponDC.RefundPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.MOBILECON_ITEM: // { // IPaymentUs m_cMobileCoupon = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MOBILECOUPON); // sRet = m_cMobileCoupon.RefundPayment(new string[] { iRow.ToString() }); // break; // } // case ItemConst.TR_ITEM_ID.EMP_DC_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SEVERANCE) // { // IPaymentUs m_cSeveranceDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC); // sRet = m_cSeveranceDC.RefundPayment(new string[] { iRow.ToString() }); // } // else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC) // { // IPaymentUs m_cSPCEmployeeDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEDC); // sRet = m_cSPCEmployeeDC.RefundPayment(new string[] { iRow.ToString() }); // } // else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SAMSUNGCARD) // { // WinManager.ConfirmMessage("카드 결제 내역을 취소 하세요."); // } // break; // } // case ItemConst.TR_ITEM_ID.POINT_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT) // { // IPaymentUs cHappyPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINTUSE); // sRet = cHappyPointUse.RefundPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.USER_DC_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.USER_DC.IN_EMP_DC) // { // // 입점건물직원할인 취소 // IPaymentUs ciNStorDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.iNStorDC); // sRet = ciNStorDC.RefundPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.PAYETC_ITEM: // { // if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET) // { // // 식권취소 // IPaymentUs cMealTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MEALTICKET); // sRet = cMealTicket.RefundPayment(new string[] { iRow.ToString() }); // } // else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER) // { // // 잔액교환권 취소 // IPaymentUs cExchangeTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.EXCHANGETICKET); // sRet = cExchangeTicket.RefundPayment(new string[] { iRow.ToString() }); // } // break; // } // case ItemConst.TR_ITEM_ID.GIFT_ITEM: // { // // 상품권 취소 // IPaymentUs cGift = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.GIFT); // sRet = cGift.RefundPayment(new string[] { iRow.ToString() }); // break; // } // case ItemConst.TR_ITEM_ID.CREDIT_ITEM: // { // // 외상 취소 // IPaymentUs cSaleOnCustomer = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SALEONCUSTOMER); // sRet = cSaleOnCustomer.RefundPayment(new string[] { iRow.ToString() }); // break; // } // case ItemConst.TR_ITEM_ID.RESERVATION_ITEM: // { // // 외상 취소 // IPaymentUs cReservPay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.RESERVED_PAY); // sRet = cReservPay.RefundPayment(new string[] { iRow.ToString() }); // break; // } // default: // { // break; // } // } // } // catch (Exception ex) // { // WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); // } // return sRet; //} private void tmrCustCount_Tick(object sender, EventArgs e) { tmrCustCount.Enabled = false; if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_END) { this.SaleMainExit(); return; } else { m_cPosStatus.Sale.ScreenSaverTime = ""; // 화면보호기 대기시간 설정 if (PosMstManager.GetPosOption(POS_OPTION.OPT203) == "1") { //string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_SERVER }); //string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_ETC_SERVER_REG }); lblTableInfo_Click(null, null); } // 고객수 입력 if (PosMstManager.GetPosOption(POS_OPTION.OPT004) == "3") { if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "1") //결제 고객 { string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_AGE, "PAY" }); if (sRet != UserCom.RST_ERR) { m_cTrnStatus.Head.PayGndrDiv = CmUtil.MidH(sRet, 0, 1); m_cTrnStatus.Head.PayAge = CmUtil.LongParse(CmUtil.MidH(sRet, 1, 2)); } } else if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "2") //상세고객수 { string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_AGE, "" }); } else if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "3") //고객수 { string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_USER_INPUT_DATA, PosConst.FRM_INPUT_DATA.GUEST_CNT }); if (sRet != UserCom.RST_ERR) { m_cTrnStatus.Head.CustCnt = CmUtil.IntParse(sRet); } } else { //미사용 } } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } } private void rtbMotSale_Click(object sender, EventArgs e) { DisplayInit(true, false); m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } private void btnItemGridUpDown_Click(object sender, EventArgs e) { try { #if true //grayber@20171213 부가메뉴 등록중 일때 동작 개선 start // 부가메뉴 등록중일때 스클롤 버튼으로 부가메뉴가 닫히지 않도록 처리 if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT) { WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0022); return; } #endif //grayber@20171213 부가메뉴 등록중 일때 동작 개선 end // 선불카드모드에서 선불카드 등록패널 사라지지 않게 수정(2017.06.22) - 중국만 적용 if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.CN) { if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING) { pnlSetMenu.Visible = false; pnlSubMenu.Visible = false; } } else { pnlSetMenu.Visible = false; pnlSubMenu.Visible = false; } if ((UI.CsmButton)sender == btnItemGridUp) { SaleItemGrid.ButtonUpProc(); // 상품 등록내역 고객용 화면 표시 m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex); } else if ((UI.CsmButton)sender == btnItemGridTop) { SaleItemGrid.ButtonTopProc(); // 상품 등록내역 고객용 화면 표시 m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex); } else if ((UI.CsmButton)sender == btnItemGridDown) { SaleItemGrid.ButtonDownProc(); // 상품 등록내역 고객용 화면 표시 m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex); } else if ((UI.CsmButton)sender == btnItemGridBottom) { SaleItemGrid.ButtonBottomProc(); // 상품 등록내역 고객용 화면 표시 m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex); } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 picCampaign_Click(object sender, EventArgs e) { picCampaign.Visible = false; m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } private void padInPut_Click(object sender, EventArgs e) { m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } private void lblIFStatus_Click(object sender, EventArgs e) { try { string sMenuKey = string.Empty; if ((Cosmos.UI.CsmLabel)sender == lblIFStatus1) // 해피오더 { sMenuKey = ""; } else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus2) // 빚은몰 { sMenuKey = PosKey.MENU_KEY.WEB_BIZEUN_MALL; } else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus3) // 이지웰 { sMenuKey = PosKey.MENU_KEY.WEB_EZWELL; } if (WinBasic.CheckMenuKeyAuth(sMenuKey) == false) return; // 기능키 판매원 권한 체크 //string sMngAuth = PosMstManager.GetMstPicAuth(m_cPosStatus.Base.CashierNo + sMenuKey); //switch (sMngAuth) //{ // case PosConst.MNG_AUTH_DIV.NON_PERMISSION: // WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0308), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0505), false); // return; // case PosConst.MNG_AUTH_DIV.PERMISSION: // break; // case PosConst.MNG_AUTH_DIV.SUPERVISOR: // if (WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_ADMIN }) == UserCom.RST_ERR) return; // //string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_CASHIER_INPUT, "Supervisor" }); // //if (sRet != UserCom.RST_OK) // //{ // // return; // //} // break; //} if ((Cosmos.UI.CsmLabel)sender == lblIFStatus1) // 해피오더 { if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1") { //#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 start // 상품 등록 중일 경우 빠져 나간다. //변경 ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); if (alSaleItem.Count > 0) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021)); return; } //#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 end tmrSaleTimer.Stop(); //#20180615 해피오더 팝업 수정 start //기존 //WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_POPUP, "NORMAL" }); //변경 WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" }); //#20180615 해피오더 팝업 수정 end tmrSaleTimer.Start(); } } else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus2) // 빚은몰 { if (PosMstManager.GetPosOption(POS_OPTION.OPT036) == "1") { WinBasic.ShowWebPos(PosKey.MENU_KEY.WEB_BIZEUN_MALL, true); //WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_BIZEUN, PosKey.MENU_KEY.WEB_BIZEUN_MALL }); } } else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus3) // 이지웰 { if (PosMstManager.GetPosOption(POS_OPTION.OPT037) == "1") { WinBasic.ShowWebPos(PosKey.MENU_KEY.WEB_EZWELL); //WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_EZWELW, PosKey.MENU_KEY.WEB_EZWELL }); } } else if ((Cosmos.UI.CsmLabel)sender == lblOwnerPart) // 점주알바WEB { WinBasic.ShowWebPos(PosKey.MENU_KEY.OWNER_WEB); //ShowOwnerPartWeb(PosKey.MENU_KEY.OWNER_WEB); } else if ((Cosmos.UI.CsmLabel)sender == lblAnniv) // 기념일배송 { lblAnniv.Tag = ""; lblAnniv.BackColor = Color.FromArgb(34, 34, 34); //디비업데이트 m_cDataCommon.UpdateEtcNoticeProcess("05", null); WinBasic.ShowWebPos(PosKey.MENU_KEY.REMB_ORDER_PRINT); //ShowOwnerPartWeb(PosKey.MENU_KEY.REMB_ORDER_PRINT); } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } #region SLIDE 메뉴 함수 /// /// SLIDE 메뉴 /// /// private void MenuSlideList() { try { m_alMenuHead = new ArrayList(); m_alMenuProc = new ArrayList(); DataTable dtFuncKey = null; // SLIDE메뉴 들어갈 시에도 권한체크(2017.07.07) // 키 그룹 판매원 권한 체크 if (WinBasic.CheckMenuKeyAuth(m_sPosMenuKeyIn) == false) return; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //헤더 로드 dtFuncKey = m_cDataCommon.SeletFuncKey(m_sPosMenuKeyIn); if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0) { //return; } else { foreach (DataRow dr in dtFuncKey.Rows) { string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY.DATA.FUNC_NM); // 기능명 m_alMenuHead.Add(new string[] { m_sPosMenuKeyIn, sPosName }); } } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (m_SlideMenuKey == PosKey.MENU_KEY.FOREIGNERS_RESPONSE) { dtFuncKey = m_cDataCommon.SeletCommonCode(PosConst.COMMON_CODE_GROUP.Z0017, ""); if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0) { return; } else { foreach (DataRow dr in dtFuncKey.Rows) { string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.DISP_SEQ); // 표시순번 string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CD_NM); // 기능명 string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CMM_CD); // 기능키 //if (CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01) == "1") m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장 } } } else if (m_sPosMenuKeyIn == PosKey.MENU_KEY.TOP_MENU_WEB) { dtFuncKey = m_cDataCommon.SeletMstWebLinkMst(""); if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0) { return; } else { int seqIndex = 0; foreach (DataRow dr in dtFuncKey.Rows) { //string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.DISP_SEQ); // 표시순번 string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.MENU_NM); // 기능명 string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.FUNC_ID); // 기능키 //if (CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.DIV) == "2") //{ seqIndex = seqIndex + 1; string sDispSeq = Convert.ToString(seqIndex); // 표시순번 m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장 //} } } } else { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // 판매기본 기능키 로딩 dtFuncKey = m_cDataCommon.SeletFuncKeyGroup(m_sPosMenuKeyIn); if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0) { return; } else { foreach (DataRow dr in dtFuncKey.Rows) { string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번 string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM); // 기능명 string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능키 m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장 } } } } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// SLIDE 메뉴 컨트롤 초기화 /// private void SlideInitControl() { try { // 이미지 로딩 처리 //picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_SIZE_S); //this.Location = new Point(216, 173); //this.Size = new Size(788, 402); //FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT); // 메뉴 타이틀 출력 foreach (string[] aMenu in m_alMenuHead) { if (aMenu[0] == m_sPosMenuKeyIn) { //lblTitle.Text = aMenu[1]; break; } } m_nTopPos = 0; SlideMenuDisplay(); //화면에 메뉴 표시 } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// SLIDE 화면에 메뉴 표시 /// private void SlideMenuDisplay() { try { int nMax = 0; // 메뉴 상세 초기화 foreach (object obj in m_htMenuControls.Values) { Cosmos.UI.CsmLabel btnCtl = (Cosmos.UI.CsmLabel)obj; btnCtl.Text = ""; btnCtl.Tag = ""; // btnCtl.Visible = false; } //0:메뉴항목, 1:위치, 2:표시텍스트, 3:기능키값 foreach (string[] aMenu in m_alMenuProc) { if (aMenu[0] == m_sPosMenuKeyIn) { nMax = m_htMenuControls.Count; int nPos = int.Parse(aMenu[1]); // 표시위치 if (nPos > m_nTopPos && nPos <= m_nTopPos + nMax) { Cosmos.UI.CsmLabel btnCtl = (Cosmos.UI.CsmLabel)m_htMenuControls[(nPos - 1) % nMax]; btnCtl.Text = aMenu[2]; btnCtl.Tag = aMenu[3]; //btnCtl.Visible = true; } } } SlideSetNavigationBtn(m_alMenuProc.Count); } 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 SlideSetNavigationBtn(int nMax) { try { if (m_nTopPos == 0) btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DEFAULT); //btnUp.Text = "■"; else btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DIM); //btnUp.Text = "◀"; if (m_nTopPos + 7 < nMax) btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DIM); //btnDown.Text = "▶"; else btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DEFAULT); //btnDown.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); } } private void SlideSetMenuBtn() { try { #region 메뉴버튼 // 메뉴버튼 m_htMenuControls = new Hashtable(); m_htMenuControls.Add(m_htMenuControls.Count, btnMenu01); m_htMenuControls.Add(m_htMenuControls.Count, btnMenu02); m_htMenuControls.Add(m_htMenuControls.Count, btnMenu03); m_htMenuControls.Add(m_htMenuControls.Count, btnMenu04); m_htMenuControls.Add(m_htMenuControls.Count, btnMenu05); m_htMenuControls.Add(m_htMenuControls.Count, btnMenu06); //m_htMenuControls.Add(m_htMenuControls.Count, btnMenu07); picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG); btnMenu01.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT); btnMenu02.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT); btnMenu03.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT); btnMenu04.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT); btnMenu05.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT); btnMenu06.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT); picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG); btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DEFAULT); btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DEFAULT); //picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath + @"Btn\", "popup_bg.png"); #endregion } 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 btnSlideFuncProc_Click(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 + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString()); if (((Cosmos.UI.CsmLabel)sender) == btnUp) { int nMax = m_htMenuControls.Count; if (m_nTopPos > 0) { m_nTopPos -= nMax; SlideMenuDisplay(); } } else if (((Cosmos.UI.CsmLabel)sender) == btnDown) { int nMax = m_htMenuControls.Count; foreach (string[] aMenu in m_alMenuProc) { if (aMenu[0] == m_sPosMenuKeyIn) { if (int.Parse(aMenu[1]) > m_nTopPos + nMax) { m_nTopPos += nMax; SlideMenuDisplay(); break; } } } } else { } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 btnMenu_Click(object sender, EventArgs e) { try { tmrSaleTimer.Enabled = false; if (((Cosmos.UI.CsmLabel)sender).Tag.ToString() != "") { UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString()); m_SlideMenuKey = ((Cosmos.UI.CsmLabel)sender).Tag.ToString(); if (m_SlideMenuKey != PosKey.MENU_KEY.FOREIGNERS_RESPONSE) { this.pnlMenuSlide.Visible = false; } if (m_sPosMenuKeyIn == PosKey.MENU_KEY.TOP_MENU_WEB) { string sMenuKey = ((Cosmos.UI.CsmLabel)sender).Tag.ToString(); //WinBasic.ShowWebPos(((Cosmos.UI.CsmLabel)sender).Tag.ToString()); if (sMenuKey == PosKey.MENU_KEY.WEB_BIZEUN_MALL) { WinBasic.ShowWebPos(sMenuKey, true); } else { WinBasic.ShowWebPos(sMenuKey); } } else { if (m_SlideMenuKey == PosKey.MENU_KEY.FOREIGNERS_RESPONSE) { MenuSlideList(); SlideInitControl(); } else { // 외국인 대응에 대한 경우에만 직접 보여준다. if (m_SlideMenuKey == "001" || m_SlideMenuKey == "002" || m_SlideMenuKey == "003") { WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_FOREIGNERS_RESPONSE, m_SlideMenuKey }); } else { WinSale.ExecuteBinessRun(m_SlideMenuKey); } } //WinSale.ExecuteBinessRun(((Cosmos.UI.CsmLabel)sender).Tag.ToString()); } //WinSale.ExecuteBinessRun(((Cosmos.UI.CsmLabel)sender).Tag.ToString()); } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 { tmrSaleTimer.Enabled = true; } } private void btnSlidePage_MouseDown(object sender, MouseEventArgs e) { try { UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString()); if (((Cosmos.UI.CsmLabel)sender) == btnUp) { btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_PRESS); } if (((Cosmos.UI.CsmLabel)sender) == btnDown) { btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_PRESS); } } 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 btnSlidePage_MouseUp(object sender, MouseEventArgs e) { SlideSetNavigationBtn(m_alMenuProc.Count); } private void btnMenu_MouseUp(object sender, MouseEventArgs e) { ((Cosmos.UI.CsmLabel)sender).Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT); } private void btnMenu_MouseDown(object sender, MouseEventArgs e) { ((Cosmos.UI.CsmLabel)sender).Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_PRESS); } #endregion SLIDE 메뉴 함수 /// /// 간편로그인 호출 /// /// /// private void lblCashier_Click(object sender, EventArgs e) { try { if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) { string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.SIMPLE_LOG_ON }); if (sRet != UserCom.RST_ERR && sRet !="") { lblCashier.Text = m_cPosStatus.Base.CashierName; } } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 lblTemperature_Click(object sender, EventArgs e) { try { if (pnlTempInfo.Visible != true) { pnlTempInfo.Visible = true; } else { pnlTempInfo.Visible = false; } if (m_cPosStatus.Temp.Temperature1 != null && m_cPosStatus.Temp.Temperature1 != "") { #region 온도정보 색상 // 우선 순위 : 미수신 > 알람 > 경고 //- 녹색(정상) : 알람-N, 경고-N, 미수신-N //- 회색(미수신) : 미수신-Y 미수신이 Y이면 알람, 경고는 체크 하지 않음 //- 적색(경고) : 미수신-N, 알람-Y 알람이 Y이면 경고는 체크 하지 않음 //- 황색(알람) : 미수신-N, 알람-N, 경고-Y // [센서ID|온도계명|측정온도|알람YN|경고YN|미수신YN|최종수신시간] // 첫번째 온도 정보 if (m_cPosStatus.Temp.Alarm1 == "N" && m_cPosStatus.Temp.Warning1 == "N" && m_cPosStatus.Temp.receiveYN1 == "N") { // 녹색 lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1); lblTemp1.ForeColor = Color.Green; } else { if (m_cPosStatus.Temp.receiveYN1 == "Y") { // 회색 lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1); lblTemp1.ForeColor = Color.DarkGray; } else if (m_cPosStatus.Temp.receiveYN1 == "N") { if (m_cPosStatus.Temp.Alarm1 == "Y") { // 레드 lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1); lblTemp1.ForeColor = Color.Red; } else if (m_cPosStatus.Temp.Alarm1 == "N") { // 황색 lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1); lblTemp1.ForeColor = Color.DarkOrange; } } } } else { lblTemp1.ForeColor = Color.Black; lblTemp1.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657); } if (m_cPosStatus.Temp.Temperature2 != null && m_cPosStatus.Temp.Temperature2 != "") { // 두번째 온도 정보 if (m_cPosStatus.Temp.Alarm2 == "N" && m_cPosStatus.Temp.Warning2 == "N" && m_cPosStatus.Temp.receiveYN2 == "N") { // 녹색 lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2); lblTemp2.ForeColor = Color.Green; } else { if (m_cPosStatus.Temp.receiveYN2 == "Y") { // 회색 lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2); lblTemp2.ForeColor = Color.DarkGray; } else if (m_cPosStatus.Temp.receiveYN2 == "N") { if (m_cPosStatus.Temp.Alarm2 == "Y") { // 레드 lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2); lblTemp2.ForeColor = Color.Red; } else if (m_cPosStatus.Temp.Alarm2 == "N") { // 황색 lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2); lblTemp2.ForeColor = Color.DarkOrange; } } } } else { lblTemp2.ForeColor = Color.Black; lblTemp2.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657); } if (m_cPosStatus.Temp.Temperature3 != null && m_cPosStatus.Temp.Temperature3 != "") { // 세번째 온도 정보 if (m_cPosStatus.Temp.Alarm3 == "N" && m_cPosStatus.Temp.Warning3 == "N" && m_cPosStatus.Temp.receiveYN3 == "N") { // 녹색 lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3); lblTemp3.ForeColor = Color.Green; } else { if (m_cPosStatus.Temp.receiveYN3 == "Y") { // 회색 lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3); lblTemp3.ForeColor = Color.DarkGray; } else if (m_cPosStatus.Temp.receiveYN3 == "N") { if (m_cPosStatus.Temp.Alarm3 == "Y") { // 레드 lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3); lblTemp3.ForeColor = Color.Red; } else if (m_cPosStatus.Temp.Alarm3 == "N") { // 황색 lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3); lblTemp3.ForeColor = Color.DarkOrange; } } } } else { lblTemp3.ForeColor = Color.Black; lblTemp3.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657); } #endregion 온도정보 색상 m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 lblDeviceState_Click(object sender, EventArgs e) { try { m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정 // 주변장치 상태 관리 화면 string sRet = WinSale.ShowForm(new string[] { FormManager.FORM_DEVICE_STATUS_SEARCH, PosKey.MENU_KEY.DEVICE_STATUS_SEARCH }); m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 TempInfo_Click(object sender, EventArgs e) { try { if (pnlTempInfo.Visible != true) { pnlTempInfo.Visible = true; } else { pnlTempInfo.Visible = false; } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 } 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 lblPgmVersion_DoubleClick(object sender, EventArgs e) { try { IDataServiceUs m_cWebBiz = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.WEB_POS); string sUrl = string.Empty; sUrl = (string)m_cWebBiz.GetData(new string[] { PosKey.MENU_KEY.REMOTE_URL }); if (sUrl == null || sUrl == "") return; if (sUrl.StartsWith("2") == true) // 1: WEB POS, 2:WEB LINK { System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo("IExplore.exe"); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized; startInfo.Arguments = CmUtil.MidH(sUrl, 31, 100).Trim() + CmUtil.MidH(sUrl, 131, 100).Trim(); System.Diagnostics.Process.Start(startInfo); } m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정 return; } 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; } /// /// 네트워크 온오프 체크 /// private void OnLinecheck() { try { //NW ON/OFF if (CmUtil.IsNetConnection() == 1) { if (picWeb.Tag.ToString() != "ON") { picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON); picWeb.Tag = "ON"; lblWeb.Tag = "0"; lblWeb.Text = "WEB"; lblWeb.ForeColor = Color.White; } lblOffLine.Visible = false; } else { if (picWeb.Tag.ToString() != "OFF") { picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON_ERROR); picWeb.Tag = "OFF"; } lblOffLine.Visible = true; //// WEB 글자색 변경! //if (lblWeb.ForeColor == Color.White) //{ // lblWeb.ForeColor = CmUtil.GetRainbowColor(lblWeb.Tag.ToString()); // if (lblWeb.Tag.ToString() == "7") lblWeb.Tag = "0"; // lblWeb.Tag = (CmUtil.IntParse(lblWeb.Tag.ToString()) + 1).ToString(); // lblWeb.Text = "OFF LINE"; //} //else //{ // lblWeb.ForeColor = Color.White; // lblWeb.Text = "WEB"; //} } } 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 txtPayDiscountAmt_Click(object sender, EventArgs e) { try { if (m_cTrnStatus.Head.TotDcAmt == 0) return; WinBasic.ShowForm(new string[] { FormManager.FORM_DISCOUNT_LIST }); } 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 txtPayQtySaleAmt_Click(object sender, EventArgs e) { try { WinBasic.ShowForm(new string[] { FormManager.FORM_SALEPLU_LIST }); } 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 MenuSlide_Click(object sender, EventArgs e) { try { if (pnlMenuSlide.Visible != true) { pnlMenuSlide.Visible = true; pnlMenuSlide.BringToFront(); } else { pnlMenuSlide.Visible = 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); } } #region 상단 일자 시간 표시 private delegate void SetDatetimeCallback(); /// /// 일자시간 표시 /// /// /// private void tmrDateTime_Tick(object sender, EventArgs e) { try { tmrDateTime.Stop(); SetDateTime(); tmrDateTime.Start(); //--------------------------------------------------------------------- // (2017.11.01) 해피포인트 제휴할인 선리딩 처리를 위한 상태바 표시 처리 //--------------------------------------------------------------------- // - 이전의 tmrSaleTimer 이벤트가 중간중간 멈추는 경우가 생겨서 // 이쪽 tmrDateTime 이벤트로 이동함 //--------------------------------------------------------------------- #region 해피포인트 제휴할인 선리딩 처리를 위한 상태바 표시 처리 lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34); lblPriorReading2.BackColor = Color.FromArgb(34, 34, 34); #region 첫번째 레이블 if (m_cPosStatus.Sale.strPriorReading_Title[0] != null && m_cPosStatus.Sale.strPriorReading_Title[0] != "") { lblPriorReading1.Text = m_cPosStatus.Sale.strPriorReading_Title[0]; lblPriorReading2.Text = ""; if (lblPriorReading1.Text == "HPC") { lblPriorReading1.BackColor = Color.FromArgb(217, 151, 149); lblPriorReading1.ForeColor = Color.White; } else if (lblPriorReading1.Text != "") { lblPriorReading1.BackColor = Color.FromArgb(51, 153, 255); lblPriorReading1.ForeColor = Color.White; } else { lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34); } } else { lblPriorReading1.Text = ""; lblPriorReading2.Text = ""; } #endregion #region 두번째 레이블 if (m_cPosStatus.Sale.strPriorReading_Title[1] != null && m_cPosStatus.Sale.strPriorReading_Title[1] != "") { lblPriorReading1.Text = m_cPosStatus.Sale.strPriorReading_Title[0]; lblPriorReading2.Text = m_cPosStatus.Sale.strPriorReading_Title[1]; if (lblPriorReading1.Text == "HPC") { lblPriorReading1.BackColor = Color.FromArgb(217, 151, 149); lblPriorReading1.ForeColor = Color.White; } else if (lblPriorReading1.Text != "") { lblPriorReading1.BackColor = Color.FromArgb(51, 153, 255); lblPriorReading1.ForeColor = Color.White; } else { lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34); } if (lblPriorReading2.Text == "HPC") { lblPriorReading2.BackColor = Color.FromArgb(217, 151, 149); lblPriorReading2.ForeColor = Color.White; } else if (lblPriorReading2.Text != "") { lblPriorReading2.BackColor = Color.FromArgb(51, 153, 255); lblPriorReading2.ForeColor = Color.White; } else if (lblPriorReading2.Text == "") { lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34); } } else { lblPriorReading2.Text = ""; } #endregion #endregion if(m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "" || pnlAllianceCard.Visible == true) { if(pnlPayMainBack.Visible == false) { if(AllianceCardTime.Year == DateTime.Now.Year) { TimeSpan Ti = DateTime.Now - AllianceCardTime; if (Ti.Seconds > 3) { pnlAllianceCard.Visible = false; AllianceCardTime = new DateTime(); } } } } //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510 //고객 구매이력 정보 표시 시점에 상단 MOT 표시 //적용시 주석 해제 if (pnlBuyHistMot.Visible == true) { TimeSpan Ti = DateTime.Now - BuyHistTime; if (Ti.Seconds > 3) { pnlBuyHistMot.Visible = false; BuyHistTime = new DateTime(); } } //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510 //#15058 해피오더 버튼 변경_20180612 start,phj if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1") { if (bSaleMain == true) { NewHPOrdDisplay(); } if (bSaleMain == false) { iCount = iCount + 1; if (iCount >= 60) { iCount = 0; bSaleMain = true; } } } //#15058 해피오더 버튼 변경_20180612 end,phj //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368 //기존 /* //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1") { iInventoryDispCnt = iInventoryDispCnt + 1; if (bInventoryDispStat == true) { HappyOrderInventoryAlram(); if (iInventoryDispCnt % 60 == 0) { HappyOrderInventoryAlram_StatChange(false); } } else { if (iInventoryDispCnt == 0 || iInventoryDispCnt >= 60 * 10) { HappyOrderInventoryAlram(); } } } //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end */ //변경 //-------------------------------------------------- //레드마인: #16368 //요청일자: 2018/08/22 //요청자 : SPC 안병석 과장 //내용 : 1. 알람 표시시간 // [기존] 제한없음 // [변경] 오후2시이후부터 표시 // 2. 알람 자동 표시 시간 // [기존] 닫기버튼 클릭 시 10분마다 자동 표시 // [변경] 매시간 30분마다 자동 표시 후 5분간 표시 // 단, 닫기 버튼 클릭 시 알람 닫기 //-------------------------------------------------- //if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1") //{ // if (Int32.Parse(DateTime.Now.ToString("HH")) >= 14) // { // if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1") // { // iInventoryDispCnt = iInventoryDispCnt + 1; // if (bInventoryDispStat == true) // { // HappyOrderInventoryAlram(); // if (iInventoryDispCnt % (60 * 5) == 0) // { // HappyOrderInventoryAlram_StatChange(false); // } // } // else // { // if (iInventoryDispCnt == 0 || iInventoryDispCnt >= 60 * 25) // { // HappyOrderInventoryAlram(); // } // } // } // } //} if ((CmUtil.IntParse(DateTime.Now.ToString("HH")) >= 14) && ((CmUtil.IntParse(DateTime.Now.ToString("mm")) >= 0 && CmUtil.IntParse(DateTime.Now.ToString("mm")) <= 5) || (CmUtil.IntParse(DateTime.Now.ToString("mm")) >= 30 && CmUtil.IntParse(DateTime.Now.ToString("mm")) <= 35))) { if (bInventoryCancel == false) { HappyOrderInventoryAlram(); } } else { bInventoryCancel = false; lb_HPOInventoryAlram.Visible = false; lb_HPOInventoryAlram2.Visible = false; Pnl_HPOInventoryAlram.Visible = false; } //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368 } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } /// /// Date 처리 /// /// private void SetDateTime() { try { if (this.lblDateTime.InvokeRequired) { SetDatetimeCallback d = new SetDatetimeCallback(SetDateTime); this.Invoke(d); } else { //#20171011 영업일, 시스템일시 위치 변경 start //기존 /* this.lblDateTime.Text = m_cPosStatus.Global.DateToCulture(DateTime.Now.ToString("yyyy-MM-dd")) + " " + DateTime.Now.ToString("HH:mm:ss"); */ //변경 string WeekDays = WeekDay(DateTime.Now); string WeekDaySaleDate = WeekDay(Convert.ToDateTime(m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate))); this.lblDateTime.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0242) + " : {0}" + "({1})", m_cPosStatus.Base.SaleDate == "" ? m_cPosStatus.Global.DateToCulture("20000101") : m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate), WeekDaySaleDate); lblSaleDate.Text = string.Format(m_cPosStatus.Global.DateToCulture(DateTime.Now.ToString("yyyyMMdd")) + "({0})" + " " + DateTime.Now.ToString("HH:mm:ss"), WeekDays); //#20171011 영업일, 시스템일시 위치 변경 end } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.ToString()); } } private string WeekDay(DateTime dateTime) { string tempWeekDay = ""; var dt = dateTime.DayOfWeek; switch (dt) { case DayOfWeek.Monday: //월 tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1063); break; case DayOfWeek.Tuesday: //화 tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1064); break; case DayOfWeek.Wednesday: //수 tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1065); break; case DayOfWeek.Thursday: //목 tempWeekDay = MessageManager.GetLabelMessage((POS_MESSAGE.LABEL.MSG_1066)); break; case DayOfWeek.Friday: //금 tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1067); break; case DayOfWeek.Saturday: //토 tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1068); break; case DayOfWeek.Sunday: //일 tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1062); break; } return tempWeekDay; } #endregion #region 백그라운드 프로그램 적용 확인 메시지 /// /// 백그라운드 프로그램 적용 확인 메시지 /// private void POSProgramApplyCheck() { string sRet = UserCom.RST_ERR; try { // 프로그램 적용을 위한 재기동 여부 체크 if (m_cBackgroundDown.PGMReBootCheck() == true) { sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0281) }); } if (sRet == UserCom.RST_OK) { // 재기동! m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART; SaleMainExit(); } } 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 lblSaleStatus_Click(판매화면 내리기) private void lblSaleStatus_Click(object sender, EventArgs e) { try { m_cPosStatus.Sale.ScreenSaverTime = ""; this.WindowState = FormWindowState.Minimized; Form fMainForm = (Form)FormManager.GetForm(FormManager.FORM_POS_MAIN); if (fMainForm != null) fMainForm.Top = 2048; Form fTableForm = (Form)FormManager.GetForm(FormManager.FORM_TBL_REG); if (fTableForm != null) fTableForm.Top = 2048; FormManager.m_HideFormIndex = 1; } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } #endregion #region lblTableInfo_Click(테이블 담당자(판매원) 변경 private void lblTableInfo_Click(object sender, EventArgs e) { try { if (m_cPosStatus.Base.PosType != PosConst.POS_TYPE.DEFERRED_PAYMENT) return; // 테이블 담당자 입력(변경) string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_SERVER }); if (sRet != UserCom.RST_ERR) { lblTableInfo.Text = "[" + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm + "]" + m_cTrnStatus.Head.OrderPicNm; } } 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 TxtInPutFocus() { try { txtInPut.Focus(); } catch { } } private void lstCampaignList_Click(object sender, EventArgs e) { TxtInPutFocus(); } private void SaleItemGrid_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnMenuFix_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnMenu_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnFlavourMenu_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnSetMenu_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnSubMenuCommGrp_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnSubMenuCommDtl_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void lblWeb_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnSubMenuDtl_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnSubMenuGrp_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnMenuMClass_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnMenuMClassFix_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnSubMenuExit_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnFuncSale_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void btnFuncItem_Enter(object sender, EventArgs e) { TxtInPutFocus(); } private void pnlMotSale_Enter(object sender, EventArgs e) { TxtInPutFocus(); } #endregion /// /// Pos Sale 버젼 (클라이언트)표시 /// girak.kim; 20173.08.30.001 /// private void GetClientPOSVersion() { try { lblRealVer.Text = WinBasic.ClientPOSVersion.ToString(); } catch (Exception ex) { lblRealVer.Text = "0.0.0.0"; } } //***************************************************************************** // (2017.11.01) 해피포인트 제휴할인 선리딩 처리 //----------------------------------------------------------------------------- // - 만약 결제화면(pnlCardMot)이 표시될 경우 // - 우선 해피포인트(옵션) 값이 설정되어 있을 경우 // <- 전역변수 : m_cPosStatus.Sale.strHappyPointCardNoOption // '결제' 버튼 클릭 -> 포인트할인결제 화면에서 -> '해피포인트사용' 버튼이 클릭된 상태 // = '해피포인트 사용' 화면을 표시한다. //***************************************************************************** #region 해피포인트 제휴할인 선리딩 처리 private void pnlCardMot_VisibleChanged(object sender, EventArgs e) { //======================================== // 만약 결제화면(pnlCardMot)이 표시될 경우 //======================================== if (pnlCardMot.Visible == true) { //--------------------------------------------------------------------------------------------- // 만약, 선릉진선 해피포인트 사용 창 결제버튼 클릭 시 자동으로 띄우는 기능이 설정되어 있을 경우 // '해피포인트 사용' 화면을 표시한다. //--------------------------------------------------------------------------------------------- #region '해피포인트 사용' 화면을 표시한다. if (PosMstManager.GetPosOption(POS_OPTION.OPT511) == "1") { // 해피포인트 사용(00078) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT_USE, "3"); } #endregion //------------------------------------------------------ // 만약 해피포인트(옵션) 값이 설정되어 있지 않고, // 해피포인트 또는 제휴할인 카드 값이 설정되어 있을 경우 // '해피포인트' 및 '제휴할인 카드' 화면을 표시한다. //------------------------------------------------------ #region '해피포인트' 및 '제휴할인 카드' 화면을 표시한다. else { #region 만약 해피포인트 값이 설정되어 있을 경우 해피포인트 화면을 표시한다. if (m_cPosStatus.Sale.strHappyPointCardNo != "") { //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start //기존 // 해피포인트(00058) 화면 표시 ----- //PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1"); //변경 #region SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시 if (m_cPosStatus.Sale.strEmpInfo == "3A") { // SPC임직원할인(결제) - 상품에 적용하지 않음 DataTable dtFuncKeyArr1 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY); // SPC임직원할인(할인) - 상품에 적용 DataTable dtFuncKeyArr2 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC); if (dtFuncKeyArr1 == null || dtFuncKeyArr1.Rows.Count <= 0) { if (dtFuncKeyArr2 == null || dtFuncKeyArr2.Rows.Count <= 0) { // SPC임직원할인(결제), SPC임직원할인(할인) 둘다 기능키가 배치되어 있지 않은 경우 // 해피포인트(00058) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1"); } else { // SPC임직원할인(할인) 기능키가 배치되어 있는 경우 // 임직원할인(00064) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC, "2"); } } else { // SPC임직원할인(결제) 기능키가 배치되어 있는 경우 // 임직원할인(00281) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY, "2"); } } else { // SPC임직원이 아닌 경우 // 해피포인트(00058) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1"); } #endregion SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시 //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end } #endregion //#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 start // 1. 해피포인트 등록-> 제휴할인 적용(선리딩방식) 첫번째. // 2. 이 함수 타면서 두번째. bool bMobileDcCheck = false; ArrayList alPays = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); for (int iRow = 0; iRow < alPays.Count; iRow++) { Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPays[iRow]; if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue; if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT) { bMobileDcCheck = true; break; } } //#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 end #region 만약 제휴할인 카드 값이 설정되어 있을 경우 제휴할인 카드 화면을 표시한다. if (m_cPosStatus.Sale.strMobileUnityCardNo != "") { //#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 start //기존 /* // 제휴할인 카드(00292) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2"); */ //변경 if (bMobileDcCheck == false) { // 제휴할인 카드(00292) 화면 표시 ----- PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2"); } //#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 end } #endregion } #endregion } } #endregion //***************************************************************************** // (2017.11.01) 해피포인트 제휴할인 선리딩 처리를 위한 클리어 함수 //----------------------------------------------------------------------------- // - 해피포인트 제휴할인 선리딩 처리를 위한 // 관련 전역변수들을 클리어 해주는 함수이다. // - 만약 새로운 한 건의 판매 프로세스가 시작될 경우 // 해피포인트 및 제휴할인 선리딩 처리를 위한 // 전역변수들을 클리어한다. //***************************************************************************** #region 해피포인트 제휴할인 선리딩 처리를 위한 클리어 함수 public void SubPriorReadingVarClear(bool blnDiv) { // 만약 파라미터 값이 'true'일 경우 ----- if (blnDiv == true) { // 전역변수 클리어 ----- m_cPosStatus.Sale.strHappyPointCardNo = ""; // 해피포인트 카드 번호 m_cPosStatus.Sale.strMobileUnityCardNo = ""; // 제휴할인 카드 번호 // 해피포인트 옵션 처리 사용 유무 확인 ----- if (PosMstManager.GetPosOption(POS_OPTION.OPT511) == "1") { } // 상태바 클리어 ----- m_cPosStatus.Sale.strPriorReading_Title = new string[2]; // 선리딩 내역 클리어 lblPriorReading1.Text = ""; // 상태바 내용 lblPriorReading2.Text = ""; //#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 start #region 모바일쿠폰 해피기프트카드 자동인식 기능 m_cPosStatus.Sale.strMobileCpnNo = ""; m_cPosStatus.Sale.strHappyGiftCardNo = ""; #endregion //#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 end //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start m_cPosStatus.Sale.strEmpInfo = ""; //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end } } #endregion //*** MoonSeokWoo 2017.12.12 Add public void AllianceCardInit(bool TranMode,string TitleName,bool HPCGbn) { lblAllianceCardName.Text = TitleName; if (HPCGbn == true) lblAllianceCardName.ForeColor = Color.FromArgb(217, 151, 149); else lblAllianceCardName.ForeColor = Color.FromArgb(51, 153, 255); if (TranMode == true) lblAllianceCardTitle.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0742); else lblAllianceCardTitle.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0743); pnlAllianceCard.Visible = true; //#20180413 웰컴카드 신규기능 추가 start,phj pnlAllianceCard.BringToFront(); //#20180413 웰컴카드 신규기능 추가 end,phj AllianceCardTime = DateTime.Now; } //*** MoonSeokWoo 2017.12.12 End //#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start /// /// 해피포인트 고개번호 조회 /// /// /// private string SchHappyPointMembInfo(string sInPutType, string sInCardNo) { string sSchMembNo = ""; try { m_sInPutType = ""; m_sInMaskData = ""; m_sInEncData = ""; m_sServiceCode = ""; m_sAppCardNo = ""; m_sInPutType = sInPutType; m_sAppCardNo = sInCardNo; // 해피포인트 카드만 자동등록 처리 if (sInCardNo.StartsWith(PosConst.HP_CARD_PRIFIX) == false) return sSchMembNo; IPaymentExpUs m_cHappyPoint = (IPaymentExpUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT); //암호화 EncryptedCardNo(m_sAppCardNo, ref m_sInEncData, ref m_sInMaskData); // 해피 포인트 적립카드 조회 string[] saRecvdData = null; string sRet = m_cHappyPoint.SearchPayment(new string[] { sInPutType, m_sInMaskData, m_sInEncData, "1", "", m_sAppCardNo }, ref saRecvdData); if (sRet != UserCom.RST_OK) return sSchMembNo; //m_sInEncData = sInEncData; // 조회 데이터 획득 Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { }); 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]; if (sMemInfo != "" && CmUtil.IntParse(sMemInfo.Substring(0, 1)) > 0) { sSchMembNo = CmUtil.MidH(sMemInfo, 45, 35).Trim(); // 해피포인트 고객번호 } } catch (Exception ex) { return sSchMembNo; WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } return sSchMembNo; } /// /// 카드 번호 암호화 /// /// /// /// /// private string EncryptedCardNo(string sInData, ref string sCardData, ref string sCardNo) { string sEncData = sInData; try { sEncData = m_cDeviceICReader.GetEncryptedCardNo(sInData).Trim(); if (CmUtil.MidH(sEncData, 0, 2) == "00") { sCardData = CmUtil.MidH(sEncData, 2, 512).Trim(); sCardNo = CmUtil.MidH(sEncData, 514, sEncData.Length - 514).Trim(); } 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); } } 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 sEncData; } //#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 //#15058 해피오더 버튼 변경_20180612 start,phj #region 해피오더 신규주문 건 표시 상단 패널 private void NewHPOrdDisplay() { //#20180605 해피오더 개선 start - 20180618 #region 기존 /* try { int iNewOrdCnt = 0; iNewOrdCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0")); if (iNewOrdCnt > 99) { iNewOrdCnt = 99; } if (iNewOrdCnt > 0) { //NewHPOrd_Disp.Width = lblIFStatus1.Width; //NewHPOrd_Disp.Left = lblIFStatus1.Left; //NewHPOrd_Disp.Top = 0;// lblIFStatus1.Top; //NewHPOrd_Disp.Height = 50; // lblIFStatus1.Height; PnlNewHPOrd_Disp.Width = lblIFStatus1.Width; PnlNewHPOrd_Disp.Left = lblIFStatus1.Left; PnlNewHPOrd_Disp.Top = 0;// lblIFStatus1.Top; PnlNewHPOrd_Disp.Height = 50; // lblIFStatus1.Height; NewHPOrd_Disp.Visible = true; NewHPOrd_Disp2.Visible = true; NewHPOrd_Disp.Left = 0; NewHPOrd_Disp.Top = 0; NewHPOrd_Disp.Width = PnlNewHPOrd_Disp.Width - (PnlNewHPOrd_Disp.Width / 3); NewHPOrd_Disp.Height = 50; NewHPOrd_Disp2.Left = NewHPOrd_Disp.Width; NewHPOrd_Disp2.Top = 0; NewHPOrd_Disp2.Width = PnlNewHPOrd_Disp.Width - NewHPOrd_Disp.Width; NewHPOrd_Disp2.Height = 50; if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0) { NewHPOrd_Disp.Text = ""; NewHPOrd_Disp2.Text = ""; } else { string sStr = ""; string sClose = ""; int iStrtNum = 0; NewHPOrd_Disp.Text = ""; NewHPOrd_Disp.ReadOnly = true; NewHPOrd_Disp.SelectionFont = new Font(m_cPosStatus.Base.FONT, 16, FontStyle.Bold); NewHPOrd_Disp.SelectionAlignment = HorizontalAlignment.Right; sStr = "해피오더 신규 (" + iNewOrdCnt.ToString() + ")"; NewHPOrd_Disp.AppendText(sStr); NewHPOrd_Disp.Select(iStrtNum, sStr.Length); NewHPOrd_Disp.SelectionColor = Color.Yellow; //sClose = " [닫기]"; //NewHPOrd_Disp.AppendText(sClose); //NewHPOrd_Disp.Select(sStr.Length, sClose.Length); //NewHPOrd_Disp.SelectionColor = Color.Black; NewHPOrd_Disp.ReadOnly = true; NewHPOrd_Disp.BringToFront(); NewHPOrd_Disp2.Text = ""; NewHPOrd_Disp2.SelectionFont = new Font(m_cPosStatus.Base.FONT, 16, FontStyle.Bold); NewHPOrd_Disp2.SelectionAlignment = HorizontalAlignment.Left; sClose = " [닫기]"; NewHPOrd_Disp2.AppendText(sClose); NewHPOrd_Disp2.Select(0, sClose.Length); NewHPOrd_Disp2.SelectionColor = Color.Black; NewHPOrd_Disp2.ReadOnly = true; NewHPOrd_Disp2.BringToFront(); } //NewHPOrd_Disp.Visible = true; PnlNewHPOrd_Disp.Visible = true; } else { NewHPOrd_Disp.Visible = false; NewHPOrd_Disp2.Visible = false; //NewHPOrd_Disp.Visible = false; PnlNewHPOrd_Disp.Visible = 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); } */ #endregion #region 변경 try { // 해피오더 신규주문(일반주문건수 + 배달주문건수 + 예약주문건수) int iNewOrdCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0")); if (iNewOrdCnt > 99) { iNewOrdCnt = 99; } if (iNewOrdCnt > 0) { if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0) { NewHPOrd_Disp.Text = ""; NewHPOrd_Disp2.Text = ""; } else { PnlNewHPOrd_Disp.BorderStyle = BorderStyle.None; PnlNewHPOrd_Disp.BackColor = Color.Red; NewHPOrd_Disp.Text = ""; NewHPOrd_Disp.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold); NewHPOrd_Disp.TextAlign = ContentAlignment.MiddleCenter; NewHPOrd_Disp.BorderStyle = BorderStyle.None; NewHPOrd_Disp.AutoSize = true; NewHPOrd_Disp.ForeColor = Color.Yellow; NewHPOrd_Disp.BackColor = Color.Red; NewHPOrd_Disp.Text = "해피오더 신규(" + iNewOrdCnt.ToString() + ")"; NewHPOrd_Disp.BringToFront(); NewHPOrd_Disp2.Text = ""; NewHPOrd_Disp2.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold); NewHPOrd_Disp2.TextAlign = ContentAlignment.MiddleCenter; NewHPOrd_Disp2.BorderStyle = BorderStyle.None; NewHPOrd_Disp2.AutoSize = true; NewHPOrd_Disp2.ForeColor = Color.Black; NewHPOrd_Disp2.BackColor = Color.Red; NewHPOrd_Disp2.Text = "[닫기]"; NewHPOrd_Disp2.BringToFront(); int iWidth = NewHPOrd_Disp.Width + NewHPOrd_Disp2.Width; NewHPOrd_Disp.Left = (PnlNewHPOrd_Disp.Width - iWidth) / 2; NewHPOrd_Disp2.Left = NewHPOrd_Disp.Left + NewHPOrd_Disp.Width; int iFill = 3; NewHPOrd_Disp.Top = ((PnlNewHPOrd_Disp.Height - NewHPOrd_Disp.Height) / 2) - iFill; NewHPOrd_Disp2.Top = NewHPOrd_Disp.Top; } NewHPOrd_Disp.Visible = true; NewHPOrd_Disp2.Visible = true; PnlNewHPOrd_Disp.Visible = true; } else { NewHPOrd_Disp.Visible = false; NewHPOrd_Disp2.Visible = false; PnlNewHPOrd_Disp.Visible = 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); } #endregion //#20180605 해피오더 개선 end - 20180618 } private void NewHPOrd_Disp_Click(object sender, EventArgs e) { try { //#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 start //변경 // 상품 등록 중일 경우 빠져 나간다. ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); if (alSaleItem.Count > 0) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021)); return; } //#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 end iCount = 0; bSaleMain = false; NewHPOrd_Disp.Visible = false; NewHPOrd_Disp2.Visible = false; PnlNewHPOrd_Disp.Visible = false; //#20180615 해피오더 팝업 수정 start //기존 //WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "" }); //변경 WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" }); //#20180615 해피오더 팝업 수정 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 NewHPOrd_Disp2_Click(object sender, EventArgs e) { try { iCount = 0; bSaleMain = false; NewHPOrd_Disp.Visible = false; NewHPOrd_Disp2.Visible = false; PnlNewHPOrd_Disp.Visible = 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); } } #endregion //#15058 해피오더 버튼 변경_20180612 end,phj //#15525 고객구매이력 수정 요청 start //VIP 여부 안내 표시 #region VIP 여부 안내표시 클릭시 안보이게 처리 private void picVip_Click(object sender, EventArgs e) { pnlBuyHistVip.Visible = false; } #endregion VIP 여부 안내표시 클릭시 안보이게 처리 private void picVip_Paint(object sender, PaintEventArgs e) { /* Image myBitmapTemp; // Create a Bitmap object from an image file. Bitmap myBitmap = new Bitmap(BaseCom.NxImgPath + "crown12.png"); // Draw myBitmap to the screen. //e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width, myBitmap.Height); // Get the color of a background pixel. Color backColor = myBitmap.GetPixel(5, 5); // Make backColor transparent for myBitmap. myBitmap.MakeTransparent(backColor); myBitmapTemp = (Image)myBitmap; // Draw the transparent bitmap to the screen. e.Graphics.DrawImage(myBitmapTemp, 0, 0, myBitmap.Width, myBitmap.Height); */ } //#15525 고객구매이력 수정 요청 end //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start #region 해피오더 추가재고 실시간 알람 (10분마다 1분동안 보임) private void HappyOrderInventoryAlram() { if (PosMstManager.GetPosOption(POS_OPTION.OPT518) != "1") return; try { // Y: 미등록 재고존재 / N: 미등록 재고없음 if (m_cPosStatus.Sale.HappyOrderInventoryYN == "Y") { if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0) { lb_HPOInventoryAlram.Text = ""; lb_HPOInventoryAlram2.Text = ""; } else { Pnl_HPOInventoryAlram.BorderStyle = BorderStyle.None; Pnl_HPOInventoryAlram.BackColor = Color.Red; lb_HPOInventoryAlram.Text = ""; lb_HPOInventoryAlram.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold); lb_HPOInventoryAlram.TextAlign = ContentAlignment.MiddleCenter; lb_HPOInventoryAlram.BorderStyle = BorderStyle.None; lb_HPOInventoryAlram.AutoSize = true; lb_HPOInventoryAlram.ForeColor = Color.Yellow; lb_HPOInventoryAlram.BackColor = Color.Red; lb_HPOInventoryAlram.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1179); //20180821 lb_HPOInventoryAlram.BringToFront(); lb_HPOInventoryAlram2.Text = ""; lb_HPOInventoryAlram2.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold); lb_HPOInventoryAlram2.TextAlign = ContentAlignment.MiddleCenter; lb_HPOInventoryAlram2.BorderStyle = BorderStyle.None; lb_HPOInventoryAlram2.AutoSize = true; lb_HPOInventoryAlram2.ForeColor = Color.Black; lb_HPOInventoryAlram2.BackColor = Color.Red; lb_HPOInventoryAlram2.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1180); //20180821 lb_HPOInventoryAlram2.BringToFront(); int iWidth = lb_HPOInventoryAlram.Width + lb_HPOInventoryAlram2.Width; lb_HPOInventoryAlram.Left = (Pnl_HPOInventoryAlram.Width - iWidth) / 2; lb_HPOInventoryAlram2.Left = lb_HPOInventoryAlram.Left + lb_HPOInventoryAlram.Width; int iFill = 3; lb_HPOInventoryAlram.Top = ((Pnl_HPOInventoryAlram.Height - lb_HPOInventoryAlram.Height) / 2) - iFill; lb_HPOInventoryAlram2.Top = lb_HPOInventoryAlram.Top; } HappyOrderInventoryAlram_StatChange(true); } else { HappyOrderInventoryAlram_StatChange(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); } } #endregion //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start #region 해피오더 추가재고 실시간 알람 클릭 private void lb_HPOInventoryAlram_Click(object sender, EventArgs e) { try { HappyOrderInventoryAlram_StatChange(false); if (sender.GetType().Equals(typeof(Cosmos.UI.CsmLabel))) { if (((Cosmos.UI.CsmLabel)sender).Name == "lb_HPOInventoryAlram") { WinBasic.ShowWebPos(PosKey.MENU_KEY.HPO_INVENTORY_ALRAM); } } else if (sender.GetType().Equals(typeof(System.Windows.Forms.Panel))) { if (((System.Windows.Forms.Panel)sender).Name == "Pnl_HPOInventoryAlram") { WinBasic.ShowWebPos(PosKey.MENU_KEY.HPO_INVENTORY_ALRAM); } } } 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 해피오더 추가재고 실시간 알람 클릭 //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start #region 해피오더 추가재고 실시간 알람 초기화 private void HappyOrderInventoryAlram_StatChange(bool bStat) { try { //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368 //기존 /* if (bStat == true) { bInventoryDispStat = true; lb_HPOInventoryAlram.Visible = true; lb_HPOInventoryAlram2.Visible = true; Pnl_HPOInventoryAlram.Visible = true; } else { iInventoryDispCnt = 0; bInventoryDispStat = false; lb_HPOInventoryAlram.Visible = false; lb_HPOInventoryAlram2.Visible = false; Pnl_HPOInventoryAlram.Visible = false; } */ //변경 if (bStat == true) { lb_HPOInventoryAlram.Visible = true; lb_HPOInventoryAlram2.Visible = true; Pnl_HPOInventoryAlram.Visible = true; } else { bInventoryCancel = true; lb_HPOInventoryAlram.Visible = false; lb_HPOInventoryAlram2.Visible = false; Pnl_HPOInventoryAlram.Visible = false; } //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368 } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "HappyOrderInventoryAlram [" + bStat + "]" + ex.Message); } } #endregion 해피오더 추가재고 실시간 알람 초기화 //#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end //#16577 결제창 내부 봉투 추가 기능 도입 start private void BtnAddBag_Click(object sender, EventArgs e) { try { string sRet = UserCom.RST_ERR; //#16577 결제창 내부 봉투 추가 기능 도입 start, 20180920 DataTable dtData = new DataTable(); //#16577 결제창 내부 봉투 추가 기능 도입 end, 20180920 //bool bRet = true; // 결제 건이 있는지 체크 // 결제 내역 받아 오기 ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM); foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem) { // 취소시 제외 if (cPayItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue; // 결제 건 if (cPayItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.PAY) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0801)); return; } } //봉투창 표시 sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_ADD_BAG }); if (sRet == UserCom.RST_ERR) { return; } //봉투 선택 한 경우 입력 처리 if (sRet != UserCom.RST_ERR) { string[] aParam = sRet.Split(new string[] { "^" }, StringSplitOptions.None); if (aParam.Length > 0) { for (int iRow = 0; iRow < aParam.Length; iRow++) { if (string.IsNullOrEmpty(aParam[iRow]) == false) { // 상품 등록 처리 m_cSaleMainProc.RegisterPluItem("", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + CmUtil.RPadH(m_cPosStatus.Base.SubShopNo, 10) + aParam[iRow], ""); } } } //#16577 결제창 내부 봉투 추가 기능 도입 start, 20180920 // 상품 판매가 계산 m_cPluService.ItemAmountExeccute(true, true); DisplayItem(1, false); //#16577 결제창 내부 봉투 추가 기능 도입 end, 20180920 } //결제등록 정보 화면 표시 DisplayPayment(); /* if (bRet == false) { WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0803)); } else { //WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0802)); } */ } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } } //#16577 결제창 내부 봉투 추가 기능 도입 end //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start #region 해피포인트 임직원 여부 조회 /// /// 해피포인트 임직원 여부 조회 /// /// /// private string SchHappyPointEmpInfo(string sInPutType, string sInCardNo) { string sSchEmpInfo = ""; try { m_sInPutType = ""; m_sInMaskData = ""; m_sInEncData = ""; m_sServiceCode = ""; m_sAppCardNo = ""; m_sInPutType = sInPutType; m_sAppCardNo = sInCardNo; // 해피포인트 카드만 자동등록 처리 if (sInCardNo.StartsWith(PosConst.HP_CARD_PRIFIX) == false) return sSchEmpInfo; IPaymentExpUs m_cHappyPoint = (IPaymentExpUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT); //암호화 EncryptedCardNo(m_sAppCardNo, ref m_sInEncData, ref m_sInMaskData); // 해피 포인트 적립카드 조회 string[] saRecvdData = null; string sRet = m_cHappyPoint.SearchPayment(new string[] { sInPutType, m_sInMaskData, m_sInEncData, "1", "", m_sAppCardNo }, ref saRecvdData); if (sRet != UserCom.RST_OK) return sSchEmpInfo; //m_sInEncData = sInEncData; // 조회 데이터 획득 Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { }); 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); // 고객정보 중에서 첫번째 카드 선택 sSchEmpInfo = aIrtRsp[Column.POINT_ADD_INFO_SEARCH.SEQ.pointCARDGBCD].Trim(); } catch (Exception ex) { return sSchEmpInfo; WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } return sSchEmpInfo; } #endregion 해피포인트 임직원 여부 조회 //#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end } }