using System; using System.Collections.Generic; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Cosmos.BaseFrame; using Cosmos.UserFrame; using Cosmos.ServiceProvider; using Cosmos.Common; using Cosmos.CommonManager; using System.Globalization; namespace Cosmos.Win { public partial class frmHappyOrderList : Form, IFormHappyOrderMainUs { private SManager sManager = new SManager(); //이 객체를 통해 업무 Service 호출 private StateServer StateObject = (StateServer)StateServer.GetInstance(); //StateObject : StateServer Object(객체) private PosStatus m_cPosStatus; private TranStatus m_cTrnStatus; //거래정보 참조 private DeviceStatus m_cDevStatus = null; private IHappyOrderList m_cHappyOrder = null; // 해피오더 서비스 처리 private IDataProcessUs m_cDataSrv = null; // 거래데이터 합계금액 계산 및 관리 private ISalePluItemUs m_cPluService = null; // 판매 등록 관리 //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start private IDataCommonUs m_cDataCommon = null; //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 start,phj private IAirPortTran m_cAirPortTran = null; //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 end,phj /// /// Grid 연동 DataTable /// private DataTable m_dtGrid; /// /// 해피오더 상태 관리 /// private Hashtable htStatus; /// /// 양재오더 상태 관리 /// private Hashtable m_htYJStatus; /// /// 사전예약 상태 관리 /// private Hashtable m_htPreReservStatus; //#20180607 해피오더 리스트 전체 조회 기능 추가 start /// /// 해피오더 신규주문리스트(전체) /// private ArrayList m_alTotalLists; //#20180607 해피오더 리스트 전체 조회 기능 추가 end /// /// 해피오더 신규주문리스트(전체) /// private Hashtable[] m_htOrderLists; /// /// 해피오더 신규주문리스트(내점) /// private ArrayList m_alPickupLists; /// /// 해피오더 신규주문리스트(배달) /// private ArrayList m_alDeliveryLists; /// /// 해피오더 신규주문리스트(사전예약) /// private ArrayList m_alPreReservLists; /// /// 양재오더 신규주문리스트(전체) /// private Hashtable[] m_htYJOrderLists; /// /// 양재오더 신규주문리스트(내점) /// private ArrayList m_alYJPickupLists; /// /// 양재오더 신규주문리스트(배달) /// private ArrayList m_alYJDeliveryLists; //private ArrayList m_cHappyOrderHeader; /// /// 선택된 Row의 주문상세데이터 /// private ArrayList m_cHappyOrderItem; public ArrayList HappyOrderItem { get { return m_cHappyOrderItem; } } //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 start - 기존 기능으로 대체 하여 삭제 //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 start /// /// 영양정보 출력 데이터 /// //private ArrayList m_alHappyNurtitionOrderItem; /// /// 해피오더 영양주문리스트(전체) /// //private Hashtable[] m_htOrderNutritionLists; //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 end //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 end /// /// 해피오더 URL /// private string m_sHappyOrderURL = string.Empty; /// /// 양재오더 URL /// private string m_sYangJaeOrderURL = string.Empty; //private ArrayList m_sPrintData; //private PosOLEDevice.DelegateOlePos delegatePos; //private string m_sReceiverHp; //private string m_sFlavour1; //private string m_sFlavour2; //private string m_sOrderDT; // 현재 선택된 주문의 주문번호 private string m_sOrderNum; // 현재 선택된 주문의 주문일자 private string m_sOrderDt; /// /// 탭관리("01":내점, "02":배달", "03":사전예약, "04":오더폼내점, "05":오더폼배달) /// private string m_sPosMenuKeyIn; public string PosMenuKeyIn { set { m_sPosMenuKeyIn = value; } get { return m_sPosMenuKeyIn; } } //#20180126 해피오더 당일픽업 건 보여주기 start,phj private string m_sPicupSearch; public string PicupSearchYN { set { m_sPicupSearch = value; } get { return m_sPicupSearch; } } //#20180126 해피오더 당일픽업 건 보여주기 end,phj //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start private string m_sInPutData; public string InPutData { set { m_sInPutData = value; } get { return m_sInPutData; } } //private bool sSearchRt = false; //private string sSearchOrderType = ""; // 주문타입 //private string sSearchOrderNum = ""; // 주문번호 //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end private readonly Color m_clrSelectFont = Color.FromArgb(255, 255, 255); private readonly Color m_clrSelectback = Color.FromArgb(109, 110, 113); private readonly Color m_clrNonSelectFont = Color.FromArgb(109, 110, 113); private readonly Color m_clrNonSelectback = Color.FromArgb(255, 255, 255); private enum ORDER_DIV { HAPPY_ORDER, YANGJAE_ORDER }; //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start /// /// 해피오더 랜덤박스 바코드 정보 /// private Hashtable htLandomBoxInfo = null; //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end #region 생성자 & 소멸자 public frmHappyOrderList() { try { InitializeComponent(); base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true); //this.UpdateStyles(); m_cPosStatus = (PosStatus)StateObject.POS; //POS 기본정보 m_cTrnStatus = (TranStatus)StateObject.TRAN; //거래정보 m_cDevStatus = (DeviceStatus)StateObject.DEVICE; m_cHappyOrder = (IHappyOrderList)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.HAPPY_ORDER_LIST); m_cDataSrv = (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); //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 start,phj m_cAirPortTran = (IAirPortTran)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.AIRPORT_TRAN); //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 end,phj //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON); //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end //delegatePos = new PosOLEDevice.DelegateOlePos(OnDeviceEvent); //PosOLEDevice.SetEventHandle(delegatePos); InitControls(); // 해피오더 승인업체 코드 조회 string sVanCD = PosMstManager.GetMstPayDc(ItemConst.TR_ITEM_ID.ORDER_ITEM, ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, PosMst.MST_PAY_DC.DATA.APPR_VEND_CD); // 해피오더 승인 URL 조회 m_sHappyOrderURL = PosMstManager.GetMstVan(sVanCD, PosMst.MST_VAN.DATA.IP); // 양재오더 승인업체 코드 조회 sVanCD = PosMstManager.GetMstPayDc(ItemConst.TR_ITEM_ID.ORDER_ITEM, ItemConst.TR_ITEM_ID.ORDER.ORDERFORM_PAY, PosMst.MST_PAY_DC.DATA.APPR_VEND_CD); // 양재오더 승인 URL 조회 m_sYangJaeOrderURL = PosMstManager.GetMstVan(sVanCD, PosMst.MST_VAN.DATA.IP); UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "[HappyOrder URL=" + m_sHappyOrderURL + ", YangJaeOrder URL=" + m_sYangJaeOrderURL + "]"); } catch(Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void frmHappyOrderList_Load(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 + "()", ""); this.Location = new Point(0, 50); InitControls(); TitleDisplay(); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20180928 //shown으로 위치이동 #region 수동으로 해피오더 리스트 팝업 띄울 시 라인색상 표현안되는 현상 수정 /* //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //MenuDisplay(); //#20180607 해피오더 리스트 전체 조회 기능 추가 end // 상태 변경 후 리스트 재조회 btnProc_Click(btnSearch, null); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start #region 해피오더 바코드 리딩 시 자동 완료 처리 sSearchRt = false; sSearchOrderNum = ""; sSearchOrderType = ""; if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT553), "0") == "1") { //test //m_sInPutData = "180621935835"; // m_sInPutData.Trim(); //m_sInPutData = "180716418415"; // m_sInPutData.Trim(); //m_sInPutData = "180621935809"; // m_sInPutData.Trim(); if (m_sInPutData != "") { // 자동조회 //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20180829 //sSearchOrderNum = m_sInPutData.Trim(); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20180829 tbOrderBarcode.Text = m_sInPutData.Trim(); tbOrderBarcode_KeyDown(tbOrderBarcode, new KeyEventArgs(Keys.Enter)); if (sSearchRt == true) { // 안내팝업 오픈 string sRet = WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_MSG, m_sPosMenuKeyIn, sSearchOrderNum, sSearchOrderType }); // 예 선택 시 if (sRet == UserCom.RST_OK) { UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[주문번호: " + sSearchOrderNum + "주문타입: " + sSearchOrderType + "] 자동 완료처리에 대해 고객동의!"); btnStatus_Click(btnStatus3, null); } } // 포커스조정 ReadyToBarcode(); } } #endregion //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end */ #endregion //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20180928 } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void frmHappyOrderList_FormClosing(object sender, FormClosingEventArgs e) { //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 start,phj // 거래 초기화 m_cDataSrv.InitTranHeader(); m_cDataSrv.DeleteTranItem(); //#20171227 인천공항 포스연동 end, phj - 20180310 해피오더 결제완료 end,phj vScrollbar.Attach(null); UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", lblTitle.Text); } #endregion #region 폼 컨트롤 초기화 /// /// 컨트롤 초기화 /// private void InitControls() { try { FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT); FormManager.SetTextBoxGlobalInfo(this, m_cPosStatus.Global.m_stCultureMaster.nGroupingDigits, m_cPosStatus.Global.m_stCultureMaster.strGroupingSymbol, m_cPosStatus.Global.m_stCultureMaster.nDecimalDigits, m_cPosStatus.Global.m_stCultureMaster.strDecimalSymbol); txtPrtData.Font = new Font(m_cPosStatus.Base.FONT_FIX, txtPrtData.Font.Size, txtPrtData.Font.Style); picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_FULL_SIZE); btnExit.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BTN_CLOSE); if (btnExit.Image != null) btnExit.Text = ""; //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start #region 기존소스 ////#20180612 해피오더 주문알림 start ////변경 ///* //if (m_sPicupSearch == "A" || m_sPicupSearch == "B") //{ // PnlHPOrdPopup.Visible = true; // RtbHPOrdPopup.Visible = true; // // // PnlHPOrdPopup.Top = lblTitle.Top + lblTitle.Height + 2; // PnlHPOrdPopup.Height = 143 - lblTitle.Height - 5; // // RtbHPOrdPopup.Top = 0; // RtbHPOrdPopup.Left = 0; // RtbHPOrdPopup.Height = PnlHPOrdPopup.Height; // RtbHPOrdPopup.Width = PnlHPOrdPopup.Width; // // panel1.Location = new Point(32, 143); // HPOrderCntPopup(); //} //else //{ // PnlHPOrdPopup.Visible = false; // RtbHPOrdPopup.Visible = false; // panel1.Location = new Point(32, 54); //} //*/ // //PnlHPOrdPopup.Visible = true; //RtbHPOrdPopup.Visible = true; //PnlHPOrdPopup.Top = lblTitle.Top + lblTitle.Height + 2; //PnlHPOrdPopup.Height = 143 - lblTitle.Height - 5; //RtbHPOrdPopup.Top = 0; //RtbHPOrdPopup.Left = 0; //RtbHPOrdPopup.Height = PnlHPOrdPopup.Height; //RtbHPOrdPopup.Width = PnlHPOrdPopup.Width; //panel1.Location = new Point(32, 143); //HPOrderCntPopup(); ////#20180612 해피오더 주문알림 end #endregion #region 수정소스 PnlHPOrdPopup.Visible = true; RtbHPOrdPopup.Visible = true; PnlHPOrdPopup.Top = lblTitle.Top + lblTitle.Height + 2; PnlHPOrdPopup.Height = 143 - lblTitle.Height - 5; RtbHPOrdPopup.Top = 0; RtbHPOrdPopup.Left = 0; RtbHPOrdPopup.Height = PnlHPOrdPopup.Height; RtbHPOrdPopup.Width = PnlHPOrdPopup.Width; panel1.Location = new Point(32, 143); HPOrderCntPopup(); // ** 패널 위치 이동 PnlHPOrdPopup.Width = gridHappyOrderList.Width; RtbHPOrdPopup.Width = PnlHPOrdPopup.Width; // 버튼 높이 int iButtonHeight = 40; btnHappyOrderWeb.Height = iButtonHeight;//점주web btnHappyOrderWeb.Width = 90; btnSearch.Height = iButtonHeight; //조회 btnSearch.Width = 90; btnTodayPrint.Height = iButtonHeight; //픽업/배달 주문서 출력 btnTodayPrint.Width = 115; btnPrint.Height = iButtonHeight; //주문서 출력 btnPrint.Width = 90; btnWeightPrint.Height = iButtonHeight; // 중량 btnWeightPrint.Width = 90; // ** 버튼 정렬 2 int iBtnTopSize2 = 0; iBtnTopSize2 = (PnlHPOrdPopup.Top + iButtonHeight) + 5; //점주web btnHappyOrderWeb.Top = iBtnTopSize2; btnHappyOrderWeb.Left = 562; //조회 btnSearch.Top = iBtnTopSize2; btnSearch.Left = btnHappyOrderWeb.Left + btnHappyOrderWeb.Width + 10; //픽업/배달 주문서 출력 btnTodayPrint.Top = iBtnTopSize2; btnTodayPrint.Left = btnSearch.Left + btnSearch.Width + 10; //주문서 출력 btnPrint.Top = iBtnTopSize2; btnPrint.Left = btnTodayPrint.Left + btnTodayPrint.Width + 10; // ** 버튼 정렬 1 int iBtnTopSize1 = 0; iBtnTopSize1 = PnlHPOrdPopup.Top; //중량출력 btnWeightPrint.Top = iBtnTopSize1; btnWeightPrint.Left = btnTodayPrint.Left; //주문취소 btnOrderCancel.Top = iBtnTopSize1; btnOrderCancel.Left = btnPrint.Left; // ** 상태변경 패널 위치 이동 pnl_Image.Location = panel1.Location; pnl_Image.Width = panel1.Width; pnl_Image.Height = gridHappyOrderList.Top - 5; pnl_Image.BringToFront(); #endregion //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#17197 판매POS 직접배달 옵션처리 요청 件 start btnStatus4.Top = iBtnTopSize1; btnStatus4.Left = btnTodayPrint.Left; //#17197 판매POS 직접배달 옵션처리 요청 件 end //#20180607 해피오더 리스트 전체 조회 기능 추가 start m_alTotalLists = new ArrayList(); //#20180607 해피오더 리스트 전체 조회 기능 추가 end m_cHappyOrderItem = new ArrayList(); m_alPickupLists = new ArrayList(); m_alDeliveryLists = new ArrayList(); m_alPreReservLists = new ArrayList(); m_alYJPickupLists = new ArrayList(); m_alYJDeliveryLists = new ArrayList(); //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 start - 기존 기능으로 대체하여 삭제 //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 start //m_alHappyNurtitionOrderItem = new ArrayList(); //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 end //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 end // 그리드 초기화 InitializeGrid(); #region 상단 탭/버튼 이름 설정 lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0559); //#20180607 해피오더 리스트 전체 조회 기능 추가 start btnTitle00.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1156); btnTitle00.Tag = "00"; //#20180607 해피오더 리스트 전체 조회 기능 추가 end btnTitle01.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0422); btnTitle01.Tag = "01"; btnTitle02.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0423); btnTitle02.Tag = "02"; btnTitle03.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0908); btnTitle03.Tag = "03"; btnTitle04.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0837); btnTitle04.Tag = "04"; btnTitle05.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0838); btnTitle05.Tag = "05"; btnSearch.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0004); btnWeightPrint.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0539); btnPrint.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0538); btnHappyOrderWeb.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0466); btnTodayPrint.Text = "오늘 픽업/배달 주문서출력"; #endregion #region 해피오더 I/C 중량 출력 버튼 활성화 여부 if (PosMstManager.GetPosOption(POS_OPTION.OPT314) == "1") { btnWeightPrint.Visible = true; } else { btnWeightPrint.Visible = false; } #endregion #region 사전예약/오더폼 옵션에 따른 탭 활성화 체크 //OPT043 해피오더 사전예약TAB 사용 여부 //OPT318 양재오더 사용 여부 if (PosMstManager.GetPosOption(POS_OPTION.OPT043) == "1") { btnTitle03.Visible = true;//사전예약 탭 if (PosMstManager.GetPosOption(POS_OPTION.OPT318) == "1") { btnTitle04.Visible = true; btnTitle05.Visible = true; btnTitle04.Location = new Point(360, 0); btnTitle05.Location = new Point(480, 0); } else { btnTitle04.Visible = false; btnTitle05.Visible = false; } } else { btnTitle03.Visible = false;//사전예약 탭 if (PosMstManager.GetPosOption(POS_OPTION.OPT318) == "1") { btnTitle04.Visible = true; btnTitle05.Visible = true; btnTitle04.Location = new Point(240, 0); btnTitle05.Location = new Point(360, 0); } else { btnTitle04.Visible = false; btnTitle05.Visible = false; } } #endregion #region 그리드 업/다운 버튼 btnGridUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BUTTON_GRID_UP_ARROW); btnGridUp.ImageAlign = ContentAlignment.MiddleCenter; btnGridUp.BorderStyle = BorderStyle.None; btnGridDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BUTTON_GRID_DOWN_ARROW); btnGridUp.ImageAlign = ContentAlignment.MiddleCenter; btnGridDown.BorderStyle = BorderStyle.None; #endregion //Print Buffer Clear InitOrderDetail(); vScrollbar.Attach(txtPrtData); //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start htLandomBoxInfo = new Hashtable(); htLandomBoxInfo.Clear(); //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end #region 해피오더 상태코드 관리 htStatus = new Hashtable(); htStatus.Add(ItemConst.HAPPYORDER_STATUS.ORDER_REG, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0431)); // 주문접수 htStatus.Add(ItemConst.HAPPYORDER_STATUS.PRODUCT_READY, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0424)); // 상품준비 htStatus.Add(ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0425)); // 픽업대기 htStatus.Add(ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426)); // 픽업완료 htStatus.Add(ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0432)); // 픽업지연 htStatus.Add(ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451)); // 픽업완료 if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) { htStatus.Add(ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0955)); // 라이더요청 htStatus.Add(ItemConst.HAPPYORDER_STATUS.DELIVERY_REG, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0956)); // 라이더접수 } else { htStatus.Add(ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0427)); // 배달요청 htStatus.Add(ItemConst.HAPPYORDER_STATUS.DELIVERY_REG, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0433)); // 배달접수 } htStatus.Add(ItemConst.HAPPYORDER_STATUS.DELIVERY_PRODUCT_READY, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0434)); // 배달상품준비중 htStatus.Add(ItemConst.HAPPYORDER_STATUS.DELIVERY_ING, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0428)); // 배달중 htStatus.Add(ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0435)); // 배달완료 htStatus.Add(ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0429)); // 주문취소 //grayber@20171123 해피오더 직접배달 start htStatus.Add(ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1080)); // 직접배달 //grayber@20171123 해피오더 직접배달 end //#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 start htStatus.Add(ItemConst.HAPPYORDER_STATUS.PRE_RESERVED, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0908)); // 사전예약 //#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 end #endregion #region 오더폼 상태코드 관리 m_htYJStatus = new Hashtable(); m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.ORDER_REG, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0431)); // 주문접수 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0424)); // 상품준비 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.FIELD_ORDER_COMPLETED, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0839)); // 현장주문완료 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.PICKUP_WAIT, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0425)); // 픽업대기 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426)); // 픽업완료 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.PICKUP_DELAY, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0432)); // 픽업지연 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED2, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451)); // 픽업완료 if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) { m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.DELIVERY_REQ, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0955)); // 라이더요청 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.DELIVERY_REG, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0956)); // 라이더접수 } else { m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.DELIVERY_REQ, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0427)); // 배달요청 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.DELIVERY_REG, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0433)); // 배달접수 } m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.DELIVERY_PRODUCT_READY, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0434)); // 배달상품준비중 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.DELIVERY_ING, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0428)); // 배달중 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.DELIVERY_COMPLETED, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0435)); // 배달완료 m_htYJStatus.Add(ItemConst.YANGJAEORDER_STATUS.ORDER_CANCEL, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0429)); #endregion } catch(Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } /// /// 타이틀 색상 전환 표시 /// private void TitleDisplay() { try { foreach (Control control in pnlTitle.Controls) { if (control is UI.CsmButton) { if (control.Tag.ToString() == PosMenuKeyIn) { //글자색변경 //배경색변경 control.ForeColor = m_clrSelectFont; control.BackColor = m_clrSelectback; } else { control.ForeColor = m_clrNonSelectFont; control.BackColor = m_clrNonSelectback; } } } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //기존 /* //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //private void MenuDisplay() //변경 private void MenuDisplay(string sOrderType = "") //#20180607 해피오더 리스트 전체 조회 기능 추가 end */ //변경 private bool MenuDisplay(int iRowNum) //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end { //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start bool bRet = false; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end try { //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //버튼 초기화 btnStatus1.Visible = false; btnStatus2.Visible = false; btnStatus3.Visible = false; btnStatus4.Visible = false; btnOrderCancel.Visible = false; btnWeightPrint.Visible = false; //헤더 데이터 가져오기 Column.TR_HPORD.HPORD_HEADER header = null; header = GetHappyHeader(PosMenuKeyIn, iRowNum); if (header == null) return bRet; string sOrderType = header.OrderType; string sAsIsStatus = header.OrderStatus; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end #region 버튼 활성화 체크 //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //if (PosMenuKeyIn == "01" || PosMenuKeyIn == "04" || PosMenuKeyIn == "03") // 내점 or 오더폼 내점 or 사전예약 //변경 if ((PosMenuKeyIn == "00" && sOrderType != "5") || PosMenuKeyIn == "01" || PosMenuKeyIn == "04" || PosMenuKeyIn == "03") //#20180607 해피오더 리스트 전체 조회 기능 추가 end { // 상태버튼1 (상품준비) btnStatus1.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0424); btnStatus1.Visible = true; btnStatus1.Location = new Point(1, 59); // 상태버튼2 (픽업대기) btnStatus2.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0425); btnStatus2.Visible = true; btnStatus2.Location = new Point(103, 59); // 상태버튼3 (픽업완료) btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426); btnStatus3.Visible = true; btnStatus3.Location = new Point(205, 59); btnOrderCancel.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0429); btnOrderCancel.Visible = true; //grayber@20171123 해피오더 직접배달 start if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") { btnStatus4.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1080); btnStatus4.Visible = false; } //grayber@20171123 해피오더 직접배달 end } //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //else if (PosMenuKeyIn == "02" || PosMenuKeyIn == "05") // 배달 or 오더폼 배달 //변경 else if ((PosMenuKeyIn == "00" && sOrderType == "5") || PosMenuKeyIn == "02" || PosMenuKeyIn == "05") // 배달 or 오더폼 배달 //#20180607 해피오더 리스트 전체 조회 기능 추가 end { if (PosMstManager.GetPosOption(POS_OPTION.OPT045) == "1") { // 상태버튼1 (상품준비) btnStatus1.Visible = true; btnStatus1.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0424); btnStatus1.Location = new Point(1, 59); // 상태버튼2 (배달요청) btnStatus2.Visible = true; if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) { btnStatus2.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0955); } else { btnStatus2.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0427); } btnStatus2.Location = new Point(103, 59); // 상태버튼3 (배달중) btnStatus3.Visible = true; btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0428); btnStatus3.Location = new Point(205, 59); } else { // 상태버튼1 (상품준비) btnStatus1.Visible = false; // 상태버튼2 (배달요청) btnStatus2.Visible = true; if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) { btnStatus2.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0955); } else { btnStatus2.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0427); } btnStatus2.Location = new Point(1, 59); // 상태버튼3 (배달중) btnStatus3.Visible = true; btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0428); btnStatus3.Location = new Point(103, 59); } //#17197 판매POS 직접배달 옵션처리 요청 件 start if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") { btnStatus4.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1080); btnStatus4.Visible = false; } //#17197 판매POS 직접배달 옵션처리 요청 件 end // 주문취소 btnOrderCancel.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0429); btnOrderCancel.Visible = true; } if (PosMenuKeyIn == "04" || PosMenuKeyIn == "05") { // 오더폼 내점 or 오더폼 배달 일 경우 중량출력 버튼은 숨김 btnWeightPrint.Visible = false; } else { //btnWeightPrint.Visible = true; // 옵션 설정에 따라 중량출력 기능 사용 여부 설정 if (PosMstManager.GetPosOption(POS_OPTION.OPT314) == "1") { btnWeightPrint.Visible = true; } else { btnWeightPrint.Visible = false; } } //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //if(PosMenuKeyIn == "03") //변경 if ((PosMenuKeyIn == "00" && sOrderType == "6") || PosMenuKeyIn == "03") //#20180607 해피오더 리스트 전체 조회 기능 추가 end { // 사전예약일 경우 픽업대기 버튼 사용 옵션에 따라 버튼 SHOW/HIDDEN if (PosMstManager.GetPosOption(POS_OPTION.OPT044) == "1") { btnStatus2.Visible = true; } else { btnStatus2.Visible = false; } } //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //SetDataOnGrid(); //#20180607 해피오더 리스트 전체 조회 기능 추가 end #endregion //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start #region 버튼3 상태변경 if (PosMenuKeyIn == "01" || (PosMenuKeyIn == "00" && (header.OrderType != "5" && header.OrderType != "6"))) { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY) { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451); } else { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426); } } //grayber@20171123 해피오더 직접배달 start else if (PosMenuKeyIn == "02" || (PosMenuKeyIn == "00" && header.OrderType == "5")) // 배달 탭일 때 { #region 해피오더 직접배달 btnStatus4.Visible = false; // 기본상태 가려짐 //20171214_해피오더 직접 배달 수정_hs if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG) // 주문접수 상태일때 { btnStatus4.Visible = true; // 보여짐 } //#20180420 상품준비 상태인 주문건도 직접배달 가능 하도록 수정 start if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) // 상품준비 상태일때 { btnStatus4.Visible = true; // 보여짐 } //#20180420 상품준비 상태인 주문건도 직접배달 가능 하도록 수정 end if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) // 직접 배달일때 { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0435); //배달완료 } else { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0428); //배달중 } } #endregion } //grayber@20171123 해피오더 직접배달 end else if (PosMenuKeyIn == "03" || (PosMenuKeyIn == "00" && header.OrderType == "6")) { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY) { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451); } else { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426); } } else if (PosMenuKeyIn == "04") { //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //기존 //현장결제 //if (((Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[gridHappyOrderList.CsmGridSelectedRowIndex]).FieldPay == "Y") //변경 //현장결제 if (header.FieldPay == "Y") //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end { btnStatus1.Visible = false; btnStatus2.Visible = false; btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0846); } else { btnStatus1.Visible = true; btnStatus2.Visible = true; btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426); } } #endregion //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start bRet = true; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end ReadyToBarcode(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start return bRet; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end } /// /// Grid 초기화 /// private void InitializeGrid() { try { //DataGridView 자체의 컬럼 헤더 Visible 여부 gridHappyOrderList.CsmGridColumnHeadersVisible = true; //DataGridView 자체의 컬럼 헤더 높이 gridHappyOrderList.CsmGridColumnHeadersHeight = 34; //DataGridView 컬럼 폰트 설정 gridHappyOrderList.CsmGridColumnHeadersFont = new Font(m_cPosStatus.Base.FONT, 10, FontStyle.Bold); //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //DataGridView 컬럼 수 //gridHappyOrderList.CsmGridColumnCount = 7; //변경 gridHappyOrderList.CsmGridColumnCount = 8; //#20180607 해피오더 리스트 전체 조회 기능 추가 end gridHappyOrderList.CsmGridSetHeaderBackColor(236, 238, 239); //그리드 헤더 배경색 gridHappyOrderList.CsmGridDefaultRowBackColor = Color.FromArgb(255, 255, 255); //그리드 홀수(Default)행의 배경색 지정 gridHappyOrderList.CsmGridAlternateRowBackColor = Color.FromArgb(251, 253, 255); //그리드 짝수(Alternate)행의 배경색 지정 gridHappyOrderList.CsmGridBackGroundColor = Color.FromArgb(251, 253, 255); //기본 백그라운드 컬러 gridHappyOrderList.CsmGridHighlightColor = Color.FromArgb(255, 251, 211); //그리드 선택 백 컬러 gridHappyOrderList.CsmGridHighlightTextColor = Color.Black; //그리드 선택 글자 컬러 //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //각 컬럼별 이름 설정 //gridHappyOrderList.CsmGridColumnName(0, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0436)); // 주문일자 //gridHappyOrderList.CsmGridColumnName(1, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0420)); // 주문번호 //gridHappyOrderList.CsmGridColumnName(2, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0819)); // 픽업/배달일시 //gridHappyOrderList.CsmGridColumnName(3, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0192)); // 연락처 //gridHappyOrderList.CsmGridColumnName(4, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0421)); // 상태 //gridHappyOrderList.CsmGridColumnName(5, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0832)); // 픽업 //gridHappyOrderList.CsmGridColumnName(6, string.Empty); // Blank //변경 gridHappyOrderList.CsmGridColumnName(0, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0617)); // 종류 gridHappyOrderList.CsmGridColumnName(1, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0436)); // 주문일자 gridHappyOrderList.CsmGridColumnName(2, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0420)); // 주문번호 gridHappyOrderList.CsmGridColumnName(3, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0819)); // 픽업/배달일시 gridHappyOrderList.CsmGridColumnName(4, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0192)); // 연락처 gridHappyOrderList.CsmGridColumnName(5, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0421)); // 상태 gridHappyOrderList.CsmGridColumnName(6, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0832)); // 픽업 gridHappyOrderList.CsmGridColumnName(7, string.Empty); // Blank //#20180607 해피오더 리스트 전체 조회 기능 추가 end //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //컬럼별 정렬 기준 설정(0:왼쪽, 1:가운데, 2:오른쪽) //gridHappyOrderList.CsmGridAlignment(new int[] { 0, 1, 1, 1, 1, 1, 0 }); //변경 //컬럼별 정렬 기준 설정(0:왼쪽, 1:가운데, 2:오른쪽) gridHappyOrderList.CsmGridAlignment(new int[] { 1, 0, 1, 1, 1, 1, 1, 0 }); //#20180607 해피오더 리스트 전체 조회 기능 추가 end //#20180612 해피오더 주문알림 start //기존 //DataGridView 한 화면에 보이는 Row 수 //gridHappyOrderList.CsmGridShowPageRowsCount = 12; //변경 //if (m_sPicupSearch == "A" || m_sPicupSearch == "B") //{ // //DataGridView 한 화면에 보이는 Row 수 // gridHappyOrderList.CsmGridShowPageRowsCount = 10; //} //else //{ // //DataGridView 한 화면에 보이는 Row 수 // gridHappyOrderList.CsmGridShowPageRowsCount = 12; //} gridHappyOrderList.CsmGridShowPageRowsCount = 10; //#20180612 해피오더 주문알림 end //DataGridView Row의 헤더 높이 gridHappyOrderList.CsmGridRowsHeight = 34; //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 /* //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //컬럼 넓이 지정 //gridHappyOrderList.CsmGridSetColumnWidth(new int[] { 80, 98, 180, 58, 65, 65, 32 }); //변경 //컬럼 넓이 지정 gridHappyOrderList.CsmGridSetColumnWidth(new int[] { 60, 80, 98, 120, 58, 65, 65, 32 }); //#20180607 해피오더 리스트 전체 조회 기능 추가 end */ //변경 gridHappyOrderList.CsmGridSetColumnWidth(new int[] { 50, 80, 95, 120, 58, 65, 78, 32 }); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#20180612 해피오더 주문알림 start btnGridUp.Top = gridHappyOrderList.Top; btnGridUp.Height = gridHappyOrderList.Height / 2; btnGridDown.Top = btnGridUp.Top + btnGridUp.Height; btnGridDown.Height = gridHappyOrderList.Height / 2; txtPrtData.Top = gridHappyOrderList.Top; txtPrtData.Height = gridHappyOrderList.Height; vScrollbar.Top = txtPrtData.Top; vScrollbar.Height = txtPrtData.Height; //#20180612 해피오더 주문알림 end //특정컬럼 Visible 여부 설정 //gridHappyOrderList.CsmGridColumnShowHide(5, false); //gridHappyOrderList.CsmGridColumnShowHide(6, false); //gridHappyOrderList.CsmGridColumnShowHide(7, false); m_dtGrid = new DataTable(); //#20180607 해피오더 리스트 전체 조회 기능 추가 start m_dtGrid.Columns.Add(new DataColumn("ORDER_NAME", typeof(string))); //#20180607 해피오더 리스트 전체 조회 기능 추가 end m_dtGrid.Columns.Add(new DataColumn("ORDER_DT", typeof(string))); m_dtGrid.Columns.Add(new DataColumn("ORDER_NO", typeof(string))); m_dtGrid.Columns.Add(new DataColumn("PICKUP_DELIVERY_DT", typeof(string))); m_dtGrid.Columns.Add(new DataColumn("TEL", typeof(string))); m_dtGrid.Columns.Add(new DataColumn("STATUS", typeof(string))); m_dtGrid.Columns.Add(new DataColumn("DDAY", typeof(string))); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 //m_dtGrid.Columns.Add(new DataColumn("BLANK", typeof(string))); //변경 m_dtGrid.Columns.Add(new DataColumn("DDAY_TYPE", typeof(string))); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //m_dtGrid.Columns.Add(new DataColumn("BLANK", typeof(string))); //변경 m_dtGrid.Columns.Add(new DataColumn("ORDER_TYPE", typeof(string))); //#20180607 해피오더 리스트 전체 조회 기능 추가 end m_dtGrid.Clear(); gridHappyOrderList.CsmGridDataSource = m_dtGrid; } catch(Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } #endregion /// /// 텍스트박스에 포커스를 고정 /// private void ReadyToBarcode() { try { tbOrderBarcode.Select(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } //public void OnDeviceEvent(string sDevice, string sData1, string sData2, string sData3) //{ // try // { // switch (sDevice) // { // case PosConst.OPOS_DEVICE.WIRELESSSCALE: // this.Invoke(new EventHandler(OnScaleEvent)); // break; // } // } // catch (Exception ex) // { // UserLog.WriteLogFile(UserCom.LOG_ERROR, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) // ex.Message); // } //} //private void OnScaleEvent(object source, EventArgs e) //{ // try // { // ILabelPrinterUs m_cLabelPrinterUs = (ILabelPrinterUs)sManager.InitServiceInstance(ServiceLists.AGENT_OLEDEVICE.DLL, ServiceLists.AGENT_OLEDEVICE.DEVICE_LABELPRINTER); // string sItemNm = string.Empty; // if (CheckOverWeightValue(Convert.ToInt32(m_cDevStatus.WirelessScale.Data), ref sItemNm) == true) // { // bool bConnection = m_cLabelPrinterUs.OpenDevice(m_cPosStatus.Base.OlePosLabelPrinterSerialPortNumber, (int)m_cPosStatus.Base.OlePosLabelPrinterSerialBaudRate); // if (bConnection == true) // { // m_cLabelPrinterUs.PrintO2OProductInfo(sItemNm, // m_sReceiverHp.Substring(m_sReceiverHp.Length - 4), // (Convert.ToInt32(m_cDevStatus.WirelessScale.Data)).ToString() + "g", // m_sFlavour1, // m_sFlavour2, // (PosMstManager.GetMstStore())[PosMst.MST_STORE.DATA.STORNM].ToString(), // m_sOrderDT, // DateTime.Now.ToString("yyyy-MM-dd HH시mm분")); // } // m_cLabelPrinterUs.CloseDevice(); // } // } // catch (Exception ex) // { // UserLog.WriteLogFile(UserCom.LOG_ERROR, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) // ex.Message); // } //} private void btnTitle_Click(object sender, EventArgs e) { try { if (((Cosmos.UI.CsmButton)sender).Tag.ToString() != "") { if (PosMenuKeyIn != ((Cosmos.UI.CsmButton)sender).Tag.ToString()) { PosMenuKeyIn = ((Cosmos.UI.CsmButton)sender).Tag.ToString(); TitleDisplay(); //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //MenuDisplay(); //화면에 메뉴 표시 //변경 SetDataOnGrid(); //#20180607 해피오더 리스트 전체 조회 기능 추가 end DisplayDetailList(); } } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void btnGrid_MouseDown(object sender, MouseEventArgs e) { try { ((Cosmos.UI.CsmButton)sender).BorderStyle = BorderStyle.FixedSingle; } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void btnGrid_MouseUp(object sender, MouseEventArgs e) { try { ((Cosmos.UI.CsmButton)sender).BorderStyle = BorderStyle.None; } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void InitOrderDetail() { try { txtPrtData.Text = string.Empty; m_cHappyOrder.PrintBufClear(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void SetDataOnGrid() { ArrayList alTemp = null; try { m_dtGrid.Clear(); switch(PosMenuKeyIn) { //#20180607 해피오더 리스트 전체 조회 기능 추가 start case "00": // 내점 alTemp = m_alTotalLists; break; //#20180607 해피오더 리스트 전체 조회 기능 추가 end case "01": // 내점 alTemp = m_alPickupLists; break; case "02": // 배달 alTemp = m_alDeliveryLists; break; case "03": // 사전예약 alTemp = m_alPreReservLists; break; case "04": // 오더폼 내점 alTemp = m_alYJPickupLists; break; case "05": // 오더폼 배달 alTemp = m_alYJDeliveryLists; break; } foreach(Column.TR_HPORD.HPORD_HEADER header in alTemp) { DataRow drNew = m_dtGrid.NewRow(); //#20180607 해피오더 리스트 전체 조회 기능 추가 start if (header.OrderType == "5") { drNew["ORDER_NAME"] = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0423); } else if (header.OrderType == "6") { drNew["ORDER_NAME"] = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0908); } else { drNew["ORDER_NAME"] = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0422); } //#20180607 해피오더 리스트 전체 조회 기능 추가 end drNew["ORDER_DT"] = header.OrderDate.Substring(0, 10); drNew["ORDER_NO"] = header.OrderNum; drNew["PICKUP_DELIVERY_DT"] = header.PickupTime; //#20180612 해피오더 주문알림 start //기존 //drNew["TEL"] = header.ReceiverHp.Substring(header.ReceiverHp.Length - 4, 4); //변경 drNew["TEL"] = CmUtil.MidH(header.ReceiverHp, header.ReceiverHp.Length - 4, 4); //#20180612 해피오더 주문알림 end if (header.FieldPay == "Y") { drNew["STATUS"] = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0846); } else { drNew["STATUS"] = htStatus[header.OrderStatus].ToString(); } //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 //drNew["DDAY"] = header.DDay; //변경 //ex) H-02 -> 2시간 후, H+02 -> 2시간 경과 D-02 -> 2일 후, D+02 -> 2일 경과 string iDDay = CmUtil.MidH(header.DDay, 0, 1); if (iDDay == "D") { // day //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20181001 //일자 계산시 3자리 넘어가는 경우 앞2자리만 표시 //기존 //int iDay = CmUtil.IntParse(CmUtil.MidH(header.DDay, 1, 3)); //변경 int iDay = CmUtil.IntParse(CmUtil.MidH(header.DDay, 1, header.DDay.Length - 1)); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20181001 if (iDay > 0) { // + drNew["DDAY"] = iDay + "일 경과"; } else { // - drNew["DDAY"] = (iDay * -1) + "일 후"; } } else { // time //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20181001 //기존 //int iTime = CmUtil.IntParse(CmUtil.MidH(header.DDay, 1, 3)); //변경 int iTime = CmUtil.IntParse(CmUtil.MidH(header.DDay, 1, header.DDay.Length - 1)); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20181001 if (iTime > 0) { // + drNew["DDAY"] = iTime + "시간 경과"; } else { // - drNew["DDAY"] = (iTime * -1) + "시간 후"; } } drNew["DDAY_TYPE"] = header.DDay.Trim(); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#20180607 해피오더 리스트 전체 조회 기능 추가 start drNew["ORDER_TYPE"] = header.OrderType.Trim(); //#20180607 해피오더 리스트 전체 조회 기능 추가 end m_dtGrid.Rows.Add(drNew); } gridHappyOrderList.CsmGridDataSource = m_dtGrid; gridHappyOrderList.CsmGridSelectRow(0); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20181001 //기존 //for (int i = 0; i <= gridHappyOrderList.CsmGridRowsCount; i++) //변경 for (int i = 0; i <= gridHappyOrderList.CsmGridRowsCount - 1; i++) //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20181001 { string sOrderStatus = m_dtGrid.Rows[i]["STATUS"].ToString().Trim(); // string sDDayType = m_dtGrid.Rows[i]["DDAY_TYPE"].ToString().Trim(); gridHappyOrderList.CsmGridGetRow(i).DefaultCellStyle.BackColor = Color.White; string sOrderStatusKey = OrderStatusKey(sOrderStatus); //선택한 주문 건이 주문접수 일 때 하늘색으로 라인 표시 (RGB:198,217,241) //if (sOrderStatus == "주문접수") if (sOrderStatusKey == ItemConst.HAPPYORDER_STATUS.ORDER_REG) { gridHappyOrderList.CsmGridGetRow(i).DefaultCellStyle.BackColor = Color.FromArgb(198, 217, 241); } //#20181030 픽업 한 시간 이하일 때 다홍색으로 라인 표시 start //기존 /* //픽업 컬럼 내용이 H-01이면 바탕색 다홍색으로 표현 (RGB:230,185,184) if (sDDayType == "H-01") { gridHappyOrderList.CsmGridGetRow(i).DefaultCellStyle.BackColor = Color.FromArgb(230, 185, 184); } */ //변경 string iDDay = CmUtil.MidH(sDDayType, 0, 1); if (iDDay == "H") { int iTime = CmUtil.IntParse(CmUtil.MidH(sDDayType, 1, sDDayType.Length - 1)); if (-01 <= iTime && iTime <= 00) { gridHappyOrderList.CsmGridGetRow(i).DefaultCellStyle.BackColor = Color.FromArgb(230, 185, 184); } } //#20181030 픽업 한 시간 이하일 때 다홍색으로 라인 표시 end } gridHappyOrderList.Refresh(); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end ReadyToBarcode(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } /// /// 신규 주문 리스트 조회 /// private bool GetHappyOrderList(ORDER_DIV orderDiv) { try { Hashtable htRequest = new Hashtable(); Hashtable htResponse = new Hashtable(); int iReturn = 0; if (orderDiv == ORDER_DIV.HAPPY_ORDER) { #region 해피오더 내점/배달 주문 리스트 조회 //Hashtable htRequest = new Hashtable(); htRequest.Add("storeCode", m_cPosStatus.Base.StoreNo); //htRequest.Add("storeCode", "11101"); //htRequest.Add("status", 4); htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.ORDER_REG); htRequest.Add("deviceType", "POS"); //#20180126 해피오더 당일픽업 건 보여주기 start,phj, 20180321 if (m_sPicupSearch == "Y") { htRequest.Add("orderDate", m_cPosStatus.Base.SaleDate); } //#20180126 해피오더 당일픽업 건 보여주기 end,phj, 20180321 htResponse = null; iReturn = BaseCom.NG; m_htOrderLists = m_cHappyOrder.SendReceiveForHappyOrder(new object[] { m_sHappyOrderURL, ItemConst.HAPPYORDER_WORK_TYPE.SELECT_ORDER_LIST, htRequest }, ref htResponse, ref iReturn); if (iReturn != BaseCom.OK) { return false; } //m_cHappyOrderHeader.Clear(); //#20180607 해피오더 리스트 전체 조회 기능 추가 start m_alTotalLists.Clear(); //#20180607 해피오더 리스트 전체 조회 기능 추가 end m_alDeliveryLists.Clear(); m_alPickupLists.Clear(); m_alPreReservLists.Clear(); //#20171215, 해피오더 주문리스트 조회 시 해피오더 테이블 데이터 삭제 후 저장하도록 수정 Start // 해피오더 헤더정보 DB 삭제 m_cHappyOrder.DeleteHappyOrderAllData(); //#20171215, 해피오더 주문리스트 조회 시 해피오더 테이블 데이터 삭제 후 저장하도록 수정 End if (m_htOrderLists != null && m_htOrderLists.Length > 0) { foreach (Hashtable htData in m_htOrderLists) { Column.TR_HPORD.HPORD_HEADER header; header = m_cHappyOrder.ParseHappyOrderList(htData); // 해피오더 헤더정보 DB 처리 m_cHappyOrder.SaveHappyOrderData(header); //#20180126 해피오더 당일픽업 건 보여주기 start,phj //#20180126 해피오더 당일픽업 건 보여주기 start,phj, 20180321 //기존 소스 주석 //리스트 조회시 픽업일자로 조회하게 변경하면서 주석 /* if (m_sPicupSearch == "Y") { string sPickupTime = string.Empty; sPickupTime = header.PickupTime.Substring(0, 4) + header.PickupTime.Substring(5, 2) + header.PickupTime.Substring(8, 2); if (CmUtil.LongParse(sPickupTime) != CmUtil.LongParse(m_cPosStatus.Base.SaleDate)) continue; } */ //#20180126 해피오더 당일픽업 건 보여주기 end,phj, 20180321 //#20180126 해피오더 당일픽업 건 보여주기 end,phj //m_cHappyOrderHeader.Add(header); //#15710 확인요청)해피오더 주문내역 오류건 수정요청 start //즉시주문: 주문일자와 픽업/배달요청일자가 동일한 주문 건 //예약주문: 주문일자와 픽업/배달요청일자가 상이한 주문 건 //해피오더 주문건 표시 중 immediateOrder항목은 사용하지 말고 위 계산식 기준으로 즉시주문인지 예약주문인지 구분하여 수정 string sPickupData = string.Empty; string sOrderData = string.Empty; sPickupData = header.PickupTime.Substring(0, 4) + header.PickupTime.Substring(5, 2) + header.PickupTime.Substring(8, 2); sOrderData = header.OrderDate.Substring(0, 4) + header.OrderDate.Substring(5, 2) + header.OrderDate.Substring(8, 2); //#15710 확인요청)해피오더 주문내역 오류건 수정요청 end //#20180612 해피오더 주문알림 start //변경 if (m_sPicupSearch == "A") { //#15710 확인요청)해피오더 주문내역 오류건 수정요청 start //즉시주문: 주문일자와 픽업/배달요청일자가 동일한 주문 건 //예약주문: 주문일자와 픽업/배달요청일자가 상이한 주문 건 //해피오더 주문건 표시 중 immediateOrder항목은 사용하지 말고 위 계산식 기준으로 즉시주문인지 예약주문인지 구분하여 수정 //기존 //if (header.immediateOrder != "Y") continue; //변경 if (header.OrderStatus != ItemConst.HAPPYORDER_STATUS.ORDER_REG) continue; if (sPickupData != sOrderData) continue; //#15710 확인요청)해피오더 주문내역 오류건 수정요청 end //iOrdCnt_Direct ->즉시픽업 건수 계산 //htData["status"].ToString() == ItemConst.HAPPYORDER_STATUS.ORDER_REG: //htData["type"].ToString() == ItemConst.ORDER_TYPE.DIRECT_ORDER) //iOrdCnt_Reserv -> 즉시배달 //htData["status"].ToString() == ItemConst.HAPPYORDER_STATUS.ORDER_REG: //htData["type"].ToString() == ItemConst.ORDER_TYPE.RESERV_ORDER) //if ((header.OrderType == ItemConst.ORDER_TYPE.DIRECT_ORDER || header.OrderType == ItemConst.ORDER_TYPE.RESERV_ORDER) == false) continue; } else if (m_sPicupSearch == "B") { //#15710 확인요청)해피오더 주문내역 오류건 수정요청 start //즉시주문: 주문일자와 픽업/배달요청일자가 동일한 주문 건 //예약주문: 주문일자와 픽업/배달요청일자가 상이한 주문 건 //해피오더 주문건 표시 중 immediateOrder항목은 사용하지 말고 위 계산식 기준으로 즉시주문인지 예약주문인지 구분하여 수정 //기존 //if (header.immediateOrder != "N") continue; //변경 if (header.OrderStatus != ItemConst.HAPPYORDER_STATUS.ORDER_REG) continue; if (sPickupData == sOrderData) continue; //#15710 확인요청)해피오더 주문내역 오류건 수정요청 end //예약접수 건이 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")); //iOrderRegNormalCnt -> //htData["status"].ToString() == ItemConst.HAPPYORDER_STATUS.ORDER_REG //htData["type"].ToString() == ItemConst.ORDER_TYPE.SHOP_DIRECT || ItemConst.ORDER_TYPE.SHOP_TIME // //iOrderRegDeliveryCnt -> //htData["status"].ToString() == ItemConst.HAPPYORDER_STATUS.ORDER_REG //htData["type"].ToString() == ItemConst.ORDER_TYPE.INNER_DELIVERY || ItemConst.ORDER_TYPE.OUTTER_DELIVERY // //iOrderRegReservedCnt -> //htData["status"].ToString() == ItemConst.HAPPYORDER_STATUS.ORDER_REG //htData["type"].ToString() == ItemConst.ORDER_TYPE.RESERVED_ORDER || ItemConst.ORDER_TYPE.PRE_RESERVED //if (header.OrderType == ItemConst.ORDER_TYPE.DIRECT_ORDER || header.OrderType == ItemConst.ORDER_TYPE.RESERV_ORDER) continue; //if ((header.OrderType == ItemConst.ORDER_TYPE.SHOP_DIRECT || // header.OrderType == ItemConst.ORDER_TYPE.SHOP_TIME || // header.OrderType == ItemConst.ORDER_TYPE.INNER_DELIVERY || // header.OrderType == ItemConst.ORDER_TYPE.OUTTER_DELIVERY || // header.OrderType == ItemConst.ORDER_TYPE.RESERVED_ORDER || // header.OrderType == ItemConst.ORDER_TYPE.PRE_RESERVED) == false) continue; } //#20180612 해피오더 주문알림 end // // 주문유형("type") : 1-매장즉시, 2-매장시간, 3-예약주문, 4-내부배달, 5-외부배달, 6-사전예약 // //#20180607 해피오더 리스트 전체 조회 기능 추가 start m_alTotalLists.Add(header); //#20180607 해피오더 리스트 전체 조회 기능 추가 end if (header.OrderType.Equals("5")) // 배달 { m_alDeliveryLists.Add(header); } else if (header.OrderType.Equals("6")) // 사전예약 { m_alPreReservLists.Add(header); } else // 내점 { m_alPickupLists.Add(header); } } } #endregion 해피오더 내점/배달 주문 리스트 조회 } else if (orderDiv == ORDER_DIV.YANGJAE_ORDER) { #region 양재오더 내점/배달 주문 리스트 조회 htRequest.Clear(); htRequest.Add("storeCode", m_cPosStatus.Base.StoreNo); htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.ORDER_REG); htRequest.Add("deviceType", "POS"); htResponse.Clear(); iReturn = BaseCom.NG; m_htYJOrderLists = m_cHappyOrder.SendReceiveForHappyOrder(new object[] { m_sYangJaeOrderURL, ItemConst.YANGJAEORDER_WORK_TYPE.SELECT_ORDER_LIST, htRequest }, ref htResponse, ref iReturn); if (iReturn != BaseCom.OK) { return false; } m_alYJDeliveryLists.Clear(); m_alYJPickupLists.Clear(); //#20171215, 해피오더 주문리스트 조회 시 해피오더 테이블 데이터 삭제 후 저장하도록 수정 Start // 해피오더 헤더정보 DB 삭제 m_cHappyOrder.DeleteHappyOrderAllData(); //#20171215, 해피오더 주문리스트 조회 시 해피오더 테이블 데이터 삭제 후 저장하도록 수정 End if (m_htYJOrderLists != null && m_htYJOrderLists.Length > 0) { foreach (Hashtable htData in m_htYJOrderLists) { Column.TR_HPORD.HPORD_HEADER header; header = m_cHappyOrder.ParseHappyOrderList(htData); // 해피오더 헤더정보 DB 처리 m_cHappyOrder.SaveHappyOrderData(header); // // 주문유형("type") : 1-매장즉시, 2-매장시간, 3-예약주문, 4-내부배달, 5-외부배달, 6-사전예약 // if (header.OrderType.Equals("5")) // 배달 { m_alYJDeliveryLists.Add(header); } else // 내점 { m_alYJPickupLists.Add(header); } } } #endregion 양재오더 내점/배달 주문 리스트 조회 } return true; } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); return false; } } ///// ///// 옵션상품목록 Parsing ///// ///// //private void ParseOptionList(string sJsonData) //{ // Hashtable[] htOptionList = null; // try // { // htOptionList = m_cHappyOrder.ParseJsonString(sJsonData); // for(int nLoop = 0;nLoop < htOptionList.Length;nLoop++) // { // Hashtable htData = htOptionList[nLoop]; // int iPosType = htData["posType"].ToString().Trim().Equals(string.Empty) ? 0 : int.Parse(htData["posType"].ToString()); // if(iPosType > 0) // { // this.ParseOptionGoodsList(htData["goodsOptionGoodsList"].ToString()); // } // } // } // catch (Exception ex) // { // UserLog.WriteLogFile(UserCom.LOG_ERROR, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) // ex.Message); // } //} ///// ///// 상세옵션상품목록 Parsing ///// ///// //private void ParseOptionGoodsList(string sJsonData) //{ // Hashtable[] htOptionGoodsList = null; // try // { // htOptionGoodsList = m_cHappyOrder.ParseJsonString(sJsonData); // for(int nLoop = 0;nLoop < htOptionGoodsList.Length;nLoop++) // { // Hashtable htData = htOptionGoodsList[nLoop]; // Column.TR_HPORD.HPORD_ITEM item = new Column.TR_HPORD.HPORD_ITEM(); // item.OrderNum = htData["orderSubNum"].ToString(); // item.OrderSeq = Convert.ToString(m_cHappyOrderItem.Count + 1); // item.GoodsCode = htData["posGoodsCode"].ToString(); // item.GoodsName = htData["goodsName"].ToString(); // item.SupplyPrice = htData["salePrice"].ToString(); // item.SalePrice = htData["salePrice"].ToString(); // item.DiscountPrice = htData["discountPrice"].ToString(); // item.Qty = htData["ea"].ToString(); // if(htData["posGoodsCode"].ToString() != "0" && htData["posGoodsCode"].ToString() != "") // { // item.FlavourFlag = "Y"; // } // m_cHappyOrderItem.Add(item); // } // } // catch(Exception ex) // { // UserLog.WriteLogFile(UserCom.LOG_ERROR, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) // ex.Message); // } //} /// /// 주문서 데이터 생성 /// /// private void MakeOrderSheet(int iIndex) { //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //기존 //Column.TR_HPORD.HPORD_HEADER header; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end try { InitOrderDetail(); //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs //순서 변경 ////m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_VER, PosConst.PRT_FMT.F103, "[ 해피오더 주문내역 ]"); //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_VER, PosConst.PRT_FMT.F103, "[ " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0559) + " ]"); //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //기존 #region /* //#20180607 해피오더 리스트 전체 조회 기능 추가 start if (PosMenuKeyIn == "00") // 전체 { header = (Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iIndex]; } else //#20180607 해피오더 리스트 전체 조회 기능 추가 end if(PosMenuKeyIn == "01") // 내점 { header = (Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iIndex]; } else if(PosMenuKeyIn == "02") // 배달 { header = (Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iIndex]; } else if(PosMenuKeyIn == "03") // 사전예약 { header = (Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iIndex]; } else if(PosMenuKeyIn == "04") // 양재오더 내점 { header = (Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[iIndex]; } else // 양재오더 배달 { header = (Column.TR_HPORD.HPORD_HEADER)m_alYJDeliveryLists[iIndex]; } */ #endregion //변경 Column.TR_HPORD.HPORD_HEADER header = null; header = GetHappyHeader(PosMenuKeyIn, iIndex); //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (header == null) return; //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs if (header.ChannelName != string.Empty) //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs { m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_VER, PosConst.PRT_FMT.F103, "[ " + header.ChannelName + " ]"); } else if (header.OwnerId == "BLUEBEE" && m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) { m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_VER, PosConst.PRT_FMT.F103, "[ " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1028) + " ]"); } else { m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_VER, PosConst.PRT_FMT.F103, "[ " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0559) + " ]"); } m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); if (header.OrderStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED) { //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, "[ 픽업 완료 ]"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, "[ " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0947) + " ]"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); } if (header.OrderStatus == ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL) { //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, "[ 주문 취소 ]"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, "[ " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0948) + " ]"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); } //grayber@20171123 해피오더 직접배달 start if (header.OrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) { //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, "[ 직접 배달 ]"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, "[ " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1080) + " ]"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); } //grayber@20171123 해피오더 직접배달 end string sPickupTimeMsg = string.Empty; if(header.OrderType == "1") { // 주문유형이 '매장즉시'라면 sPickupTimeMsg = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0946) + (header.FieldPay == "Y" ? "(" + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0846) + ")" : ""); } else { sPickupTimeMsg = header.PickupTime; } //#20180607 해피오더 리스트 전체 조회 기능 추가 start if (PosMenuKeyIn == "00") { // ("01":내점, "02":배달", "03":사전예약, "04":오더폼내점, "05":오더폼배달) //if (PosMenuKeyIn == "02" || PosMenuKeyIn == "05") //#17141 [해피오더]배달영수증 주소 추가 start //기존 // 주문타입(1:매장즉시,2:매장시간,3:예약주문, 4:내부배달, 5:외부배달, 6:사전예약) //if (header.OrderType == "5") //변경 // 주문타입(1:매장즉시,2:매장시간,3:예약주문, 4:내부배달, 5:외부배달, 6:사전예약) if (header.OrderType == "4" || header.OrderType == "5") //#17141 [해피오더]배달영수증 주소 추가 end { // 배달일 경우 배달시간 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0953) + " : " + sPickupTimeMsg); } else { // 픽업일 경우 픽업시간 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0949) + " : " + sPickupTimeMsg); } } else //#20180607 해피오더 리스트 전체 조회 기능 추가 end if (PosMenuKeyIn == "02" || PosMenuKeyIn == "05") { // 배달일 경우 배달시간 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0953) + " : " + sPickupTimeMsg); } else { //// 픽업일 경우 픽업시간 //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 픽업시간 : " + sPickupTimeMsg); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0949) + " : " + sPickupTimeMsg); } //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 주문번호 : " + header.OrderNum); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0420) + " : " + header.OrderNum); //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 주문일시 : " + header.OrderDate); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0950) + " : " + header.OrderDate); if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 수 령 자 : " + header.Receiver + " " + header.ReceiverHp); //#17141 [해피오더]배달영수증 주소 추가 start //기존 //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0951) + " : " + header.Receiver + " " + header.ReceiverHp); //변경 string sRecviver = string.Format("{0}{1}{2}", CmUtil.LeftH(header.Receiver, 2), ((header.Receiver.Length > 2) ? new string('*', header.Receiver.Length - 2) : "*"), CmUtil.RightH(header.Receiver, 2)); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1189) + " : " + sRecviver); //#17533 해피오더)영수증/주문서 전화번호 항목 추가 start m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0952) + " : " + header.ReceiverHp); //#17533 해피오더)영수증/주문서 전화번호 항목 추가 end //#17533 해피오더)영수증/주문서 전화번호 항목 추가 start //기존 //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1087) + " : " + header.Address1 + " " + ((header.Address2.Trim() == string.Empty) ? string.Empty : header.Address2)); //#17533 해피오더)영수증/주문서 전화번호 항목 추가 end //#17141 [해피오더]배달영수증 주소 추가 end } else if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) //20171215_해피오더연락처 정보 수정_hs { //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 start //기존 //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0952) + " : " + header.ReceiverHp); //변경 string sRecviver = string.Format("{0}{1}{2}", CmUtil.LeftH(header.Receiver, 2), ((header.Receiver.Length > 2) ? new string('*', header.Receiver.Length - 2) : "*" ), CmUtil.RightH(header.Receiver, 2)); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0951) + " : " + sRecviver); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0952) + " : " + header.ReceiverHp.Substring(header.ReceiverHp.Length - 4, 4)); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1087) + " :" + header.Address1 + " " + ((header.Address2.Trim() == string.Empty) ? string.Empty : header.Address2)); //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 end } else { //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 연 락 처 : " + header.ReceiverHp.Substring(header.ReceiverHp.Length - 4, 4)); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0952) + " : " + header.ReceiverHp.Substring(header.ReceiverHp.Length - 4, 4)); } if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { //if (PosMenuKeyIn == "02" || PosMenuKeyIn == "05") //{ // // 배달일 경우 배달기사 정보 // m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0954) + " : " + header.DeliveryName + " " + header.DeliveryHp); //} //#20180607 해피오더 리스트 전체 조회 기능 추가 start if (PosMenuKeyIn == "00") { //#17141 [해피오더]배달영수증 주소 추가 start //기존 //if (header.OrderType == "5") //변경 if (header.OrderType == "5" || header.OrderType == "4") //#17141 [해피오더]배달영수증 주소 추가 end { if (header.OrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REG || header.OrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_ING || header.OrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED) { // 배달일 경우 배달기사 정보 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0954) + " : " + header.DeliveryName + " " + header.DeliveryHp); } } } else //#20180607 해피오더 리스트 전체 조회 기능 추가 end if(PosMenuKeyIn == "02") { if(header.OrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REG || header.OrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_ING || header.OrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED) { // 배달일 경우 배달기사 정보 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0954) + " : " + header.DeliveryName + " " + header.DeliveryHp); } } else if(PosMenuKeyIn == "05") { if (header.OrderStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_REG || header.OrderStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_ING || header.OrderStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_COMPLETED) { // 배달일 경우 배달기사 정보 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0954) + " : " + header.DeliveryName + " " + header.DeliveryHp); } } } //17.08.22 dkshin SS 해피오더 //대기번호표시 if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1" || PosMstManager.GetPosOption(POS_OPTION.OPT048) != "0") { m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 대기번호 : " + header.DailyCode); } m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " ITEM QTY AMT"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); //#17332 해피오더)주문서에 상세금액 추가 start int iTotPrice = 0;//총매출액 int iTotDiscountPrice = 0;//총할인금액 int iOrderPrice = 0;//총합계금액(매출액-할인금액) int iPayPrice = 0;//총받은금액(결제금액) iPayPrice = int.Parse(header.PayMoney); //#17332 해피오더)주문서에 상세금액 추가 end for (int nLoop = 0; nLoop < m_cHappyOrderItem.Count; nLoop++) { Column.TR_HPORD.HPORD_ITEM item = (Column.TR_HPORD.HPORD_ITEM)m_cHappyOrderItem[nLoop]; int itemPrice = 0; int itemQty = 0; int itemDiscountPrice = 0; itemPrice = int.Parse(item.SupplyPrice.Trim() == "" ? "0" : item.SupplyPrice.Trim()); itemQty = int.Parse(item.Qty.Trim() == "" ? "0" : item.Qty.Trim()); itemDiscountPrice = int.Parse(item.DiscountPrice.Trim() == "" ? "0" : item.DiscountPrice.Trim()); //#17332 해피오더)주문서에 상세금액 추가 start iTotPrice += itemPrice * itemQty;//총매출금액 iTotDiscountPrice += itemDiscountPrice * itemQty;//총할인금액 iOrderPrice += (itemPrice * itemQty) - (itemDiscountPrice * itemQty);//총합계금액 //#17332 해피오더)주문서에 상세금액 추가 end if (CmUtil.StringNullEmpty(item.FlavourFlag).Equals("N") == false) { //#15485 PB 강남일원 - 제품명이 길어 짤리는 증상 수정 요청 start // 기존 //if (PosMstManager.GetPosOption(POS_OPTION.OPT414) == "2") // 변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT433) == "2") //#15485 PB 강남일원 - 제품명이 길어 짤리는 증상 수정 요청 end { m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " >" + CmUtil.RPadH(item.GoodsName, 40)); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, CmUtil.RPadH("", 27) + CmUtil.LPadH(item.Qty, 4) + CmUtil.LPadH(CmUtil.GetToMoney(Convert.ToString((itemPrice - itemDiscountPrice) * itemQty)), 11)); } else { m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " >" + CmUtil.RPadH(item.GoodsName, 25) + CmUtil.LPadH(item.Qty, 4) + CmUtil.LPadH(CmUtil.GetToMoney(Convert.ToString((itemPrice - itemDiscountPrice) * itemQty)), 11)); } } else { //#15485 PB 강남일원 - 제품명이 길어 짤리는 증상 수정 요청 start // 기존 //if (PosMstManager.GetPosOption(POS_OPTION.OPT414) == "2") // 변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT433) == "2") //#15485 PB 강남일원 - 제품명이 길어 짤리는 증상 수정 요청 end { m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, CmUtil.RPadH(item.GoodsName, 42)); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, CmUtil.RPadH("", 27) + CmUtil.LPadH(item.Qty, 4) + CmUtil.LPadH(CmUtil.GetToMoney(Convert.ToString((itemPrice - itemDiscountPrice) * itemQty)), 11)); } else { m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, CmUtil.RPadH(item.GoodsName, 27) + CmUtil.LPadH(item.Qty, 4) + CmUtil.LPadH(CmUtil.GetToMoney(Convert.ToString((itemPrice - itemDiscountPrice) * itemQty)), 11)); } } } m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); //#17332 해피오더)주문서에 상세금액 추가 start #region 기존소스 /* //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, // " 합계금액 " + // header.FieldPay == "Y" ? CmUtil.LPadH(CmUtil.GetToMoney(header.OrderMoney), 11) : CmUtil.LPadH(CmUtil.GetToMoney(header.PayMoney), 11)); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0957), header.FieldPay == "Y" ? CmUtil.GetToMoney(header.OrderMoney) : CmUtil.GetToMoney(header.PayMoney)); */ #endregion 기존소스 #region 변경소스 //- 총매출액 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, //" " + MessageManager.GetLabelMessage(POS_MESSAGE.PRINT.MSG_0007), " " + "총매출액", CmUtil.GetToMoney(iTotPrice.ToString())); //- 할인금액 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, //" " + MessageManager.GetLabelMessage(POS_MESSAGE.PRINT.MSG_0079), " " + "할인금액", CmUtil.GetToMoney(iTotDiscountPrice.ToString())); //- 합계금액 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, //" " + MessageManager.GetLabelMessage(POS_MESSAGE.PRINT.MSG_0010), " " + "합계금액", CmUtil.GetToMoney(iOrderPrice.ToString())); //- 받은금액 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F200, //" " + MessageManager.GetLabelMessage(POS_MESSAGE.PRINT.MSG_0018), " " + "받은금액", CmUtil.GetToMoney(iPayPrice.ToString())); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); #endregion 변경소스 //#17332 해피오더)주문서에 상세금액 추가 end m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); //#17141 [해피오더]배달영수증 주소 추가 start //기존 /* //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 start // 원산지 표기 관련 출력 if (PosMenuKeyIn.Equals("02") == true && m_cPosStatus.Mst.CorpDiv.Equals(ItemConst.CORP_DIV.BR) == true ) { //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 start - 기존 영양정보 호출로 대체 //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); //foreach (string nurtData in m_alHappyNurtitionOrderItem) //{ // if (nurtData != string.Empty) m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, nurtData); //} //m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); DataTable dtReturn = m_cHappyOrder.GetHappyOrderData(header.OrderNum, header.OrderDate.Substring(0, 10).Replace("-", "")); if (dtReturn != null && dtReturn.Rows.Count > 0) { DataRow drData = dtReturn.Rows[0]; string sNutritionMsg = CmUtil.GetDataRowStr(drData, "NUTRITION_MSG"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sNutritionMsg); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); } //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 end } //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 end */ //변경 if ((PosMenuKeyIn == "02") || (PosMenuKeyIn == "00" && (header.OrderType == "5" || header.OrderType == "4"))) { DataTable dtReturn = m_cHappyOrder.GetHappyOrderData(header.OrderNum, header.OrderDate.Substring(0, 10).Replace("-", "")); if (dtReturn != null && dtReturn.Rows.Count > 0) { DataRow drData = dtReturn.Rows[0]; string sNutritionMsg = CmUtil.GetDataRowStr(drData, "NUTRITION_MSG"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sNutritionMsg); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); } } //#17141 [해피오더]배달영수증 주소 추가 end //#20180323 해피오더 영수증 재발행시 원산지 정보 출력 기능 수정 start //주문서 출력시 원산지 정보 출력, 재발행시 원산지 정보 미출력되도록 수정 /* else if (m_cPosStatus.Mst.CorpDiv.Equals(ItemConst.CORP_DIV.PC) == true) { DataTable dtReturn = m_cHappyOrder.GetHappyOrderData(header.OrderNum, header.OrderDate.Substring(0, 10).Replace("-", "")); if (dtReturn != null && dtReturn.Rows.Count > 0) { DataRow drData = dtReturn.Rows[0]; string sNutritionMsg = CmUtil.GetDataRowStr(drData, "NUTRITION_MSG"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, sNutritionMsg); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); } } */ //#20180323 해피오더 영수증 재발행시 원산지 정보 출력 기능 수정 end if (header.CustMsg != string.Empty) { m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, "************** 고객요청사항 **************"); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, header.CustMsg); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "*"); } //#17140 [해피오더]주문정보 바코드 활용 주문상태 변경 간소화 start //해피오더 주문서 출력시 바코드 출력 되도록 수정 m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_BAR, "", "999" + header.OrderNum); m_cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); //#17140 [해피오더]주문정보 바코드 활용 주문상태 변경 간소화 end ArrayList alPrintData = m_cHappyOrder.GetPrintBufferData(); for (int nLoop = 0; nLoop < alPrintData.Count; nLoop++) { txtPrtData.AppendText(alPrintData[nLoop].ToString().Substring(5) + "\r\n"); } txtPrtData.Refresh(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void DisplayDetailList() { try { //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //기존 #region 기존소스 /* int iRowIndex = gridHappyOrderList.CsmGridSelectedRowIndex; InitOrderDetail(); //#20180607 해피오더 리스트 전체 조회 기능 추가 start if (m_dtGrid.Rows.Count == 0) { MenuDisplay(); } else { MenuDisplay(m_dtGrid.Rows[iRowIndex]["ORDER_TYPE"].ToString()); } //#20180607 해피오더 리스트 전체 조회 기능 추가 end if (m_dtGrid.Rows.Count == 0) return; */ #endregion //변경 //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 start BtnImageClear(); BtnImageDefault(); //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 end InitOrderDetail(); int iRowIndex = gridHappyOrderList.CsmGridSelectedRowIndex; if (MenuDisplay(iRowIndex) == false) return; if (m_dtGrid.Rows.Count == 0) return; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start BtnImageDisplay(iRowIndex); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end string sOrderNum = m_dtGrid.Rows[iRowIndex]["ORDER_NO"].ToString(); string sOrderDt = m_dtGrid.Rows[iRowIndex]["ORDER_DT"].ToString(); //#17141 [해피오더]배달영수증 주소 추가 start string sOrderType = m_dtGrid.Rows[iRowIndex]["ORDER_TYPE"].ToString(); //#17141 [해피오더]배달영수증 주소 추가 end m_sOrderNum = sOrderNum; m_sOrderDt = sOrderDt.Substring(0, 10).Replace("-", ""); WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0437)), this); //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //if (PosMenuKeyIn == "01" || PosMenuKeyIn == "02" || PosMenuKeyIn == "03") //변경 if (PosMenuKeyIn == "00" || PosMenuKeyIn == "01" || PosMenuKeyIn == "02" || PosMenuKeyIn == "03") //#20180607 해피오더 리스트 전체 조회 기능 추가 end { // 해피오더 리스트 상세 조회 m_cHappyOrder.GetHappyOrderListDetail(sOrderNum, m_sHappyOrderURL, ref m_cHappyOrderItem, ref m_htOrderLists); //#17141 [해피오더]배달영수증 주소 추가 start //기존 /* //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 start if (PosMenuKeyIn.Equals("02") == true && m_cPosStatus.Mst.CorpDiv.Equals(ItemConst.CORP_DIV.BR) == true) { //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 start - 기존 기능으로 대체하며 파라메터 변경 //m_cHappyOrder.GetHappyOrderNurtitionListDetail(sOrderNum, m_sHappyOrderURL, ref m_alHappyNurtitionOrderItem, ref m_htOrderNutritionLists); m_cHappyOrder.GetHappyOrderNurtitionListDetail(sOrderNum, m_sHappyOrderURL, sOrderDt.Replace("-", "")); //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 end } //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 end */ //변경 if ((PosMenuKeyIn == "02") || (PosMenuKeyIn == "00" && (sOrderType == "5" || sOrderType == "4"))) { m_cHappyOrder.GetHappyOrderNurtitionListDetail(sOrderNum, m_sHappyOrderURL, sOrderDt.Replace("-", "")); } //#17141 [해피오더]배달영수증 주소 추가 end //#20180323 해피오더 영수증 재발행시 원산지 정보 출력 기능 수정 start //주문서 출력시 원산지 정보 출력, 재발행시 원산지 정보 미출력되도록 수정 /* else if (m_cPosStatus.Mst.CorpDiv.Equals(ItemConst.CORP_DIV.PC) == true) { m_cHappyOrder.GetHappyOrderNurtitionListDetail(sOrderNum, m_sHappyOrderURL, sOrderDt.Replace("-", "")); } */ //#20180323 해피오더 영수증 재발행시 원산지 정보 출력 기능 수정 end } else if (PosMenuKeyIn == "04" || PosMenuKeyIn == "05") { // 양재오더 리스트 상세 조회 m_cHappyOrder.GetHappyOrderListDetail(sOrderNum, m_sYangJaeOrderURL, ref m_cHappyOrderItem, ref m_htYJOrderLists); } MakeOrderSheet(iRowIndex); //#17141 [해피오더]배달영수증 주소 추가 start //기존 /* //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 start // 원산지데이터 출력으로 최하단으로 내려가서 텍스트박스 화면을 상단으로 이동 if (PosMenuKeyIn == "02" && m_cPosStatus.Mst.CorpDiv.Equals(ItemConst.CORP_DIV.BR) == true) { txtPrtData.Select(0, 1); txtPrtData.ScrollToCaret(); // 출력창 최상단으로 이동 vScrollbar.Value = 0; // 스크롤 최상단으로 이동 } //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 end */ //변경 if ((PosMenuKeyIn == "02") || (PosMenuKeyIn == "00" && (sOrderType == "5" || sOrderType == "4"))) { txtPrtData.Select(0, 1); txtPrtData.ScrollToCaret(); // 출력창 최상단으로 이동 vScrollbar.Value = 0; // 스크롤 최상단으로 이동 } //#17141 [해피오더]배달영수증 주소 추가 end //#20180323 해피오더 영수증 재발행시 원산지 정보 출력 기능 수정 start //주문서 출력시 원산지 정보 출력, 재발행시 원산지 정보 미출력되도록 수정 /* else if (m_cPosStatus.Mst.CorpDiv.Equals(ItemConst.CORP_DIV.PC) == true) { txtPrtData.Select(0, 1); txtPrtData.ScrollToCaret(); // 출력창 최상단으로 이동 vScrollbar.Value = 0; // 스크롤 최상단으로 이동 } */ //#20180323 해피오더 영수증 재발행시 원산지 정보 출력 기능 수정 end WinManager.HideSearchMessage(this); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void btnProc_Click(object sender, EventArgs e) { try { if (((Cosmos.UI.CsmButton)sender) == btnSearch) // 조회 { WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0437)), this); InitOrderDetail(); if(GetHappyOrderList(ORDER_DIV.HAPPY_ORDER) == false) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0048)); } else { SetDataOnGrid(); } if (PosMstManager.GetPosOption(POS_OPTION.OPT318) == "1") { if (GetHappyOrderList(ORDER_DIV.YANGJAE_ORDER) == false) { //WinManager.HideSearchMessage(this); WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0048)); } else { SetDataOnGrid(); } } WinManager.HideSearchMessage(this); ReadyToBarcode(); DisplayDetailList(); } else if (((Cosmos.UI.CsmButton)sender) == btnPrint) // 출력 { //#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 start //기존 /* //주문서 출력 bool bReturn = m_cHappyOrder.PrintOrderSheet(); */ //변경 //주문서 출력 bool bReturn = m_cHappyOrder.PrintOrderSheet("D", false); //#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 end if(bReturn == true) { // 해당 주문의 주문서 출력여부 Update m_cHappyOrder.UpdateHappyOrderData(new string[] { "PRINT", "1", m_sOrderNum, m_sOrderDt }); } } } 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 btnExit_Click(object sender, EventArgs e) { try { m_cPosStatus.Base.HappyOrderMode = string.Empty; m_sPosMenuKeyIn = ""; 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); } } private void btnGrid_Click(object sender, EventArgs e) { try { if ((Cosmos.UI.CsmButton)sender == btnGridUp) { if (gridHappyOrderList.CsmGridSelectedRowIndex == 0) { return; } else { gridHappyOrderList.CsmGridScroll("UP"); } } else if ((Cosmos.UI.CsmButton)sender == btnGridDown) { if (gridHappyOrderList.CsmGridSelectedRowIndex == gridHappyOrderList.CsmGridRowsCount - 1) { return; } else { gridHappyOrderList.CsmGridScroll("DOWN"); } } ReadyToBarcode(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void txtPrtData_Click(object sender, EventArgs e) { int iSelectedRow; string sOrderNo; try { iSelectedRow = gridHappyOrderList.CsmGridSelectedRowIndex; sOrderNo = CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO"); //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //if (PosMenuKeyIn == "01" || PosMenuKeyIn == "02" || PosMenuKeyIn == "03") //변경 if (PosMenuKeyIn == "00" || PosMenuKeyIn == "01" || PosMenuKeyIn == "02" || PosMenuKeyIn == "03") //#20180607 해피오더 리스트 전체 조회 기능 추가 end { // 해피오더 리스트 상세 조회 m_cHappyOrder.GetHappyOrderListDetail(sOrderNo, m_sHappyOrderURL, ref m_cHappyOrderItem, ref m_htOrderLists); //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 start - [주석처리] //if (PosMenuKeyIn.Equals("02") == true && m_cPosStatus.Mst.CorpDiv.Equals(ItemConst.CORP_DIV.BR) == true) //{ // m_cHappyOrder.GetHappyOrderNurtitionListDetail(sOrderNo, m_sHappyOrderURL, sOrderDt); //} //grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 end } else if (PosMenuKeyIn == "04" || PosMenuKeyIn == "05") { // 양재오더 리스트 상세 조회 m_cHappyOrder.GetHappyOrderListDetail(sOrderNo, m_sYangJaeOrderURL, ref m_cHappyOrderItem, ref m_htYJOrderLists); } ReadyToBarcode(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void GoToSpecifiedOrderNum(string sOrderNum) { int iIndex = -1; try { //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20181012 bool sSearchRt = false; string sSearchOrderType = ""; string sSearchOrderNum = ""; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20181012 //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20180829 string sHappyOrderNum = ""; if (sOrderNum.StartsWith("999") == true && (sOrderNum.Length == 15)) { sHappyOrderNum = CmUtil.MidH(sOrderNum.Trim(), 3, 12); } else { sHappyOrderNum = sOrderNum.Trim(); } //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20180829 for(int nLoop = 0; nLoop < m_dtGrid.Rows.Count; nLoop++) { DataRow drData = m_dtGrid.Rows[nLoop]; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20180829 //기존 //if(drData["ORDER_NO"].ToString() == sOrderNum) //변경 if (drData["ORDER_NO"].ToString() == sHappyOrderNum) //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20180829 { iIndex = nLoop; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start sSearchOrderType = drData["ORDER_TYPE"].ToString(); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20180829 sSearchOrderNum = sHappyOrderNum.Trim(); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20180829 break; } } tbOrderBarcode.Text = string.Empty; if (iIndex >= 0) { //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start sSearchRt = true; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end gridHappyOrderList.CsmGridSelectRow(iIndex); } else { //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start sSearchRt = false; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20180829 //기존 //WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0283) + "(" + sOrderNum + ")"); //변경 WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0283) + "(" + sHappyOrderNum + ")"); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20180829 } //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20181012 HappOrderReadingAutoComplete(sSearchRt, sSearchOrderNum, sSearchOrderType); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20181012 } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void gridHappyOrderList_GridClickEvent(object sender, string rowIndex) { try { //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //기존 #region 기존소스 /* DisplayDetailList(); //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 #region 기존소스 //if (PosMenuKeyIn == "01") //{ // if (((Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[gridHappyOrderList.CsmGridSelectedRowIndex]).OrderStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY) // { // btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451); // } // else // { // btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426); // } //} ////grayber@20171123 해피오더 직접배달 start //else if(PosMenuKeyIn == "02") // 배달 탭일 때 //{ // #region 해피오더 직접배달 // btnStatus4.Visible = false; // 기본상태 가려짐 // // //20171214_해피오더 직접 배달 수정_hs // if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") // { // if (((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[gridHappyOrderList.CsmGridSelectedRowIndex]).OrderStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG) // 주문접수 상태일때 // { // btnStatus4.Visible = true; // 보여짐 // } // // //#20180420 상품준비 상태인 주문건도 직접배달 가능 하도록 수정 start // if (((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[gridHappyOrderList.CsmGridSelectedRowIndex]).OrderStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) // 상품준비 상태일때 // { // btnStatus4.Visible = true; // 보여짐 // } // //#20180420 상품준비 상태인 주문건도 직접배달 가능 하도록 수정 end // // if (((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[gridHappyOrderList.CsmGridSelectedRowIndex]).OrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) // 직접 배달일때 // { // btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0435); //배달완료 // } // else // { // btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0428); //배달중 // } // } // #endregion //} ////grayber@20171123 해피오더 직접배달 end //else if(PosMenuKeyIn == "03") //{ // if(((Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[gridHappyOrderList.CsmGridSelectedRowIndex]).OrderStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY) // { // btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451); // } // else // { // btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426); // } //} //else if(PosMenuKeyIn == "04") //{ // // 현장결제 // if(((Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[gridHappyOrderList.CsmGridSelectedRowIndex]).FieldPay == "Y") // { // btnStatus1.Visible = false; // btnStatus2.Visible = false; // // btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0846); // } // else // { // btnStatus1.Visible = true; // btnStatus2.Visible = true; // // btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426); // } //} #endregion 기존소스 //변경 #region 수정소스 int iRowIndex = gridHappyOrderList.CsmGridSelectedRowIndex; Column.TR_HPORD.HPORD_HEADER header; header = (Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iRowIndex]; MenuDisplay(header.OrderType); string sAsIsStatus = string.Empty; if (PosMenuKeyIn == "00") { sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[gridHappyOrderList.CsmGridSelectedRowIndex]).OrderStatus; } else if (PosMenuKeyIn == "01") { sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[gridHappyOrderList.CsmGridSelectedRowIndex]).OrderStatus; } else if (PosMenuKeyIn == "02") { sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[gridHappyOrderList.CsmGridSelectedRowIndex]).OrderStatus; } else if (PosMenuKeyIn == "03") { sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[gridHappyOrderList.CsmGridSelectedRowIndex]).OrderStatus; } else if (PosMenuKeyIn == "04") { sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[gridHappyOrderList.CsmGridSelectedRowIndex]).OrderStatus; } if (PosMenuKeyIn == "01" || (PosMenuKeyIn == "00" && (header.OrderType != "5" && header.OrderType != "6"))) { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY) { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451); } else { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426); } } //grayber@20171123 해피오더 직접배달 start else if (PosMenuKeyIn == "02" || (PosMenuKeyIn == "00" && header.OrderType == "5")) // 배달 탭일 때 { #region 해피오더 직접배달 btnStatus4.Visible = false; // 기본상태 가려짐 //20171214_해피오더 직접 배달 수정_hs if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG) // 주문접수 상태일때 { btnStatus4.Visible = true; // 보여짐 } //#20180420 상품준비 상태인 주문건도 직접배달 가능 하도록 수정 start if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) // 상품준비 상태일때 { btnStatus4.Visible = true; // 보여짐 } //#20180420 상품준비 상태인 주문건도 직접배달 가능 하도록 수정 end if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) // 직접 배달일때 { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0435); //배달완료 } else { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0428); //배달중 } } #endregion } //grayber@20171123 해피오더 직접배달 end else if (PosMenuKeyIn == "03" || (PosMenuKeyIn == "00" && header.OrderType == "6")) { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY) { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451); } else { btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426); } } else if (PosMenuKeyIn == "04") { // 현장결제 if (((Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[gridHappyOrderList.CsmGridSelectedRowIndex]).FieldPay == "Y") { btnStatus1.Visible = false; btnStatus2.Visible = false; btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0846); } else { btnStatus1.Visible = true; btnStatus2.Visible = true; btnStatus3.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0426); } } #endregion //#20180607 해피오더 리스트 전체 조회 기능 추가 end */ #endregion 기존소스 //변경 //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (int.Parse(rowIndex) < 0) return; //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end DisplayDetailList(); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end ReadyToBarcode(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void tbOrderBarcode_KeyDown(object sender, KeyEventArgs e) { try { if(e.KeyCode == Keys.Enter) { GoToSpecifiedOrderNum(tbOrderBarcode.Text); ReadyToBarcode(); } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void ControlsOnForm_Click(object sender, EventArgs e) { try { ReadyToBarcode(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } /// /// 해피오더 상태변경 처리 /// /// private bool HappyOrderStatusChangedProc(object sender, int iSelectedRow) { // 해피오더 주문 List Refresh 여부 bool bReturn = false; // 픽업완료, 배달중 플래그 bool bRegMode = false; string sOrderNum = string.Empty; string sOrderDt = string.Empty; string sPayAmt = string.Empty; string sAsIsStatus = string.Empty; string sToBeStatus = string.Empty; string sOwnerId = string.Empty; //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs string sChannel = string.Empty; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs string sChannelName = string.Empty; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start bool bLandomBoxCheck = false; //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end //#15945 해피오더 자동주문 상세기능 start bool bAutomaticShipment = false; //#15945 해피오더 자동주문 상세기능 end //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start htLandomBoxInfo.Clear(); //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end Hashtable htRequest = new Hashtable(); Hashtable htRequestForNutrition = new Hashtable(); bool bAnswer = false; //#15945 해피오더 자동주문 상세기능 start - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 bool bAutomaticShipmentAnswer = false; //#15945 해피오더 자동주문 상세기능 end - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 try { // 오더폼 이면 빠져 나감 if (PosMenuKeyIn == "04" || PosMenuKeyIn == "05") return false; htRequest.Add("deviceType", "POS"); htRequest.Add("orderNum", CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO")); //#12504 해피오더 외부채널 직접 주문 관련 수정 start, phj //htRequest.Add("channel", ((Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]).Channel); //#12504 해피오더 외부채널 직접 주문 관련 수정 end, phj htRequest.Add("cancelReasonType", ""); //#16065 PB 인천논현_해피오더 영수증에 받은금액 54,500원/거스름돈 44,000원으로 표기되는 증상 start m_cPosStatus.Sale.PayRecvedAmt = 0; m_cPosStatus.Sale.ChangeCashAmt = 0; //#16065 PB 인천논현_해피오더 영수증에 받은금액 54,500원/거스름돈 44,000원으로 표기되는 증상 end //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 start,phj // 거래 초기화 m_cDataSrv.InitTranHeader(); m_cDataSrv.DeleteTranItem(); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //기존 //Column.TR_HPORD.HPORD_HEADER cHeader = null; //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end //#20171227 인천공항 포스연동 end, phj - 20180310 해피오더 결제완료 end,phj #region 상태변경 처리 //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start //기존 #region 기존 /* //#15945 해피오더 자동주문 상세기능 start //기존 ////#20180607 해피오더 리스트 전체 조회 기능 추가 start ////기존 ////if (PosMenuKeyIn == "01" || PosMenuKeyIn == "03") // 내점 or 사전예약 ////변경 //if (PosMenuKeyIn == "00") //{ // cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]; //} // //if ((PosMenuKeyIn == "00" && cHeader.OrderType != "5") || PosMenuKeyIn == "01" || PosMenuKeyIn == "03") // 내점 or 사전예약 ////#20180607 해피오더 리스트 전체 조회 기능 추가 end //변경 if (PosMenuKeyIn == "00") { // 전체 cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]; } else if (PosMenuKeyIn == "01") { // 내점일 경우 cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]; } else if (PosMenuKeyIn == "02") { // 배달 건 cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]; } else if (PosMenuKeyIn == "03") { // 사전예약일 경우 cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iSelectedRow]; } if ((PosMenuKeyIn == "00" && cHeader.OrderType != "5") || PosMenuKeyIn == "01" || PosMenuKeyIn == "03") // 내점 or 사전예약 //#15945 해피오더 자동주문 상세기능 end */ #endregion //변경 Column.TR_HPORD.HPORD_HEADER cHeader = null; cHeader = GetHappyHeader(PosMenuKeyIn, iSelectedRow); //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (cHeader == null) return false; //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end if ((PosMenuKeyIn == "00" && cHeader.OrderType != "5") || PosMenuKeyIn == "01" || PosMenuKeyIn == "03") // 내점 or 사전예약 //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end { //#15945 해피오더 자동주문 상세기능 start //기존 /* //#20180607 해피오더 리스트 전체 조회 기능 추가 start if (PosMenuKeyIn == "00" && cHeader.OrderType != "5") { // 내점 or 사전예약 sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).OrderStatus; } else //#20180607 해피오더 리스트 전체 조회 기능 추가 end if (PosMenuKeyIn == "01") { // 내점일 경우 sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]).OrderStatus; } else { // 사전예약일 경우 sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iSelectedRow]).OrderStatus; } */ //변경 sAsIsStatus = cHeader.OrderStatus; //#15945 해피오더 자동주문 상세기능 end if (((Cosmos.UI.CsmButton)sender) == btnStatus1) // 상품준비 { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG) { //#17143 [해피오더]자동 주문 처리 개선 start #region 기존소스 ////#15945 해피오더 자동주문 상세기능 start ////기존 ///* //// 주문접수 단계에서만 상품준비 처리 //if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) //{ // bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0591)); //} //else //{ // bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PRODUCT_READY])); //} //*/ ////변경 //// m_cHappyOrderItem: 해피오더 주문 건 상품리스트 //// htStatus[sAsIsStatus]: 해피오더 현재 상태 값 //// bAutomaticShipment: 자동출하여부 // ////#15945 해피오더 자동주문 상세기능 start - 20180823 ////기존 ////bAnswer = m_cHappyOrder.HappyOrder_AutomaticShipmentItemCheck(m_cHappyOrderItem, htStatus[sAsIsStatus].ToString(), out bAutomaticShipment); ////변경 //string sPickupData = string.Empty; //string sOrderData = string.Empty; //sPickupData = cHeader.PickupTime.Substring(0, 4) + cHeader.PickupTime.Substring(5, 2) + cHeader.PickupTime.Substring(8, 2); //sOrderData = cHeader.OrderDate.Substring(0, 4) + cHeader.OrderDate.Substring(5, 2) + cHeader.OrderDate.Substring(8, 2); // ////#20180914 해피오더 자동출하 로그 추가 start //UserLog.WriteLogFile(UserCom.LOG_IOS, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // "픽업일자 :" + sPickupData + "주문일자 :" + sOrderData); ////#20180914 해피오더 자동출하 로그 추가 end // //if (sPickupData != sOrderData) //{ // //픽업일자,주문일자가 다르면 자동출하 데이터 저장하고 // bAnswer = m_cHappyOrder.HappyOrder_AutomaticShipmentItemCheck(m_cHappyOrderItem, htStatus[sAsIsStatus].ToString(), out bAutomaticShipment); //} //else //{ // //픽업일자,주문일자가 같으면 자동출하 데이터 저장안하고 기본으로 처리한다. // if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) // { // bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0591)); // } // else // { // bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PRODUCT_READY])); // } // // bAutomaticShipment = false; //} ////#15945 해피오더 자동주문 상세기능 start - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 //bAutomaticShipmentAnswer = bAnswer; ////#15945 해피오더 자동주문 상세기능 end - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 ////#15945 해피오더 자동주문 상세기능 end - 20180823 #endregion #region 변경소스 bAnswer = m_cHappyOrder.HappyOrder_AutomaticShipmentItemCheck(m_cHappyOrderItem, htStatus[sAsIsStatus].ToString(), cHeader.OrderDate.Substring(0, 10), cHeader.PickupTime.Substring(0, 10), out bAutomaticShipment); bAutomaticShipmentAnswer = bAnswer; #endregion 변경소스 //#17143 [해피오더]자동 주문 처리 개선 end //#20180914 해피오더 자동출하 로그 추가 start UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[" + sAsIsStatus + "]" + "자동출하_여부 :" + bAutomaticShipment.ToString()); //#20180914 해피오더 자동출하 로그 추가 end //#20180914 해피오더 자동출하 로그 추가 start UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[" + sAsIsStatus + "]" + "자동출하_대답 :" + bAutomaticShipmentAnswer.ToString()); //#20180914 해피오더 자동출하 로그 추가 end // 자동출하 일 때는 // 예 -> 주문상태변경o, 관련테이블에데이터남김 o // 아니오 -> 주문상태변경o, 관련테이블에데이터남김 x // 닫기 -> 주문상태변경x, 관련테이블에데이터남김 x if (bAutomaticShipment == true) { bAnswer = true; } //#15945 해피오더 자동주문 상세기능 end if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PRODUCT_READY); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PRODUCT_READY; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PRODUCT_READY]); // 상태가 '상품준비' 시 주방주문메시지 저장 처리 //m_cHappyOrder.KPSItemProc(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); //17.08.22 dkshin SS 해피오더 - 픽업대기 시 주문 데이타 만들기(해피오더의 경우 상품준비시 주문 데이타를 만든다) //픽업대기 시 매출 처리가 되고 KDS로 전송되기 위해 //KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); if (PosMstManager.GetPosOption(POS_OPTION.OPT049) != "1") { KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); } } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { // 이미 상품준비 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.PRODUCT_READY)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } else if (((Cosmos.UI.CsmButton)sender) == btnStatus2) // 픽업대기 { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { // 상품준비 단계에서만 픽업대기 처리 if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0592)); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT; //17.08.22 dkshin SS 해피오더 //쉑쉑 해피오더 수기처리 여부 사용일 경우 - 해피오더 창에서 '픽업대기' 상태 변경시 매출 처리 -> KDS 전송 if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { bRegMode = true; } UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT]); } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT) { // 이미 픽업대기 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } else if (((Cosmos.UI.CsmButton)sender) == btnStatus3) // 픽업완료 { bool bIsPickUp_Delay = false; // 픽업완료 인지 지연완료 인지 flag 설정 if (((Cosmos.UI.CsmButton)sender).Text == MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451)) { bIsPickUp_Delay = true; } if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY) { // 픽업대기 단계에서만 픽업완료 처리 if (bIsPickUp_Delay == true) { if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2])); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2]); } else { return false; } } else { if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED])); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED]); } else { return false; } } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2) { // 이미 픽업완료/지연완료 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { if (PosMenuKeyIn == "03" && PosMstManager.GetPosOption(POS_OPTION.OPT044) == "0") { // 사전예약 중 픽업대기 사용 안 함 이면 상품준비 단계에서 픽업완료 처리 가능 if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { if (bIsPickUp_Delay == true) { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2])); if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2]); } else { return false; } } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED])); if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED]); } else { return false; } } } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } // 상품 등록 중일 경우 빠져 나간다. ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); if (alSaleItem.Count > 0) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021)); return false; } //#20180618 해피오더 매출처리 start bRegMode = true; //#20180618 해피오더 매출처리 end //17.08.22 dkshin SS 해피오더 //쉑쉑 해피오더 수기처리 여부 사용일 경우 - 해피오더 창에서 '픽업완료' 상태 변경시 상태 변경만 함. 매출 처리 안함. if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { bRegMode = false; } //#15945 해피오더 자동주문 상세기능 start //기존 /* //#20180607 해피오더 리스트 전체 조회 기능 추가 start if (PosMenuKeyIn == "00") { sOrderNum = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).OrderNum; sOrderDt = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).PayMoney; } else //#20180607 해피오더 리스트 전체 조회 기능 추가 end if (PosMenuKeyIn == "01") { // 내점일 경우 sOrderNum = ((Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]).OrderNum; sOrderDt = ((Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]).OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = ((Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]).PayMoney; } else { // 사전예약일 경우 sOrderNum = ((Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iSelectedRow]).OrderNum; sOrderDt = ((Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iSelectedRow]).OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = ((Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iSelectedRow]).PayMoney; } */ //변경 sOrderNum = cHeader.OrderNum; sOrderDt = cHeader.OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = cHeader.PayMoney; //#15945 해피오더 자동주문 상세기능 end //#20180614 배달완료 시 영양정보 출력되도록 수정 start //기존2 // 영양정보 조회 요청 전문 생성 //htRequestForNutrition.Add("orderNum", sOrderNum); //#20180614 배달완료 시 영양정보 출력되도록 수정 end } else if (((Cosmos.UI.CsmButton)sender) == btnOrderCancel) // 주문취소 { if (sAsIsStatus != ItemConst.HAPPYORDER_STATUS.ORDER_REG && sAsIsStatus != ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { WinManager.ErrorMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0486), htStatus[sAsIsStatus])); return false; } else { bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0485)); if (bAnswer == true) { //#20180611 해피오더 주문취소 사유 start string ReasonName = ""; ReasonName = HPOrderCancelReason(); if (ReasonName == "") return false; //#20180611 해피오더 주문취소 사유 end htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL); if (htRequest.ContainsKey("cancelReasonType")) htRequest["cancelReasonType"] = "Z"; else htRequest.Add("cancelReasonType", "Z"); //#20180611 해피오더 주문취소 사유 start if (htRequest.ContainsKey("cancelReason")) htRequest["cancelReason"] = ReasonName; else htRequest.Add("cancelReason", ReasonName); //#20180611 해피오더 주문취소 사유 end sToBeStatus = ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL]); // 상태가 '주문취소' 시 주방주문메시지 저장 처리 //m_cHappyOrder.KPSItemProc(ItemConst.TRAN_DIV.REFUND, m_cHappyOrderItem); KPSItemProcess(ItemConst.TRAN_DIV.REFUND, m_cHappyOrderItem); } else { return false; } } } } //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //else if (PosMenuKeyIn == "02") // 배달 //변경 else if ((PosMenuKeyIn == "00" && cHeader.OrderType == "5") || PosMenuKeyIn == "02") // 전체 또든 배달 //#20180607 해피오더 리스트 전체 조회 기능 추가 end { //#15945 해피오더 자동주문 상세기능 start //기존 /* //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).OrderStatus; //변경 if (PosMenuKeyIn == "00" && cHeader.OrderType == "5") { sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).OrderStatus; } else { sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).OrderStatus; } //#20180607 해피오더 리스트 전체 조회 기능 추가 end */ //변경 sAsIsStatus = cHeader.OrderStatus; //#15945 해피오더 자동주문 상세기능 end if (((Cosmos.UI.CsmButton)sender) == btnStatus1) // 상품준비 { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG) { //#17143 [해피오더]자동 주문 처리 개선 start #region 기존소스 ////#15945 해피오더 자동주문 상세기능 start ////기존 ///* //// 주문접수 단계에서만 상품준비 처리 //if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) //{ // bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0591)); //} //else //{ // bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PRODUCT_READY])); //} //*/ // ////#15945 해피오더 자동주문 상세기능 start - 20180823 ////기존 ////bAnswer = m_cHappyOrder.HappyOrder_AutomaticShipmentItemCheck(m_cHappyOrderItem, htStatus[sAsIsStatus].ToString(), out bAutomaticShipment); ////변경 //string sPickupData = string.Empty; //string sOrderData = string.Empty; //sPickupData = cHeader.PickupTime.Substring(0, 4) + cHeader.PickupTime.Substring(5, 2) + cHeader.PickupTime.Substring(8, 2); //sOrderData = cHeader.OrderDate.Substring(0, 4) + cHeader.OrderDate.Substring(5, 2) + cHeader.OrderDate.Substring(8, 2); // ////#20180914 해피오더 자동출하 로그 추가 start //UserLog.WriteLogFile(UserCom.LOG_IOS, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // "픽업일자 :" + sPickupData + "주문일자 :" + sOrderData); ////#20180914 해피오더 자동출하 로그 추가 end // //if (sPickupData != sOrderData) //{ // //픽업일자,주문일자가 다르면 자동출하 데이터 저장하고 // bAnswer = m_cHappyOrder.HappyOrder_AutomaticShipmentItemCheck(m_cHappyOrderItem, htStatus[sAsIsStatus].ToString(), out bAutomaticShipment); //} //else //{ // //픽업일자,주문일자가 같으면 자동출하 데이터 저장안하고 기본으로 처리한다. // if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) // { // bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0591)); // } // else // { // bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PRODUCT_READY])); // } // bAutomaticShipment = false; //} ////#15945 해피오더 자동주문 상세기능 start - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 //bAutomaticShipmentAnswer = bAnswer; ////#15945 해피오더 자동주문 상세기능 end - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 ////#15945 해피오더 자동주문 상세기능 end - 20180823 #endregion #region 변경소스 bAnswer = m_cHappyOrder.HappyOrder_AutomaticShipmentItemCheck(m_cHappyOrderItem, htStatus[sAsIsStatus].ToString(), cHeader.OrderDate.Substring(0, 10), cHeader.PickupTime.Substring(0, 10), out bAutomaticShipment); bAutomaticShipmentAnswer = bAnswer; #endregion 변경소스 //#17143 [해피오더]자동 주문 처리 개선 end //#20180914 해피오더 자동출하 로그 추가 start UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[" + sAsIsStatus + "]" + "자동출하_여부 :" + bAutomaticShipment.ToString()); //#20180914 해피오더 자동출하 로그 추가 end //#20180914 해피오더 자동출하 로그 추가 start UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[" + sAsIsStatus + "]" + "자동출하_대답 :" + bAutomaticShipmentAnswer.ToString()); //#20180914 해피오더 자동출하 로그 추가 end // 자동출하 일 때는 // 예 -> 주문상태변경o, 관련테이블에데이터남김 o // 아니오 -> 주문상태변경o, 관련테이블에데이터남김 x // 닫기 -> 주문상태변경x, 관련테이블에데이터남김 x if (bAutomaticShipment == true) { bAnswer = true; } //#15945 해피오더 자동주문 상세기능 end if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PRODUCT_READY); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PRODUCT_READY; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PRODUCT_READY]); // 상태가 '상품준비' 시 주방주문메시지 저장 처리 //m_cHappyOrder.KPSItemProc(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); //#20171019 SS해피오더 배달 start, 20171023 //기존 //KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); //변경 if (PosMstManager.GetPosOption(POS_OPTION.OPT049) != "1") { KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); } //#20171019 SS해피오더 배달 end, 20171023 } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { // 이미 상품준비 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { // 그 이외는 에러처리 WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); return false; } } else if (((Cosmos.UI.CsmButton)sender) == btnStatus2) // 배달요청 { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { // 주문접수 단계 or 상품준비 단계에서만 배달요청 처리 bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ])); if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ); sToBeStatus = ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ]); //#20171019 SS해피오더 배달 start, 20171023 //쉑쉑 해피오더 수기처리 여부 사용일 경우 - 해피오더 창에서 '픽업대기' 상태 변경시 매출 처리 -> KDS 전송 if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { bRegMode = true; } //#20171019 SS해피오더 배달 end, 20171023 } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REG) { // 이미 배달요청 / 배달접수 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } else if (((Cosmos.UI.CsmButton)sender) == btnStatus3) // 배달중 { //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 start //기존 //if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REG || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ) //변경 if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REG || //#20180914 해피오더 배달 매출 처리 조건 변경 start //배달요청제외 //sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ || //#20180914 해피오더 배달 매출 처리 조건 변경 end sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 end { // 배달접수/배달요청 단계에서만 배달완료 처리 bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED])); if (bAnswer == true) { //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 start //기존 /* htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.DELIVERY_ING); sToBeStatus = ItemConst.HAPPYORDER_STATUS.DELIVERY_ING; */ //변경 if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED); sToBeStatus = ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED; } else { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.DELIVERY_ING); sToBeStatus = ItemConst.HAPPYORDER_STATUS.DELIVERY_ING; } //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 end UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_ING]); } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_ING) { // 이미 배달중 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } //grayber@20171123 해피오더 직접배달 start else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT //|| PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1" // grayber@20171212 조건식 교체 && PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1" ) { #region 해피오더 직접배달 // 해피오더 직접배달 [현재 직접배달 상태 입니다.] WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; #endregion } //grayber@20171123 해피오더 직접배달 end else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.DELIVERY_ING)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } // 상품 등록 중일 경우 빠져 나간다. ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); if (alSaleItem.Count > 0) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021)); return false; } bRegMode = true; //#20171019 SS해피오더 배달 start, 20171023 //쉑쉑 해피오더 수기처리 여부 사용일 경우 - 해피오더 창에서 '픽업대기' 상태 변경시 매출 처리 -> KDS 전송 if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { bRegMode = false; } //#20171019 SS해피오더 배달 end, 20171023 //#15945 해피오더 자동주문 상세기능 start //기존 /* //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //sOrderNum = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).OrderNum; //sOrderDt = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).OrderDate.Substring(0, 10).Replace("-", ""); //sPayAmt = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).PayMoney; //sOwnerId = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).OwnerId; //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs //sChannel = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).Channel; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs //sChannelName = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).ChannelName; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs //변경 if (PosMenuKeyIn == "00" && cHeader.OrderType == "5") { sOrderNum = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).OrderNum; sOrderDt = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).PayMoney; sOwnerId = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).OwnerId; //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs sChannel = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).Channel; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs sChannelName = ((Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]).ChannelName; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs } else { sOrderNum = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).OrderNum; sOrderDt = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).PayMoney; sOwnerId = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).OwnerId; //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs sChannel = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).Channel; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs sChannelName = ((Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]).ChannelName; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs } //#20180607 해피오더 리스트 전체 조회 기능 추가 end */ //변경 sOrderNum = cHeader.OrderNum; sOrderDt = cHeader.OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = cHeader.PayMoney; sOwnerId = cHeader.OwnerId; //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs sChannel = cHeader.Channel; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs sChannelName = cHeader.ChannelName; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs //#15945 해피오더 자동주문 상세기능 end } //grayber@20171123 해피오더 직접배달 start else if (((Cosmos.UI.CsmButton)sender) == btnStatus4) // 직접배달 { if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") // OPT550 이 '1' 이고 { #region 해피오더 직접배달 : 주문접수 상태의 거래만 처리 //#20180420 상품준비 상태인 주문건도 직접배달 가능 하도록 수정 start //기존 //if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG) //변경 if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) //#20180420 상품준비 상태인 주문건도 직접배달 가능 하도록 수정 end { // 상태가 주문접수 일 경우 // 직접배달 처리 //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 start //기존 //bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT])); //변경 bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT])); //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 end if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT); sToBeStatus = ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT]); //bRegMode = true; //20171214_해피오더 직접 배달 수정_hs 배달완료시 매출생성으로 변경 } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) // 직접배달 { // 이미 직접배달 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } #endregion } else { return false; } } //grayber@20171123 해피오더 직접배달 end else if (((Cosmos.UI.CsmButton)sender) == btnOrderCancel) // 주문취소 { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REG || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_ING || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_PRODUCT_READY || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED) { WinManager.ErrorMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0486), htStatus[sAsIsStatus])); return false; } else { //#15881 배달건 취소버튼 클릭 시 메세지 추가 start //기존 //bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0485)); //변경 bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0797)); //#15881 배달건 취소버튼 클릭 시 메세지 추가 end if (bAnswer == true) { //#20180611 해피오더 주문취소 사유 start string ReasonName = ""; ReasonName = HPOrderCancelReason(); if (ReasonName == "") return false; //#20180611 해피오더 주문취소 사유 end htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL); if (htRequest.ContainsKey("cancelReasonType")) htRequest["cancelReasonType"] = "Z"; else htRequest.Add("cancelReasonType", "Z"); //#20180611 해피오더 주문취소 사유 start if (htRequest.ContainsKey("cancelReason")) htRequest["cancelReason"] = ReasonName; else htRequest.Add("cancelReason", ReasonName); //#20180611 해피오더 주문취소 사유 end sToBeStatus = ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL]); // 상태가 '주문취소' 시 주방주문메시지 저장 처리 //m_cHappyOrder.KPSItemProc(ItemConst.TRAN_DIV.REFUND, m_cHappyOrderItem); KPSItemProcess(ItemConst.TRAN_DIV.REFUND, m_cHappyOrderItem); } else { return false; } } } } #endregion Hashtable htResponse = null; Hashtable[] aResponse = null; int iReturn = BaseCom.NG; WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0452)), this); // 영양정보 받아와서 저장 #region 영양정보 받아와서 저장 if (bRegMode == true) { //#20180614 배달완료 시 영양정보 출력되도록 수정 start //변경 htRequestForNutrition.Add("orderNum", sOrderNum); //#20180614 배달완료 시 영양정보 출력되도록 수정 end aResponse = null; aResponse = m_cHappyOrder.SendReceiveForHappyOrder(new object[] { m_sHappyOrderURL, ItemConst.HAPPYORDER_WORK_TYPE.SELECT_PRODUCT_NUTRITION, htRequestForNutrition }, ref htResponse, ref iReturn); if (aResponse != null && aResponse.Length > 0) { string sMsg = m_cHappyOrder.ParseNutritionMsg(aResponse); if (sMsg != "") { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 영양정보 = " + sMsg); // 영양정보 저장 m_cHappyOrder.UpdateHappyOrderData(new string[] { "Message", sMsg, sOrderNum, sOrderDt }); } } //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 start - 기능 함수화 하여 주석 처리 해둠 //m_cHappyOrder.GetHappyOrderNurtitionListDetail(sOrderNum, m_sHappyOrderURL, sOrderDt); //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 end } #endregion //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 start,phj //인천공항으로 상품,결제 리스트 보내고 성공 시 해피오더 상태변경 한다. //인천공항으로 전송 실패 시 해피오더 상태 변경하지 않는다. //해피오더 상태변경 실패 시 일괄 취소 후 진행한다. #region 자사포스 데이터 인천공항 포스로 전송 #region 자사포스 데이터 인천공항 포스로 전송 -- 주석 //if (bRegMode == true) //{ // if (PosMstManager.GetPosOption(POS_OPTION.OPT512) == "1") // { // // 주문유형구분 // string sOrderType = ""; // // 거래 초기화 // m_cDataSrv.InitTranHeader(); // m_cDataSrv.DeleteTranItem(); // Column.TR_HPORD.HPORD_HEADER cHeader = null; // if (PosMenuKeyIn == "01") // 내점 // { // // 내점이라면 내점 리스트에서 가져온다. // cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]; // sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; // } // else if (PosMenuKeyIn == "02") // 배달 // { // // 배달이라면 배달 리스트에서 가져온다. // cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]; // sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; // } // else if (PosMenuKeyIn == "03") // 사전예약 // { // // 사전예약이라면 사전예약 리스트에서 가져온다. // cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iSelectedRow]; // sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PRE_RESERVATION; // } // string sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem); // if (sRet == UserCom.RST_OK) // { // //m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.FORIGN.O2O; // //m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; // IPaymentUs cPaymentUs = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HAPPYORDER); // //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs // //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs // if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) // { // if (sOwnerId == "BLUEBEE") // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_YOGIYO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else if (sChannel == "HAPPYMARKET") // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_HAPPYMARKET, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else if (sChannel == "YGY") // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_YOGIYO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else if (sChannel == "BEAMIN") // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_BAEMIN, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else if (sChannel == "KAKAO") // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_KAKAO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else if (sChannel == "BRMICRO") //20171215_카카오 사전예약 결제코드 생성_hs // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_BRMICRO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // } // else // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // if (sRet != UserCom.RST_OK) // { // WinManager.HideSearchMessage(); // } // else // { // // 인천공항으로 데이터 전송 // sRet = m_cAirPortTran.IncheonAireportClose(PosKey.MENU_KEY.INCHEON_AIRPORT, "N"); // if (sRet != UserCom.RST_OK) // { // UserLog.WriteLogFile(UserCom.LOG_ERROR, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) // "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 인천공항POS로 데이터 전송 실패 [" + sRet + "]"); // } // } // } // else // { // UserLog.WriteLogFile(UserCom.LOG_ERROR, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) // "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", MakeTranItem [" + sRet.ToString() + "]"); // } // // 판매상태 변경 // //m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; // // 거래 초기화 // //m_cDataSrv.InitTranHeader(); // //m_cDataSrv.DeleteTranItem(); // if (sRet != UserCom.RST_OK) // { // return false; // } // } //} #endregion #region 자사포스 데이터 인천공항 포스로 전송 -- 수정 if (bRegMode == true) { // 주문유형구분 string sOrderType = ""; //#20180903 해피오더 매출 생성 시 tr_sale_detail에 구분자 추가 start //기존 #region 기존소스 /* //#20180607 해피오더 리스트 전체 조회 기능 추가 start //기존 //if (PosMenuKeyIn == "01") // 내점 //{ // // 내점이라면 내점 리스트에서 가져온다. // cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]; // sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; //} //else if (PosMenuKeyIn == "02") // 배달 //{ // // 배달이라면 배달 리스트에서 가져온다. // cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]; // sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; //} //else if (PosMenuKeyIn == "03") // 사전예약 //{ // // 사전예약이라면 사전예약 리스트에서 가져온다. // cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iSelectedRow]; // sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PRE_RESERVATION; //} //변경 if (PosMenuKeyIn == "01") // 내점 { // 내점이라면 내점 리스트에서 가져온다. cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]; sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; } else if (PosMenuKeyIn == "02") // 배달 { // 배달이라면 배달 리스트에서 가져온다. cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]; sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; } else if (PosMenuKeyIn == "03") // 사전예약 { // 사전예약이라면 사전예약 리스트에서 가져온다. cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iSelectedRow]; sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PRE_RESERVATION; } else if (PosMenuKeyIn == "00") // 전체 { cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iSelectedRow]; if ((PosMenuKeyIn == "00" && (cHeader.OrderType != "5" && cHeader.OrderType != "6")) || PosMenuKeyIn == "01") // 내점 { sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; } else if ((PosMenuKeyIn == "00" && cHeader.OrderType == "5") || PosMenuKeyIn == "02") // 배달 { sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; } else if ((PosMenuKeyIn == "00" && cHeader.OrderType == "6") || PosMenuKeyIn == "03") // 사전예약 { sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PRE_RESERVATION; } } //#20180607 해피오더 리스트 전체 조회 기능 추가 end */ #endregion //변경 #region 변경소스 if (PosMenuKeyIn == "01" || (PosMenuKeyIn == "00" && (cHeader.OrderType != "5" && cHeader.OrderType != "6"))) // 내점 { // 내점이라면 내점 리스트에서 가져온다. sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; } else if (PosMenuKeyIn == "02" || (PosMenuKeyIn == "00" && (cHeader.OrderType == "5"))) // 배달 { // 배달이라면 배달 리스트에서 가져온다. sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; } else if (PosMenuKeyIn == "03" || (PosMenuKeyIn == "00" && (cHeader.OrderType == "6"))) // 사전예약 { // 사전예약이라면 사전예약 리스트에서 가져온다. sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PRE_RESERVATION; } #endregion //#20180903 해피오더 매출 생성 시 tr_sale_detail에 구분자 추가 end //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start - 20180723 기존 배달 건만이였지만 픽업건도 동일하게 적용하도록 수정 //기존 /* if (sOrderType == ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY) //if ((PosMenuKeyIn == "00" && cHeader.OrderType == "5") || PosMenuKeyIn == "02") // 배달 { */ //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end - 20180723 기존 배달 건만이였지만 픽업건도 동일하게 적용하도록 수정 bool bValue = false; string sItemCode = ""; DataTable dtData = null; for (int nLoop = 0; nLoop < m_cHappyOrderItem.Count; nLoop++) { Column.TR_HPORD.HPORD_ITEM item = (Column.TR_HPORD.HPORD_ITEM)m_cHappyOrderItem[nLoop]; dtData = m_cDataCommon.SeletCommonCode(PosConst.COMMON_CODE_GROUP.T0039, ""); if (dtData != null && dtData.Rows.Count > 0) { foreach (DataRow dr in dtData.Rows) { if (item.GoodsCode == CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01)) { sItemCode = item.GoodsCode; bValue = true; break; } } } if (bValue == true) { break; } } if (bValue == true) { WinManager.HideSearchMessage(); frmHappyOrderBarcode fForm = (frmHappyOrderBarcode)FormManager.GetForm(FormManager.FORM_SAL_HPORD_BARCODE); if (fForm == null) { fForm = new frmHappyOrderBarcode(); FormManager.AddForm(FormManager.FORM_SAL_HPORD_BARCODE, fForm); } fForm.sHPOrderNo = sOrderNum; fForm.sItemCode = sItemCode; if (fForm.ShowDialog() == DialogResult.OK) { bLandomBoxCheck = true; } else { bLandomBoxCheck = false; } if (bLandomBoxCheck == false) return false; } //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start - 20180723 기존 배달 건만이였지만 픽업건도 동일하게 적용하도록 수정 //} //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end - 20180723 기존 배달 건만이였지만 픽업건도 동일하게 적용하도록 수정 //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start //기존 //string sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem); //변경 WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0452)), this); string sRet = ""; if (bLandomBoxCheck == true) { sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem, htLandomBoxInfo); } else { sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem, null); } //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end if (sRet == UserCom.RST_OK) { //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start if (bLandomBoxCheck == true) { IHoldDeal m_cHoldDeal = (IHoldDeal)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.HOLD_DEAL); m_cHoldDeal.UpdateHoldDeal(htLandomBoxInfo["SALE_DT"].ToString(), htLandomBoxInfo["POS_NO"].ToString(), htLandomBoxInfo["REG_NO"].ToString(), "1", 0, 0); m_cTrnStatus.Head.ShockingBoxStat = "1";//0:쇼킹박스 완성 1:쇼킹방스불러오기 m_cTrnStatus.Head.ShockingBoxBarcodeData = htLandomBoxInfo["BARCODE_NO"].ToString(); // SALE_DT + REG_NO m_cTrnStatus.Head.ShockingBoxTradeKind = ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX; } //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.FORIGN.O2O; //m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; IPaymentUs cPaymentUs = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HAPPYORDER); //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) { if (sOwnerId == "BLUEBEE") { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_YOGIYO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else if (sChannel == "HAPPYMARKET") { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_HAPPYMARKET, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else if (sChannel == "YGY") { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_YOGIYO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else if (sChannel == "BEAMIN") { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_BAEMIN, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else if (sChannel == "KAKAO") { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_KAKAO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else if (sChannel == "BRMICRO") //20171215_카카오 사전예약 결제코드 생성_hs { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_BRMICRO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } } else { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } if (sRet != UserCom.RST_OK) { WinManager.HideSearchMessage(); UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", SetPayment [" + sRet.ToString() + "]"); } else { if (PosMstManager.GetPosOption(POS_OPTION.OPT512) == "1") { // 인천공항으로 데이터 전송 sRet = m_cAirPortTran.IncheonAireportClose(PosKey.MENU_KEY.INCHEON_AIRPORT, "N"); if (sRet != UserCom.RST_OK) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 인천공항POS로 데이터 전송 실패 [" + sRet + "]"); } } } } else { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", MakeTranItem [" + sRet.ToString() + "]"); } // 판매상태 변경 //m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; if (sRet != UserCom.RST_OK) { return false; } } #endregion #endregion //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 end,phj #region 주문상태변경 htResponse = null; iReturn = BaseCom.NG; m_cHappyOrder.SendReceiveForHappyOrder(new object[] { m_sHappyOrderURL, ItemConst.HAPPYORDER_WORK_TYPE.UPDATE_STATUS, htRequest }, ref htResponse, ref iReturn); WinManager.HideSearchMessage(this); if (htResponse == null || htResponse.ContainsKey("status") == false) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 상태변경 처리 실패"); WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0005)); return false; } if (htResponse["status"].ToString().Equals("200") == false) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 상태변경 처리 실패(" + htResponse["message"].ToString() + ")"); WinManager.ConfirmMessage(htResponse["message"].ToString()); return false; } else { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 상태변경 처리 완료"); //#20180914 해피오더 자동출하 로그 추가 start UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "자동출하데이터저장여부 " + "(변경된버튼상태 :" + sToBeStatus.ToString() + "/자동출하여부 :" + bAutomaticShipment.ToString() + "/자동출하동의여부 :" + bAutomaticShipmentAnswer.ToString() + ")"); //#20180914 해피오더 자동출하 로그 추가 end //#15945 해피오더 자동주문 상세기능 start //#15945 해피오더 자동주문 상세기능 start - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 //기존 //if ((sToBeStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY && bAutomaticShipment == true) || (sToBeStatus == ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL)) //변경 if ((sToBeStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY && bAutomaticShipment == true && bAutomaticShipmentAnswer == true) || (sToBeStatus == ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL)) //#15945 해피오더 자동주문 상세기능 end - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 { m_cHappyOrder.HappyOrder_AutomaticShipmentLog(cHeader, sToBeStatus, "200"); } //#15945 해피오더 자동주문 상세기능 end // 정상 처리 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0487), htStatus[sToBeStatus])); bReturn = true; } #endregion //#17334 해피오더)배달요청 시 배달주문서 자동 출력 start if ((PosMenuKeyIn == "00" && (cHeader.OrderType == "5" || cHeader.OrderType == "4")) || PosMenuKeyIn == "02") { if (sToBeStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ || sToBeStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) { // 배달요청이거나 직접배달일 때 주문서 자동출력 btnProc_Click(btnPrint, null); } } //#17334 해피오더)배달요청 시 배달주문서 자동 출력 end //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 start,phj #region 픽업완료, 배달중 의 경우 거래 생성 -- 기존 // 픽업완료, 배달중 의 경우 거래 생성 //if (bRegMode == true) //{ // // 주문유형구분 // string sOrderType = ""; // // 거래 초기화 // m_cDataSrv.InitTranHeader(); // m_cDataSrv.DeleteTranItem(); // Column.TR_HPORD.HPORD_HEADER cHeader = null; // if (PosMenuKeyIn == "01") // 내점 // { // // 내점이라면 내점 리스트에서 가져온다. // cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]; // sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; // } // else if (PosMenuKeyIn == "02") // 배달 // { // // 배달이라면 배달 리스트에서 가져온다. // cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]; // sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; // } // else if (PosMenuKeyIn == "03") // 사전예약 // { // // 사전예약이라면 사전예약 리스트에서 가져온다. // cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iSelectedRow]; // sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PRE_RESERVATION; // } // //17.08.22 dkshin SS 해피오더 // //주문상세데이터에 픽업시간 추가(KDS 전송시 ORDERHEADER TABLE_NM에 픽업시간 설정: MST_KTCH_ORD_MSG.ORD_TIME) // if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") // { // int itemCnt = m_cHappyOrderItem.Count; // ArrayList itemList = new ArrayList(); // for (int i = 0; i < itemCnt; i++) // { // Column.TR_HPORD.HPORD_ITEM item = (Column.TR_HPORD.HPORD_ITEM)m_cHappyOrderItem[i]; // item.PickupTime = cHeader.PickupTime; // itemList.Add(item); // } // m_cHappyOrderItem.Clear(); // m_cHappyOrderItem = new ArrayList(itemList); // } // string sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem); // if (sRet == UserCom.RST_OK) // { // m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.FORIGN.O2O; // m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; // //17.08.22 dkshin SS 해피오더 - 판매POS의 매출처리시 대기번호도 해당 대기번호로 저장해야 함. // if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") // { // m_cTrnStatus.Head.OrderNo = cHeader.DailyCode; // //#20171212, 쉑쉑 해피오더 수기로 상태변경 시 매출데이터 오류 수정 Start // sOrderNum = cHeader.OrderNum; // sOrderDt = cHeader.OrderDate.Substring(0, 10).Replace("-", ""); // sPayAmt = cHeader.PayMoney; // //#20171212, 쉑쉑 해피오더 수기로 상태변경 시 매출데이터 오류 수정 End // } // if (PosMstManager.GetPosOption(POS_OPTION.OPT038) == "1") // { // // 해피오더 바코드등록 POP-UP // WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_BARCODE_REG }); // } // WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0437)), this); // IPaymentUs cPaymentUs = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HAPPYORDER); // //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs // //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs // if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) // { // if (sOwnerId == "BLUEBEE") // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_YOGIYO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else if (sChannel == "HAPPYMARKET") // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_HAPPYMARKET, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else if (sChannel == "YGY") // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_YOGIYO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else if (sChannel == "BEAMIN") // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_BAEMIN, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else if (sChannel == "KAKAO") // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_KAKAO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else if (sChannel == "BRMICRO") //20171215_카카오 사전예약 결제코드 생성_hs // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_BRMICRO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // else // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // } // else // { // sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // } // //sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, sOrderType, sPayAmt, sOrderNum, sOrderDt }); // if (sRet != UserCom.RST_OK) // { // WinManager.HideSearchMessage(); // return bReturn; // } // #region 현금영수증 발행은 없기 때문에 주석 처리(문성진D 요청) // //if (PosMstManager.GetPosOption(POS_OPTION.OPT315) == "0") return; // 현금영수증 업무 사용 여부(0:사용안함, 1:사용함) // ////현금영수증 발행! // //IDataProcessUs m_cDataService = (IDataProcessUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_SERVICE); // //if (m_cDataService != null) // //{ // // double dCashBillAmt = m_cDataService.GetCashAmt(); // // if (dCashBillAmt > 0) // // { // // //부가세 계산 // // double dTax = m_cTrnStatus.Head.TotVatAmt * (dCashBillAmt / m_cTrnStatus.Head.NetSaleAmt); // // dTax = CmUtil.MathRounds(dTax, m_cPosStatus.Mst.VatRudDwLocMethd, CmUtil.IntParse(m_cPosStatus.Mst.VatRudDwLoc)); // // // 현금 화면 진행 // // sRet = WinPay.ShowForm(new string[] { FormManager.FORM_PAY_CASH_APPROVAL, "", dCashBillAmt.ToString(), dTax.ToString() }); // // } // //} // #endregion // // 거래 완료 처리 // ISaleCompleteUs cSaleComplete = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE); // sRet = cSaleComplete.PosSaleExecute(new string[] { }); // if (sRet != UserCom.RST_OK) // { // WinManager.HideSearchMessage(); // return bReturn; // } // //17.08.22 dkshin SS 해피오더 // // KDS전송 // /*if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") // { // KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); // } // */ // // 해피오더 데이터 삭제 // m_cHappyOrder.DeleteHappyOrderData(sOrderNum, sOrderDt); // // 판매상태 변경 // m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; // WinManager.HideSearchMessage(); // } // else // { // UserLog.WriteLogFile(UserCom.LOG_ERROR, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) // MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0638)); // } // iSelectedRow = 0; //} #endregion #region 픽업완료, 배달중 의 경우 거래 생성 -- 수정 if (bRegMode == true) { string sRet = string.Empty; //17.08.22 dkshin SS 해피오더 //주문상세데이터에 픽업시간 추가(KDS 전송시 ORDERHEADER TABLE_NM에 픽업시간 설정: MST_KTCH_ORD_MSG.ORD_TIME) if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { int itemCnt = m_cHappyOrderItem.Count; ArrayList itemList = new ArrayList(); for (int i = 0; i < itemCnt; i++) { Column.TR_HPORD.HPORD_ITEM item = (Column.TR_HPORD.HPORD_ITEM)m_cHappyOrderItem[i]; item.PickupTime = cHeader.PickupTime; itemList.Add(item); } m_cHappyOrderItem.Clear(); m_cHappyOrderItem = new ArrayList(itemList); } //17.08.22 dkshin SS 해피오더 - 판매POS의 매출처리시 대기번호도 해당 대기번호로 저장해야 함. if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { m_cTrnStatus.Head.OrderNo = cHeader.DailyCode; //#20171212, 쉑쉑 해피오더 수기로 상태변경 시 매출데이터 오류 수정 Start sOrderNum = cHeader.OrderNum; sOrderDt = cHeader.OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = cHeader.PayMoney; //#20171212, 쉑쉑 해피오더 수기로 상태변경 시 매출데이터 오류 수정 End } if (PosMstManager.GetPosOption(POS_OPTION.OPT038) == "1") { // 해피오더 바코드등록 POP-UP WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_BARCODE_REG }); } WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0437)), this); // 거래 완료 처리 ISaleCompleteUs cSaleComplete = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE); sRet = cSaleComplete.PosSaleExecute(new string[] { }); if (sRet != UserCom.RST_OK) { WinManager.HideSearchMessage(); return bReturn; } //17.08.22 dkshin SS 해피오더 // KDS전송 /*if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); } */ // 해피오더 데이터 삭제 m_cHappyOrder.DeleteHappyOrderData(sOrderNum, sOrderDt); // 판매상태 변경 //m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; WinManager.HideSearchMessage(); iSelectedRow = 0; } #endregion //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 end,phj } catch (Exception ex) { bReturn = false; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } return bReturn; } //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start private bool ImgBtnHappyOrderStatusChangedProc(object sender, int iSelectedRow) { // 해피오더 주문 List Refresh 여부 bool bReturn = false; // 픽업완료, 배달중 플래그 bool bRegMode = false; string sOrderNum = string.Empty; string sOrderDt = string.Empty; string sPayAmt = string.Empty; string sAsIsStatus = string.Empty; string sToBeStatus = string.Empty; string sOwnerId = string.Empty; //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs string sChannel = string.Empty; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs string sChannelName = string.Empty; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs bool bAnswer = false; //#15945 해피오더 자동주문 상세기능 start - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 bool bAutomaticShipmentAnswer = false; //#15945 해피오더 자동주문 상세기능 end - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 //#15945 해피오더 자동주문 상세기능 start bool bAutomaticShipment = false; //#15945 해피오더 자동주문 상세기능 end //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start bool bLandomBoxCheck = false; //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start htLandomBoxInfo.Clear(); //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end Hashtable htRequest = new Hashtable(); Hashtable htRequestForNutrition = new Hashtable(); try { // 오더폼 이면 빠져 나감 if (PosMenuKeyIn == "04" || PosMenuKeyIn == "05") return false; //#16065 PB 인천논현_해피오더 영수증에 받은금액 54,500원/거스름돈 44,000원으로 표기되는 증상 start m_cPosStatus.Sale.PayRecvedAmt = 0; m_cPosStatus.Sale.ChangeCashAmt = 0; //#16065 PB 인천논현_해피오더 영수증에 받은금액 54,500원/거스름돈 44,000원으로 표기되는 증상 end //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 start,phj // 거래 초기화 m_cDataSrv.InitTranHeader(); m_cDataSrv.DeleteTranItem(); //#20171227 인천공항 포스연동 end, phj - 20180310 해피오더 결제완료 end,phj htRequest.Add("deviceType", "POS"); htRequest.Add("orderNum", CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO")); htRequest.Add("cancelReasonType", ""); #region 상태변경 처리 //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start Column.TR_HPORD.HPORD_HEADER cHeader = null; cHeader = GetHappyHeader(PosMenuKeyIn, iSelectedRow); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (cHeader == null) return false; //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end // 내점 or 사전예약 if ((PosMenuKeyIn == "00" && cHeader.OrderType != "4" && cHeader.OrderType != "5") || PosMenuKeyIn == "01" || PosMenuKeyIn == "03") { //#15945 해피오더 자동주문 상세기능 start sAsIsStatus = cHeader.OrderStatus; //#15945 해피오더 자동주문 상세기능 end #region 상품준비 if (((Cosmos.UI.CsmButton)sender) == btn_03) // 상품준비 { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG) { //#17143 [해피오더]자동 주문 처리 개선 start #region 기존소스 ////#15945 해피오더 자동주문 상세기능 start ////#15945 해피오더 자동주문 상세기능 start - 20180823 //string sPickupData = string.Empty; //string sOrderData = string.Empty; //sPickupData = cHeader.PickupTime.Substring(0, 4) + cHeader.PickupTime.Substring(5, 2) + cHeader.PickupTime.Substring(8, 2); //sOrderData = cHeader.OrderDate.Substring(0, 4) + cHeader.OrderDate.Substring(5, 2) + cHeader.OrderDate.Substring(8, 2); // ////#20180914 해피오더 자동출하 로그 추가 start //UserLog.WriteLogFile(UserCom.LOG_IOS, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // "픽업일자 :" + sPickupData + "주문일자 :" + sOrderData); ////#20180914 해피오더 자동출하 로그 추가 end // //bAutomaticShipment = false; // //if (sPickupData != sOrderData) //{ // //픽업일자,주문일자가 다르면 자동출하 데이터 저장하고 // bAnswer = m_cHappyOrder.HappyOrder_AutomaticShipmentItemCheck(m_cHappyOrderItem, htStatus[sAsIsStatus].ToString(), out bAutomaticShipment); //} //else //{ // //픽업일자,주문일자가 같으면 자동출하 데이터 저장안하고 기본으로 처리한다. // if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) // { // bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0591)); // } // else // { // bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PRODUCT_READY])); // } //} // ////#15945 해피오더 자동주문 상세기능 start - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 //bAutomaticShipmentAnswer = bAnswer; ////#15945 해피오더 자동주문 상세기능 end - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 ////#15945 해피오더 자동주문 상세기능 end - 20180823 #endregion 기존소스 #region 변경소스 bAnswer = m_cHappyOrder.HappyOrder_AutomaticShipmentItemCheck(m_cHappyOrderItem, htStatus[sAsIsStatus].ToString(), cHeader.OrderDate.Substring(0, 10), cHeader.PickupTime.Substring(0, 10), out bAutomaticShipment); bAutomaticShipmentAnswer = bAnswer; #endregion 변경소스 //#17143 [해피오더]자동 주문 처리 개선 end //#20180914 해피오더 자동출하 로그 추가 start UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[" + sAsIsStatus + "]" + "자동출하_여부 :" + bAutomaticShipment.ToString()); //#20180914 해피오더 자동출하 로그 추가 end //#20180914 해피오더 자동출하 로그 추가 start UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[" + sAsIsStatus + "]" + "자동출하_대답 :" + bAutomaticShipmentAnswer.ToString()); //#20180914 해피오더 자동출하 로그 추가 end //bAutomaticShipment [True] --> 자동출하 가능한 상태 //bAutomaticShipmentAnswer [True] --> 자동출하 가능한 상태에 대한 고객응답 //※ 자동출하 가능한 상태에 대한 고객응답 //예 --> 주문상태변경O / 자동출하데이터저장 O //아니오 --> 주문상태변경O / 자동출하데이터저장 X //닫기 --> 주문상태변경X / 자동출하데이터저장 X if (bAutomaticShipment == true) { bAnswer = true; } //#15945 해피오더 자동주문 상세기능 end if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PRODUCT_READY); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PRODUCT_READY; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PRODUCT_READY]); // 상태가 '상품준비' 시 주방주문메시지 저장 처리 //m_cHappyOrder.KPSItemProc(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); //17.08.22 dkshin SS 해피오더 - 픽업대기 시 주문 데이타 만들기(해피오더의 경우 상품준비시 주문 데이타를 만든다) //픽업대기 시 매출 처리가 되고 KDS로 전송되기 위해 //KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); if (PosMstManager.GetPosOption(POS_OPTION.OPT049) != "1") { KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); } } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { // 이미 상품준비 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.PRODUCT_READY)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } #endregion #region 픽업대기 else if (((Cosmos.UI.CsmButton)sender) == btn_05) // 픽업대기 { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { // 상품준비 단계에서만 픽업대기 처리 if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0592)); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT; //17.08.22 dkshin SS 해피오더 //쉑쉑 해피오더 수기처리 여부 사용일 경우 - 해피오더 창에서 '픽업대기' 상태 변경시 매출 처리 -> KDS 전송 if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { bRegMode = true; } UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT]); } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT) { // 이미 픽업대기 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } #endregion #region 픽업완료 else if (((Cosmos.UI.CsmButton)sender) == btn_07) // 픽업완료 { bool bIsPickUp_Delay = false; // 픽업완료 인지 지연완료 인지 flag 설정 //if (((Cosmos.UI.CsmButton)sender).Text == MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451)) //{ // bIsPickUp_Delay = true; //} if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY) { bIsPickUp_Delay = true; } if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY) { // 픽업대기 단계에서만 픽업완료 처리 if (bIsPickUp_Delay == true) { if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2])); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2]); } else { return false; } } else { if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED])); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED]); } else { return false; } } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2) { // 이미 픽업완료/픽업지연완료 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { // 사전예약 if (PosMenuKeyIn == "03" && PosMstManager.GetPosOption(POS_OPTION.OPT044) == "0") { // 사전예약 중 픽업대기 사용 안 함 이면 상품준비 단계에서 픽업완료 처리 가능 if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { if (bIsPickUp_Delay == true) { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2])); if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2]); } else { return false; } } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED])); if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED]); } else { return false; } } } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } // 상품 등록 중일 경우 빠져 나간다. ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); if (alSaleItem.Count > 0) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021)); return false; } //#20180618 해피오더 매출처리 start bRegMode = true; //#20180618 해피오더 매출처리 end //17.08.22 dkshin SS 해피오더 //쉑쉑 해피오더 수기처리 여부 사용일 경우 - 해피오더 창에서 '픽업완료' 상태 변경시 상태 변경만 함. 매출 처리 안함. if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { bRegMode = false; } //#15945 해피오더 자동주문 상세기능 start sOrderNum = cHeader.OrderNum; sOrderDt = cHeader.OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = cHeader.PayMoney; //#15945 해피오더 자동주문 상세기능 end } #endregion #region 주문취소 else if (((Cosmos.UI.CsmButton)sender) == btnOrderCancel) // 주문취소 { if (sAsIsStatus != ItemConst.HAPPYORDER_STATUS.ORDER_REG && sAsIsStatus != ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { WinManager.ErrorMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0486), htStatus[sAsIsStatus])); return false; } else { bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0485)); if (bAnswer == true) { //#20180611 해피오더 주문취소 사유 start string ReasonName = HPOrderCancelReason(); if (ReasonName == "") return false; //#20180611 해피오더 주문취소 사유 end htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL); if (htRequest.ContainsKey("cancelReasonType")) htRequest["cancelReasonType"] = "Z"; else htRequest.Add("cancelReasonType", "Z"); //#20180611 해피오더 주문취소 사유 start if (htRequest.ContainsKey("cancelReason")) htRequest["cancelReason"] = ReasonName; else htRequest.Add("cancelReason", ReasonName); //#20180611 해피오더 주문취소 사유 end sToBeStatus = ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL]); // 상태가 '주문취소' 시 주방주문메시지 저장 처리 KPSItemProcess(ItemConst.TRAN_DIV.REFUND, m_cHappyOrderItem); } else { return false; } } } #endregion } //#20180607 해피오더 리스트 전체 조회 기능 추가 start else if ((PosMenuKeyIn == "00" && (cHeader.OrderType == "5" || cHeader.OrderType == "4")) || PosMenuKeyIn == "02") // 전체 또든 배달 //#20180607 해피오더 리스트 전체 조회 기능 추가 end { //#15945 해피오더 자동주문 상세기능 start sAsIsStatus = cHeader.OrderStatus; //#15945 해피오더 자동주문 상세기능 end #region 상품준비 if (((Cosmos.UI.CsmButton)sender) == btn_03) // 상품준비 { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG) { //#17143 [해피오더]자동 주문 처리 개선 start #region 기존소스 ////#15945 해피오더 자동주문 상세기능 start ////#15945 해피오더 자동주문 상세기능 start - 20180823 //string sPickupData = string.Empty; //string sOrderData = string.Empty; //sPickupData = cHeader.PickupTime.Substring(0, 4) + cHeader.PickupTime.Substring(5, 2) + cHeader.PickupTime.Substring(8, 2); //sOrderData = cHeader.OrderDate.Substring(0, 4) + cHeader.OrderDate.Substring(5, 2) + cHeader.OrderDate.Substring(8, 2); // ////#20180914 해피오더 자동출하 로그 추가 start //UserLog.WriteLogFile(UserCom.LOG_IOS, // System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // "픽업일자 :" + sPickupData + "주문일자 :" + sOrderData); ////#20180914 해피오더 자동출하 로그 추가 end // //bAutomaticShipment = false; // //if (sPickupData != sOrderData) //{ // //픽업일자,주문일자가 다르면 자동출하 데이터 저장하고 // bAnswer = m_cHappyOrder.HappyOrder_AutomaticShipmentItemCheck(m_cHappyOrderItem, htStatus[sAsIsStatus].ToString(), out bAutomaticShipment); //} //else //{ // //픽업일자,주문일자가 같으면 자동출하 데이터 저장안하고 기본으로 처리한다. // if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) // { // bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0591)); // } // else // { // bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PRODUCT_READY])); // } //} ////#15945 해피오더 자동주문 상세기능 start - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 //bAutomaticShipmentAnswer = bAnswer; ////#15945 해피오더 자동주문 상세기능 end - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 ////#15945 해피오더 자동주문 상세기능 end - 20180823 #endregion 기존소스 #region 변경소스 bAnswer = m_cHappyOrder.HappyOrder_AutomaticShipmentItemCheck(m_cHappyOrderItem, htStatus[sAsIsStatus].ToString(), cHeader.OrderDate.Substring(0, 10), cHeader.PickupTime.Substring(0, 10), out bAutomaticShipment); bAutomaticShipmentAnswer = bAnswer; #endregion 변경소스 //#17143 [해피오더]자동 주문 처리 개선 end //#20180914 해피오더 자동출하 로그 추가 start UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[" + sAsIsStatus + "]" + "자동출하_여부 :" + bAutomaticShipment.ToString()); //#20180914 해피오더 자동출하 로그 추가 end //#20180914 해피오더 자동출하 로그 추가 start UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[" + sAsIsStatus + "]" + "자동출하_대답 :" + bAutomaticShipmentAnswer.ToString()); //#20180914 해피오더 자동출하 로그 추가 end // 자동출하 일 때는 // 예 -> 주문상태변경o, 관련테이블에데이터남김 o // 아니오 -> 주문상태변경o, 관련테이블에데이터남김 x // 닫기 -> 주문상태변경x, 관련테이블에데이터남김 x if (bAutomaticShipment == true) { bAnswer = true; } //#15945 해피오더 자동주문 상세기능 end if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.PRODUCT_READY); sToBeStatus = ItemConst.HAPPYORDER_STATUS.PRODUCT_READY; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.PRODUCT_READY]); // 상태가 '상품준비' 시 주방주문메시지 저장 처리 //#20171019 SS해피오더 배달 start, 20171023 if (PosMstManager.GetPosOption(POS_OPTION.OPT049) != "1") { KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); } //#20171019 SS해피오더 배달 end, 20171023 } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { // 이미 상품준비 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { // 그 이외는 에러처리 WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); return false; } } #endregion #region 배달요청 //#17472 해피오더)직접배달 상태 추가 start //기존 //else if (((Cosmos.UI.CsmButton)sender) == btn_05) // 배달요청 //변경 else if (((Cosmos.UI.CsmButton)sender) == btn_05 || ((Cosmos.UI.CsmButton)sender) == nm_btn_1) // 배달요청 //#17472 해피오더)직접배달 상태 추가 end { // 주문접수 또는 상품준비 일 때 if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { // 주문접수 단계 or 상품준비 단계에서만 배달요청 처리 bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ])); if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ); sToBeStatus = ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ]); //#20171019 SS해피오더 배달 start, 20171023 //쉑쉑 해피오더 수기처리 여부 사용일 경우 - 해피오더 창에서 '픽업대기' 상태 변경시 매출 처리 -> KDS 전송 if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { bRegMode = true; } //#20171019 SS해피오더 배달 end, 20171023 } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REG) { // 이미 배달요청 / 배달접수 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } #endregion #region 배달 중 //#17472 해피오더)직접배달 상태 추가 start //기존 //else if (((Cosmos.UI.CsmButton)sender) == btn_07) // 배달중 //변경 else if (((Cosmos.UI.CsmButton)sender) == btn_07 || ((Cosmos.UI.CsmButton)sender) == nm_btn_2 || ((Cosmos.UI.CsmButton)sender) == nm_btn_4) // 배달중 //#17472 해피오더)직접배달 상태 추가 end { //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 start if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REG || //#20180914 해피오더 배달 매출 처리 조건 변경 start //배달요청제외 //sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ || //#20180914 해피오더 배달 매출 처리 조건 변경 end sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) //여기확인 //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 end { // 배달접수/배달요청 단계에서만 배달완료 처리 bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED])); if (bAnswer == true) { //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 start if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED); sToBeStatus = ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED; } else { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.DELIVERY_ING); sToBeStatus = ItemConst.HAPPYORDER_STATUS.DELIVERY_ING; } //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 end UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_ING]); } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_ING) { // 이미 배달중 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } //grayber@20171123 해피오더 직접배달 start else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT //|| PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1" // grayber@20171212 조건식 교체 && PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") { #region 해피오더 직접배달 // 해피오더 직접배달 [현재 직접배달 상태 입니다.] WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; #endregion } //grayber@20171123 해피오더 직접배달 end else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.DELIVERY_ING)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } // 상품 등록 중일 경우 빠져 나간다. ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); if (alSaleItem.Count > 0) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021)); return false; } bRegMode = true; //#20171019 SS해피오더 배달 start, 20171023 //쉑쉑 해피오더 수기처리 여부 사용일 경우 - 해피오더 창에서 '픽업대기' 상태 변경시 매출 처리 -> KDS 전송 if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { bRegMode = false; } //#20171019 SS해피오더 배달 end, 20171023 //#15945 해피오더 자동주문 상세기능 start sOrderNum = cHeader.OrderNum; sOrderDt = cHeader.OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = cHeader.PayMoney; sOwnerId = cHeader.OwnerId; //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs sChannel = cHeader.Channel; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs sChannelName = cHeader.ChannelName; //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs //#15945 해피오더 자동주문 상세기능 end } #endregion //#17197 판매POS 직접배달 옵션처리 요청 件 start //직접배달 기능 재사용 - 아래 주석 해제 #region 해피오더 직접배달 고려 안함 //grayber@20171123 해피오더 직접배달 start //#17472 해피오더)직접배달 상태 추가 start //기존 //else if (((Cosmos.UI.CsmButton)sender) == btnStatus4) // 직접배달 //변경 else if (((Cosmos.UI.CsmButton)sender) == btnStatus4 || ((Cosmos.UI.CsmButton)sender) == nm_btn_3) // 직접배달 //#17472 해피오더)직접배달 상태 추가 end { if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") // OPT550 이 '1' 이고 { #region 해피오더 직접배달 : 주문접수 상태의 거래만 처리 //#20180420 상품준비 상태인 주문건도 직접배달 가능 하도록 수정 start //주문접수 또는 상품준비 일 때 if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) //#20180420 상품준비 상태인 주문건도 직접배달 가능 하도록 수정 end { //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 start bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT])); //#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 end if (bAnswer == true) { htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT); sToBeStatus = ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT]); //bRegMode = true; //20171214_해피오더 직접 배달 수정_hs 배달완료시 매출생성으로 변경 } else { return false; } } else if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) // 직접배달 { // 이미 직접배달 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), htStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } #endregion } else { return false; } } //grayber@20171123 해피오더 직접배달 end #endregion 해피오더 직접배달 고려 안함 //#17197 판매POS 직접배달 옵션처리 요청 件 end #region 주문취소 else if (((Cosmos.UI.CsmButton)sender) == btnOrderCancel) // 주문취소 { if (sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REG || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_ING || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_PRODUCT_READY || sAsIsStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED) { WinManager.ErrorMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0486), htStatus[sAsIsStatus])); return false; } else { //#15881 배달건 취소버튼 클릭 시 메세지 추가 start bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0797)); //#15881 배달건 취소버튼 클릭 시 메세지 추가 end if (bAnswer == true) { //#20180611 해피오더 주문취소 사유 start string ReasonName = HPOrderCancelReason(); if (ReasonName == "") return false; //#20180611 해피오더 주문취소 사유 end htRequest.Add("status", ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL); if (htRequest.ContainsKey("cancelReasonType")) htRequest["cancelReasonType"] = "Z"; else htRequest.Add("cancelReasonType", "Z"); //#20180611 해피오더 주문취소 사유 start if (htRequest.ContainsKey("cancelReason")) htRequest["cancelReason"] = ReasonName; else htRequest.Add("cancelReason", ReasonName); //#20180611 해피오더 주문취소 사유 end sToBeStatus = ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + htStatus[ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL]); // 상태가 '주문취소' 시 주방주문메시지 저장 처리 KPSItemProcess(ItemConst.TRAN_DIV.REFUND, m_cHappyOrderItem); } else { return false; } } } #endregion } #endregion Hashtable htResponse = null; Hashtable[] aResponse = null; int iReturn = BaseCom.NG; WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0452)), this); #region 영양정보 받아와서 저장 if (bRegMode == true) { //#20180614 배달완료 시 영양정보 출력되도록 수정 start htRequestForNutrition.Add("orderNum", sOrderNum); //#20180614 배달완료 시 영양정보 출력되도록 수정 end aResponse = null; aResponse = m_cHappyOrder.SendReceiveForHappyOrder(new object[] { m_sHappyOrderURL, ItemConst.HAPPYORDER_WORK_TYPE.SELECT_PRODUCT_NUTRITION, htRequestForNutrition }, ref htResponse, ref iReturn); if (aResponse != null && aResponse.Length > 0) { string sMsg = m_cHappyOrder.ParseNutritionMsg(aResponse); if (sMsg != "") { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 영양정보 = " + sMsg); // 영양정보 저장 m_cHappyOrder.UpdateHappyOrderData(new string[] { "Message", sMsg, sOrderNum, sOrderDt }); } } //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 start - 기능 함수화 하여 주석 처리 해둠 //m_cHappyOrder.GetHappyOrderNurtitionListDetail(sOrderNum, m_sHappyOrderURL, sOrderDt); //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 end } #endregion //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 start,phj //인천공항으로 상품,결제 리스트 보내고 성공 시 해피오더 상태변경 한다. //인천공항으로 전송 실패 시 해피오더 상태 변경하지 않는다. //해피오더 상태변경 실패 시 일괄 취소 후 진행한다. #region 자사포스 데이터 인천공항 포스로 전송 if (bRegMode == true) { // 주문유형구분 string sOrderType = ""; //#20180903 해피오더 매출 생성 시 tr_sale_detail에 구분자 추가 start #region 해피오더 매출 주문유형구분 if (PosMenuKeyIn == "01" || (PosMenuKeyIn == "00" && (cHeader.OrderType != "4" && cHeader.OrderType != "5" && cHeader.OrderType != "6"))) // 내점 { // 내점이라면 내점 리스트에서 가져온다. sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; } else if (PosMenuKeyIn == "02" || (PosMenuKeyIn == "00" && (cHeader.OrderType == "5" || cHeader.OrderType == "4"))) // 배달 { // 배달이라면 배달 리스트에서 가져온다. sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; } else if (PosMenuKeyIn == "03" || (PosMenuKeyIn == "00" && (cHeader.OrderType == "6"))) // 사전예약 { // 사전예약이라면 사전예약 리스트에서 가져온다. sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PRE_RESERVATION; } #endregion //#20180903 해피오더 매출 생성 시 tr_sale_detail에 구분자 추가 end //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start #region 해피오더 상품리스트가 쇼킹박스인지 체크 후 바코드 화면 오픈 bool bValue = false; string sItemCode = ""; DataTable dtData = null; for (int nLoop = 0; nLoop < m_cHappyOrderItem.Count; nLoop++) { Column.TR_HPORD.HPORD_ITEM item = (Column.TR_HPORD.HPORD_ITEM)m_cHappyOrderItem[nLoop]; dtData = m_cDataCommon.SeletCommonCode(PosConst.COMMON_CODE_GROUP.T0039, ""); if (dtData != null && dtData.Rows.Count > 0) { foreach (DataRow dr in dtData.Rows) { if (item.GoodsCode == CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01)) { sItemCode = item.GoodsCode; bValue = true; break; } } } if (bValue == true) { break; } } if (bValue == true) { WinManager.HideSearchMessage(); frmHappyOrderBarcode fForm = (frmHappyOrderBarcode)FormManager.GetForm(FormManager.FORM_SAL_HPORD_BARCODE); if (fForm == null) { fForm = new frmHappyOrderBarcode(); FormManager.AddForm(FormManager.FORM_SAL_HPORD_BARCODE, fForm); } fForm.sHPOrderNo = sOrderNum; fForm.sItemCode = sItemCode; if (fForm.ShowDialog() == DialogResult.OK) { bLandomBoxCheck = true; } else { bLandomBoxCheck = false; } if (bLandomBoxCheck == false) return false; } #endregion //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0452)), this); string sRet = ""; if (bLandomBoxCheck == true) { sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem, htLandomBoxInfo); } else { sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem, null); } //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end if (sRet == UserCom.RST_OK) { //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start if (bLandomBoxCheck == true) { IHoldDeal m_cHoldDeal = (IHoldDeal)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.HOLD_DEAL); m_cHoldDeal.UpdateHoldDeal(htLandomBoxInfo["SALE_DT"].ToString(), htLandomBoxInfo["POS_NO"].ToString(), htLandomBoxInfo["REG_NO"].ToString(), "1", 0, 0); m_cTrnStatus.Head.ShockingBoxStat = "1";//0:쇼킹박스 완성 1:쇼킹방스불러오기 m_cTrnStatus.Head.ShockingBoxBarcodeData = htLandomBoxInfo["BARCODE_NO"].ToString(); // SALE_DT + REG_NO m_cTrnStatus.Head.ShockingBoxTradeKind = ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX; } //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.FORIGN.O2O; //m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; IPaymentUs cPaymentUs = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HAPPYORDER); //#10906_[BR] 요기요 해피오더 매출 처리 기능 개발_hs //#11078_[공통] 해피오더 외부채널 표시 방식 변경 적용 요청_hs if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR) { if (sOwnerId == "BLUEBEE") { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_YOGIYO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else if (sChannel == "HAPPYMARKET") { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_HAPPYMARKET, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else if (sChannel == "YGY") { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_YOGIYO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else if (sChannel == "BEAMIN") { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_BAEMIN, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else if (sChannel == "KAKAO") { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_KAKAO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else if (sChannel == "BRMICRO") //20171215_카카오 사전예약 결제코드 생성_hs { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HPORDER_BRMICRO, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } else { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } } else { sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, sOrderType, sPayAmt, sOrderNum, sOrderDt }); } if (sRet != UserCom.RST_OK) { WinManager.HideSearchMessage(); UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", SetPayment [" + sRet.ToString() + "]"); } else { if (PosMstManager.GetPosOption(POS_OPTION.OPT512) == "1") { // 인천공항으로 데이터 전송 sRet = m_cAirPortTran.IncheonAireportClose(PosKey.MENU_KEY.INCHEON_AIRPORT, "N"); if (sRet != UserCom.RST_OK) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 인천공항POS로 데이터 전송 실패 [" + sRet + "]"); } } } } else { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", MakeTranItem [" + sRet.ToString() + "]"); return false; } // 판매상태 변경 //m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; if (sRet != UserCom.RST_OK) { return false; } } #endregion //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 end,phj #region 주문 상태 변경 htResponse = null; iReturn = BaseCom.NG; m_cHappyOrder.SendReceiveForHappyOrder(new object[] { m_sHappyOrderURL, ItemConst.HAPPYORDER_WORK_TYPE.UPDATE_STATUS, htRequest }, ref htResponse, ref iReturn); WinManager.HideSearchMessage(this); if (htResponse == null || htResponse.ContainsKey("status") == false) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 상태변경 처리 실패"); WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0005)); return false; } if (htResponse["status"].ToString().Equals("200") == false) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 상태변경 처리 실패(" + htResponse["message"].ToString() + ")"); WinManager.ConfirmMessage(htResponse["message"].ToString()); return false; } else { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 상태변경 처리 완료"); //#20180914 해피오더 자동출하 로그 추가 start UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "자동출하데이터저장여부 " + "(변경된버튼상태 :" + sToBeStatus.ToString() + "/자동출하여부 :" + bAutomaticShipment.ToString() + "/자동출하동의여부 :" + bAutomaticShipmentAnswer.ToString() + ")"); //#20180914 해피오더 자동출하 로그 추가 end //#15945 해피오더 자동주문 상세기능 start if ((sToBeStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY && bAutomaticShipment == true && bAutomaticShipmentAnswer == true) || (sToBeStatus == ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL)) //#15945 해피오더 자동주문 상세기능 end - 20180828 자동출하 안내팝업에서 아니오 선택 시에도 TR 데이터 생기는 현상 수정 { m_cHappyOrder.HappyOrder_AutomaticShipmentLog(cHeader, sToBeStatus, "200"); } //#15945 해피오더 자동주문 상세기능 end // 정상 처리 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0487), htStatus[sToBeStatus])); bReturn = true; } #endregion //#17334 해피오더)배달요청 시 배달주문서 자동 출력 start if ((PosMenuKeyIn == "00" && (cHeader.OrderType == "5" || cHeader.OrderType == "4")) || PosMenuKeyIn == "02") { if (sToBeStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ || sToBeStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) { // 배달요청이거나 직접배달일 때 주문서 자동출력 btnProc_Click(btnPrint, null); } } //#17334 해피오더)배달요청 시 배달주문서 자동 출력 end //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 start,phj #region 픽업완료, 배달중 의 경우 거래 생성 if (bRegMode == true) { string sRet = string.Empty; //17.08.22 dkshin SS 해피오더 //주문상세데이터에 픽업시간 추가(KDS 전송시 ORDERHEADER TABLE_NM에 픽업시간 설정: MST_KTCH_ORD_MSG.ORD_TIME) if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { int itemCnt = m_cHappyOrderItem.Count; ArrayList itemList = new ArrayList(); for (int i = 0; i < itemCnt; i++) { Column.TR_HPORD.HPORD_ITEM item = (Column.TR_HPORD.HPORD_ITEM)m_cHappyOrderItem[i]; item.PickupTime = cHeader.PickupTime; itemList.Add(item); } m_cHappyOrderItem.Clear(); m_cHappyOrderItem = new ArrayList(itemList); } //17.08.22 dkshin SS 해피오더 - 판매POS의 매출처리시 대기번호도 해당 대기번호로 저장해야 함. if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { m_cTrnStatus.Head.OrderNo = cHeader.DailyCode; //#20171212, 쉑쉑 해피오더 수기로 상태변경 시 매출데이터 오류 수정 Start sOrderNum = cHeader.OrderNum; sOrderDt = cHeader.OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = cHeader.PayMoney; //#20171212, 쉑쉑 해피오더 수기로 상태변경 시 매출데이터 오류 수정 End } if (PosMstManager.GetPosOption(POS_OPTION.OPT038) == "1") { // 해피오더 바코드등록 POP-UP WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_BARCODE_REG }); } WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0437)), this); // 거래 완료 처리 ISaleCompleteUs cSaleComplete = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE); sRet = cSaleComplete.PosSaleExecute(new string[] { }); if (sRet != UserCom.RST_OK) { WinManager.HideSearchMessage(); return bReturn; } //17.08.22 dkshin SS 해피오더 // KDS전송 /*if (PosMstManager.GetPosOption(POS_OPTION.OPT049) == "1") { KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); } */ // 해피오더 데이터 삭제 m_cHappyOrder.DeleteHappyOrderData(sOrderNum, sOrderDt); // 판매상태 변경 //m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; WinManager.HideSearchMessage(); iSelectedRow = 0; } #endregion //#20171227 인천공항 포스연동 start, phj - 20180310 해피오더 결제완료 end,phj } catch (Exception ex) { bReturn = false; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } return bReturn; } //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end /// /// 양재오더 상태변경 처리 /// /// /// private bool YangJaeOrderStatusChangedProc(object sender, int iSelectedRow) { // 오더폼 주문 List Refresh 여부 bool bReturn = false; // 픽업완료, 배달중 플래그 bool bRegMode = false; bool bFieldPay = false; string sOrderNum = string.Empty; string sOrderDt = string.Empty; string sPayAmt = string.Empty; string sAsIsStatus = string.Empty; string sToBeStatus = string.Empty; Hashtable htRequest = new Hashtable(); Hashtable htRequestForNutrition = new Hashtable(); bool bAnswer = false; try { // 해피오더 건이면 빠져 나감 if (PosMenuKeyIn == "01" || PosMenuKeyIn == "02" || PosMenuKeyIn == "03") return false; htRequest.Add("deviceType", "POS"); htRequest.Add("orderNum", CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO")); htRequest.Add("cancelReasonType", ""); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start Column.TR_HPORD.HPORD_HEADER cHeader = null; cHeader = GetHappyHeader(PosMenuKeyIn, iSelectedRow); if (cHeader == null) return false; //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end #region 상태변경 처리 if (PosMenuKeyIn == "04") // 양재오더 내점 { //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 //sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[iSelectedRow]).OrderStatus; //변경 sAsIsStatus = cHeader.OrderStatus; //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end #region 상품준비 if (((Cosmos.UI.CsmButton)sender) == btnStatus1) // 상품준비 { if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.ORDER_REG) { // 주문접수 단계에서만 상품준비 처리 if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0591)); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY); sToBeStatus = ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY]); // 상태가 '상품준비' 시 주방주문메시지 저장 처리 //m_cHappyOrder.KPSItemProc(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); } else { return false; } } else if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY) { // 이미 상품준비 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), m_htYJStatus[sAsIsStatus])); return false; } else { // 그 이외는 에러처리 if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.HAPPYORDER_STATUS.PRODUCT_READY)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } #endregion #region 픽업대기 else if (((Cosmos.UI.CsmButton)sender) == btnStatus2) // 픽업대기 { if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY) { // 상품준비 단계에서만 픽업대기 처리 if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0592)); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.PICKUP_WAIT])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.PICKUP_WAIT); sToBeStatus = ItemConst.YANGJAEORDER_STATUS.PICKUP_WAIT; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.PICKUP_WAIT]); } else { return false; } } else if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.PICKUP_WAIT) { // 이미 픽업대기 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), m_htYJStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.YANGJAEORDER_STATUS.PICKUP_WAIT)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } #endregion #region 픽업완료 else if (((Cosmos.UI.CsmButton)sender) == btnStatus3) // 픽업완료 { bool bIsPickUp_Delay = false; if (((Cosmos.UI.CsmButton)sender).Text != MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0846)) { // 픽업완료 인지 지연완료 인지 flag 설정 if (((Cosmos.UI.CsmButton)sender).Text == MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0451)) { bIsPickUp_Delay = true; } if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.PICKUP_WAIT || sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.PICKUP_DELAY) { // 픽업대기 단계에서만 픽업완료 처리 if (bIsPickUp_Delay == true) { if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2])); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED2])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED2); sToBeStatus = ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED2; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED2]); } else { return false; } } else { if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), htStatus[ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED])); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED); sToBeStatus = ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED]); } else { return false; } } } else if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED || sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED2) { // 이미 픽업완료/지연완료 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), m_htYJStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.YANGJAEORDER_STATUS.PICKUP_COMPLETED)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } // 상품 등록 중일 경우 빠져 나간다. ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); if (alSaleItem.Count > 0) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021)); return false; } bRegMode = true; } else { // 현장결제 bFieldPay = true; htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.FIELD_ORDER_COMPLETED); UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.FIELD_ORDER_COMPLETED]); } sOrderNum = ((Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[iSelectedRow]).OrderNum; sOrderDt = ((Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[iSelectedRow]).OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = ((Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[iSelectedRow]).PayMoney; //#20180614 배달완료 시 영양정보 출력되도록 수정 start //기존1 // 영양정보 조회 요청 전문 생성 //htRequestForNutrition.Add("orderNum", sOrderNum); //#20180614 배달완료 시 영양정보 출력되도록 수정 end } #endregion #region 주문취소 else if (((Cosmos.UI.CsmButton)sender) == btnOrderCancel)// 주문취소 { if (sAsIsStatus != ItemConst.YANGJAEORDER_STATUS.ORDER_REG && sAsIsStatus != ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY) { WinManager.ErrorMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0486), m_htYJStatus[sAsIsStatus])); return false; } else { bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0485)); if (bAnswer == true) { //#20180611 해피오더 주문취소 사유 start string ReasonName = ReasonName = HPOrderCancelReason(); if (ReasonName == "") return false; //#20180611 해피오더 주문취소 사유 end htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.ORDER_CANCEL); if (htRequest.ContainsKey("cancelReasonType")) htRequest["cancelReasonType"] = "Z"; else htRequest.Add("cancelReasonType", "Z"); //#20180611 해피오더 주문취소 사유 start if (htRequest.ContainsKey("cancelReason")) htRequest["cancelReason"] = ReasonName; else htRequest.Add("cancelReason", ReasonName); //#20180611 해피오더 주문취소 사유 end sToBeStatus = ItemConst.YANGJAEORDER_STATUS.ORDER_CANCEL; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.ORDER_CANCEL]); // 상태가 '주문취소' 시 주방주문메시지 저장 처리 //m_cHappyOrder.KPSItemProc(ItemConst.TRAN_DIV.REFUND, m_cHappyOrderItem); KPSItemProcess(ItemConst.TRAN_DIV.REFUND, m_cHappyOrderItem); } else { return false; } } } #endregion } else if (PosMenuKeyIn == "05") // 양재오더 배달 { //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 //sAsIsStatus = ((Column.TR_HPORD.HPORD_HEADER)m_alYJDeliveryLists[iSelectedRow]).OrderStatus; //변경 sAsIsStatus = cHeader.OrderStatus; //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end #region 상품준비 if (((Cosmos.UI.CsmButton)sender) == btnStatus1) // 상품준비 { if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.ORDER_REG) { // 주문접수 단계에서만 상품준비 처리 if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) { bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0591)); } else { bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY])); } if (bAnswer == true) { htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY); sToBeStatus = ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY]); // 상태가 '상품준비' 시 주방주문메시지 저장 처리 //m_cHappyOrder.KPSItemProc(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); KPSItemProcess(ItemConst.TRAN_DIV.NORMAL, m_cHappyOrderItem); } else { return false; } } else if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY) { // 이미 상품준비 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), m_htYJStatus[sAsIsStatus])); return false; } else { // 그 이외는 에러처리 WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); return false; } } #endregion #region 배달요청 else if (((Cosmos.UI.CsmButton)sender) == btnStatus2) // 배달요청 { if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.ORDER_REG || sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.PRODUCT_READY) { // 주문접수 단계 or 상품준비 단계에서만 배달요청 처리 bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0482), m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.DELIVERY_REQ])); if (bAnswer == true) { htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.DELIVERY_REQ); sToBeStatus = ItemConst.YANGJAEORDER_STATUS.DELIVERY_REQ; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.DELIVERY_REQ]); } else { return false; } } else if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_REQ || sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_REG) { // 이미 배달요청 / 배달접수 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), m_htYJStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.YANGJAEORDER_STATUS.DELIVERY_REQ)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } } #endregion #region 배달 중 else if (((Cosmos.UI.CsmButton)sender) == btnStatus3) // 배달중 { if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_REG || sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_REQ) { // 배달접수/배달요청 단계에서만 배달완료 처리 bAnswer = WinManager.QuestionMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0484), htStatus[ItemConst.YANGJAEORDER_STATUS.DELIVERY_COMPLETED])); if (bAnswer == true) { htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.DELIVERY_ING); sToBeStatus = ItemConst.YANGJAEORDER_STATUS.DELIVERY_ING; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.DELIVERY_ING]); } else { return false; } } else if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_ING) { // 이미 배달중 단계라면 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0483), m_htYJStatus[sAsIsStatus])); return false; } else { if (Convert.ToInt32(sAsIsStatus) < Convert.ToInt32(ItemConst.YANGJAEORDER_STATUS.DELIVERY_ING)) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0488)); } else { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0660)); } return false; } // 상품 등록 중일 경우 빠져 나간다. ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); if (alSaleItem.Count > 0) { WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021)); return false; } bRegMode = true; //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 /* sOrderNum = ((Column.TR_HPORD.HPORD_HEADER)m_alYJDeliveryLists[iSelectedRow]).OrderNum; sOrderDt = ((Column.TR_HPORD.HPORD_HEADER)m_alYJDeliveryLists[iSelectedRow]).OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = ((Column.TR_HPORD.HPORD_HEADER)m_alYJDeliveryLists[iSelectedRow]).PayMoney; */ //변경 sOrderNum = cHeader.OrderNum; sOrderDt = cHeader.OrderDate.Substring(0, 10).Replace("-", ""); sPayAmt = cHeader.PayMoney; //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end } #endregion #region 주문취소 else if (((Cosmos.UI.CsmButton)sender) == btnOrderCancel)// 주문취소 { if (sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_REQ || sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_REG || sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_ING || sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_PRODUCT_READY || sAsIsStatus == ItemConst.YANGJAEORDER_STATUS.DELIVERY_COMPLETED) { WinManager.ErrorMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0486), m_htYJStatus[sAsIsStatus])); return false; } else { //#15881 배달건 취소버튼 클릭 시 메세지 추가 start //기존 //bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0485)); //변경 bAnswer = WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0797)); //#15881 배달건 취소버튼 클릭 시 메세지 추가 end if (bAnswer == true) { //#20180611 해피오더 주문취소 사유 start string ReasonName = HPOrderCancelReason(); if (ReasonName == "") return false; //#20180611 해피오더 주문취소 사유 end htRequest.Add("status", ItemConst.YANGJAEORDER_STATUS.ORDER_CANCEL); if (htRequest.ContainsKey("cancelReasonType")) htRequest["cancelReasonType"] = "Z"; else htRequest.Add("cancelReasonType", "Z"); //#20180611 해피오더 주문취소 사유 start if (htRequest.ContainsKey("cancelReason")) htRequest["cancelReason"] = ReasonName; else htRequest.Add("cancelReason", ReasonName); //#20180611 해피오더 주문취소 사유 end sToBeStatus = ItemConst.YANGJAEORDER_STATUS.ORDER_CANCEL; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", BEFORE = " + htStatus[sAsIsStatus] + ", AFTER = " + m_htYJStatus[ItemConst.YANGJAEORDER_STATUS.ORDER_CANCEL]); // 상태가 '주문취소' 시 주방주문메시지 저장 처리 //m_cHappyOrder.KPSItemProc(ItemConst.TRAN_DIV.REFUND, m_cHappyOrderItem); KPSItemProcess(ItemConst.TRAN_DIV.REFUND, m_cHappyOrderItem); } else { return false; } } } #endregion } #endregion Hashtable htResponse = null; Hashtable[] aResponse = null; int iReturn = BaseCom.NG; WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0452)), this); // 영양정보 받아와서 저장 #region 영양정보 받아와서 저장 if (bRegMode == true || bFieldPay == true) { //#20180614 배달완료 시 영양정보 출력되도록 수정 start htRequestForNutrition.Add("orderNum", sOrderNum); //#20180614 배달완료 시 영양정보 출력되도록 수정 end aResponse = null; aResponse = m_cHappyOrder.SendReceiveForHappyOrder(new object[] { m_sYangJaeOrderURL, ItemConst.YANGJAEORDER_WORK_TYPE.SELECT_PRODUCT_NUTRITION, htRequestForNutrition }, ref htResponse, ref iReturn); if (aResponse != null && aResponse.Length > 0) { string sMsg = m_cHappyOrder.ParseNutritionMsg(aResponse); if (sMsg != "") { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 영양정보 = " + sMsg); // 영양정보 저장 m_cHappyOrder.UpdateHappyOrderData(new string[] { "Message", sMsg, sOrderNum, sOrderDt }); } } //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 start - 기능 함수화 하여 주석 처리 해둠 //m_cHappyOrder.GetHappyOrderNurtitionListDetail(sOrderNum, m_sYangJaeOrderURL, sOrderDt); //grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 end } #endregion // 주문상태변경 #region 주문상태변경 htResponse = null; iReturn = BaseCom.NG; // 주문상태변경 전문 전송 m_cHappyOrder.SendReceiveForHappyOrder(new object[] { m_sYangJaeOrderURL, ItemConst.YANGJAEORDER_WORK_TYPE.UPDATE_STATUS, htRequest }, ref htResponse, ref iReturn); WinManager.HideSearchMessage(); if (htResponse == null || htResponse.ContainsKey("status") == false) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 상태변경 처리 실패"); WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0005)); return false; } if (htResponse["status"].ToString().Equals("200") == false) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 상태변경 처리 실패(" + htResponse["message"].ToString() + ")"); WinManager.ConfirmMessage(htResponse["message"].ToString()); return false; } else { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) "OrderNum = " + CmUtil.GetDataRowStr(m_dtGrid.Rows[iSelectedRow], "ORDER_NO") + ", 상태변경 처리 완료"); // 정상 처리 WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0487), m_htYJStatus[sToBeStatus])); bReturn = true; } #endregion //grayber@20171127 로컬 변수 if 구문 외부로 변경 start //주문유형구분 string sOrderType = ""; //grayber@20171127 로컬 변수 if 구문 외부로 변경 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start if (bRegMode == true && bFieldPay == true) { //#16065 PB 인천논현_해피오더 영수증에 받은금액 54,500원/거스름돈 44,000원으로 표기되는 증상 start m_cPosStatus.Sale.PayRecvedAmt = 0; m_cPosStatus.Sale.ChangeCashAmt = 0; //#16065 PB 인천논현_해피오더 영수증에 받은금액 54,500원/거스름돈 44,000원으로 표기되는 증상 end // 거래 초기화 m_cDataSrv.InitTranHeader(); m_cDataSrv.DeleteTranItem(); } //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end #region 픽업완료, 배달중 의 경우 거래 생성 if (bRegMode == true) { //grayber@20171127 로컬 변수 if 구문 외부로 변경 start // 주문유형구분 //string sOrderType = ""; //grayber@20171127 로컬 변수 if 구문 외부로 변경 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 /* // 거래 초기화 m_cDataSrv.InitTranHeader(); m_cDataSrv.DeleteTranItem(); */ //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 /* Column.TR_HPORD.HPORD_HEADER cHeader = null; if (PosMenuKeyIn == "01") // 내점 { // 내점이라면 내점 리스트에서 가져온다. cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iSelectedRow]; sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; } else if (PosMenuKeyIn == "02") // 배달 { // 배달이라면 배달 리스트에서 가져온다. cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iSelectedRow]; sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; } else if (PosMenuKeyIn == "03") // 사전예약 { // 사전예약이라면 사전예약 리스트에서 가져온다. cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iSelectedRow]; sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PRE_RESERVATION; } else if (PosMenuKeyIn == "04") // 오더폼 내점 { // 오더폼(양재오더) 내점이라면 양재오더 내점 리스트에서 가져온다. cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[iSelectedRow]; sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; } else if (PosMenuKeyIn == "05") // 오더폼 배달 { cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alYJDeliveryLists[iSelectedRow]; sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; } */ //변경 if (PosMenuKeyIn == "01") // 내점 { // 내점이라면 내점 리스트에서 가져온다. sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; } else if (PosMenuKeyIn == "02") // 배달 { // 배달이라면 배달 리스트에서 가져온다. sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; } else if (PosMenuKeyIn == "03") // 사전예약 { // 사전예약이라면 사전예약 리스트에서 가져온다. sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PRE_RESERVATION; } else if (PosMenuKeyIn == "04") // 오더폼 내점 { // 오더폼(양재오더) 내점이라면 양재오더 내점 리스트에서 가져온다. sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP; } else if (PosMenuKeyIn == "05") // 오더폼 배달 { sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.DELIVERY; } //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start //기존 //string sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem); //변경 string sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem, null); //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end if (sRet == UserCom.RST_OK) { m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.FORIGN.O2O; m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING; if (PosMstManager.GetPosOption(POS_OPTION.OPT038) == "1") { // 해피오더 바코드등록 POP-UP WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_BARCODE_REG }); } WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0437)), this); IPaymentUs cPaymentUs = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HAPPYORDER); sRet = cPaymentUs.SetPayment(new string[] { ItemConst.TR_ITEM_ID.ORDER.ORDERFORM_PAY, sOrderType, sPayAmt, sOrderNum, sOrderDt }); if (sRet != UserCom.RST_OK) { WinManager.HideSearchMessage(); return bReturn; } #region 현금영수증 발행은 없기 때문에 주석 처리(문성진D 요청) //if (PosMstManager.GetPosOption(POS_OPTION.OPT315) == "0") return; // 현금영수증 업무 사용 여부(0:사용안함, 1:사용함) ////현금영수증 발행! //IDataProcessUs m_cDataService = (IDataProcessUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_SERVICE); //if (m_cDataService != null) //{ // double dCashBillAmt = m_cDataService.GetCashAmt(); // if (dCashBillAmt > 0) // { // //부가세 계산 // double dTax = m_cTrnStatus.Head.TotVatAmt * (dCashBillAmt / m_cTrnStatus.Head.NetSaleAmt); // dTax = CmUtil.MathRounds(dTax, m_cPosStatus.Mst.VatRudDwLocMethd, CmUtil.IntParse(m_cPosStatus.Mst.VatRudDwLoc)); // // 현금 화면 진행 // sRet = WinPay.ShowForm(new string[] { FormManager.FORM_PAY_CASH_APPROVAL, "", dCashBillAmt.ToString(), dTax.ToString() }); // } //} #endregion // 거래 완료 처리 ISaleCompleteUs cSaleComplete = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE); sRet = cSaleComplete.PosSaleExecute(new string[] { }); if (sRet != UserCom.RST_OK) { WinManager.HideSearchMessage(); return bReturn; } // 해피오더 데이터 삭제 m_cHappyOrder.DeleteHappyOrderData(sOrderNum, sOrderDt); // 판매상태 변경 m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT; WinManager.HideSearchMessage(); } else { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0638)); } iSelectedRow = 0; } else if (bFieldPay == true) // 현장결제 { //grayber@20171127 로컬 변수 if 구문 외부로 변경 start //주문유형구분 //string sOrderType = ""; //grayber@20171127 로컬 변수 if 구문 외부로 변경 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 /* // 거래 초기화 m_cDataSrv.InitTranHeader(); m_cDataSrv.DeleteTranItem(); */ //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 /* //Column.TR_HPORD.HPORD_HEADER cHeader = null; //현장결제는 양재오더 내점 건에만 존재하므로 양재오더 내점 리스트에서만 가져 옴. cHeader = (Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[iSelectedRow]; */ //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end sOrderType = ItemConst.TR_ITEM_ID.ORDER_TYPE.PICKUP_FIELD_PAY; //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start //기존 //string sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem); //변경 string sRet = m_cHappyOrder.MakeTranItem((Column.TR_HPORD.HPORD_HEADER)cHeader, m_cHappyOrderItem, null); //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end if (sRet == UserCom.RST_OK) { // SaleMain Form Show //WinSale.ShowForm(new string[] { FormManager.FORM_SAL_MAIN, PosConst.SAL_MAIN_FORM_CALLER_TYPE.HPORD }); m_cPosStatus.Base.HappyOrderMode = FormManager.FORM_SAL_MAIN; // 현장 결제 이후 판매화면 종료 시 오더폼List Refresh를 안 함. bReturn = false; m_sPosMenuKeyIn = ""; this.DialogResult = DialogResult.OK; this.Close(); } else { WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087); } } #endregion } catch (Exception ex) { bReturn = false; UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } return bReturn; } private void btnStatus_Click(object sender, EventArgs e) { int iSelectedRow = 0; bool bDoRefresh = false; try { iSelectedRow = gridHappyOrderList.CsmGridSelectedRowIndex; //// 해피오더 상태변경 처리 //HappyOrderStatusChangedProc(sender, iSelectedRow); //if (PosMstManager.GetPosOption(POS_OPTION.OPT318) == "1") //{ // // 양재오더 상태변경 처리 // YangJaeOrderStatusChangedProc(sender, iSelectedRow); //} switch(PosMenuKeyIn) { //#20180607 해피오더 리스트 전체 조회 기능 추가 start case "00": // 해피오더 전체 //#20180607 해피오더 리스트 전체 조회 기능 추가 end case "01": // 해피오더 내점 case "02": // 해피오더 배달 case "03": // 사전예약 // 해피오더 상태변경 처리 //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 //bDoRefresh = HappyOrderStatusChangedProc(sender, iSelectedRow); //변경 bDoRefresh = ImgBtnHappyOrderStatusChangedProc(sender, iSelectedRow); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end break; case "04": // 오더폼 내점 case "05": // 오더폼 배달 bDoRefresh = YangJaeOrderStatusChangedProc(sender, iSelectedRow); break; } if (bDoRefresh == true) { // 상태 변경 후 리스트 재조회 btnProc_Click(btnSearch, null); } gridHappyOrderList.CsmGridSelectRow(iSelectedRow); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private void btnFunc_Click(object sender, EventArgs e) { try { if((Cosmos.UI.CsmButton)sender == btnWeightPrint) // 중량출력 { if(m_dtGrid == null || m_dtGrid.Rows.Count == 0) { return; } WeightPrintProc(); } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } private bool CheckOverWeightValue(int iWeight, ref string sItemNm) { bool bIsNormal = false; sItemNm = string.Empty; try { if( iWeight >= 236 && iWeight <= 335) { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0545); bIsNormal = false; } //else if(iWeight >= 336 && iWeight <= 434) //{ // sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0545); // bIsNormal = true; //} //else if(iWeight >= 435 && iWeight <= 534) //{ // sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0546); // bIsNormal = true; //} //#10856] (신규) [BR] 저울 중량 라벨프린터 양식 변경 //스타워즈 파인트 제외 else if (iWeight >= 336 && iWeight <= 534) { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0545); bIsNormal = true; } else if(iWeight >= 545 && iWeight <= 642) { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0547); bIsNormal = false; } else if(iWeight >= 643 && iWeight <= 742) { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0547); bIsNormal = true; } else if(iWeight >= 889 && iWeight <= 988) { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0548); bIsNormal = false; } else if(iWeight >= 989 && iWeight <= 1088) { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0548); bIsNormal = true; } else if(iWeight >= 1137 && iWeight <= 1236) { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0549); bIsNormal = false; } else if(iWeight >= 1237 && iWeight <= 1536) { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0549); bIsNormal = true; } else if(iWeight >= 1700 && iWeight <= 1999) { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0550); bIsNormal = false; } else if(iWeight >= 2000 && iWeight <= 2300) { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0550); bIsNormal = true; } else { sItemNm = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0551); bIsNormal = false; } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } return bIsNormal; } #region 중량 출력 처리 /// /// 중량 출력 처리 /// private void WeightPrintProc() { try { frmHappyOrderWeightPrint frmWeightPrint = (frmHappyOrderWeightPrint)FormManager.GetForm(FormManager.FORM_SAL_HPORD_WEIGHT_PRINT); if (frmWeightPrint == null) { frmWeightPrint = new frmHappyOrderWeightPrint(); FormManager.AddForm(FormManager.FORM_SAL_HPORD_WEIGHT_PRINT, frmWeightPrint); } //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start //기존 /* ArrayList alHPOrdHeader = null; if (PosMenuKeyIn == "01") { // 픽업 alHPOrdHeader = m_alPickupLists; } else if(PosMenuKeyIn == "02") { //배달 alHPOrdHeader = m_alDeliveryLists; } else { return; } int iSelectedIdx = gridHappyOrderList.CsmGridSelectedRowIndex; frmWeightPrint.HappyOrderHeader = (Column.TR_HPORD.HPORD_HEADER)alHPOrdHeader[iSelectedIdx]; frmWeightPrint.HappyOrderItem = m_cHappyOrderItem; // 해피오더 중량 출력 WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_WEIGHT_PRINT }); */ //변경 int iSelectedIdx = gridHappyOrderList.CsmGridSelectedRowIndex; Column.TR_HPORD.HPORD_HEADER header = null; header = GetHappyHeader("00", iSelectedIdx); if (header == null) { return; } if (header.OrderType == "6") { return; }//사전예약 if (PosMenuKeyIn != "00" && PosMenuKeyIn != "01" && PosMenuKeyIn != "02") { return; }//전체,픽업,배달 이 외는 return frmWeightPrint.HappyOrderHeader = header; frmWeightPrint.HappyOrderItem = m_cHappyOrderItem; WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_WEIGHT_PRINT }); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } #endregion 중량 출력 처리 #region 주방프린터 출력 처리 /// /// 주방프린터 출력 처리 /// /// /// private void KPSItemProcess(string sTradeDiv, ArrayList alHappyOrderItem) { try { // 주방출력사용 옵션 if (PosMstManager.GetPosOption(POS_OPTION.OPT506) != "1") return; // 수동주방출력 옵션 string arg = string.Empty; switch (PosMstManager.GetPosOption(POS_OPTION.OPT425)) { case "1": // 주방프린터 수동출력 (장치선택) { frmMenualOrderKps f = (frmMenualOrderKps)FormManager.GetForm(FormManager.FORM_MENUAL_ORDER_KPS); if (f == null) { f = new frmMenualOrderKps(); FormManager.AddForm(FormManager.FORM_MENUAL_ORDER_KPS, f); } f.HappyOrderList = alHappyOrderItem; f.ShowDialog(); break; } case "2": // 주방프린터 수동출력 (메뉴선택) { frmMenualOrderItem f = (frmMenualOrderItem)FormManager.GetForm(FormManager.FORM_MENUAL_ORDER_ITEM); if (f == null) { f = new frmMenualOrderItem(); FormManager.AddForm(FormManager.FORM_MENUAL_ORDER_ITEM, f); } f.HappyOrderList = alHappyOrderItem; f.ShowDialog(); break; } } // 주방출력 m_cHappyOrder.KPSItemProc(sTradeDiv, alHappyOrderItem); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } #endregion //#20180611 해피오더 주문취소 사유 start #region 해피오더 주문취소 사유 private string HPOrderCancelReason() { //점포 주문 취소 시 사유 입력 (사유 미입력 시 주문취소 처리 불가) string sRst = ""; try { frmHPOrderCancelReason fForm = (frmHPOrderCancelReason)FormManager.GetForm(FormManager.FORM_HPORD_REASON_CODE); if (fForm == null) { fForm = new frmHPOrderCancelReason(); FormManager.AddForm(FormManager.FORM_HPORD_REASON_CODE, fForm); } fForm.ReasonGroup = PosConst.COMMON_CODE_GROUP.S0093; if (fForm.ShowDialog() != DialogResult.OK) return sRst; sRst = fForm.ReasonName; // 선택된 사유명 return sRst; } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); return sRst; } } #endregion 해피오더 주문취소 사유 //#20180611 해피오더 주문취소 사유 end //#20180612 해피오더 주문알림 start #region 해피오더 주문알림 메세지 private void HPOrderCntPopup() { int iStrtNum = 0; int iDirectCnt = 0; int iReservCnt = 0; string sStr = ""; string sStr2 = ""; string sStr3 = ""; string sStr4 = ""; try { RtbHPOrdPopup.Text = ""; iDirectCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDirectCnt, "0")) + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservCnt, "0")); iReservCnt = 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")); //#20180615 해피오더 팝업 수정 start //if (m_sPicupSearch != "A" && m_sPicupSearch != "B") return; //if (iDirectCnt == 0 && iReservCnt == 0) return; // //if ((m_sPicupSearch == "A" && iDirectCnt >= 1) || (m_sPicupSearch == "B" && iReservCnt >= 1)) //{ //#20180615 해피오더 팝업 수정 end RtbHPOrdPopup.SelectionFont = new Font(m_cPosStatus.Base.FONT, 14, FontStyle.Bold); RtbHPOrdPopup.SelectionAlignment = HorizontalAlignment.Center; sStr = "해피오더 "; RtbHPOrdPopup.AppendText(sStr); RtbHPOrdPopup.Select(iStrtNum, sStr.Length); RtbHPOrdPopup.SelectionColor = Color.Black; iStrtNum = iStrtNum + sStr.Length; if (m_sPicupSearch == "A") { sStr2 = "즉시주문(" + iDirectCnt.ToString() + ") "; } else if (m_sPicupSearch == "B") { sStr2 = "예약주문(" + iReservCnt.ToString() + ") "; } else { sStr2 = "즉시주문(" + iDirectCnt.ToString() + ") , 예약주문(" + iReservCnt.ToString() + ") "; } RtbHPOrdPopup.AppendText(sStr2); RtbHPOrdPopup.Select(iStrtNum, sStr2.Length); RtbHPOrdPopup.SelectionColor = Color.Red; iStrtNum = iStrtNum + sStr2.Length; sStr3 = "내역이 있습니다."; RtbHPOrdPopup.AppendText(sStr3); RtbHPOrdPopup.Select(iStrtNum, sStr3.Length); RtbHPOrdPopup.SelectionColor = Color.Black; iStrtNum = iStrtNum + sStr3.Length; RtbHPOrdPopup.AppendText("\n"); iStrtNum = iStrtNum + 1; RtbHPOrdPopup.SelectionFont = new Font(m_cPosStatus.Base.FONT, 14, FontStyle.Bold); RtbHPOrdPopup.SelectionAlignment = HorizontalAlignment.Center; sStr4 = "상품준비로 변경해주시기 바랍니다."; RtbHPOrdPopup.AppendText(sStr4); RtbHPOrdPopup.Select(iStrtNum, sStr4.Length); RtbHPOrdPopup.SelectionColor = Color.Black; RtbHPOrdPopup.ReadOnly = true; //RtbHPOrdPopup.BringToFront(); //#20180615 해피오더 팝업 수정 start //} //#20180615 해피오더 팝업 수정 end btnHappyOrderWeb.BringToFront(); btnTodayPrint.BringToFront(); ReadyToBarcode(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } #endregion 해피오더 주문알림 메세지 #region 점주웹,주문서출력 private void btn_Click(object sender, EventArgs e) { string sMenuKey = ""; try { if ((Cosmos.UI.CsmButton)sender == btnHappyOrderWeb) // 점주WEB 연결 { sMenuKey = PosKey.MENU_KEY.WEB_HP_ORD; } else if ((Cosmos.UI.CsmButton)sender == btnTodayPrint) // 오늘 픽업/배달 주문서출력 { sMenuKey = PosKey.MENU_KEY.TODAY_HPORD_PRINT; } // 기능키 판매원 권한 체크 if (WinBasic.CheckMenuKeyAuth(sMenuKey) == false) return; // 점주WEB 연결 if ((Cosmos.UI.CsmButton)sender == btnHappyOrderWeb) { m_cPosStatus.Base.HappyOrderMode = FormManager.FORM_WEB_HAPPY_ORDER; //ProcessHPOrdForm(); WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_HAPPY_ORDER, PosKey.MENU_KEY.WEB_HP_ORD }); //break; } // 해피오더 오늘 픽업/배달 주문서출력 else if ((Cosmos.UI.CsmButton)sender == btnTodayPrint) { m_cPosStatus.Base.HappyOrderMode = string.Empty; TodayHappyOrderPrintProc(); } } 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 //#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 start //해피오더 오늘 픽업/배달 주문서출력 처리 #region 기존소스 /* /// /// 해피오더 오늘 픽업/배달 주문서출력 처리 /// private void TodayHappyOrderPrintProc() { string sHappyOrderUrl = ""; IHappyOrderList cHappyOrder = null; ArrayList cHappyOrderHeader = new ArrayList(); Hashtable[] htOrderLists = null; try { cHappyOrder = (IHappyOrderList)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.HAPPY_ORDER_LIST); // 조회중 POP-UP 시작 WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0437)), this); // 승인업체 코드 조회 string sVanCD = PosMstManager.GetMstPayDc(ItemConst.TR_ITEM_ID.ORDER_ITEM, ItemConst.TR_ITEM_ID.ORDER.HAPPYORDER_PAY, PosMst.MST_PAY_DC.DATA.APPR_VEND_CD); // 승인 URL 조회 sHappyOrderUrl = PosMstManager.GetMstVan(sVanCD, PosMst.MST_VAN.DATA.IP); Hashtable htRequest = new Hashtable(); htRequest.Add("storeCode", m_cPosStatus.Base.StoreNo); htRequest.Add("status", 4); htRequest.Add("deviceType", "POS"); Hashtable htResponse = null; int iReturn = BaseCom.NG; htOrderLists = cHappyOrder.SendReceiveForHappyOrder(new object[] { sHappyOrderUrl, ItemConst.HAPPYORDER_WORK_TYPE.SELECT_ORDER_LIST, htRequest }, ref htResponse, ref iReturn); cHappyOrderHeader.Clear(); //#20171215, 해피오더 주문리스트 조회 시 해피오더 테이블 데이터 삭제 후 저장하도록 수정 Start // 해피오더 헤더정보 DB 삭제 cHappyOrder.DeleteHappyOrderAllData(); //#20171215, 해피오더 주문리스트 조회 시 해피오더 테이블 데이터 삭제 후 저장하도록 수정 End foreach (Hashtable htData in htOrderLists) { Column.TR_HPORD.HPORD_HEADER header; header = cHappyOrder.ParseHappyOrderList(htData); // 해피오더 헤더정보 DB 처리 cHappyOrder.SaveHappyOrderData(header); // 해피오더 주문 리스트 조회 및 저장 cHappyOrderHeader.Add(header); } // 오늘 픽업/배달 주문서출력 건 주문번호 조회 DataTable dtData = cHappyOrder.GetTodayHappyOrder(); if (dtData == null || dtData.Rows.Count == 0) { // 조회중 POP-UP 종료 WinManager.HideSearchMessage(this); // 오늘 픽업/배달 주문서 출력 건 없을 경우 안내 POP-UP WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0513)); return; } else { // 접수된 주문에 대한 안내 POP-UP WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0514)); } int iTotalCnt = dtData.Rows.Count; int iCompletedCnt = 0; // 주문번호 별 Loop for (int nLoop = 0; nLoop < dtData.Rows.Count; nLoop++) { ArrayList cHappyOrderItem = new ArrayList(); Hashtable[] htOrderDetails = null; DataRow drData = dtData.Rows[nLoop]; // 주문번호 string sOrderNum = CmUtil.GetDataRowStr(drData, "ORD_NO"); // 해피오더 주문 상세 조회 cHappyOrder.GetHappyOrderListDetail(sOrderNum, sHappyOrderUrl, ref cHappyOrderItem, ref htOrderDetails); bool bReturn = PrintTodayOrderSheet(sOrderNum, ref cHappyOrderHeader, ref cHappyOrderItem); if (bReturn == true) { iCompletedCnt++; } } // 조회중 POP-UP 종료 WinManager.HideSearchMessage(this); // 출력 결과 POP-UP WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0515), iTotalCnt, iCompletedCnt, (iTotalCnt - iCompletedCnt))); } 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 TodayHappyOrderPrintProc() { try { IHappyOrderList cHappyOrder = null; cHappyOrder = (IHappyOrderList)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.HAPPY_ORDER_LIST); // 조회중 POP-UP 시작 WinManager.ShowSearchMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0231), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0437)), this); try { bool bRet = false; bRet = cHappyOrder.HappyOrderTodayPrint(false); if (bRet == true) { UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "당일 주문서 출력 완료!"); } } 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 { // 조회중 POP-UP 종료 WinManager.HideSearchMessage(this); } } #endregion //#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 end //#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 start //해피오더 오늘 픽업/배달 주문서출력 처리 #region 기존소스 /* /// /// 해피오더 오늘 픽업/배달 주문서 출력 /// /// /// /// /// private bool PrintTodayOrderSheet(string sOrderNum, ref ArrayList cHappyOrderHeader, ref ArrayList cHappyOrderItem) { bool bReturn = false; Column.TR_HPORD.HPORD_HEADER header; IHappyOrderList cHappyOrder = null; try { cHappyOrder = (IHappyOrderList)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.HAPPY_ORDER_LIST); cHappyOrder.PrintBufClear(); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_VER, PosConst.PRT_FMT.F103, "[ 해피오더 주문내역 ]"); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); for (int i = 0; i < cHappyOrderHeader.Count; i++) { if (((Column.TR_HPORD.HPORD_HEADER)cHappyOrderHeader[i]).OrderNum != sOrderNum) { continue; } header = (Column.TR_HPORD.HPORD_HEADER)cHappyOrderHeader[i]; if (header.OrderStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED) { cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, "[ 픽업 완료 ]"); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); } if (header.OrderStatus == ItemConst.HAPPYORDER_STATUS.ORDER_CANCEL) { cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F103, "[ 주문 취소 ]"); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); } cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 픽업시간 : " + header.PickupTime); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 주문번호 : " + header.OrderNum); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 주문일시 : " + header.OrderDate); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 연 락 처 : " + header.ReceiverHp); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " ITEM QTY AMT"); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); for (int nLoop = 0; nLoop < cHappyOrderItem.Count; nLoop++) { Column.TR_HPORD.HPORD_ITEM item = (Column.TR_HPORD.HPORD_ITEM)cHappyOrderItem[nLoop]; int itemPrice = 0; int itemQty = 0; int itemDiscountPrice = 0; itemPrice = int.Parse(item.SupplyPrice.Trim() == "" ? "0" : item.SupplyPrice.Trim()); itemQty = int.Parse(item.Qty.Trim() == "" ? "0" : item.Qty.Trim()); itemDiscountPrice = int.Parse(item.DiscountPrice.Trim() == "" ? "0" : item.DiscountPrice.Trim()); if (CmUtil.StringNullEmpty(item.FlavourFlag).Equals("N") == false) { if (PosMstManager.GetPosOption(POS_OPTION.OPT414) == "2") { cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " >" + CmUtil.RPadH(item.GoodsName, 40)); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, CmUtil.RPadH("", 27) + CmUtil.LPadH(item.Qty, 4) + CmUtil.LPadH(CmUtil.GetToMoney(Convert.ToString((itemPrice - itemDiscountPrice) * itemQty)), 11)); } else { cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " >" + CmUtil.RPadH(item.GoodsName, 25) + CmUtil.LPadH(item.Qty, 4) + CmUtil.LPadH(CmUtil.GetToMoney(Convert.ToString((itemPrice - itemDiscountPrice) * itemQty)), 11)); } } else { if (PosMstManager.GetPosOption(POS_OPTION.OPT414) == "2") { cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, CmUtil.RPadH(item.GoodsName, 42)); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, CmUtil.RPadH("", 27) + CmUtil.LPadH(item.Qty, 4) + CmUtil.LPadH(CmUtil.GetToMoney(Convert.ToString((itemPrice - itemDiscountPrice) * itemQty)), 11)); } else { cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, CmUtil.RPadH(item.GoodsName, 27) + CmUtil.LPadH(item.Qty, 4) + CmUtil.LPadH(CmUtil.GetToMoney(Convert.ToString((itemPrice - itemDiscountPrice) * itemQty)), 11)); } } } cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "-"); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, " 합계금액 " + CmUtil.LPadH(CmUtil.GetToMoney(header.PayMoney), 11)); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, " "); if (header.CustMsg != string.Empty) { cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, "************** 고객요청사항 **************"); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F101, header.CustMsg); cHappyOrder.AddPrintData(PosConst.PRT_HDR.PRT_NOR, PosConst.PRT_FMT.F100, "*"); } ArrayList alPrintData = cHappyOrder.GetPrintBufferData(); // 주문서 출력 bReturn = cHappyOrder.PrintOrderSheet(); if (bReturn == true) { // 해당 주문의 주문서 출력여부 Update cHappyOrder.UpdateHappyOrderData(new string[] { "PRINT", "1", header.OrderNum, header.OrderDate.Substring(0, 10).Replace("-", "") }); } System.Threading.Thread.Sleep(100); } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } return bReturn; } */ #endregion //#16366 해피오더 당월누적주문내역 + 당일 해피오더주문 상세내역 자동 출력기능 end //#20180612 해피오더 주문알림 end //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start #region 랜덤박스 바코드 리딩정보 받아오기 public void Receive_BarCodeInfo(Hashtable htBarCodeInfo) { try { if (htLandomBoxInfo == null) { htLandomBoxInfo = new Hashtable(); } htLandomBoxInfo.Clear(); if (htBarCodeInfo.Count > 0) { htLandomBoxInfo = htBarCodeInfo; } } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); htBarCodeInfo.Clear(); } } #endregion //#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start #region GetHappyHeader private Column.TR_HPORD.HPORD_HEADER GetHappyHeader(string TabNum, int iRowNum) { Column.TR_HPORD.HPORD_HEADER Header = null; try { //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (iRowNum < 0) return null; //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end if (TabNum == "00") { //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (m_alTotalLists.Count <= 0) { return null; } //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end Header = (Column.TR_HPORD.HPORD_HEADER)m_alTotalLists[iRowNum]; } else if (TabNum == "01") { //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (m_alPickupLists.Count <= 0) { return null; } //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end Header = (Column.TR_HPORD.HPORD_HEADER)m_alPickupLists[iRowNum]; } else if (TabNum == "02") { //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (m_alDeliveryLists.Count <= 0) { return null; } //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end Header = (Column.TR_HPORD.HPORD_HEADER)m_alDeliveryLists[iRowNum]; } else if (TabNum == "03") { //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (m_alPreReservLists.Count <= 0) { return null; } //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end Header = (Column.TR_HPORD.HPORD_HEADER)m_alPreReservLists[iRowNum]; } else if (TabNum == "04") { //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (m_alYJPickupLists.Count <= 0) { return null; } //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end Header = (Column.TR_HPORD.HPORD_HEADER)m_alYJPickupLists[iRowNum]; } //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start else if (TabNum == "05") { //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 start if (m_alYJDeliveryLists.Count <= 0) { return null; } //#16707 PB 방이사거리 - 해피오더 내역창 진입시 '고객센터로 연락주세요' 팝업 취합 end Header = (Column.TR_HPORD.HPORD_HEADER)m_alYJDeliveryLists[iRowNum]; } //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end } catch (Exception ex) { WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message); } return Header; } #endregion #region GetHappyHeaderList private ArrayList GetHappyHeaderList(string TabNum) { ArrayList alHeaderList = null; try { if (TabNum == "00") { alHeaderList = m_alTotalLists; } else if (TabNum == "01") { alHeaderList = m_alPickupLists; } else if (TabNum == "02") { alHeaderList = m_alDeliveryLists; } else if (TabNum == "03") { alHeaderList = m_alPreReservLists; } else if (TabNum == "04") { alHeaderList = m_alYJPickupLists; } } 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 alHeaderList; } #endregion //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start #region 해피오더 이미지 버튼 로딩 private bool BtnImageDisplay(int iRowNum) { bool bRet = false; try { try { //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 start //기존 //BtnImageClear(); //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 end //헤더 데이터 가져오기 Column.TR_HPORD.HPORD_HEADER header = null; header = GetHappyHeader("00", iRowNum); if (header == null) return bRet; // 버튼 활성화 변경 BtnImageVisiable(header.OrderType, header.OrderStatus); // 버튼 이미지 로딩 BtnImageLoading(header.OrderType, header.OrderStatus); bRet = true; } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } finally { ReadyToBarcode(); } return bRet; } #endregion //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start #region 해피오더 상태변경 버튼 활성화 private void BtnImageVisiable(string pOrderType, string pOrderStatus) { try { //#17472 해피오더)직접배달 상태 추가 start nm_pnl.Visible = false; //#17472 해피오더)직접배달 상태 추가 end if ((PosMenuKeyIn == "00" && pOrderType != "5" && pOrderType != "4") || PosMenuKeyIn == "01" || PosMenuKeyIn == "04" || PosMenuKeyIn == "03") { //OPT044: 해피오더 사전예약 픽업대기 사용 여부(0:사용안함, 1:사용함) if ((PosMenuKeyIn == "00" && pOrderType == "6") || PosMenuKeyIn == "03" && PosMstManager.GetPosOption(POS_OPTION.OPT044) != "1") { btn_01.Visible = true;//주문접수 btn_02.Visible = true;//-> btn_03.Visible = true;//상품준비 btn_04.Visible = false;//-> btn_05.Visible = false;//픽업대기 btn_06.Visible = true;//-> btn_07.Visible = true;//픽업완료 btn_08.Visible = false;//-> btn_09.Visible = false;//??? //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 start btn_01.Enabled = true;//주문접수 btn_03.Enabled = true;//상품준비 btn_05.Enabled = false;//픽업대기 btn_07.Enabled = true;//픽업완료 btn_09.Enabled = false;//??? //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 end } else { btn_01.Visible = true;//주문접수 btn_02.Visible = true;//-> btn_03.Visible = true;//상품준비 btn_04.Visible = true;//-> btn_05.Visible = true;//픽업대기 btn_06.Visible = true;//-> btn_07.Visible = true;//픽업완료 btn_08.Visible = false;//-> btn_09.Visible = false;//??? //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 start btn_01.Enabled = true;//주문접수 btn_03.Enabled = true;//상품준비 btn_05.Enabled = true;//픽업대기 btn_07.Enabled = true;//픽업완료 btn_09.Enabled = false;//??? //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 end } // 주문취소 btnOrderCancel.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0429); btnOrderCancel.Visible = true; ////grayber@20171123 해피오더 직접배달 start //if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") //{ // btnStatus4.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1080); // btnStatus4.Visible = false; //} ////grayber@20171123 해피오더 직접배달 end } else if ((PosMenuKeyIn == "00" && (pOrderType == "4" || pOrderType == "5")) || PosMenuKeyIn == "02" || PosMenuKeyIn == "05") // 배달 or 오더폼 배달 { // OPT045: 해피오더 딜리버리 상품준비 사용 여부(0:사용안함, 1:사용함) if (PosMstManager.GetPosOption(POS_OPTION.OPT045) == "1") { btn_01.Visible = true;//주문접수 btn_02.Visible = true;//-> btn_03.Visible = true;//상품준비 btn_04.Visible = true;//-> btn_05.Visible = true;//배달요청 btn_06.Visible = true;//-> btn_07.Visible = true;//배달 중 //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20180928 //기존 //btn_08.Visible = true;//-> //btn_09.Visible = true;//배달완료 //변경 btn_08.Visible = false;//-> btn_09.Visible = false;//배달완료 //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20180928 //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 start btn_01.Enabled = true;//주문접수 btn_03.Enabled = true;//상품준비 btn_05.Enabled = true;//배달요청 btn_07.Enabled = true;//배달 중 btn_09.Enabled = false;//배달완료 //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 end } else { btn_01.Visible = true;//주문접수 btn_02.Visible = false;//-> btn_03.Visible = false;//상품준비 btn_04.Visible = true;//-> btn_05.Visible = true;//배달요청 btn_06.Visible = true;//-> btn_07.Visible = true;//배달 중 //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20180928 //기존 //btn_08.Visible = true;//-> //btn_09.Visible = true;//배달완료 //변경 btn_08.Visible = false;//-> btn_09.Visible = false;//배달완료 //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20180928 //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 start btn_01.Enabled = true;//주문접수 btn_03.Enabled = false;//상품준비 btn_05.Enabled = true;//배달요청 btn_07.Enabled = true;//배달 중 btn_09.Enabled = false;//배달완료 //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 end } // 주문취소 btnOrderCancel.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0429); btnOrderCancel.Visible = true; } if (PosMenuKeyIn == "04" || PosMenuKeyIn == "05") { // 오더폼 내점 or 오더폼 배달 일 경우 중량출력 버튼은 숨김 btnWeightPrint.Visible = false; } else { //OPT314: 해피오더 I/C 중량 출력 여부(0:사용안함, 1:사용함) if (PosMstManager.GetPosOption(POS_OPTION.OPT314) == "1") { btnWeightPrint.Visible = true; } else { btnWeightPrint.Visible = false; } } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } #endregion //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start #region 해피오더 상태변경 버튼 이미지 로딩 private void BtnImageLoading(string pOrderType, string pOrderStatus) { try { string sHappyOrderBtnImg = BaseCom.NxImgPath + @"HappyOrderBtnImage\"; string sExtension = ".png"; string sGifExtension = ".gif"; //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 start bool bWin7Excess = OS_Check(); if (bWin7Excess == true) { sGifExtension = ".gif"; } else { sGifExtension = ".png"; } //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 end if (pOrderType == "4" || pOrderType == "5") { lb_title.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0423);//배달 btn_02.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);// -> btn_04.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);// -> btn_06.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);// -> //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20180928 //기존 //btn_08.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);// -> //변경 btn_08.Image = null; //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20180928 btn_01.Image = ImageManager.GetImage(sHappyOrderBtnImg, "1_off" + sExtension);//주문접수 btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "2_off" + sExtension);//상품준비 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_off" + sExtension);//배달요청 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "4_off" + sExtension);//배달중 //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20180928 //기존 //btn_09.Image = ImageManager.GetImage(sHappyOrderBtnImg, "5_off" + sExtension);//배달완료 //변경 btn_09.Image = null; //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20180928 //#17472 해피오더)직접배달 상태 추가 start nm_btn_1.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_1_on" + sExtension);//배달요청 nm_btn_2.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_2_off" + sExtension);//배달중 nm_btn_3.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_3_on" + sExtension);//직접배달 nm_btn_4.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_4_off" + sExtension);//배달완료 nm_btn_5.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);//직접배달 nm_btn_6.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);//배달완료 //#17472 해피오더)직접배달 상태 추가 end // 주문접수 if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG) { //주문접수 btn_01.Image = ImageManager.GetImage(sHappyOrderBtnImg, "1_done" + sExtension); // -> btn_02.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_sky" + sExtension); //#17472 해피오더)직접배달 상태 추가 start #region 기존소스 ////#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 start ////기존 ///* ////#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20180927 ////상품준비 미사용시 주문접수 건은 배달요청이 다음 단계로 동작 하도록 수정 ////기존 ////상품준비 ////btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "2_do" + sGifExtension); ////변경 //if (PosMstManager.GetPosOption(POS_OPTION.OPT045) == "1") //{ // //상품준비 // btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "2_do" + sGifExtension); //} //else //{ // //배달요청 // btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_do" + sGifExtension); //} ////#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20180927 //*/ // ////변경 //if (bWin7Excess == true) //{ // if (PosMstManager.GetPosOption(POS_OPTION.OPT045) == "1") // { // //상품준비 // btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "2_do" + sGifExtension); // } // else // { // //배달요청 // btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_do" + sGifExtension); // } //} //else //{ // if (PosMstManager.GetPosOption(POS_OPTION.OPT045) == "1") // { // //상품준비 // btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "2_on" + sGifExtension); // } // else // { // //배달요청 // btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_on" + sGifExtension); // } //} ////#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 end //if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") //{ // // 직접배달 버튼 활성화... //} #endregion 기존소스 #region 변경소스 if (bWin7Excess == true) { if (PosMstManager.GetPosOption(POS_OPTION.OPT045) == "1") { //상품준비 btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "2_do" + sGifExtension); } else { if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") { nm_btn_1.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_1_do" + sGifExtension);//배달요청 nm_btn_3.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_3_do" + sGifExtension);//직접배달 btn_05.Visible = false; btn_06.Visible = false; btn_07.Visible = false; btn_08.Visible = false; btn_09.Visible = false; nm_pnl.Visible = true; } else { //배달요청 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_do" + sGifExtension); // nm_pnl.Visible = false; } } } else { if (PosMstManager.GetPosOption(POS_OPTION.OPT045) == "1") { //상품준비 btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "2_on" + sGifExtension); } else { if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") { nm_btn_1.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_1_on" + sGifExtension);//배달요청 nm_btn_3.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_3_on" + sGifExtension);//직접배달 btn_05.Visible = false; btn_06.Visible = false; btn_07.Visible = false; btn_08.Visible = false; btn_09.Visible = false; nm_pnl.Visible = true; } else { //배달요청 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_on" + sGifExtension); nm_pnl.Visible = false; } } } #endregion 변경소스 //#17472 해피오더)직접배달 상태 추가 end } // 상품준비 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { //상품준비 btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "2_done" + sExtension); // -> btn_04.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_sky" + sExtension); //#17472 해피오더)직접배달 상태 추가 start #region 기존소스 ////#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 start ////기존 ///* ////배달요청 //btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_do" + sGifExtension); //*/ // ////변경 //if (bWin7Excess == true) //{ // //배달요청 // btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_do" + sGifExtension); //} //else //{ // //배달요청 // btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_on" + sGifExtension); //} ////#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 end // //if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") //{ // // 직접배달 버튼 활성화... //} #endregion 기존소스 #region 변경소스 if (bWin7Excess == true) { if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") { nm_btn_1.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_1_do" + sGifExtension);//배달요청 nm_btn_3.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_3_do" + sGifExtension);//직접배달 btn_05.Visible = false; btn_06.Visible = false; btn_07.Visible = false; btn_08.Visible = false; btn_09.Visible = false; nm_pnl.Visible = true; } else { //배달요청 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_do" + sGifExtension); nm_pnl.Visible = false; } } else { if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") { nm_btn_1.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_1_on" + sGifExtension);//배달요청 nm_btn_3.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_3_on" + sGifExtension);//직접배달 btn_05.Visible = false; btn_06.Visible = false; btn_07.Visible = false; btn_08.Visible = false; btn_09.Visible = false; nm_pnl.Visible = true; } else { //배달요청 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_on" + sGifExtension); nm_pnl.Visible = false; } } #endregion 변경소스 //#17472 해피오더)직접배달 상태 추가 end } // 배달요청 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REQ || pOrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_REG) { //배달요청 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "3_done" + sExtension); // -> btn_06.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_sky" + sExtension); //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 start //기존 /* //배달중 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "4_do" + sGifExtension); */ //변경 if (bWin7Excess == true) { //배달중 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "4_do" + sGifExtension); } else { //배달중 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "4_on" + sGifExtension); } //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 end } // 배달중 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_ING) { //배달중 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "4_done" + sExtension); //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20180928 //기존 /* // -> btn_08.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_sky" + sExtension); //배달완료 btn_09.Image = ImageManager.GetImage(sHappyOrderBtnImg, "5_do" + sGifExtension); */ //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20180928 } // 직접배달 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_DIRECT) { //#17472 해피오더)직접배달 상태 추가 start #region 기존소스 ////#17197 판매POS 직접배달 옵션처리 요청 件 start //if (bWin7Excess == true) //{ // //배달완료 // btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "5_do" + sGifExtension); //} //else //{ // //배달완료 // btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "5_on" + sGifExtension); //} ////#17197 판매POS 직접배달 옵션처리 요청 件 end // ////if (PosMstManager.GetPosOption(POS_OPTION.OPT550) == "1") ////{ //// //배달완료 //// btn_07.Image = ImageManager.GetImage(@"C:\SPC\POS\IMAGE\HappyOrderBtnImage\", "5_done.jpg"); ////} ////else ////{ //// //배달중 //// btn_07.Image = ImageManager.GetImage(@"C:\SPC\POS\IMAGE\HappyOrderBtnImage\", "4_done.jpg"); ////} // ////배달중 ////btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "4_done" + sExtension); // ////#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20180928 ////기존 ///* //// -> //btn_08.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_sky" + sExtension); ////배달완료 //btn_09.Image = ImageManager.GetImage(sHappyOrderBtnImg, "5_do" + sGifExtension); //*/ ////#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20180928 #endregion 기존소스 #region 변경소스 //직접배달 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "10_done" + sExtension); // -> btn_06.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_sky" + sExtension); if (bWin7Excess == true) { //배달완료 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "5_do" + sGifExtension); } else { //배달완료 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "5_on" + sGifExtension); } #endregion 변경소스 //#17472 해피오더)직접배달 상태 추가 end } // 배달완료 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.DELIVERY_COMPLETED) { // } } else { //픽업 if (pOrderType == "6") { lb_title.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0908); } else { lb_title.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0832); } btn_02.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);// -> btn_04.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);// -> btn_06.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);// -> btn_08.Image = null; btn_01.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p1_off" + sExtension); //주문접수 btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p2_off" + sExtension); //상품준비 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p3_off" + sExtension); //픽업대기 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p5_off" + sExtension); //픽업완료 btn_09.Image = null; //주문접수 if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.ORDER_REG) { //주문접수 btn_01.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p1_done" + sExtension); // -> btn_02.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_sky" + sExtension); //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 start //기존 /* //상품준비 btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p2_do" + sGifExtension); */ //변경 if (bWin7Excess == true) { //상품준비 btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p2_do" + sGifExtension); } else { //상품준비 btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p2_on" + sGifExtension); } //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 end } // 상품준비 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.PRODUCT_READY) { //상품준비 btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p2_done" + sExtension); // -> btn_04.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_sky" + sExtension); //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 start //기존 /* //픽업대기 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p3_do" + sGifExtension); */ //변경 if (bWin7Excess == true) { //픽업대기 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p3_do" + sGifExtension); } else { //픽업대기 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p3_on" + sGifExtension); } //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 end } // 사전예약 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.PRE_RESERVED) { } // 픽업대기 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_WAIT) { //픽업대기 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p3_done" + sExtension); // -> btn_06.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_sky" + sExtension); //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 start //기존 /* //픽업완료 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p5_do" + sGifExtension); */ //변경 if (bWin7Excess == true) { //픽업완료 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p5_do" + sGifExtension); } else { //픽업완료 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p5_on" + sGifExtension); } //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 end } // 픽업완료 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED) { // } // 픽업지연 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_DELAY) { //픽업지연 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p3_done" + sExtension); // -> btn_06.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_sky" + sExtension); //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 start //기존 /* //픽업지연완료 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p6_do" + sGifExtension); */ //변경 if (bWin7Excess == true) { //픽업지연완료 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p6_do" + sGifExtension); } else { //픽업지연완료 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p6_on" + sGifExtension); } //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 end } // 픽업지연완료 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.PICKUP_COMPLETED2) { // } // 픽업지연미픽업 else if (pOrderStatus == ItemConst.HAPPYORDER_STATUS.NO_PICKUP_AND_DELAY) { } } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } #endregion //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start #region 해피오더 상태변경 버튼 이미지 클리어 private void BtnImageClear() { try { //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 start lb_title.Text = ""; //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 end btn_01.Visible = false; btn_02.Visible = false;// btn_03.Visible = false; btn_04.Visible = false;// btn_05.Visible = false; btn_06.Visible = false;// btn_07.Visible = false; btn_08.Visible = false;// btn_09.Visible = false; //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 start //기존 //btn_02.Enabled = false; //btn_04.Enabled = false; //btn_06.Enabled = false; //btn_08.Enabled = false; //btn_09.Enabled = false; //변경 btn_01.Enabled = false; btn_02.Enabled = false; btn_03.Enabled = false; btn_04.Enabled = false; btn_05.Enabled = false; btn_06.Enabled = false; btn_07.Enabled = false; btn_08.Enabled = false; btn_09.Enabled = false; //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 end btnOrderCancel.Visible = false;//주문취소 btnWeightPrint.Visible = false;//중량출력 btn_01.Image = null; btn_02.Image = null; btn_03.Image = null; btn_04.Image = null; btn_05.Image = null; btn_06.Image = null; btn_07.Image = null; btn_08.Image = null; btn_09.Image = null; btn_01.DefaultImage = null; btn_02.DefaultImage = null; btn_03.DefaultImage = null; btn_04.DefaultImage = null; btn_05.DefaultImage = null; btn_06.DefaultImage = null; btn_07.DefaultImage = null; btn_08.DefaultImage = null; btn_09.DefaultImage = null; btn_01.ClickImage = null; btn_02.ClickImage = null; btn_03.ClickImage = null; btn_04.ClickImage = null; btn_05.ClickImage = null; btn_06.ClickImage = null; btn_07.ClickImage = null; btn_08.ClickImage = null; btn_09.ClickImage = null; //#17472 해피오더)직접배달 상태 추가 start nm_btn_1.Visible = true; nm_btn_2.Visible = true; nm_btn_3.Visible = true; nm_btn_4.Visible = true; nm_btn_5.Visible = true; nm_btn_6.Visible = true; nm_btn_1.Image = null; nm_btn_2.Image = null; nm_btn_3.Image = null; nm_btn_4.Image = null; nm_btn_5.Image = null; nm_btn_6.Image = null; nm_btn_1.DefaultImage = null; nm_btn_2.DefaultImage = null; nm_btn_3.DefaultImage = null; nm_btn_4.DefaultImage = null; nm_btn_5.DefaultImage = null; nm_btn_6.DefaultImage = null; nm_btn_1.ClickImage = null; nm_btn_2.ClickImage = null; nm_btn_3.ClickImage = null; nm_btn_4.ClickImage = null; nm_btn_5.ClickImage = null; nm_btn_6.ClickImage = null; //#17472 해피오더)직접배달 상태 추가 end } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } #endregion //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start #region 해피오더 키값구하기 private string OrderStatusKey(string pOrderStatus) { string sOrderStatusKey = ""; try { foreach (var item in htStatus.Keys) { if (pOrderStatus == htStatus[item].ToString()) { sOrderStatusKey = item.ToString(); break; } } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } return sOrderStatusKey; } #endregion //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end private void frmHappyOrderList_Shown(object sender, EventArgs e) { //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 start, 20180928 // 수동으로 해피오더 리스트 팝업 띄울 시 라인색상 표현안되는 현상 수정 // load --> shown 위치이동 // 상태 변경 후 리스트 재조회 btnProc_Click(btnSearch, null); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20181012 #region 기존소스 /* //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start #region 해피오더 바코드 리딩 시 자동 완료 처리 sSearchRt = false; sSearchOrderNum = ""; sSearchOrderType = ""; if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT553), "0") == "1") { //test //m_sInPutData = "180621935835"; // m_sInPutData.Trim(); //m_sInPutData = "180716418415"; // m_sInPutData.Trim(); //m_sInPutData = "180621935809"; // m_sInPutData.Trim(); if (m_sInPutData != "") { // 자동조회 //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20180829 //sSearchOrderNum = m_sInPutData.Trim(); //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20180829 tbOrderBarcode.Text = m_sInPutData.Trim(); tbOrderBarcode_KeyDown(tbOrderBarcode, new KeyEventArgs(Keys.Enter)); if (sSearchRt == true) { // 안내팝업 오픈 string sRet = WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_MSG, m_sPosMenuKeyIn, sSearchOrderNum, sSearchOrderType }); // 예 선택 시 if (sRet == UserCom.RST_OK) { UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[주문번호: " + sSearchOrderNum + "주문타입: " + sSearchOrderType + "] 자동 완료처리에 대해 고객동의!"); btnStatus_Click(btnStatus3, null); } } // 포커스조정 ReadyToBarcode(); } } #endregion //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end */ #endregion //변경 //HappOrderReadingAutoComplete(m_sInPutData); if (m_sInPutData != "") { tbOrderBarcode.Text = m_sInPutData.Trim(); tbOrderBarcode_KeyDown(tbOrderBarcode, new KeyEventArgs(Keys.Enter)); } //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20181012 //#16756 판매POS 해피오더 주문내역 상태 변경 디자인 변경 end, 20180928 } //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20181012 #region 해피오더 바코드 리딩 시 자동 완료 처리 private void HappOrderReadingAutoComplete(bool OrderSearch, string Ordernum, string Ordertype) { try { if (OrderSearch == false) return; if (Ordernum.Trim() == "") return; if (Ordertype.Trim() == "") return; if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT553), "0") != "1") return; //// 자동조회 //tbOrderBarcode.Text = InputOrdernum.Trim(); //tbOrderBarcode_KeyDown(tbOrderBarcode, new KeyEventArgs(Keys.Enter)); //if (OrderSearch == true && Ordernum.Trim() != "" && Ordertype.Trim() != "") //{ // 안내팝업 오픈 string sRet = WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_MSG, m_sPosMenuKeyIn, Ordernum, Ordertype }); // 예 선택 시 if (sRet == UserCom.RST_OK) { UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "[주문번호: " + Ordernum + "주문타입: " + Ordertype + "] 자동 완료처리에 대해 고객동의!"); if ((PosMenuKeyIn == "00" && (Ordertype == "4" || Ordertype == "5")) || PosMenuKeyIn == "02") { btnStatus_Click(btn_07, null); } else { btnStatus_Click(btn_07, null); } } //} // 포커스조정 ReadyToBarcode(); } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } } #endregion //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20181012 //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 start #region OS가 WIN7 미만이면 GIF를 PNG로 변경하기 private bool OS_Check() { bool bRet = false; try { OperatingSystem OS = Environment.OSVersion; //if (OS.Platform == PlatformID.Win32NT && OS.Version.Major >= 6 && OS.Version.Minor >= 1) if (OS.Version.Major >= 6 && OS.Version.Minor >= 1) { // win 7 이상이면 true, 아니면 false bRet = true; } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명) System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명)) System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명)) ex.Message); } return bRet; } #endregion //#20181001 OS가 WIN7 미만이면 GIF를 PNG로 변경하기 end //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 start #region 상태변경 이미지 디폴트 값 private void BtnImageDefault() { //디폴트는 픽업기준으로 하얀색 버튼 보이도록 설정 lb_title.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0832); btn_01.Visible = true;//주문접수 btn_02.Visible = true;//-> btn_03.Visible = true;//상품준비 btn_04.Visible = true;//-> btn_05.Visible = true;//픽업대기 btn_06.Visible = true;//-> btn_07.Visible = true;//픽업완료 btn_08.Visible = false;//-> btn_09.Visible = false;//??? btn_02.Enabled = false; btn_04.Enabled = false; btn_06.Enabled = false; btn_08.Enabled = false; string sExtension = ".png"; string sHappyOrderBtnImg = BaseCom.NxImgPath + @"HappyOrderBtnImage\"; btn_02.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);// -> btn_04.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);// -> btn_06.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension);// -> btn_08.Image = null; btn_01.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p1_off" + sExtension); //주문접수 btn_03.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p2_off" + sExtension); //상품준비 btn_05.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p3_off" + sExtension); //픽업대기 btn_07.Image = ImageManager.GetImage(sHappyOrderBtnImg, "p5_off" + sExtension); //픽업완료 btn_09.Image = null; //#17472 해피오더)직접배달 상태 추가 start nm_btn_2.Enabled = false; nm_btn_4.Enabled = false; nm_btn_5.Enabled = false; nm_btn_6.Enabled = false; nm_pnl.Visible = false; nm_btn_1.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_1_on" + sExtension); nm_btn_2.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_2_off" + sExtension); nm_btn_3.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_3_on" + sExtension); nm_btn_4.Image = ImageManager.GetImage(sHappyOrderBtnImg, "nm_btn_4_off" + sExtension); nm_btn_5.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension); nm_btn_6.Image = ImageManager.GetImage(sHappyOrderBtnImg, "arrow_gray" + sExtension); nm_pnl.Height = pnl_Image.Height; //#17472 해피오더)직접배달 상태 추가 end } #endregion //#17292 PB 부산송정 - 해피오더 내역창 버튼 깜박이는 시점 관련 end } }