spc-kiosk-pb/Window/WinSale/frmHappyOrderList.cs

9169 lines
525 KiB
C#
Raw Permalink Normal View History

2019-06-16 05:12:09 +00:00
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
/// <summary>
/// Grid 연동 DataTable
/// </summary>
private DataTable m_dtGrid;
/// <summary>
/// 해피오더 상태 관리
/// </summary>
private Hashtable htStatus;
/// <summary>
/// 양재오더 상태 관리
/// </summary>
private Hashtable m_htYJStatus;
/// <summary>
/// 사전예약 상태 관리
/// </summary>
private Hashtable m_htPreReservStatus;
//#20180607 해피오더 리스트 전체 조회 기능 추가 start
/// <summary>
/// 해피오더 신규주문리스트(전체)
/// </summary>
private ArrayList m_alTotalLists;
//#20180607 해피오더 리스트 전체 조회 기능 추가 end
/// <summary>
/// 해피오더 신규주문리스트(전체)
/// </summary>
private Hashtable[] m_htOrderLists;
/// <summary>
/// 해피오더 신규주문리스트(내점)
/// </summary>
private ArrayList m_alPickupLists;
/// <summary>
/// 해피오더 신규주문리스트(배달)
/// </summary>
private ArrayList m_alDeliveryLists;
/// <summary>
/// 해피오더 신규주문리스트(사전예약)
/// </summary>
private ArrayList m_alPreReservLists;
/// <summary>
/// 양재오더 신규주문리스트(전체)
/// </summary>
private Hashtable[] m_htYJOrderLists;
/// <summary>
/// 양재오더 신규주문리스트(내점)
/// </summary>
private ArrayList m_alYJPickupLists;
/// <summary>
/// 양재오더 신규주문리스트(배달)
/// </summary>
private ArrayList m_alYJDeliveryLists;
//private ArrayList m_cHappyOrderHeader;
/// <summary>
/// 선택된 Row의 주문상세데이터
/// </summary>
private ArrayList m_cHappyOrderItem;
public ArrayList HappyOrderItem { get { return m_cHappyOrderItem; } }
//grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 start - 기존 기능으로 대체 하여 삭제
//grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 start
/// <summary>
/// 영양정보 출력 데이터
/// </summary>
//private ArrayList m_alHappyNurtitionOrderItem;
/// <summary>
/// 해피오더 영양주문리스트(전체)
/// </summary>
//private Hashtable[] m_htOrderNutritionLists;
//grayber20180201 해피오더 고객정보 추가 + 원산지 표기 #13780 end
//grayber@20180202 [BR]해피오더 고객정보 추가 + 원산지 표기 end
/// <summary>
/// 해피오더 URL
/// </summary>
private string m_sHappyOrderURL = string.Empty;
/// <summary>
/// 양재오더 URL
/// </summary>
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;
/// <summary>
/// 탭관리("01":내점, "02":배달", "03":사전예약, "04":오더폼내점, "05":오더폼배달)
/// </summary>
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
/// <summary>
/// 해피오더 랜덤박스 바코드 정보
/// </summary>
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
/// <summary>
/// 컨트롤 초기화
/// </summary>
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);
}
}
/// <summary>
/// 타이틀 색상 전환 표시
/// </summary>
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
}
/// <summary>
/// Grid 초기화
/// </summary>
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
/// <summary>
/// 텍스트박스에 포커스를 고정
/// </summary>
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);
}
}
/// <summary>
/// 신규 주문 리스트 조회
/// </summary>
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;
}
}
///// <summary>
///// 옵션상품목록 Parsing
///// </summary>
///// <param name="sJsonData"></param>
//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);
// }
//}
///// <summary>
///// 상세옵션상품목록 Parsing
///// </summary>
///// <param name="sJsonData"></param>
//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);
// }
//}
/// <summary>
/// 주문서 데이터 생성
/// </summary>
/// <param name="iIndex"></param>
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);
}
}
/// <summary>
/// 해피오더 상태변경 처리
/// </summary>
/// <param name="sender"></param>
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
/// <summary>
/// 양재오더 상태변경 처리
/// </summary>
/// <param name="sender"></param>
/// <param name="iSelectedRow"></param>
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
/// <summary>
/// 중량 출력 처리
/// </summary>
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
/// <summary>
/// 주방프린터 출력 처리
/// </summary>
/// <param name="sTradeDiv"></param>
/// <param name="alHappyOrderItem"></param>
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
/*
/// <summary>
/// 해피오더 오늘 픽업/배달 주문서출력 처리
/// </summary>
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
/// <summary>
/// 해피오더 오늘 픽업/배달 주문서출력 처리
/// </summary>
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
/*
/// <summary>
/// 해피오더 오늘 픽업/배달 주문서 출력
/// </summary>
/// <param name="sOrderNum"></param>
/// <param name="cHappyOrderHeader"></param>
/// <param name="cHappyOrderItem"></param>
/// <returns></returns>
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
}
}