spc-kiosk-pb/Window/WinSale/frmSaleMain.cs
2019-06-16 14:12:09 +09:00

12062 lines
649 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Collections;
using System.Runtime.InteropServices;
using System.Threading;
using System.IO;
using Cosmos.BaseFrame;
using Cosmos.UserFrame;
using Cosmos.ServiceProvider;
using Cosmos.Common;
using Cosmos.CommonManager;
using Cosmos.UI;
using System.Diagnostics;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
using System.Text;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
//using Cosmos.Service;
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
using System.Drawing.Drawing2D;
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
//************************************************************************************************
// 변경 이력 : 해피포인트 제휴할인 선리딩 처리
//------------------------------------------------------------------------------------------------
// - 작 업 자 : 서광원B
// - 작업일자 : 2017.11.01
// - 작업내용1 : 매출등록화면에서 상품등록 후
// 해피포인트 카드 혹은 제휴할인 카드를 리딩했을때
// 정상적인 카드일 경우 각각의 번호를 저장한다.
// 이후 '결제' 버튼 클릭 -> 포인트할인결제 화면에서 -> '해피포인트' 버튼 클릭시
// 저장되어 있던 해피포인트 번호 표시후 조회까지 진행한다.
// '제휴할인(통합)' 버튼 클릭시에도 동일한 처리를 수행한다.
// - 작업내용2 : 만약 해피포인트 옵션이 설정되어 있을 경우
// '결제' 버튼 클릭시 해피포인트 사용 화면을 바로 표시한다.
// 추가로 만약 해피포인트 카드가 리딩되었다면 조회까지 진행한다.
//************************************************************************************************
//************************************************************************************************
// 변경 이력 : 바코드 중복 처리
//------------------------------------------------------------------------------------------------
// - 작 업 자 : 서광원B
// - 작업일자 : 2017.11.10
// - 작업분류 : 2017.10.28 정보운영 판매 바코드 인식
// - 요청사항 : 1.상품마스터에는 바코드 복수 등록이 가능하나, 판매POS는 복수로 적용불가함.
// - 바코드가 키값으로 되어 있어 중복적용이 불가능한 구조 개선 필요
// 2.1개의 상품에 바코드 정보가 여러 개인 경우 제품선택화면에서 사용자가
// 상품선택할 수 있도록 기능 개선
// - 작업내용 : 상품마스터테이블(MST_ITEM), 상품바코드테이블(MST_ITEM_BAR_CD)을 대상으로
// 만약 1개의 상품을 리딩했는데, 마침 상품바코드테이블에 데이터가 2개 이상일 경우
// 새로 생성한 상품 선택 화면(frmMultiItem) 에서 사용자가 원하는 상품을 선택할 수 있도록 한다.
// cf) 상품코드와 상품명을 리턴하는 쿼리 함수(SeletItemMstNmoScanCode) 추가
//************************************************************************************************
namespace Cosmos.Win
{
public partial class frmSaleMain : Form, IFormSaleMainUs
{
private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object(객체)
private PosStatus m_cPosStatus = null; // 기본정보 참조
private TranStatus m_cTrnStatus = null; // 거래정보 참조
private DeviceStatus m_cDevStatus = null; // 장치저보 참조
private PosOLEDevice.DelegateOlePos delegatePos;
private IDataProcessUs m_cDataService = null; // 거래데이터 합계금액 계산 및 관리
private ISalePluItemUs m_cPluService = null; // 판매 등록 관리
private ICustDisplayUs m_cCustDisp = null; // 고객디스플레이 관리
private IMasterUs m_cMaster = null; // 마스터 관리
private ICampaignUs m_cCampaingMain = null; // 캠페인 관리
private IDataCommonUs m_cDataCommon = null; // POS 공통함수 인터페이스
private IPaymentUs m_cPayCancel = null; // 결제 취소 공통
private ITableUs m_cTableSvr = null; // 테이블 관리
private IWatcherBack m_cBackgroundDown = null;
private IDataServiceUs m_cPosNoticeCom = null; // 공지사항 공통
private SaleMainProcess m_cSaleMainProc = null; // 판매화면 기능 관리
private ISvr2Tran m_cSvr2Tran = null; // 서버시간 동기화
//17.05.18 dkshin 쇼킹박스 추가
private ISaleCompleteUs m_cSaleService = null;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
private IICReaderUs m_cDeviceICReader = null;
/// <summary>
/// 입력구분
/// </summary>
private string m_sInPutType = "";
/// <summary>
/// 마스킹데이터
/// </summary>
private string m_sInMaskData = "";
/// <summary>
/// 카드데이터(암호화)
/// </summary>
private string m_sInEncData = "";
/// <summary>
/// 서비스코드
/// </summary>
private string m_sServiceCode = "";
/// <summary>
/// 승인카드번호
/// </summary>
private string m_sAppCardNo = "";
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
private int m_nTimeSyncFlag = 0;
/// <summary>
/// 부가메뉴선택유형(1:단일선택, 2:멀티선택)
/// </summary>
string m_sSubMenuGrpSelType = "";
/// <summary>
/// 화면 초기화 여부
/// </summary>
private bool m_bFormInint = false;
/// <summary>
/// 상품키 구성 마스터
/// </summary>
//private DataTable m_dtMstItemKeyCompnt;
private ArrayList m_alMotDtl = new ArrayList(); // 결제 수단 정보 MOT 배열
private int iMaxPage; // 결제 수단 정보 MOT 최대 페이지 수
private int iNowPage; // 결제 수단 정보 MOT 현재 페이지
private readonly string MotbtnName = "BtnMotPay"; // 결제 수단 기본 버튼명
private Hashtable m_htMenuControls; // 상단 SLIDE 메뉴버튼 컨트롤 정보
private ArrayList m_alMenuHead = new ArrayList(); // 상단 SLIDE 메뉴타이틀정의 배열
private ArrayList m_alMenuProc = new ArrayList(); // 상단 SLIDE 메뉴정의 배열
private string m_SlideMenuKey = string.Empty; // 슬라이드 메뉴키
#region
DataTable gdtFuncKey = new DataTable(); // 해피포인트 및 제휴할인 카드를 선리딩할 수 있는지 여부 확인을 위한 테이블
string strDispPriorReading = ""; // 선리딩된 내역을 상태바에 표시하기 위한 스트링 변수
#endregion
/// <summary>
/// 메뉴상단표시위치
/// </summary>
private int m_nTopPos = 0;
private string m_sPosMenuKeyIn = "";
/// <summary>
/// frmSaleMain 호출자 설정
/// </summary>
private string m_sSaleMainCaller = "";
public string SetSaleMainCaller { set { m_sSaleMainCaller = value; } }
/// <summary>
/// 상품키 구성마스터
/// </summary>
DataTable m_dtMstItemKeyCompnt = new DataTable();
/// <summary>
/// 마스터 배치 다운로드 시간
/// </summary>
private string m_sMstBatchDownDate = "";
private bool AllianceCardTranMode = false; //false 취소 , true 등록
private DateTime AllianceCardTime = new DateTime();
private bool AllianceCardVisibleFlag2 = false;
public int AllianceCardVisibleCnt2 = 0;
private string m_sPluItemCode = string.Empty; // 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
private DateTime BuyHistTime = new DateTime();
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#20180605 해피오더 개선 start
//즉시주문, 예약주문 알림
//즉시픽업
private int m_nTimeSync_HpOrd_Direct = 0;
//즉시배달
private int m_nTimeSync_HpOrd_Reserv = 0;
//#20180605 해피오더 개선 end
//#15058 해피오더 버튼 변경_20180612 start,phj
/// <summary>
/// 1분 카운트
/// </summary>
private int iCount = 0;
/// <summary>
/// 해피오더 신규버튼 (true: 활성화, false: 비활성화)
/// </summary>
private bool bSaleMain = true;
//#15058 해피오더 버튼 변경_20180612 end,phj
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
//기존
/*
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
/// <summary>
/// 해피오더 실시간 재고 알림 디스플레이 상태 (true : 디스플레이 false: 미디스플레이)
/// </summary>
private bool bInventoryDispStat = false;
/// <summary>
/// 특별한 액션이 없을 때 (1분동안보여줌)
/// </summary>
private int iInventoryDispCnt = -1;
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
*/
//변경
/// <summary>
/// true: 닫기, false: 열기
/// </summary>
private bool bInventoryCancel = false;
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
#region ,
/// <summary>
/// 생성자
/// </summary>
public frmSaleMain()
{
InitializeComponent();
base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true);
//this.UpdateStyles();
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
this.picPayBack.Paint += new System.Windows.Forms.PaintEventHandler(this.picPayBack_Gradient);
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
m_cPosStatus = (PosStatus)StateObject.POS; //POS 기본정보
m_cTrnStatus = (TranStatus)StateObject.TRAN; //POS 거래정보
m_cDevStatus = (DeviceStatus)StateObject.DEVICE;
m_cDataService = (IDataProcessUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_SERVICE);
m_cPluService = (ISalePluItemUs)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.SALE_PLU_ITEM);
m_cCustDisp = (ICustDisplayUs)sManager.InitServiceInstance(ServiceLists.ASV_CUSTDISPLAY.DLL, ServiceLists.ASV_CUSTDISPLAY.CUST_DISPLAY);
m_cMaster = (IMasterUs)sManager.InitServiceInstance(ServiceLists.ASV_MASTER.DLL, ServiceLists.ASV_MASTER.POS_MASTER);
m_cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
m_cPayCancel = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.PAYMENTCANCEL);
m_cTableSvr = (ITableUs)sManager.InitServiceInstance(ServiceLists.BSV_TABLE.DLL, ServiceLists.BSV_TABLE.TABLE_SERVICE);
m_cPosNoticeCom = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.POS_NOTICE_COM);
m_cSvr2Tran = (ISvr2Tran)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.SVR2TRAN);
// 백그라운드 다운 데몬 기동
m_cBackgroundDown = (IWatcherBack)sManager.InitServiceInstance(ServiceLists.AGENT_BACKGROUND_DOWN.DLL, ServiceLists.AGENT_BACKGROUND_DOWN.BACKGROUND_DOWN_MAIN);
//17.05.18 dkshin 쇼킹박스 추가
m_cSaleService = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
m_cDeviceICReader = (IICReaderUs)sManager.InitServiceInstance(ServiceLists.AGENT_OLEDEVICE.DLL, ServiceLists.AGENT_OLEDEVICE.DEVICE_ICREADER);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
m_cSaleMainProc = new SaleMainProcess();
//OLE 입력 델리게이트 생성
delegatePos = new PosOLEDevice.DelegateOlePos(OnDeviceEvent);
#region Form (CHOCY-20160707)
//// 세트 할인 마스터 로딩
//m_cPluService.LoadSetMenuDisMaster();
//// 캠페인 마스터 로딩
//m_cCampaingMain.LoadCampaignCondition(new string[] { });
//// 그리드 초기화
//InitializeGrid();
////// 컨트롤 초기화
//InitControl();
////// 메뉴 버튼 초기화 및 로드
//LoadMenuMaster();
////// 기능키 버튼 초기화 및 로드
//LoadFuncMaster();
#endregion
}
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
#region picPayBack Paint
private void picPayBack_Gradient(object sender, PaintEventArgs e)
{
try
{
//picPayBack 그라데이션 처리
#region picPayBack
Color startColor = Color.FromArgb(138, 147, 165);
Color middleColor1 = Color.FromArgb(138, 147, 165);
Color middleColor2 = Color.FromArgb(33, 44, 56);
Color endColor = Color.FromArgb(33, 44, 56);
LinearGradientBrush br = new LinearGradientBrush(this.picPayBack.ClientRectangle,
System.Drawing.Color.FromArgb(255, 255, 255),
System.Drawing.Color.Black,
0,
false);
ColorBlend cb = new ColorBlend();
//그라데이션 시작 위치 설정
cb.Positions = new[] { 0, 1 / 10f, 1 / 2f, 1 };
//그라데이션 시작 위치별 색상 설정
cb.Colors = new[] { startColor, middleColor1, middleColor2, endColor };
//그라데이션 처리 회전 각도
br.RotateTransform(90);
br.InterpolationColors = cb;
e.Graphics.FillRectangle(br, this.picPayBack.ClientRectangle);
#endregion picPayBack
//하단 정보 박스 테두리 색상 변경
#region
Pen p = new Pen(Color.Black);
Graphics g = e.Graphics;
int variance = 1;
//해피포인트 정보
g.DrawRectangle(p, new Rectangle(lblHappyPoint.Location.X - variance, lblHappyPoint.Location.Y - variance, lblHappyPoint.Width + variance, lblHappyPoint.Height + variance));
//금액 정보
g.DrawRectangle(p, new Rectangle(lblPayAmtBack.Location.X - variance, lblPayAmtBack.Location.Y - variance, lblPayAmtBack.Width + variance, lblPayAmtBack.Height + variance));
//결제 정보
g.DrawRectangle(p, new Rectangle(lstPaymentList.Location.X, lstPaymentList.Location.Y - variance, lstPaymentList.Width, lstPaymentList.Height + variance));
#endregion
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion picPayBack Paint
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
private void frmSaleMain_Load(object sender, EventArgs e)
{
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "");
#region Form (CHOCY-20160707)
// 세트 할인 마스터 로딩
m_cPluService.LoadSetMenuDisMaster();
// 캠페인 마스터 로딩
m_sMstBatchDownDate = m_cPosStatus.Base.MstBatchDownDate;
m_cCampaingMain.LoadCampaignCondition(new string[] { });
// 그리드 초기화
InitializeGrid();
// 컨트롤 초기화
InitControl();
// 메뉴 버튼 초기화 및 로드
LoadMenuMaster();
// 기능키 버튼 초기화 및 로드
LoadFuncMaster();
// 컨트롤 CLEAR
ClearControl();
// 프로그램 버전정보 표시
lblPgmVersion.Text = string.Format("VER:{0}", m_cPosStatus.Ver.ProgramVer == "" ? "2016011000001" : m_cPosStatus.Ver.ProgramVer);
if (m_cPosStatus.Base.MstDownDate.Trim() != "") lblDBVersion.Text = "MST:" + m_cPosStatus.Base.MstDownDate;
//#20171011 영업일, 시스템일시 위치 변경 start
//개점일자 표시
//lblSaleDate.Text = string.Format("SaleDate : {0}", m_cPosStatus.Base.SaleDate == "" ? m_cPosStatus.Global.DateToCulture("20000101") : m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate));
//#20171011 영업일, 시스템일시 위치 변경 end
// 판매모드 초기화
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
InitializeGrid();
// 판매화면 초기화
DisplayInit(false, true);
WinSale.SetTradType(lblSaleStatus, pnlTopBg, ItemConst.TRAN_DIV.NORMAL, ItemConst.TRAN_KIND.NORMAL.SALE);
SetOwnPartDiv(false);
GetClientPOSVersion();//실행파일 버젼 표시; girak.kim; 2017.08.30.001
#endregion
PosOLEDevice.SetEventHandle(delegatePos);
//if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT)
if (m_sSaleMainCaller == PosConst.SAL_MAIN_FORM_CALLER_TYPE.TABLE_SVC)
{
switch (m_cPosStatus.Sale.EtcOperateMode)
{
case PosConst.ETC_OPERATION_MODE.NORMAL:
case PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY:
// 테이블 서비스에서 호출 되었을 경우 처리
m_cPosStatus.Sale.TableInfo = CmUtil.RPadH(m_cTrnStatus.Head.OrderFlag, 1) + CmUtil.RPadH(m_cTrnStatus.Head.FloorCd, 4) + CmUtil.RPadH(m_cTrnStatus.Head.TableNo, 4);
string ret = m_cTableSvr.SelectMenuOrder();
if (ret != UserCom.RST_OK)
{
WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087);
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END;
tmrCustCount.Enabled = true;
return;
}
ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
if (aSaleItem.Count == 0 && m_cPosStatus.Sale.EtcOperateMode != PosConst.ETC_OPERATION_MODE.NORMAL)
{
WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087);
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END;
tmrCustCount.Enabled = true;
return;
}
if (aSaleItem.Count > 0)
{
// 판매중 모드 설정
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
// 판매화면 초기화
DisplayInit(true, false);
// 상품등록 내역 표시
DisplayItem(0, false);
// 판매진행상태 재설정
m_cPosStatus.Sale.SaleFlow = m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL
? PosConst.SALE_FLOW.SALE_DOING
: PosConst.SALE_FLOW.PAY_WAIT;
}
else
{
// 상품등록 대기 모드 설정
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
// 판매화면 초기화
DisplayInit(true, false);
}
if (m_cTrnStatus.Head.OrderFlag == PosConst.ORDER_TYPE.NORMAL) // 테이블
{
if (m_cTrnStatus.Head.OrderPicNm.Trim() == "")
lblTableInfo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0176) + ": " + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm;
else
lblTableInfo.Text = "[" + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm + "]" + m_cTrnStatus.Head.OrderPicNm;
}
break;
case PosConst.ETC_OPERATION_MODE.NO_ORDER_SALE:
default:
// 상품등록 대기 모드 설정
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
// 판매화면 초기화
DisplayInit(true, false);
break;
}
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT && m_cTrnStatus.Head.OrderFlag == PosConst.ORDER_TYPE.NORMAL)
{
// 고객 수 입력 폼 설정
tmrCustCount.Enabled = true;
}
else
{
// lblCustCount
}
}
else if (m_sSaleMainCaller == PosConst.SAL_MAIN_FORM_CALLER_TYPE.HPORD)
{
// 해피오더에서 호출 되었을 경우 처리
ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
if (aSaleItem.Count == 0)
{
WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087);
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END;
tmrCustCount.Enabled = true;
return;
}
// 판매중 모드 설정
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
// 판매화면 초기화
DisplayInit(true, false);
// 상품등록 내역 표시
DisplayItem(0, false);
}
else
{
// 그 외에서 호출 되었을 경우 처리
// 거래 초기화
m_cDataService.InitTranHeader();
m_cDataService.DeleteTranItem();
}
m_cPosStatus.Sale.ChangeCashAmt = 0;
// 더치페이 진행중 초기화!
m_cPosStatus.Sale.PayingDutchFlag = "";
if (m_cPosStatus.Base.TrainingFlag == "1")
GetTopMsgMode("0");
else
GetTopMsgMode("");
// 타이머 호출
tmrSaleTimer.Enabled = true;
tmrDateTime.Enabled = true;
//-------------------------------------------------
// 만약 판매화면 초기화시
// 해피포인트 제휴할인 변수 초기화 함수를 호출한다.
//-------------------------------------------------
#region .
SubPriorReadingVarClear(true);
#endregion
}
private void frmSaleMain_FormClosing(object sender, FormClosingEventArgs e)
{
lblTopMsgMode.MpStop();
tmrSaleTimer.Enabled = false;
tmrDateTime.Enabled = false;
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "");
}
#endregion
#region
/// <summary>
/// 그리드 초기화
/// </summary>
private void InitializeGrid()
{
int[] arGridItemWidth = new int[] { 0 };
bool[] arGridItemClickEventFlag = new bool[] { true };
string[] arGridItemText = new string[] { "" };
StringAlignment[] arHStringAlignment = new StringAlignment[] { StringAlignment.Center };
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
arGridItemWidth = new int[] { 40, 10, 175, 90, 60, 90, 100, 50, 50 };
SaleItemGrid.DisplayItemCount = 7;
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
arGridItemWidth = new int[] { 30, 10, 115, 65, 50, 70, 100, 40, 40 };
SaleItemGrid.DisplayItemCount = 8;
}
else // 3안
{
arGridItemWidth = new int[] { 30, 10, 115, 63, 40, 67, 75, 40, 30 };
//arGridItemWidth = new int[] { 30, 10, 80, 70, 50, 70, 90, 40, 30 };
SaleItemGrid.DisplayItemCount = 8;
}
int[] arFontSize = new int[] { 9, 10, 10, 10, 10, 10, 10, 10, 10 };
arGridItemText = new string[] { MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0014),
"",
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0015),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0016),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0017),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0019),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0020),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0021)};
arHStringAlignment = new StringAlignment[] { StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center };
arGridItemClickEventFlag = new bool[] { false, false, false, false, false, false, false, false, true };
// Set Item Data Grid Information
//SaleItemGrid.DisplayItemCount = 8;
SaleItemGrid.GapSize = 0;
SaleItemGrid.BackColor = Color.White;
// Row Item
GridDataItem cGridDataItem = new GridDataItem();
cGridDataItem.GridItemBackColor = Color.FromArgb(234, 234, 234);
cGridDataItem.GridItemBackColorClick = Color.White;
cGridDataItem.GridItemBackImage = null;
cGridDataItem.GridItemBackImageClick = null;
cGridDataItem.GridItemData = new System.Collections.Hashtable();
// Set Column
for (int nLoop = 0; nLoop < arGridItemWidth.Length; nLoop++)
{
CsmGridExRowData cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[nLoop];
cGridExRowData.HStringAlignment = arHStringAlignment[nLoop];
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = arGridItemText[nLoop];
cGridExRowData.GridItemValue = arGridItemText[nLoop];
//할인 경우 빨강색!
if (MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018) == arGridItemText[nLoop])
cGridExRowData.ForeColor = Color.Red;
else
cGridExRowData.ForeColor = Color.Black;
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[nLoop];
cGridExRowData.FontStyle = FontStyle.Bold;
cGridExRowData.ClickEventFlag = arGridItemClickEventFlag[nLoop];
//거래 취소 경우 아이콘 삽입!
if (MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0021) == arGridItemText[nLoop])
{
cGridExRowData.GridRowImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.ITEM_GRID_HDR_DEL);
}
// Add Column
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
}
// Grid Data Header 설정
SaleItemGrid.SetGridDataHeader(35, cGridDataItem, GRID_EX_ITEM_BORDER_STYLE.BOTTOM, 1, Color.FromArgb(234, 234, 234));
SaleItemGrid.Invalidate();
}
#endregion
#region
/// <summary>
/// 폼 컨트롤 초기화
/// </summary>
private void InitControl()
{
try
{
this.SuspendLayout();
FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT);
FormManager.SetFormAllControlColor(this, BaseCom.NxImgPath);
//btnMenu.Font = new Font("돋움", btnMenu.Font.Size, btnMenu.Font.Style);
lblTopMsgMode.csmMoveFont = new Font(m_cPosStatus.Base.FONT, 21);
//폼 크기 설정
this.Location = new Point(0, 0);
this.Size = new Size(1024, 768);
//picTopBg.BackgroundImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MAIN_TOP_BG);
picFooterBg.BackgroundImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MAIN_FOOTER_BG);
picSaleBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.SALE_BG + m_cPosStatus.Base.DesignType + ".png");
//BtnPayCanc.ClickImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BUTTON_PAY_MAIN_FUNC_PRESS);
//BtnPayMain.ClickImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BUTTON_PAY_MAIN_FUNC_PRESS);
picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON);
picWeb.Tag = "ON";
lblWeb.Tag = "0";
// 라벨 초기화 및 다국어 처리
lblQtySaleAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.QTY_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0035);
lblDiscountAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.DC_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0036);
lblVatSvc.Text = PosConst.SALE_DISP_SPCL_CHAR.VAT_SVC_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0981);
lblRecvedAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.RECV_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0366);
//lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
btnSubMenuExit.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0040);
lblPayQtySaleAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.QTY_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0035);
lblPayDiscountAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.DC_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0036);
lblPayRecvAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.RECV_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0366);
//lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
lblPayVatSvc.Text = PosConst.SALE_DISP_SPCL_CHAR.VAT_SVC_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0981);
lblOffLine.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1020);
if (string.IsNullOrEmpty(lblOffLine.Text) == true)
lblOffLine.Text = "The currently offline. Please check your nework.";
padInPut.BtnMinusEnable = true;
padInPut.BtnPlusEnable = true;
padInPut.BtnQtyEnable = true;
padInPut.BtnSearchEnable = true;
padInPut.QtyBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0017);
padInPut.ClearBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0817);
padInPut.SearchBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1018);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
csmLabel5.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1123);
csmLabel6.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1124);
csmLabel7.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1125);
csmLabel8.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1126);
csmLabel9.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1127);
csmLabel10.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1128);
csmLabel14.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1129);
csmLabel15.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1130);
pnlBuyHist.Visible = false;
//#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj
//적용 시 주석처리하고 아래 것으로 변경
//pnlBuyHistMot.BackColor = Color.FromArgb(20, 92, 180);
//pnlBuyHistMot.ForeColor = Color.White;
//lblBuyHistMot.BackColor = Color.FromArgb(20, 92, 180);
//lblBuyHistMot.ForeColor = Color.White;
//적용 시 주석해제
pnlBuyHistMot.BackColor = Color.FromArgb(255, 255, 128);
pnlBuyHistMot.ForeColor = Color.Black;
lblBuyHistMot.BackColor = Color.FromArgb(255, 255, 128);
lblBuyHistMot.ForeColor = Color.Black;
//#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
pnlBuyHistMot.Visible = false;
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
{
//#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj
//기존
//FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 645, 50, 12);
//FormManager.SetControlSize(lblBuyHistMot, 0, 0, 645, 50, 12);
//변경
FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 645, 100, 16);
FormManager.SetControlSize(lblBuyHistMot, 0, 0, 645, 100, 16);
//#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj
}
else
{
//#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj
//기존
//FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 1024, 50, 12);
//FormManager.SetControlSize(lblBuyHistMot, 0, 0, 1024, 50, 12);
//변경
FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 1024, 100, 16);
FormManager.SetControlSize(lblBuyHistMot, 0, 0, 1024, 100, 16);
//#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
//#15525 고객구매이력 수정 요청 start
//VIP 여부 안내 표시
pnlBuyHistVip.Visible = false;
FormManager.SetControlSize(pnlBuyHistVip, 311, 99, 402, 400);
//#15525 고객구매이력 수정 요청 end
SetCmsRichTbMotMsg(rtbMotSale, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.SALE_WAIT_MOT, "");
InitControlLocation();
//시작 MOT 사용 여부
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "0")
{
pnlMotSale.Visible = false;
}
else
{
pnlMotSale.Visible = true;
}
Color clrBtnBack = Color.FromArgb(231, 233, 236); //CmUtil.GetColorToString(m_cPosStatus.Mst.ThemeColor);
btnItemGridDown.BackColor = clrBtnBack;
btnItemGridBottom.BackColor = clrBtnBack;
btnItemGridTop.BackColor = clrBtnBack;
btnItemGridUp.BackColor = clrBtnBack;
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
{
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), 0, 0, 0);
}
else
{
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1009), 0, 0, 0);
}
lblIFStatus2.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0464), 0);
lblIFStatus3.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0465), 0);
//if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
//{
// lblIFStatus1.Visible = false;
//}
//if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT036), "0") == "0")
//{
// lblIFStatus2.Visible = false;
//}
//if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT037), "0") == "0")
//{
// lblIFStatus3.Visible = false;
//}
lblAnniv.Text = "";
lblAnniv.Tag = "";
TopMenuLocation();
//===========================================================================================
// 결제화면
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
//기존
//picPayBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.PAY_BACKGROUND);
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
//버튼 초기화
BtnPayCanc.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0044);
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045);
lblPayStep1.Text = string.Format("STEP 1\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0046));
lblPayStep2.Text = string.Format("STEP 2\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0047));
lblPayStep3.Text = string.Format("STEP 3\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0048));
picMotPayImg.Parent = pnlCardMot;
PayListInit();
// 기능기 초기화
LoadFuncMasterPayment();
SetSaleMot();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
this.ResumeLayout(false);
}
}
/// <summary>
/// 상단 표시 메뉴 처리
/// </summary>
private void TopMenuLocation()
{
int iBasciLocation = 0;
try
{
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
{
//800
iBasciLocation = 220;
}
else
{
//1024
iBasciLocation = 263;
}
//온도표시
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT039), "0") != "1")
{
pnlIFStatus4.Visible = false;
}
else
{
pnlIFStatus4.Visible = true;
pnlIFStatus4.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + pnlIFStatus4.Width;
}
//#15058 해피오더 버튼 변경_20180612 start,phj
PnlNewHPOrd_Disp.Visible = false;
NewHPOrd_Disp2.Visible = false;
NewHPOrd_Disp.Visible = false;
//#15058 해피오더 버튼 변경_20180612 end,phj
//해피오더
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
{
lblIFStatus1.Visible = false;
//#15058 해피오더 버튼 변경_20180612 start,phj
bSaleMain = false;
//#15058 해피오더 버튼 변경_20180612 end,phj
}
else
{
if(m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
{
lblIFStatus1.Size = new Size(260, 21);
}
else
{
lblIFStatus1.Size = new Size(260, 21);
}
lblIFStatus1.Visible = true;
lblIFStatus1.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + lblIFStatus1.Width;
//#15058 해피오더 버튼 변경_20180612 start,phj
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
{
//#20180605 해피오더 개선 start - 20180618
//기존
/*
PnlNewHPOrd_Disp.Size = new Size(260, 21);
PnlNewHPOrd_Disp.Width = lblIFStatus1.Width;
PnlNewHPOrd_Disp.Height = 50; //lblIFStatus1.Height;
PnlNewHPOrd_Disp.Top = 0; //lblIFStatus1.Top;
PnlNewHPOrd_Disp.Left = lblIFStatus1.Left;
PnlNewHPOrd_Disp.Location = lblIFStatus1.Location; // new Point(iBasciLocation, 25);
PnlNewHPOrd_Disp.Visible = false;
*/
//변경
PnlNewHPOrd_Disp.Size = new Size(260, 21);
PnlNewHPOrd_Disp.Width = lblIFStatus1.Width;
PnlNewHPOrd_Disp.Left = lblIFStatus1.Left;
PnlNewHPOrd_Disp.Top = 0;
PnlNewHPOrd_Disp.Height = 50;
bSaleMain = true;
//#20180605 해피오더 개선 start - 20180618
}
//#15058 해피오더 버튼 변경_20180612 end,phj
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
//기존
/*
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
iInventoryDispCnt = -1;
bInventoryDispStat = false;
lb_HPOInventoryAlram.Visible = false;
lb_HPOInventoryAlram2.Visible = false;
Pnl_HPOInventoryAlram.Visible = false;
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
{
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
{
Pnl_HPOInventoryAlram.Location = new Point(iBasciLocation, 25);
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
Pnl_HPOInventoryAlram.Width = lblIFStatus1.Width; // lblIFStatus1.Width;
Pnl_HPOInventoryAlram.Left = lblIFStatus1.Left;
Pnl_HPOInventoryAlram.Top = 0;
Pnl_HPOInventoryAlram.Height = 50;
}
else
{
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
Pnl_HPOInventoryAlram.Width = PnlNewHPOrd_Disp.Width;
Pnl_HPOInventoryAlram.Left = PnlNewHPOrd_Disp.Left + PnlNewHPOrd_Disp.Width;
Pnl_HPOInventoryAlram.Top = 0;
Pnl_HPOInventoryAlram.Height = 50;
}
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
*/
//변경
bInventoryCancel = false;
lb_HPOInventoryAlram.Visible = false;
lb_HPOInventoryAlram2.Visible = false;
Pnl_HPOInventoryAlram.Visible = false;
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
{
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
{
Pnl_HPOInventoryAlram.Location = new Point(iBasciLocation, 25);
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
Pnl_HPOInventoryAlram.Width = lblIFStatus1.Width; // lblIFStatus1.Width;
Pnl_HPOInventoryAlram.Left = lblIFStatus1.Left;
Pnl_HPOInventoryAlram.Top = 0;
Pnl_HPOInventoryAlram.Height = 50;
}
else
{
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
Pnl_HPOInventoryAlram.Width = PnlNewHPOrd_Disp.Width;
Pnl_HPOInventoryAlram.Left = PnlNewHPOrd_Disp.Left + PnlNewHPOrd_Disp.Width;
Pnl_HPOInventoryAlram.Top = 0;
Pnl_HPOInventoryAlram.Height = 50;
}
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
//빚은몰
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT036), "0") == "0")
{
lblIFStatus2.Visible = false;
}
else
{
lblIFStatus2.Visible = true;
lblIFStatus2.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + lblIFStatus2.Width;
}
//이지웰
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT037), "0") == "0")
{
lblIFStatus3.Visible = false;
}
else
{
lblIFStatus3.Visible = true;
lblIFStatus3.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + lblIFStatus3.Width;
}
//점주 알바 점수 표시
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT019), "1") == "1")
{
lblOwnerPart.Visible = true;
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR)
{
lblOwnerPart.Size = new Size(182, 21);
lblOwnerPart.Text = string.Format("{0}:0{2}/{1}:0{2}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0733), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
}
else
{
lblOwnerPart.Size = new Size(95, 21);
lblOwnerPart.Text = string.Format("{0}:0{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
}
lblOwnerPart.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + lblOwnerPart.Width;
}
else
{
lblOwnerPart.Visible = false;
lblOwnerPart.Text = "";
}
//기념일 배송
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0")
{
lblAnniv.Text = string.Format("{0}:0", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742));
lblAnniv.Visible = true;
lblAnniv.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + lblAnniv.Width;
}
else
{
lblAnniv.Visible = false;
lblAnniv.Text = "";
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 상단 메세지 설정(연습모드, 긴급메세지)
/// </summary>
/// <param name="sType"></param>
private void GetTopMsgMode(string sType)
{
try
{
if (sType == "0")
{
if (lblTopMsgMode.MpStatus() == false)
{
lblTopMsgMode.MpIntervalMove(20);
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
FormManager.SetControlSize(lblTopMsgMode, 95, 0, 645, 50, 21);
else
FormManager.SetControlSize(lblTopMsgMode, 125, 0, 820, 50, 21);
// 연습모드 설정
Cosmos.UI.CsmPosMovePanel.MovePanelInfo cMoveInfo = new Cosmos.UI.CsmPosMovePanel.MovePanelInfo();
cMoveInfo.BackColor = Color.Red;
cMoveInfo.ForeColor = Color.Yellow;
cMoveInfo.MoveKind = "4"; //0:좌->우, 1:우->좌, 4:깜박임
cMoveInfo.MoveText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0402);
lblTopMsgMode.MpAdd(cMoveInfo);
lblTopMsgMode.Visible = true;
lblTopMsgMode.MpStart();
}
}
else if (sType == "1")
{
EmgNoticeProcess();
// 백그라운드 프로그램 적용 확인 메시지
POSProgramApplyCheck();
}
else
{
//중지
lblTopMsgMode.MpStop();
lblTopMsgMode.Visible = false;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#region , , , ,
/// <summary>
/// 점주알바점수, 유해상품, 입고등록, 배송정보, 기념일배송 처리
/// </summary>
/// <param name="sType"></param>
private void SelectEtcNoticeCom()
{
string[] aOutParam = new string[] { "0", "0" };
try
{
string sDpsStr = string.Empty;
if (lblOwnerPart.Visible == true)
{
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
{
sDpsStr = string.Format("{0}:#1{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
}
else
{
sDpsStr = string.Format("{0}:#1{2}/{1}:#2{2}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0733), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
}
//01 - 점주알바모드
if (m_cDataCommon.GetEtcNoticeProcess("01", ref aOutParam) == false)
{
aOutParam = new string[] { "0", "0" };
}
lblOwnerPart.Text = sDpsStr.Replace("#1", aOutParam[0]).Replace("#2", aOutParam[1]);
}
//02 - 유해상품
//03 - 입고등록 확인
//04 - 배송정보
//05 - 기념일 배송
m_cDataCommon.GetEtcNoticeProcess("02", ref aOutParam);
//기념일 배송
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0")
{
m_cDataCommon.GetEtcNoticeProcess("05", ref aOutParam);
if (aOutParam == null || aOutParam[0] == "0")
{
lblAnniv.Text = string.Format("{0}:0", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742));
lblAnniv.Tag = "";
}
else
{
lblAnniv.Text = string.Format("{0}:{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742), aOutParam[0]);
lblAnniv.Tag = "1";
}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///// <summary>
///// 점주 알바 웹 호출
///// </summary>
//private void ShowOwnerPartWeb(string sKeyCode)
//{
// try
// {
// //WEB 링크 조회
// IDataServiceUs cWebBiz = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.WEB_POS);
// if (cWebBiz != null)
// {
// string sUrl = string.Empty;
// sUrl = (string)cWebBiz.GetData(new string[] { sKeyCode });
// if (sUrl != UserCom.ERROR && sUrl != null)
// {
// System.Diagnostics.Process.Start("iexplore.exe", CmUtil.MidH(sUrl, 31, CmUtil.LenH(sUrl)));
// }
// }
// }
// catch (Exception ex)
// {
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
//}
#endregion , , , ,
/// <summary>
/// 판매 화면 MOT
/// </summary>
private void SetSaleMot()
{
try
{
//시작 MOT 사용 유무!
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "1")
{
pnlMotSale.BackgroundImage = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, m_cPosStatus.ScnMst.WaitImg);
if (pnlMotSale.BackgroundImage != null)
CmUtil.FileCopy(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + m_cPosStatus.ScnMst.WaitImg, BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + ImageManager.SALE_MOT_WAIT, false);
else
pnlMotSale.BackgroundImage = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, ImageManager.SALE_MOT_WAIT);
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 폼 컨트롤 초기화
/// </summary>
private void ClearControl()
{
try
{
lblStoreNm.Text = CmUtil.GetDataRowStr(PosMstManager.GetMstStore(), PosMst.MST_STORE.DATA.STORNM); //점포명
lblPosNo.Text = "POS " + m_cPosStatus.Base.PosNo;
lblTranNo.Text = m_cPosStatus.Base.TradeNo;
lblCashier.Text = m_cPosStatus.Base.CashierName;
lblEtc.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0038);
lblWeb.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0039);
lblTableInfo.Text = string.Empty;
txtQtySaleAmt.Text = "0";
txtDiscountAmt.Text = "0";
txtRecvedAmt.Text = "0";
txtNetSaleAmt.Text = "0";
txtVatSvc.Text = "0";
pnlSubMenu.Visible = false;
pnlSetMenu.Visible = false;
pnlFlavour.Visible = false;
picCampaign.Visible = false;
//===========================================================================================
// 결제화면
rtbMotMain.Text = "";
txtPayQtySaleAmt.Text = "0";
txtPayDiscountAmt.Text = "0";
txtPayNetSaleAmt.Text = "0";
txtPayRecvAmt.Text = "0";
txtPayVatSvc.Text = "0";
SlideSetMenuBtn();
pnlMenuSlide.Location = new Point(0, 50);
pnlMenuSlide.Visible = false;
picTempInfo.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG);
pnlTempInfo.Location = new Point(0, 50);
pnlTempInfo.Visible = false;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 시안별 컨트롤 위치 설정
/// </summary>
private void InitControlLocation()
{
try
{
//FormManager.SetControlSize(pnlSaleMainBack, 0, 50, 1024, 698);
FormManager.SetControlSize(picSaleBack, 0, 50, 1024, 698);
FormManager.SetControlSize(pnlPayMainBack, 0, 1025, 1024, 696);
FormManager.SetControlSize(picPayBack, 0, 0, 1024, 696);
FormManager.SetControlSize(lblTopMsgMode, 127, 0, 903, 50);
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴
FormManager.SetControlSize(pnlMenuLClass, 0, 329, 712, 57); // 메뉴키 대분류
FormManager.SetControlSize(btnMenuLClassUp, 0, 0, 60, 57);
FormManager.SetControlSize(btnMenuLClass, 61, 0, 590, 57); // 메뉴키 대분류
FormManager.SetControlSize(btnMenuLClassDn, 652, 0, 60, 57);
btnMenuLClass.SetFuncButtonCount(1, 5); // 버튼갯수 설정
FormManager.SetControlSize(pnlMenuMClass, 0, 386, 142, 360); // 메뉴키 중분류
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
if (nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 142, 360); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 142, 72 * nMFixCnt); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(nMFixCnt, 2); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 0, (72 * nMFixCnt) + 1, 142, 360 - (72 * nMFixCnt));// 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(5 - nMFixCnt, 2); // 버튼갯수 설정
}
//FormManager.SetControlSize(btnMenuMClass, 0, 386, 142, 360); // 메뉴키 중분류
//btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정
FormManager.SetControlSize(pnlSubMenu, 0, 329, 712, 417); // 부가메뉴
FormManager.SetControlSize(btnSubMenuGrp, 1, 0, 109, 370); // 부가메뉴-그룹
FormManager.SetControlSize(btnSubMenuExit, 1, 371, 109, 47); // 부가메뉴-종료
FormManager.SetControlSize(btnSubMenuDtl, 111, 0, 600, 417); // 부가메뉴-상품
FormManager.SetControlSize(pnlSetMenu, 0, 329, 712, 417); // 세트메뉴
FormManager.SetControlSize(lblSetMenuTitle, 2, 2, 708, 29); // 세트메뉴-타이틀
FormManager.SetControlSize(btnSetMenu, 2, 35, 708, 380); // 세트메뉴-상품
FormManager.SetControlSize(pnlFlavour, 0, 329, 712, 417); // 플레이버
FormManager.SetControlSize(lblItemGrid, 0, 50, 711, 278); // 상품그리드 BACK
FormManager.SetControlSize(SaleItemGrid, 0, 50, 665, 278); // 상품그리드
FormManager.SetControlSize(txtInPut, 716, 331, 302, 49); // 입력박스
FormManager.SetControlSize(padInPut, 712, 385, 309, 361); // 키패드
padInPut.DesignType = DesignType.Design_A;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
FormManager.SetControlSize(pnlBuyHist, 712, 327, 309, 419); // 고객 구매이력 정보
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
FormManager.SetControlSize(btnFuncItem, 0, 768, 322, 247); // 기능(오른쪽)
FormManager.SetControlSize(btnItemGridTop, 668, 50, 43, 68); // 상품그리드 TOP
FormManager.SetControlSize(btnItemGridUp, 668, 120, 43, 68); // 상품그리드 UP
FormManager.SetControlSize(btnItemGridDown, 668, 190, 43, 68); // 상품그리드 DOWN
FormManager.SetControlSize(btnItemGridBottom, 668, 260, 43, 68); // 상품그리드 BOTTOM
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
//기존
FormManager.SetControlSize(pnlMotSale, 0, 50, 712, 278); // 판매대기 MOT
//변경
//FormManager.SetControlSize(pnlMotSale, 0, 329, 712, 417); // 판매대기 MOT
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
FormManager.SetControlSize(rtbMotSale, 4, 135, 700, 136); // 판매대기 MOT
FormManager.SetControlSize(picCampaign, 712, 51, 311, 110); // 캠페인 이미지
// 포함 여부에 따라 부가세 표시
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
FormManager.SetControlSize(btnFuncSale, 712, 182, 312, 144); // 기능(왼쪽)
FormManager.SetControlSize(lblAmtBack, 712, 51, 312, 131); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 716, 51, 131, 24); // 수량총금액(24)
FormManager.SetControlSize(lblDiscountAmt, 716, 75, 131, 24); // 할인금액
FormManager.SetControlSize(lblVatSvc, 716, 99, 131, 24); // 봉사료,부가세
FormManager.SetControlSize(lblRecvedAmt, 716, 123, 131, 24); // 받은금액
FormManager.SetControlSize(lblNetSaleAmt, 716, 149, 131, 28); // 받을금액(27)
FormManager.SetControlSize(txtQtySaleAmt, 847, 51, 177, 24); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 847, 75, 177, 24); // 할인금액
FormManager.SetControlSize(txtVatSvc, 847, 99, 177, 24); // 봉사료,부가세
FormManager.SetControlSize(txtRecvedAmt, 847, 123, 177, 24); // 받을금액
FormManager.SetControlSize(txtNetSaleAmt, 847, 149, 180, 28); // 받을금액
lblVatSvc.Visible = true;
txtVatSvc.Visible = true;
}
else
{
FormManager.SetControlSize(btnFuncSale, 712, 162, 312, 164); // 기능(왼쪽)
FormManager.SetControlSize(lblAmtBack, 712, 51, 311, 110); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 716, 55, 131, 24); // 수량총금액(24)
FormManager.SetControlSize(lblDiscountAmt, 716, 79, 131, 24); // 할인금액
FormManager.SetControlSize(lblRecvedAmt, 716, 103, 131, 24); // 받은금액
FormManager.SetControlSize(lblNetSaleAmt, 716, 127, 131, 29); // 받을금액(27)
FormManager.SetControlSize(txtQtySaleAmt, 847, 55, 177, 24); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 847, 79, 177, 24); // 할인금액
FormManager.SetControlSize(txtRecvedAmt, 847, 103, 177, 24); // 받을금액
FormManager.SetControlSize(txtNetSaleAmt, 847, 127, 180, 29); // 받을금액
lblVatSvc.Visible = false;
txtVatSvc.Visible = false;
}
lblAmtBack.BackColor = Color.FromArgb(204, 204, 204); // 금액배경(잔상제거용)
lblQtySaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 수량총금액
lblDiscountAmt.BackColor = Color.FromArgb(204, 204, 204); // 할인금액
lblVatSvc.BackColor = Color.FromArgb(204, 204, 204); // 봉사료,부가세
lblRecvedAmt.BackColor = Color.FromArgb(204, 204, 204);
lblNetSaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 받을금액
txtQtySaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 수량총금액
txtDiscountAmt.BackColor = Color.FromArgb(204, 204, 204); // 할인금액
txtVatSvc.BackColor = Color.FromArgb(204, 204, 204); // 봉사료,부가세
txtRecvedAmt.BackColor = Color.FromArgb(204, 204, 204);
txtNetSaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 받을금액
lblQtySaleAmt.ForeColor = Color.Black; // 수량총금액
lblDiscountAmt.ForeColor = Color.Black; // 할인금액
lblVatSvc.ForeColor = Color.Black; // 봉사료,부가세
lblRecvedAmt.ForeColor = Color.Black; //Color.FromArgb(128, 128, 255);
lblNetSaleAmt.ForeColor = Color.Brown; // 받을금액
txtQtySaleAmt.ForeColor = Color.Black; // 수량총금액
txtDiscountAmt.ForeColor = Color.Black; // 할인금액
txtVatSvc.ForeColor = Color.Black; // 봉사료,부가세
txtRecvedAmt.ForeColor = Color.Black; //Color.FromArgb(128, 128, 255);
txtNetSaleAmt.ForeColor = Color.Brown; // 받을금액
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴
FormManager.SetControlSize(pnlMenuLClass, 0, 50, 100, 90); // 메뉴키 대분류
FormManager.SetControlSize(btnMenuLClass, 0, 0, 100, 90); // 메뉴키 대분류
btnMenuLClass.SetFuncButtonCount(2, 1); // 버튼갯수 설정
FormManager.SetControlSize(pnlMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
if (nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
}
//FormManager.SetControlSize(btnMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
//btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
FormManager.SetControlSize(pnlSubMenu, 523, 141, 500, 355); // 부가메뉴
FormManager.SetControlSize(btnSubMenuGrp, 1, 1, 110, 303); // 부가메뉴-그룹
FormManager.SetControlSize(btnSubMenuExit, 1, 305, 110, 49); // 부가메뉴-종료
FormManager.SetControlSize(btnSubMenuDtl, 112, 1, 387, 353); // 부가메뉴-상품
FormManager.SetControlSize(pnlSetMenu, 523, 141, 500, 355); // 세트메뉴
FormManager.SetControlSize(lblSetMenuTitle, 2, 3, 496, 29); // 세트메뉴-타이틀
FormManager.SetControlSize(btnSetMenu, 2, 35, 496, 318); // 세트메뉴-상품
FormManager.SetControlSize(pnlFlavour, 0, 497, 1024, 249); // 플레이버
FormManager.SetControlSize(lblItemGrid, 0, 141, 522, 356); // 상품그리드 BACK
FormManager.SetControlSize(SaleItemGrid, 0, 141, 522, 315); // 상품그리드
FormManager.SetControlSize(txtInPut, 381, 502, 314, 24); // 입력박스
FormManager.SetControlSize(padInPut, 376, 531, 324, 215); // 키패드
padInPut.DesignType = DesignType.Design_B;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
FormManager.SetControlSize(pnlBuyHist, 376, 498, 324, 248); // 고객 구매이력 정보
//csmLabel5.Border
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
FormManager.SetControlSize(btnFuncSale, 0, 637, 375, 109); // 기능(왼쪽)
FormManager.SetControlSize(btnFuncItem, 701, 497, 322, 248); // 기능(오른쪽)
FormManager.SetControlSize(btnItemGridTop, 2, 457, 129, 40); // 상품그리드 TOP
FormManager.SetControlSize(btnItemGridUp, 132, 457, 129, 40); // 상품그리드 UP
FormManager.SetControlSize(btnItemGridDown, 262, 457, 129, 40); // 상품그리드 DOWN
FormManager.SetControlSize(btnItemGridBottom, 392, 457, 130, 40); // 상품그리드 BOTTOM
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
//기존
FormManager.SetControlSize(pnlMotSale, 0, 141, 522, 356); // 판매대기 MOT
//변경
//FormManager.SetControlSize(pnlMotSale, 502, 141, 522, 356); // 판매대기 MOT
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
FormManager.SetControlSize(rtbMotSale, 4, 239, 509, 110); // 판매대기 MOT
//FormManager.SetControlSize(picCampaign, 1, 498, 375, 138); // 캠페인 이미지
FormManager.SetControlSize(picCampaign, 1, 498, 375, 247); // 캠페인 이미지
// 포함 여부에 따라 부가세 표시
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 25); // 수량총금액
FormManager.SetControlSize(lblDiscountAmt, 10, 525, 150, 25); // 할인금액
FormManager.SetControlSize(lblVatSvc, 10, 550, 150, 25); // 봉사료,부가세
FormManager.SetControlSize(lblRecvedAmt, 10, 575, 150, 25);
FormManager.SetControlSize(lblNetSaleAmt, 10, 600, 150, 35); // 받을금액
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 25); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 170, 525, 200, 25); // 할인금액
FormManager.SetControlSize(txtVatSvc, 170, 550, 200, 25); // 봉사료,부가세
FormManager.SetControlSize(txtRecvedAmt, 170, 575, 200, 25);
FormManager.SetControlSize(txtNetSaleAmt, 170, 600, 202, 35); // 받을금액
lblVatSvc.Visible = true;
txtVatSvc.Visible = true;
}
else
{
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 30); // 수량총금액
FormManager.SetControlSize(lblDiscountAmt, 10, 530, 150, 30); // 할인금액
FormManager.SetControlSize(lblRecvedAmt, 10, 560, 150, 30); // 받은금액
FormManager.SetControlSize(lblNetSaleAmt, 10, 590, 150, 40); // 받을금액
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 30); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 170, 530, 200, 30); // 할인금액
FormManager.SetControlSize(txtRecvedAmt, 170, 560, 200, 30); // 받은금액
FormManager.SetControlSize(txtNetSaleAmt, 170, 590, 202, 40); // 받을금액
lblVatSvc.Visible = false;
txtVatSvc.Visible = false;
}
//FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
//FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액
//FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35);
//FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액
//FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
//FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액
//FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35);
//FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액
lblAmtBack.BackColor = Color.FromArgb(68, 68, 68); // 금액배경(잔상제거용)
lblQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
lblDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
lblVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
lblRecvedAmt.BackColor = Color.FromArgb(68, 68, 68);
lblNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
txtQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
txtDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
txtVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
txtRecvedAmt.BackColor = Color.FromArgb(68, 68, 68); //
txtNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
lblQtySaleAmt.ForeColor = Color.White; // 수량총금액
lblDiscountAmt.ForeColor = Color.White; // 할인금액
lblVatSvc.ForeColor = Color.White; // 봉사료,부가세
lblRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255); //
lblNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
txtQtySaleAmt.ForeColor = Color.White; // 수량총금액
txtDiscountAmt.ForeColor = Color.White; // 할인금액
txtVatSvc.ForeColor = Color.White; // 봉사료,부가세
txtRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255);
txtNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
}
else
{
FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴
FormManager.SetControlSize(pnlMenuLClass, 0, 50, 100, 90); // 메뉴키 대분류
FormManager.SetControlSize(btnMenuLClass, 0, 0, 100, 90); // 메뉴키 대분류
btnMenuLClass.SetFuncButtonCount(2, 1); // 버튼갯수 설정
FormManager.SetControlSize(pnlMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
if (nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
}
//FormManager.SetControlSize(btnMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
//btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
FormManager.SetControlSize(pnlSubMenu, 481, 141, 542, 355); // 부가메뉴
FormManager.SetControlSize(btnSubMenuGrp, 2, 0, 109, 303); // 부가메뉴-그룹
FormManager.SetControlSize(btnSubMenuExit, 2, 305, 109, 47); // 부가메뉴-종료
FormManager.SetControlSize(btnSubMenuDtl, 112, 0, 429, 352); // 부가메뉴-상품
FormManager.SetControlSize(pnlSetMenu, 481, 141, 542, 355); // 세트메뉴
FormManager.SetControlSize(lblSetMenuTitle, 2, 3, 538, 29); // 세트메뉴-타이틀
FormManager.SetControlSize(btnSetMenu, 2, 35, 538, 318); // 세트메뉴-상품
FormManager.SetControlSize(pnlFlavour, 0, 497, 1024, 249); // 플레이버
FormManager.SetControlSize(lblItemGrid, 0, 141, 480, 356); // 상품그리드 BACK
FormManager.SetControlSize(SaleItemGrid, 0, 141, 480, 315); // 상품그리드
FormManager.SetControlSize(btnSubMenuCommGrp, 481, 141, 95, 356); // 부가메뉴
FormManager.SetControlSize(btnSubMenuCommDtl, 576, 141, 96, 356); // 부가메뉴
//FormManager.SetControlSize(btnSubMenuCommDtl, 481, 141, 189, 356); // 부가메뉴
FormManager.SetControlSize(txtInPut, 381, 502, 314, 24); // 입력박스
FormManager.SetControlSize(padInPut, 376, 531, 324, 215); // 키패드
padInPut.DesignType = DesignType.Design_C;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
FormManager.SetControlSize(pnlBuyHist, 376, 498, 324, 248); // 고객 구매이력 정보
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
FormManager.SetControlSize(btnFuncSale, 0, 637, 375, 109); // 기능(왼쪽)
FormManager.SetControlSize(btnFuncItem, 701, 497, 322, 248); // 기능(오른쪽)
FormManager.SetControlSize(btnItemGridTop, 2, 457, 119, 40); // 상품그리드 TOP
FormManager.SetControlSize(btnItemGridUp, 122, 457, 119, 40); // 상품그리드 UP
FormManager.SetControlSize(btnItemGridDown, 242, 457, 119, 40); // 상품그리드 DOWN
FormManager.SetControlSize(btnItemGridBottom, 362, 457, 118, 40); // 상품그리드 BOTTOM
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
//기존
FormManager.SetControlSize(pnlMotSale, 0, 141, 480, 356); // 판매대기 MOT
//변경
//FormManager.SetControlSize(pnlMotSale, 481, 141, 542, 355); // 판매대기 MOT
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
FormManager.SetControlSize(rtbMotSale, 4, 239, 472, 110); // 판매대기 MOT
//FormManager.SetControlSize(picCampaign, 1, 498, 375, 138); // 캠페인 이미지
FormManager.SetControlSize(picCampaign, 1, 498, 375, 247); // 캠페인 이미지
// 포함 여부에 따라 부가세 표시
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 25); // 수량총금액
FormManager.SetControlSize(lblDiscountAmt, 10, 525, 150, 25); // 할인금액
FormManager.SetControlSize(lblVatSvc, 10, 550, 150, 25); // 봉사료,부가세
FormManager.SetControlSize(lblRecvedAmt, 10, 575, 150, 25);
FormManager.SetControlSize(lblNetSaleAmt, 10, 600, 150, 35); // 받을금액
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 25); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 170, 525, 200, 25); // 할인금액
FormManager.SetControlSize(txtVatSvc, 170, 550, 200, 25); // 봉사료,부가세
FormManager.SetControlSize(txtRecvedAmt, 170, 575, 200, 25);
FormManager.SetControlSize(txtNetSaleAmt, 170, 600, 202, 35); // 받을금액
lblVatSvc.Visible = true;
txtVatSvc.Visible = true;
}
else
{
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 30); // 수량총금액
FormManager.SetControlSize(lblDiscountAmt, 10, 530, 150, 30); // 할인금액
FormManager.SetControlSize(lblRecvedAmt, 10, 560, 150, 30); // 받은금액
FormManager.SetControlSize(lblNetSaleAmt, 10, 590, 150, 40); // 받을금액
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 30); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 170, 530, 200, 30); // 할인금액
FormManager.SetControlSize(txtRecvedAmt, 170, 560, 200, 30); // 받은금액
FormManager.SetControlSize(txtNetSaleAmt, 170, 590, 202, 40); // 받을금액
lblVatSvc.Visible = false;
txtVatSvc.Visible = false;
}
//FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
//FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
//FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액
//FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35);
//FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액
//FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
//FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액
//FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35);
//FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액
//// 포함 여부에 따라 부가세 표시
//if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
//{
// FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
// FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
// FormManager.SetControlSize(lblDiscountAmt, 18, 524, 146, 30); // 할인금액
// FormManager.SetControlSize(lblVatSvc, 18, 547, 146, 30); // 봉사료,부가세
// FormManager.SetControlSize(lblRecvedAmt, 18, 571, 146, 35);
// FormManager.SetControlSize(lblNetSaleAmt, 18, 598, 146, 35); // 받을금액
// FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
// FormManager.SetControlSize(txtDiscountAmt, 176, 524, 194, 30); // 할인금액
// FormManager.SetControlSize(txtVatSvc, 176, 547, 194, 30); // 봉사료,부가세
// FormManager.SetControlSize(txtRecvedAmt, 173, 571, 200, 35);
// FormManager.SetControlSize(txtNetSaleAmt, 173, 598, 200, 35); // 받을금액
// lblVatSvc.Visible = true;
// txtVatSvc.Visible = true;
//}
//else
//{
// FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
// FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
// FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액
// FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35);
// FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액
// FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
// FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액
// FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35);
// FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액
// lblVatSvc.Visible = false;
// txtVatSvc.Visible = false;
//}
lblAmtBack.BackColor = Color.FromArgb(68, 68, 68); // 금액배경(잔상제거용)
lblQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
lblDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
lblVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
lblRecvedAmt.BackColor = Color.FromArgb(68, 68, 68);
lblNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
txtQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
txtDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
txtVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
txtRecvedAmt.BackColor = Color.FromArgb(68, 68, 68); //
txtNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
lblQtySaleAmt.ForeColor = Color.White; // 수량총금액
lblDiscountAmt.ForeColor = Color.White; // 할인금액
lblVatSvc.ForeColor = Color.White; // 봉사료,부가세
lblRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255); //
lblNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
txtQtySaleAmt.ForeColor = Color.White; // 수량총금액
txtDiscountAmt.ForeColor = Color.White; // 할인금액
txtVatSvc.ForeColor = Color.White; // 봉사료,부가세
txtRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255);
txtNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
}
// 포함 여부에 따라 부가세 표시
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
FormManager.SetControlSize(lblPayQtySaleAmt, 220, 545, 123, 21);
FormManager.SetControlSize(lblPayDiscountAmt, 220, 570, 123, 21);
FormManager.SetControlSize(lblPayVatSvc, 220, 595, 123, 21);
FormManager.SetControlSize(lblPayRecvAmt, 220, 620, 123, 21);
FormManager.SetControlSize(lblPayNetSaleAmt, 220, 645, 123, 30);
FormManager.SetControlSize(txtPayQtySaleAmt, 335, 545, 190, 21);
FormManager.SetControlSize(txtPayDiscountAmt, 345, 570, 180, 21);
FormManager.SetControlSize(txtPayVatSvc, 345, 595, 180, 21);
FormManager.SetControlSize(txtPayRecvAmt, 345, 620, 180, 21);
FormManager.SetControlSize(txtPayNetSaleAmt, 345, 645, 182, 30);
lblPayVatSvc.Visible = true;
txtPayVatSvc.Visible = true;
}
else
{
//FormManager.SetControlSize(lblPayQtySaleAmt, 233, 550, 120, 21);
//FormManager.SetControlSize(lblPayDiscountAmt, 232, 579, 120, 21);
//FormManager.SetControlSize(lblPayRecvAmt, 228, 612, 123, 21);
//FormManager.SetControlSize(lblPayNetSaleAmt, 229, 646, 123, 21);
//FormManager.SetControlSize(txtPayQtySaleAmt, 354, 550, 165, 21);
//FormManager.SetControlSize(txtPayDiscountAmt, 357, 579, 162, 21);
//FormManager.SetControlSize(txtPayRecvAmt, 355, 604, 168, 34);
//FormManager.SetControlSize(txtPayNetSaleAmt, 356, 638, 168, 34);
FormManager.SetControlSize(lblPayQtySaleAmt, 220, 550, 123, 21);
FormManager.SetControlSize(lblPayDiscountAmt, 220, 580, 123, 21);
FormManager.SetControlSize(lblPayRecvAmt, 220, 610, 123, 21);
FormManager.SetControlSize(lblPayNetSaleAmt, 220, 640, 123, 30);
FormManager.SetControlSize(txtPayQtySaleAmt, 335, 550, 190, 21);
FormManager.SetControlSize(txtPayDiscountAmt, 345, 580, 180, 21);
FormManager.SetControlSize(txtPayRecvAmt, 345, 610, 180, 21);
FormManager.SetControlSize(txtPayNetSaleAmt, 345, 640, 182, 30);
lblPayVatSvc.Visible = false;
txtPayVatSvc.Visible = false;
//*** MoonSeokWoo 2017.12.12 Add
pnlPayMainBack.Visible = false;
//*** MoonSeokWoo 2017.12.12 End
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region
private void btnMenuLClassUp_Click(object sender, EventArgs e)
{
try
{
if ((UI.CsmButton)sender == btnMenuLClassUp)
{
btnMenuLClass.FuncUpDown("UP");
//if (btnMenuLClass.FuncUpDown("UP") == true)
//{
// btnMenuLClassUp.Text = "<";
// btnMenuLClassDn.Text = ">";
//}
//else
// btnMenuLClassUp.Text = "■";
}
else if ((UI.CsmButton)sender == btnMenuLClassDn)
{
btnMenuLClass.FuncUpDown("DN");
//if (btnMenuLClass.FuncUpDown("DN") == true)
//{
// btnMenuLClassDn.Text = ">";
// btnMenuLClassUp.Text = "<";
//}
//else
// btnMenuLClassDn.Text = "■";
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 메뉴 컨트롤 초기화 및 메뉴 마스터 로딩
/// </summary>
/// <returns>성공/실패</returns>
public bool LoadMenuMaster()
{
string sFirstLCode = ""; // 첫번째 그룹
try
{
// 상품키 구성 마스터 로딩
DataRow drItemKeyCompnt = PosMstManager.GetMstScreen();
m_dtMstItemKeyCompnt = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_COMPNT.TABLE_NAME);
if (m_dtMstItemKeyCompnt == null || m_dtMstItemKeyCompnt.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0056); // 상품키 구성 마스터가 없습니다
}
else
{
drItemKeyCompnt = m_dtMstItemKeyCompnt.Rows[0];
foreach (DataRow dr in m_dtMstItemKeyCompnt.Rows)
{
if (m_cPosStatus.Base.StoreNo == CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD)) drItemKeyCompnt = dr;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 메뉴 대분류 로딩
DataTable dtLClass = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_L_CLSS.TABLE_NAME);
if (dtLClass == null || dtLClass.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0057); // 메뉴 대분류 마스터가 없습니다
}
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
btnMenuLClass.VisibleUpDown = false;
btnMenuLClassUp.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR));
btnMenuLClassUp.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
btnMenuLClassUp.Visible = true;
btnMenuLClassDn.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR));
btnMenuLClassDn.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
btnMenuLClassDn.Visible = true;
}
else
{
btnMenuLClass.VisibleUpDown = false;
btnMenuLClassUp.Visible = false;
btnMenuLClassDn.Visible = false;
}
pnlMenuLClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR));
btnMenuLClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR));
btnMenuLClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
btnMenuLClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR));
btnMenuLClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_FONT_COLOR));
btnMenuLClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR));
btnMenuLClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
btnMenuLClass.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
if (dtLClass != null)
{
int nL_CLSS_SEQ = 0;
foreach (DataRow dr in dtLClass.Rows)
{
nL_CLSS_SEQ++;
Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cMenuInfo.sGroupCode = "00"; // 분류코드
cMenuInfo.nSeqNo = nL_CLSS_SEQ; //CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.SEQ); // 표시순번
// 대분류키값 = 본부키구분(1) + 서브점포코드 + 대분류 코드
cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.HQ_KEY_DIV), 1)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.SUB_SHOP_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_CD); // 코드
string sCOMPLEX_SHOP_STOR_NM = "";
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
{
sCOMPLEX_SHOP_STOR_NM = CmUtil.GetDataRowStr(dr, PosMst.MST_COMPLEX_SHOP_STOR.DATA.COMPLEX_SHOP_STOR_NM);
}
if (sCOMPLEX_SHOP_STOR_NM == "")
cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_NM); // 명
else
cMenuInfo.sFuncText = sCOMPLEX_SHOP_STOR_NM + PosConst.CRLF + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_NM); // 명
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR)); // 백 컬러
cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR)); // 명 컬러
cMenuInfo.fFontSize = 10; // 명 폰트 사이즈
cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnMenuLClass.AddFuncButtonInfo(cMenuInfo);
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 메뉴 중분류 로딩
DataTable dtMClass = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_CLSS.TABLE_NAME);
if (dtMClass == null || dtMClass.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0058); // 메뉴 중분류 마스터가 없습니다
}
pnlMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.VisibleUpDown = false;
btnMenuMClassFix.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClassFix.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
btnMenuMClassFix.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
btnMenuMClassFix.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClassFix.FontSizeUpDown = 10;
btnMenuMClassFix.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
if (dtMClass != null)
{
foreach (DataRow dr in dtMClass.Rows)
{
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) != "1") continue;
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
{
foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows)
{
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) == CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD))
{
drItemKeyCompnt = drCompnt;
}
}
}
Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD); // 서브점포코드+분류코드
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ); // 표시순번
// 중분류키값 = (서브점포+대분류)(20)+고정여부+중분류순번
cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD), 20)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ);
cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.ITEM_GRP_NM); // 명
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.BACKGR_COLOR)); // 백 컬러
cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); // 명 컬러
cMenuInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FONT_SIZE); // 명 폰트 사이즈
cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnMenuMClassFix.AddFuncButtonInfo(cMenuInfo);
}
}
btnMenuMClass.VisibleUpDown = true;
btnMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
btnMenuMClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
btnMenuMClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClass.UpDownSeqUsed = false;
btnMenuMClass.FontSizeUpDown = 10;
btnMenuMClass.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
if (dtMClass != null)
{
foreach (DataRow dr in dtMClass.Rows)
{
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) == "1") continue;
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
{
foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows)
{
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) == CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD))
{
drItemKeyCompnt = drCompnt;
}
}
}
Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD); // 서브점포코드+분류코드
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ); // 표시순번
// 중분류키값 = (서브점포+대분류)(20)+고정여부+중분류순번
cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD), 20)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ);
cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.ITEM_GRP_NM); // 명
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.BACKGR_COLOR)); // 백 컬러
cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); // 명 컬러
cMenuInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FONT_SIZE); // 명 폰트 사이즈
cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnMenuMClass.AddFuncButtonInfo(cMenuInfo);
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 즐겨찾기 로딩
DataTable dtMemuFix = m_cPluService.SearchMenuMaster(PosMst.MST_BOOKMK.TABLE_NAME);
if (dtMemuFix == null || dtMemuFix.Rows.Count <= 0)
{
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 즐겨찾기 마스터가 없습니다
}
int nMenuFixRows = 2, nMenuFixCols = 5;
SetMenuRowColCnt(CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY), ref nMenuFixRows, ref nMenuFixCols);
if (CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_USE_YN) != "1"
|| CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY) == 0) nMenuFixRows = 0;
btnMenuFix.Visible = (nMenuFixRows == 0) ? false : true;
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
FormManager.SetControlSize(pnlMenu, 143, 386, 568, 360);
pnlMenu.BackColor = CmUtil.GetColorToString("223223223");
FormManager.SetControlSize(btnMenuFix, 0, 0, 568, 72 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (72 * nMenuFixRows), 568, 360 - (72 * nMenuFixRows));
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
FormManager.SetControlSize(pnlMenu, 523, 141, 500, 356);
pnlMenu.BackColor = CmUtil.GetColorToString("223223223");
FormManager.SetControlSize(btnMenuFix, 0, 0, 500, 58 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 500, 355 - (58 * nMenuFixRows));
}
else
{
FormManager.SetControlSize(pnlMenu, 673, 141, 350, 356);
pnlMenu.BackColor = CmUtil.GetColorToString("223223223");
FormManager.SetControlSize(btnMenuFix, 0, 0, 350, 58 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 350, 355 - (58 * nMenuFixRows));
}
btnMenuFix.SetMenuButtonCount(nMenuFixRows, nMenuFixCols); // 메뉴버튼갯수 설정
btnMenuFix.BackColor = CmUtil.GetColorToString("223223223");
btnMenuFix.VisibleUpDown = false;
btnMenuFix.BackColorUpDown = Color.White;
btnMenuFix.ForeColorUpDown = Color.Black;
string sUseMenuImage = PosMstManager.GetPosOption(POS_OPTION.OPT105); // 메뉴 이미지 사용여부
btnMenuFix.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화
// 메뉴정보 설정
if (dtMemuFix != null)
{
foreach (DataRow dr in dtMemuFix.Rows)
{
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
cMenuInfo.sClassCode = "00"; // 대분류코드
cMenuInfo.sGroupCode = "0000"; // 중분류코드
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.SEQ); // 표시순번
// 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드
string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUBPRC_MENU_POPUP_YN), 1)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD), 10)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD);
cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드
cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 메뉴 명
if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT)); // 메뉴 가격
else
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT)); // 메뉴 가격
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.BACKGR_COLOR)); // 버튼 백 컬러
cMenuInfo.cForeColorName = Color.Black; // 메뉴명 컬러
cMenuInfo.cForeColorPrice = Color.Red; // 메뉴가격 컬러
cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈
cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈
cMenuInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.BTN_SIZE); // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
cMenuInfo.cMenuImage = "";
if (sUseMenuImage != "0")
{
//MoonSeokWoo 대표코드로 변경.
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 start
//기존
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
//변경
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD) + ".PNG";
if (File.Exists(cMenuInfo.cMenuImage) == false)
{
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
}
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 end
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG";
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG";
//if (File.Exists(cMenuInfo.cMenuImage) == false)
// cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim();
//cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim());
}
btnMenuFix.AddMenuButtonInfo(cMenuInfo);
}
}
btnMenuFix.DisplayMenuButton("00", "0000");
// 메뉴 기본 로딩
DataTable dtMemu = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY.TABLE_NAME);
if (dtMemu == null || dtMemu.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다
}
btnMenu.BackColor = CmUtil.GetColorToString("223223223");
btnMenu.VisibleUpDown = true;
btnMenu.BackColorUpDown = Color.White;
btnMenu.ForeColorUpDown = Color.Black;
btnMenu.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화
if (dtMemu != null)
{
//#20171018 메뉴명 폰트 색상 변경 기능 start
string sFontColor = "";
//#20171018 메뉴명 폰트 색상 변경 기능 end
// 메뉴정보 설정
foreach (DataRow dr in dtMemu.Rows)
{
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
cMenuInfo.sClassCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.L_CLSS_CD); // 대분류
cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.GRP_SEQ); // 중분류코드
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.SEQ); // 표시순번
// 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드
string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUBPRC_MENU_POPUP_YN), 1)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD), 10)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD);
cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드
cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 메뉴 명
if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT)); // 메뉴 가격
else
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT)); // 메뉴 가격
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.BACKGR_COLOR)); // 버튼 백 컬러
//#20171018 메뉴명 폰트 색상 변경 기능 start
//기존
//cMenuInfo.cForeColorName = Color.FromArgb(51, 51, 51); // 메뉴명 컬러
//변경
sFontColor = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.FONT_COLOR).Trim();
if (sFontColor != "")
{
cMenuInfo.cForeColorName = CmUtil.GetColorToString(sFontColor); // 메뉴명 컬러
}
else
{
cMenuInfo.cForeColorName = Color.FromArgb(51, 51, 51); // 메뉴명 컬러
}
//#20171018 메뉴명 폰트 색상 변경 기능 end
cMenuInfo.cForeColorPrice = Color.Red; //Color.FromArgb(102, 102, 102); // 메뉴가격 컬러
cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈
cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈
cMenuInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.BTN_SIZE); // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
cMenuInfo.cMenuImage = "";
if (sUseMenuImage != "0")
{
//MoonSeokWoo 대표코드로 변경.
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 start
//기존
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
//변경
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD) + ".PNG";
if (File.Exists(cMenuInfo.cMenuImage) == false)
{
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
}
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 end
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG";
//if (File.Exists(cMenuInfo.cMenuImage) == false)
// cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim();
//cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim());
}
btnMenu.AddMenuButtonInfo(cMenuInfo);
}
}
sFirstLCode = btnMenuLClass.DisplayFuncButton("00"); // 대분류 버튼 표시
btnMenuLClass_FuncClickHandler(btnMenuLClass, sFirstLCode); // 첫번째 대분류 선택 처리(메뉴 버튼 그리기)
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
/// <summary>
/// 메뉴 대분류 선택
/// </summary>
/// <param name="sender"></param>
/// <param name="sFuncCode"></param>
private void btnMenuLClass_FuncClickHandler(object sender, string sFuncCode)
{
string sHQ_KEY_DIV = "", sLClassCode = "", sMClassCode = "";
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
//충전, 판매 거래 경우
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
// 대분류 선택 효과
btnMenuLClass.SelectFuncButton(sFuncCode);
if (sFuncCode != "")
{
// 대분류키값 = 본부키구분(1) + 서브점포코드 + 대분류 코드
sHQ_KEY_DIV = sFuncCode.Substring(0, 1);
sLClassCode = sFuncCode.Substring(1);
}
// 중분류 위치 조정
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
if (sHQ_KEY_DIV != "1" || nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 142, 360); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(5, 2);
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 142, 72 * nMFixCnt); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(nMFixCnt, 2); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 0, (72 * nMFixCnt) + 1, 142, 360 - (72 * nMFixCnt));// 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(5 - nMFixCnt, 2); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(5 - nMFixCnt, 2);
}
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
if (sHQ_KEY_DIV != "1" || nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(2, 10);
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(2, 10 - nMFixCnt);
}
}
else
{
if (sHQ_KEY_DIV != "1" || nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(2, 10);
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(2, 10 - nMFixCnt);
}
}
// 복합매장 중분류 구성
DataRow drItemKeyCompnt = PosMstManager.GetMstScreen();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
{
foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows)
{
if (sLClassCode.StartsWith(CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD)))
{
drItemKeyCompnt = drCompnt;
}
}
pnlMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClassFix.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
btnMenuMClassFix.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
btnMenuMClassFix.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
btnMenuMClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
btnMenuMClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int nMenuFixRows = 2, nMenuFixCols = 5;
SetMenuRowColCnt(CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY), ref nMenuFixRows, ref nMenuFixCols);
if (CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_USE_YN) != "1") nMenuFixRows = 0;
btnMenuFix.Visible = (nMenuFixRows == 0) ? false : true;
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
FormManager.SetControlSize(btnMenuFix, 0, 0, 568, 72 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (72 * nMenuFixRows), 568, 360 - (72 * nMenuFixRows));
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
FormManager.SetControlSize(btnMenuFix, 0, 0, 500, 58 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 500, 355 - (58 * nMenuFixRows));
}
else
{
FormManager.SetControlSize(btnMenuFix, 0, 0, 350, 58 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 350, 355 - (58 * nMenuFixRows));
}
btnMenuFix.SetMenuButtonCount(nMenuFixRows, nMenuFixCols); // 메뉴버튼갯수 설정
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 중분류 표시
if (sHQ_KEY_DIV == "1" && CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2 > 0)
{
sMClassCode = btnMenuMClassFix.DisplayFuncButton(sLClassCode);
btnMenuMClass.DisplayFuncButton(sLClassCode);
}
else
{
btnMenuMClassFix.DisplayFuncButton(sLClassCode);
sMClassCode = btnMenuMClass.DisplayFuncButton(sLClassCode);
}
// 본부키구분(sHQ_KEY_DIV) 값에 따른 메뉴키 컨트롤 갯수 설정 필요
int nKeyLayout = 0;
if (sHQ_KEY_DIV == "1") // 본부키
nKeyLayout = CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.HQ_ITEMKEY_LAYOUT);
else
nKeyLayout = CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SHOP_ITEMKEY_LAYOUT);
// 메뉴버튼갯수 설정
int nRow = 0, nCol = 0;
SetMenuRowColCnt(nKeyLayout, ref nRow, ref nCol);
btnMenu.SetMenuButtonCount(nRow, nCol);
// 해당 중분류의 첫번째 메뉴키 그룹 표시
if (sHQ_KEY_DIV == "1" && CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2 > 0)
btnMenuMClass_FuncClickHandler(btnMenuMClassFix, sMClassCode);
else
btnMenuMClass_FuncClickHandler(btnMenuMClass, sMClassCode);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 메뉴 중분류 선택
/// </summary>
/// <param name="sender"></param>
/// <param name="sFuncCode"></param>
private void btnMenuMClass_FuncClickHandler(object sender, string sFuncCode)
{
string sLClassCode = "", sMClassCode = "";
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
//충전, 판매 거래 경우
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
if (sender != null && (CsmFunc)sender == btnMenuMClassFix)
{
btnMenuMClassFix.SelectFuncButton(sFuncCode); // 중분류 선택 효과
btnMenuMClass.SelectFuncButton("");
btnMenuMClass.Tag = "FIX";
}
if (sender != null && (CsmFunc)sender == btnMenuMClass)
{
btnMenuMClassFix.SelectFuncButton("");
btnMenuMClass.SelectFuncButton(sFuncCode); // 중분류 선택 효과
btnMenuMClass.Tag = "";
}
if (sFuncCode != "")
{
// 중분류키값 = 서브점포+대분류)(20)+고정여부+중분류순번
sLClassCode = sFuncCode.Substring(0, 20).Trim();
sMClassCode = sFuncCode.Substring(20);
}
// 메뉴 표시
btnMenu.DisplayMenuButton(sLClassCode, sMClassCode);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 메뉴 중분류 업다운 버튼 입력 처리
/// </summary>
/// <param name="sender"></param>
/// <param name="sUpDown"></param>
private void btnMenuMClass_UpDownClick(object sender, string sFuncCode)
{
string sLClassCode = "", sMClassCode = "";
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
//충전, 판매 거래 경우
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
if (btnMenuMClass.Tag == null || btnMenuMClass.Tag.ToString() == "")
{
btnMenuMClass.SelectFuncButton(sFuncCode); // 중분류 선택 효과
if (sFuncCode != "")
{
// 중분류키값 = 서브점포+대분류)(20)+고정여부+중분류순번
sLClassCode = sFuncCode.Substring(0, 20).Trim();
sMClassCode = sFuncCode.Substring(20);
}
// 메뉴 표시
btnMenu.DisplayMenuButton(sLClassCode, sMClassCode);
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 메뉴 선택
/// </summary>
/// <param name="sender"></param>
/// <param name="sMenuCode"></param>
private void btnMenu_MenuClickHandler(object sender, string sMenuCode)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if (sMenuCode == "") return;
string sInPutValue = txtInPut.Text;
// 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드
m_cTrnStatus.Sale.SubMenuPopUpYn = sMenuCode.Substring(0, 1);
m_cTrnStatus.Sale.SubStoreCode = sMenuCode.Substring(1, 10).Trim();
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) DisplayInit(true, false);
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:전체상품합산)
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2" && sInPutValue == "")
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
for (int i = 0; i < alTrPluItem.Count; i++)
{
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
if (cPluItem.SUB_SHOP_CD != sMenuCode.Substring(1, 10).Trim() || cPluItem.ITEM_PLU_CD != sMenuCode.Substring(11)) continue;
if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
if (cPluItem.SALE_QTY >= 99999) continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 start
if (cPluItem.OPEN_ITEM_DIV == "1") continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 end
// 수량 증가 처리
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
SaleItemGrid.SelectIndexItem(i);
m_cCustDisp.DisplaySaleItemList(true, true, i);
txtInPut.Text = "";
//// 부가메뉴 등록
//if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
// && m_cTrnStatus.Sale.SubMenuPopUpYn == "1")
//{
// // 부가메뉴 화면 표시
// if (LoadSubMenuDisplay(cPluItem.SUB_SHOP_CD, cPluItem.M_CLSS) == true)
// {
// //20160911 SBSEO 추가 부가 메뉴일때도 부모코드 입력!
// m_cTrnStatus.Sale.SubMenuMainCode = cPluItem.ITEM_PLU_CD;
// }
//}
//// 플레이버 등록
//if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
// && cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR_OWN)
//{
// if (cPluItem.FLAVOUR_QTY <= 2)
// {
// // 플레이버 화면 표시
// LoadFlavourMaster(m_cTrnStatus.Sale.SubStoreCode);
// }
//}
return;
}
}
}
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
bool bRet = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, sInPutValue, "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMenuCode.Substring(1));
if (bRet == true)
{
string sSUB_SHOP_CD = "", sM_CLSS = "";
if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
&& (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT
|| m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT))
{
if (SaleItemGrid.SelectedIndex >= 0)
{
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 상품 아이템
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[SaleItemGrid.SelectedIndex]; // 상품 정보
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL)
{
sSUB_SHOP_CD = cPluItem.SUB_SHOP_CD;
sM_CLSS = cPluItem.M_CLSS;
}
}
}
LoadCommonSubMenuDisplay(sSUB_SHOP_CD, sM_CLSS);
}
txtInPut.Text = "";
TxtInPutFocus();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 메뉴 컨트롤 배치 갯수 설정
/// </summary>
private void SetMenuRowColCnt(int nKeyLayout, ref int nRow, ref int nCol)
{
try
{
// 메뉴버튼갯수 설정
switch (nKeyLayout)
{
case 1:
nRow = 5; nCol = 5;
break;
case 2:
nRow = 5; nCol = 4;
break;
case 3:
nRow = 5; nCol = 3;
break;
case 4:
nRow = 4; nCol = 5;
break;
case 5:
nRow = 4; nCol = 4;
break;
case 6:
nRow = 4; nCol = 3;
break;
case 7:
nRow = 3; nCol = 5;
break;
case 8:
nRow = 3; nCol = 4;
break;
case 9:
nRow = 3; nCol = 3;
break;
case 10:
nRow = 2; nCol = 5;
break;
case 11:
nRow = 2; nCol = 4;
break;
case 12:
nRow = 2; nCol = 3;
break;
case 13:
nRow = 1; nCol = 5;
break;
case 14:
nRow = 1; nCol = 4;
break;
case 15:
nRow = 1; nCol = 3;
break;
default:
nRow = 5; nCol = 5;
break;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region
/// <summary>
/// 공통 부가메뉴 초기화 및 부가메뉴 마스터 로딩
/// </summary>
/// <returns></returns>
public bool LoadCommonSubMenuDisplay(string sSubStoreCode, string sItemCode)
{
try
{
// 3안 => 부가메뉴 항시 표시 일때 사용
if (m_cPosStatus.Base.DesignType != "3") return true;
DataTable dtSubGrpKey = null;
if (sSubStoreCode != "")
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 부가메뉴 그룹 로딩
dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, sItemCode);
if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0)
{
dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
}
}
btnSubMenuCommGrp.SetFuncButtonCount(6, 1); // 버튼갯수 설정
btnSubMenuCommGrp.VisibleUpDown = true;
btnSubMenuCommGrp.ClearFuncButtonInfo(); // 설정된 정보 초기화
btnSubMenuCommGrp.BackColorUpDown = Color.FromArgb(204, 210, 217);
btnSubMenuCommGrp.FontSizeUpDown = 12;
btnSubMenuCommGrp.SelectedBackColor = Color.FromArgb(95, 104, 116);
btnSubMenuCommGrp.SelectedForeColor = Color.FromArgb(255, 255, 255);
if (dtSubGrpKey != null && dtSubGrpKey.Rows.Count > 0)
{
foreach (DataRow dr in dtSubGrpKey.Rows)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU.DATA.SEQ_NO);
nSeq += (int)((nSeq - 1)/ 5);
cFuncInfo.sGroupCode = "00"; // 분류코드
cFuncInfo.nSeqNo = nSeq; // 표시순번
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SEL_TYPE), 1) + CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_CD); // 기능코드
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_NM); // 기능 명
cFuncInfo.cBackColor = Color.FromArgb(214, 219, 255); // 백 컬러
cFuncInfo.cForeColor = Color.Black; // 명 컬러
cFuncInfo.fFontSize = 12; // 명 폰트 사이즈
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSubMenuCommGrp.AddFuncButtonInfo(cFuncInfo);
}
}
DataTable dtSubDtl = null;
if (sSubStoreCode != "")
{
// 부가메뉴 그룹 상세 로딩
dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, sItemCode);
if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0)
{
dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
}
}
btnSubMenuCommDtl.SetFuncButtonCount(6, 1); // 버튼갯수 설정
btnSubMenuCommDtl.VisibleUpDown = true;
btnSubMenuCommDtl.ClearFuncButtonInfo(); // 설정된 정보 초기화
btnSubMenuCommDtl.BackColorUpDown = Color.FromArgb(224, 230, 235); // 백 컬러
btnSubMenuCommDtl.FontSizeUpDown = 12;
if (dtSubDtl != null && dtSubDtl.Rows.Count > 0)
{
foreach (DataRow dr in dtSubDtl.Rows)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
nSeq += (int)((nSeq - 1) / 5);
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_GRP_CD); // 분류코드
cFuncInfo.nSeqNo = nSeq; // CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
// 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "1")
{
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_CD), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM), 40)
+ CmUtil.RPadH("0", 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM);
}
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "2")
{
double nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.UP_CHARGE_AMT);
//if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT); // 메뉴 가격
//else
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT); // 메뉴 가격
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
+ CmUtil.RPadH(nMenuPrc.ToString(), 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
+ m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
// + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol
// + m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
}
else
{
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
+ CmUtil.RPadH("0", 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + "0";
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + "0";
}
cFuncInfo.cBackColor = Color.FromArgb(224, 230, 235); // 백 컬러
cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_COLOR)); // 명 컬러
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSubMenuCommDtl.AddFuncButtonInfo(cFuncInfo);
}
}
// 메뉴 표시
string sGrpCode = btnSubMenuCommGrp.DisplayFuncButton("00"); // 분류 버튼 표시
btnSubMenuCommGrp_FuncClickHandler(btnSubMenuCommGrp, sGrpCode); // 첫번째 분류 선택 처리(버튼 그리기)
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
private void btnSubMenuCommGrp_FuncClickHandler(object sender, string sFuncCode)
{
try
{
if (sFuncCode == "")
{
btnSubMenuCommGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과
btnSubMenuCommDtl.DisplayFuncButton(""); // 메뉴 표시
}
else
{
btnSubMenuCommGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과
m_sSubMenuGrpSelType = sFuncCode.Substring(0, 1);
// 메뉴 표시
btnSubMenuCommDtl.DisplayFuncButton(sFuncCode.Substring(1));
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 부가메뉴 초기화 및 부가메뉴 마스터 로딩
/// </summary>
/// <param name="sSubStoreCode"></param>
/// <param name="sItemCode">중분류코드</param>
/// <returns></returns>
public bool LoadSubMenuDisplay(string sSubStoreCode, string sItemCode)
{
try
{
// 3안 => 부가메뉴 항시 표시 일때 사용
if (m_cPosStatus.Base.DesignType == "3")
{
LoadCommonSubMenuDisplay(sSubStoreCode, sItemCode);
return false;
}
pnlSetMenu.Visible = false;
pnlFlavour.Visible = false;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 부가메뉴 그룹 로딩
DataTable dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, sItemCode);
if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0)
{
dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0018); // 부가메뉴 그룹 마스터가 없습니다
return false;
}
}
btnSubMenuGrp.SetFuncButtonCount(6, 1); // 버튼갯수 설정
btnSubMenuGrp.VisibleUpDown = true;
btnSubMenuGrp.ClearFuncButtonInfo(); // 설정된 정보 초기화
btnSubMenuGrp.BackColorUpDown = Color.FromArgb(204, 210, 217);
//btnSubMenuGrp.BackColor = Color.FromArgb(224, 230, 235);
btnSubMenuGrp.SelectedBackColor = Color.FromArgb(95, 104, 116);
btnSubMenuGrp.SelectedForeColor = Color.FromArgb(255, 255, 255);
foreach (DataRow dr in dtSubGrpKey.Rows)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU.DATA.SEQ_NO);
nSeq += (int)((nSeq - 1) / 5);
cFuncInfo.sGroupCode = "00"; // 분류코드
cFuncInfo.nSeqNo = nSeq; // 표시순번
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SEL_TYPE), 1) + CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_CD); // 기능코드
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_NM); // 기능 명
cFuncInfo.cBackColor = Color.FromArgb(214, 219, 255); // 백 컬러
cFuncInfo.cForeColor = Color.Black; // 명 컬러
cFuncInfo.fFontSize = 12; // 명 폰트 사이즈
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSubMenuGrp.AddFuncButtonInfo(cFuncInfo);
}
// 부가메뉴 그룹 상세 로딩
DataTable dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, sItemCode);
if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0)
{
dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0019); // 부가메뉴 그룹 상세 마스터가 없습니다
return false;
}
}
btnSubMenuDtl.SetFuncButtonCount(6, 4); // 버튼갯수 설정
btnSubMenuDtl.VisibleUpDown = true;
btnSubMenuDtl.ClearFuncButtonInfo(); // 설정된 정보 초기화
btnSubMenuDtl.BackColorUpDown = Color.FromArgb(224, 230, 235); // 백 컬러
//btnSubMenuDtl.BackColor = Color.FromArgb(224, 230, 235);
foreach (DataRow dr in dtSubDtl.Rows)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
nSeq += (int)((nSeq - 1) / 23);
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_GRP_CD); // 분류코드
cFuncInfo.nSeqNo = nSeq; // CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
// 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "1")
{
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_CD), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM), 40)
+ CmUtil.RPadH("0", 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM);
}
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "2")
{
double nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.UP_CHARGE_AMT);
//if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT); // 메뉴 가격
//else
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT); // 메뉴 가격
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
+ CmUtil.RPadH(nMenuPrc.ToString(), 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
+ m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
// + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol
// + m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
}
else
{
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
+ CmUtil.RPadH("0", 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + "0";
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + "0";
}
cFuncInfo.cBackColor = Color.FromArgb(224, 230, 235); // 백 컬러
cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_COLOR)); // 명 컬러
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSubMenuDtl.AddFuncButtonInfo(cFuncInfo);
}
string sGrpCode = btnSubMenuGrp.DisplayFuncButton("00"); // 분류 버튼 표시
btnSubMenuGrp_FuncClickHandler(btnSubMenuGrp, sGrpCode); // 첫번째 분류 선택 처리(버튼 그리기)
pnlSubMenu.Visible = true;
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
/// <summary>
/// 부가메뉴 그룹 선택 이벤트 처리
/// </summary>
/// <param name="sender"></param>
/// <param name="sFuncCode"></param>
private void btnSubMenuGrp_FuncClickHandler(object sender, string sFuncCode)
{
try
{
btnSubMenuGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과
if (sFuncCode == "")
{
btnSubMenuDtl.DisplayFuncButton("");
return;
}
m_sSubMenuGrpSelType = sFuncCode.Substring(0, 1);
// 메뉴 표시
btnSubMenuDtl.DisplayFuncButton(sFuncCode.Substring(1));
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 부가메뉴 선택 이벤트 처리
/// </summary>
/// <param name="sender"></param>
/// <param name="sFuncCode"></param>
private void btnSubMenuDtl_FuncClickHandler(object sender, string sFuncCode)
{
try
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) return;
if (sFuncCode == "") return;
// 메뉴 키 값 = 부가메뉴구분(1) + 서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
string sMENU_KEY_DIV = CmUtil.MidH(sFuncCode, 0, 1).Trim(); // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
string sMENU_KEY_CD = CmUtil.MidH(sFuncCode, 1, 30).Trim(); // 서버점포코드(10) + 메뉴코드(20)
string sMENU_KEY_NM = CmUtil.MidH(sFuncCode, 31, 40).Trim(); // 부가메뉴명
string sMENU_PRICE = CmUtil.MidH(sFuncCode, 71, 20).Trim(); // 부가메뉴단가
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
m_cTrnStatus.Sale.SubMenuKeyDiv = sMENU_KEY_DIV;
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
// 상품 아이템
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)]; // 상품 정보
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다
return;
}
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다
return;
}
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL && cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.SET_DETL
&& cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.OPT_MENU)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0026); // 부가메뉴를 등록 할 수 없는 상품입니다
return;
}
sMENU_KEY_CD = CmUtil.RPadH(cPluItem.SUB_SHOP_CD, 10) + CmUtil.MidH(sFuncCode, 11, 20).Trim();
m_cTrnStatus.Sale.SubMenuSelectPos = CmUtil.IntParse(sSelectRow);
m_cTrnStatus.Sale.SubMenuMainCode = cPluItem.ITEM_PLU_CD;
m_cTrnStatus.Sale.SubMenuUpSalePrc = m_cDataService.DoubleParse(sMENU_PRICE);
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL)
{
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:전체상품합산)
bool bSubMenuQtyAdd = false;
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2" && txtInPut.Text == "")
{
for (int i = CmUtil.IntParse(sSelectRow) + 1; i < alPluItem.Count; i++)
{
Column.TR_PLU.DATA cSubPluItem = (Column.TR_PLU.DATA)alPluItem[i];
if (cSubPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.OPT_MENU) break;
if (cSubPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cSubPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
if (cSubPluItem.SUBPRC_MENU_KEY_DIV != sMENU_KEY_DIV) continue;
if (cSubPluItem.SUB_SHOP_CD != sMENU_KEY_CD.Substring(0, 10).Trim() || cSubPluItem.ITEM_PLU_CD != sMENU_KEY_CD.Substring(10)) continue;
if (cSubPluItem.ITEM_DC_AMT > 0 || cSubPluItem.SUM_DC_AMT > 0 || cSubPluItem.SET_DC_AMT > 0 || cSubPluItem.EXCEP_DC_AMT > 0) continue;
if (cSubPluItem.SALE_QTY >= 99999) continue;
// 수량 증가 처리
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
SaleItemGrid.SelectIndexItem(i);
bSubMenuQtyAdd = true;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// 부가메뉴 추가 등록
if (bSubMenuQtyAdd == false)
{
if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
{
m_cPluService.SetSubMenuMemoItem(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
}
else
{
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.SUBMENU + sMENU_KEY_CD);
}
}
}
else
{
// 부가메뉴 변경 등록
///////////////////////////////////////////////////////////////////////////////////////////////////////////
if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
{
m_cPluService.SetSubMenuMemoItemChange(sSelectRow, sMENU_KEY_CD, sMENU_KEY_NM);
}
else
{
m_cPluService.SetSubMenuItemChange(sSelectRow, sMENU_KEY_CD, sMENU_KEY_DIV);
}
}
DisplayItem(1, false); // 0:LastItem, 1:OldFocus
SaleItemGrid.SelectIndexItem(CmUtil.IntParse(sSelectRow));
}
else
{
m_cTrnStatus.Sale.SubMenuUpSalePrc = m_cDataService.DoubleParse(sMENU_PRICE);
if (sMENU_KEY_DIV == "1") // (0:부가상품, 1:부가메모)
{
m_cPluService.SetSubMenuMemoItem(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
DisplayItem(0, false);
}
else
{
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.SUBMENU + sMENU_KEY_CD);
}
//pnlSubMenu.Visible = false;
}
if (PosMstManager.GetPosOption(POS_OPTION.OPT032) == "1" || m_sSubMenuGrpSelType == "1") btnSubMenuExit_Click(null, null);
txtInPut.Text = "";
TxtInPutFocus();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 부가메뉴 등록 완료
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSubMenuExit_Click(object sender, EventArgs e)
{
try
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
{
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_SET;
m_cSaleMainProc.RegisterPluItem("", "", "");
if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.SALE_DOING_SET_OPT) pnlSubMenu.Visible = false;
}
else
{
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
m_cTrnStatus.Sale.SubMenuPopUpYn = "0";
pnlSubMenu.Visible = false;
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///// <summary>
///// 부가메뉴 선택 이벤트 처리
///// </summary>
///// <param name="sender"></param>
///// <param name="sFuncCode"></param>
//private void btnSubMenuDtl_FuncClickHandler(object sender, string sFuncCode)
//{
// try
// {
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) return;
// if (sFuncCode == "") return;
// // 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40)
// string sMENU_KEY_DIV = sFuncCode.Substring(0, 1).Trim(); // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
// m_cTrnStatus.Sale.SubStoreCode = sFuncCode.Substring(1, 10).Trim(); // 서브점포코드
// string sMENU_KEY_CD = sFuncCode.Substring(1, 30).Trim(); // 서버점포코드(10) + 메뉴코드(20)
// string sMENU_KEY_NM = sFuncCode.Substring(31).Trim(); // 서브메모명
// // 그리드의 현재 선택 행번호
// int nSelectRow = SaleItemGrid.SelectedIndex;
// string sSelectRow = "";
// if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
// {
// Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
// GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// // No
// CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
// sSelectRow = cGridExRowData.GridItemValue;
// }
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_BTN_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
// {
// // 상품 아이템
// ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
// for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--)
// {
// // 상품 정보
// Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[i];
// if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
// {
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0026); // 부가메뉴를 등록 할 수 없는 상품입니다
// return;
// }
// if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL && cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.SET_DETL) continue;
// if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL)
// {
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다
// return;
// }
// if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING)
// {
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다
// return;
// }
// string sOldSaleFlow = m_cPosStatus.Sale.SaleFlow;
// m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_BTN_OPT;
// m_cTrnStatus.Sale.SubMenuSelectPos = i;
// if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
// {
// m_cPluService.SetSubMemo(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
// DisplayItem(1, false);
// }
// else
// {
// // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
// m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, i.ToString(), PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMENU_KEY_CD);
// SaleItemGrid.SelectIndexItem((int)m_cTrnStatus.Sale.SubMenuSelectPos + 1);
// }
// m_cPosStatus.Sale.SaleFlow = sOldSaleFlow;
// break;
// }
// }
// else
// {
// if (sMENU_KEY_DIV == "1") // (0:부가상품, 1:부가메모)
// {
// m_cPluService.SetSubMemo(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
// DisplayItem(0, false);
// }
// else
// {
// // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
// m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMENU_KEY_CD);
// }
// //pnlSubMenu.Visible = false;
// }
// if (PosMstManager.GetPosOption(POS_OPTION.OPT032) == "1") btnSubMenuExit_Click(null, null);
// txtInPut.Text = "";
// }
// catch (Exception ex)
// {
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
//}
///// <summary>
///// 부가메뉴 등록 완료
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
//private void btnSubMenuExit_Click(object sender, EventArgs e)
//{
// try
// {
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
// {
// m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_SET;
// m_cSaleMainProc.RegisterPluItem("", "", "");
// if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.SALE_DOING_SET_OPT) pnlSubMenu.Visible = false;
// }
// else
// {
// m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
// m_cTrnStatus.Sale.SubMenuPopUpYn = "0";
// pnlSubMenu.Visible = false;
// }
// }
// catch (Exception ex)
// {
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
//}
#endregion
#region
/// <summary>
/// 세트메뉴 상품 화면 표시
/// </summary>
/// <param name="sGroupCode"></param>
/// <param name="sGroupName"></param>
/// <returns></returns>
public bool LoadSetMenuDisplay(string sGroupCode, string sGroupName)
{
return LoadSetMenuDisplay(sGroupCode, sGroupName, false);
}
/// <summary>
/// 세트메뉴 상품 화면 표시
/// </summary>
/// <param name="sGroupCode"></param>
/// <param name="sGroupName"></param>
/// <param name="bSellGift"></param>
/// <returns></returns>
public bool LoadSetMenuDisplay(string sGroupCode, string sGroupName, bool bSellGift)
{
bool bMenuExist = false;
try
{
pnlSubMenu.Visible = false;
pnlFlavour.Visible = false;
// 세트 그룹 상세 로딩
btnSetMenu.SetFuncButtonCount(6, 4); // 버튼갯수 설정
btnSetMenu.VisibleUpDown = true;
btnSetMenu.ClearFuncButtonInfo(); // 설정된 정보 초기화
// 선불카드 판매 - 중국 (별도 입력 처리)
if (PosMstManager.GetPosOption(POS_OPTION.OPT046) == "1")
{
btnSetMenu.DisplayFuncButton(sGroupCode); // 메뉴 버튼 표시
pnlSetMenu.Visible = true;
return true;
}
else
{
if (this.m_cSaleMainProc.m_dtSetMenuDetail == null) return false;
}
if (bSellGift == true)
{
int nSeq = 1;
foreach (DataRow dr in this.m_cSaleMainProc.m_dtSetMenuDetail.Rows)
{
lblSetMenuTitle.Text = sGroupName;
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cFuncInfo.sGroupCode = sGroupCode; // 분류코드
cFuncInfo.nSeqNo = nSeq; // 표시순번
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SUB_STOR_CD), 10)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD); // 코드
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 명
cFuncInfo.fFontSize = 10;
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSetMenu.AddFuncButtonInfo(cFuncInfo);
nSeq++;
}
}
else
{
foreach (DataRow dr in this.m_cSaleMainProc.m_dtSetMenuDetail.Rows)
{
lblSetMenuTitle.Text = sGroupName;
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_GRP_CD) == sGroupCode)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cFuncInfo.sGroupCode = sGroupCode; // 분류코드
cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_SET_GRP.DATA.SEQ_NO); // 표시순번
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SUB_STOR_CD), 10)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_CD), 20)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC); // 코드+업차지금액
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
+ m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC));
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
// + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol
// + m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC));
cFuncInfo.cBackColor = Color.LightGray; // 백 컬러
cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.FONT_COLOR)); // 명 컬러
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_SET_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSetMenu.AddFuncButtonInfo(cFuncInfo);
bMenuExist = true;
}
}
if (bMenuExist == false) return false;
}
btnSetMenu.DisplayFuncButton(sGroupCode); // 메뉴 버튼 표시
pnlSetMenu.Visible = true;
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
public int GetSelectedIndexOnSaleItemGrid()
{
return SaleItemGrid.SelectedIndex;
}
/// <summary>
/// 세트메뉴 선택 이벤트 처리
/// </summary>
/// <param name="sender"></param>
/// <param name="sFuncCode"></param>
private void btnSetMenu_FuncClickHandler(object sender, string sFuncCode)
{
try
{
if (sFuncCode == "") return;
// 메뉴 키 값 = 서버점포코드(10) + 메뉴코드
m_cTrnStatus.Sale.SubStoreCode = sFuncCode.Substring(0, 10).Trim();
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.GIFT || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.PREPAID)
{
//상품권, 선불 카드 판매면...
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sFuncCode);
}
else
{
pnlSetMenu.Visible = false;
string sMenuCode = sFuncCode.Substring(0, 30).Trim();
m_cTrnStatus.Sale.SetPluUpSalePrc = m_cDataService.DoubleParse(sFuncCode.Substring(30).Trim());
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
// 상품 아이템
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
// 상품 정보
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)];
m_cPluService.SetSetMenuItemChange(sSelectRow, sMenuCode.Substring(10), "", m_cTrnStatus.Sale.SetPluUpSalePrc.ToString());
DisplayItem(1, false); // 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
}
else
{
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMenuCode);
}
}
txtInPut.Text = "";
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region
/// <summary>
/// 플레이버 초기화 및 플레이버 마스터 로딩
/// </summary>
/// <returns></returns>
public bool LoadFlavourMaster(string sSubStoreCode)
{
bool bMenuExist = false;
int nMaxSeqNo = 0;
try
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT028) == "0") return false;
if (sSubStoreCode == "")
{
// 플레이버 화면 숨기기
pnlFlavour.Visible = false;
return true;
}
// 플레이버 로딩
DataTable dtMemu = m_cPluService.SearchMenuMaster(PosMst.MST_FLAVOUR.TABLE_NAME, sSubStoreCode, "");
if (dtMemu == null || dtMemu.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0029); // 플레이버 마스터가 없습니다
return false;
}
btnFlavourMenu.Location = new Point(1, 3);
btnFlavourMenu.Size = new Size(pnlFlavour.Width - 2, pnlFlavour.Height - 4);
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
btnFlavourMenu.SetMenuButtonCount(6, 6); // 메뉴버튼갯수 설정
}
else
{
btnFlavourMenu.SetMenuButtonCount(4, 9); // 메뉴버튼갯수 설정
}
btnFlavourMenu.VisibleUpDown = true;
btnFlavourMenu.BackColor = CmUtil.GetColorToString("223223223");
btnFlavourMenu.BackColorUpDown = Color.White;
btnFlavourMenu.ForeColorUpDown = Color.Black;
btnFlavourMenu.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화
// 메뉴정보 설정
foreach (DataRow dr in dtMemu.Rows)
{
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
cMenuInfo.sClassCode = "00"; // 대분류
cMenuInfo.sGroupCode = "0000"; // 중분류코드
int nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FLAVOUR.DATA.ITEM_LOC);
nSeqNo = nSeqNo + (int)(nSeqNo / 35);
cMenuInfo.nSeqNo = nSeqNo; // 표시순번
// 메뉴 키 값 = 서브점포코드(10) + 메뉴코드
string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.SUB_STOR_CD), 10)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.ITEM_CD);
cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드
cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.SHTCUT_ITEMNM); // 메뉴 명
cMenuInfo.sMenuPrice = ""; // 메뉴 가격
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.BTN_COLOR1)); // 버튼 백 컬러
cMenuInfo.cForeColorName = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.FONT_COLOR)); // 메뉴명 컬러
cMenuInfo.cForeColorPrice = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.FONT_COLOR)); // 메뉴가격 컬러
cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_FLAVOUR.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈
cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_FLAVOUR.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈
cMenuInfo.nButtonSize = 0; // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
if (PosMstManager.GetPosOption(POS_OPTION.OPT107) == "0")
cMenuInfo.cMenuImage = "";
else
{
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.ITEM_CD) + ".PNG";
//if (File.Exists(cMenuInfo.cMenuImage) == false)
// cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim();
//cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG));
}
btnFlavourMenu.AddMenuButtonInfo(cMenuInfo);
bMenuExist = true;
if ( nMaxSeqNo < nSeqNo) nMaxSeqNo = nSeqNo;
}
if (bMenuExist == false) return false;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 닫기 버튼 생성
{
for (int i = 0; i < nMaxSeqNo; i += 35)
{
// 닫기 버튼 설정
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
cMenuInfo.nSeqNo = i + 35; // 표시순번
cMenuInfo.sClassCode = "00"; // 대분류
cMenuInfo.sGroupCode = "0000"; // 중분류코드
cMenuInfo.sMenuCode = PosKey.MENU_KEY.ESC_PREVIOUS; // 메뉴 연결코드
cMenuInfo.sMenuName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0040); // 메뉴 명
cMenuInfo.sMenuPrice = ""; // 메뉴 가격
cMenuInfo.cBackColor = Color.White; // 버튼 백 컬러
cMenuInfo.cForeColorName = Color.Black; // 메뉴명 컬러
cMenuInfo.cForeColorPrice = Color.Black; // 메뉴가격 컬러
cMenuInfo.fFontSizeName = 12; // 메뉴명 폰트 사이즈
cMenuInfo.fFontSizePrice = 12; // 메뉴 가격 폰트 사이즈
cMenuInfo.nButtonSize = 0; // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
cMenuInfo.cMenuImage = "";
btnFlavourMenu.AddMenuButtonInfo(cMenuInfo);
}
}
btnFlavourMenu.DisplayMenuButton("00", "0000");
pnlFlavour.Visible = true;
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
/// <summary>
/// 플레이버 선택
/// </summary>
/// <param name="sender"></param>
/// <param name="sMenuCode"></param>
private void btnFlavour_MenuClickHandler(object sender, string sMenuCode)
{
try
{
if (sMenuCode == "" || sMenuCode == PosKey.MENU_KEY.ESC_PREVIOUS)
{
pnlFlavour.Visible = false;
return;
}
txtInPut.Text = "";
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
if (sSelectRow == "") return;
// 상품 아이템
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--)
{
// 상품 정보
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[i];
if ((cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR)) continue;
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0030); // 플레이버를 등록 할 수 없는 상품 입니다
return;
}
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1")
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다
return;
}
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다
return;
}
// 플레이버 등록 가능 상품만 등록
if ((cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR_OWN))
{
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄, 3:플레이버)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, i.ToString(), PosConst.SALE_PLU_INPUT_TYPE.FLAVOUR + sMenuCode);
SaleItemGrid.SelectIndexItem(i + 1);
SaleItemGrid.Refresh();
if (PosMstManager.GetPosOption(POS_OPTION.OPT028) == "2") pnlFlavour.Visible = false;
}
else
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0030); // 플레이버를 등록 할 수 없는 상품 입니다
}
break;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region
/// <summary>
/// 기능키 컨트롤 초기화 및 기능키 마스터 로딩
/// </summary>
/// <returns>성공/실패</returns>
public bool LoadFuncMaster()
{
try
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 판매기본 기능키 로딩
DataTable dtFuncKey = m_cPluService.SearchMenuMaster(PosMst.MST_FUNC_KEY_GRP.TABLE_NAME);
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 기능키 그룹 마스터가 없습니다
return false;
}
// 좌측 기능키 초기화
btnFuncSale.SetFuncButtonCount(2, 4); // 버튼갯수 설정
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
btnFuncSale.BackColor = CmUtil.GetColorToString("116116116");
btnFuncSale.BackColorUpDown = Color.FromArgb(109, 110, 113);
btnFuncSale.ForeColorUpDown = Color.White;
}
else
{
btnFuncSale.BackColor = CmUtil.GetColorToString("202207213");
btnFuncSale.BackColorUpDown = CmUtil.GetColorToString("225230236");
}
if (m_cPosStatus.ScnMst.FuncScrollUseYn == "1")
{
btnFuncSale.VisibleUpDown = true;
btnFuncSale.SetUpDownPosition(1, 4);
}
else
{
btnFuncSale.VisibleUpDown = false;
}
btnFuncSale.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
// 우측 기능키 초기화
btnFuncItem.SetFuncButtonCount(3, 4); // 버튼갯수 설정
btnFuncItem.BackColor = CmUtil.GetColorToString("202207213");
btnFuncItem.BackColorUpDown = CmUtil.GetColorToString("225230236");
if (m_cPosStatus.ScnMst.FuncScrollUseYn == "1")
{
btnFuncItem.VisibleUpDown = true;
btnFuncItem.SetUpDownPosition(1, 4);
}
else
{
btnFuncItem.VisibleUpDown = false;
}
btnFuncItem.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
foreach (DataRow dr in dtFuncKey.Rows)
{
if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT)
{
// 후불
if (CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.SALE_EXIT) continue;
}
else
{
// 선불
if (CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_PRINT
|| CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_COMPLETED
|| CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.EDIT_CUST_CNT
|| CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_EXIT) continue;
}
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_GRP_ID); // 분류코드
cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번
cFuncInfo.sFuncCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능코드
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM).Replace("\n", PosConst.CRLF).Replace("\\n", PosConst.CRLF); // 기능 명
string sColor = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR);
//2016-10-29 기능키 배경 색상이 없을 때 기본 값으로 하드 코딩 - 요청사항!
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
cFuncInfo.cBackColor = CmUtil.GetColorToString(sColor.Length == 9 ? sColor : "109110113");
cFuncInfo.cForeColor = Color.White;
}
else
{
cFuncInfo.cBackColor = CmUtil.GetColorToString(sColor.Length == 9 ? sColor : "225230236");
cFuncInfo.cForeColor = Color.Black;
}
//cFuncInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR)); // 백 컬러
//if (m_cPosStatus.Base.DesignType == "1") // 1안
// cFuncInfo.cForeColor = Color.White; // 명 컬러
//else
// cFuncInfo.cForeColor = Color.Black; // 명 컬러
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
cFuncInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_SIZE); // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnFuncSale.AddFuncButtonInfo(cFuncInfo);
btnFuncItem.AddFuncButtonInfo(cFuncInfo);
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
#endregion
#region
/// <summary>
/// 판매화면 초기화
/// </summary>
/// <param name="bChgSaleDoing"></param>
/// <param name="bChgSaleFlow"></param>
public void DisplayInit(bool bChgSaleDoing, bool bChgSaleFlow)
{
try
{
//if(bChgSaleDoing == true && bChgSaleFlow == true)
//{
// SubPriorReadingVarClear(true);
//}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if (bChgSaleDoing == true)
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 판매 개시
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
pnlMotSale.Visible = false;
pnlSubMenu.Visible = false;
// 받은금액, 거스름 초기화
m_cPosStatus.Sale.PayRecvedAmt = 0;
m_cPosStatus.Sale.ChangeCashAmt = 0;
// 받을금액 텍스트 초기화
//lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
// 그리드 초기화
SaleItemGrid.RemoveAll();
// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
DisplayItem(0, false);
// 고객화면 상품정보 클리어
m_cCustDisp.ClearSaleItemList();
}
if (bChgSaleFlow == true)
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
{
pnlSetMenu.Visible = false;
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.A_BEFORE_MENU); // 기능 버튼 표시
}
else
{
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.BC_BEFORE_MENU_L); // 기능 버튼 표시
btnFuncItem.DisplayFuncButton(PosKey.MENU_KEY.BC_BEFORE_MENU_R); // 기능 버튼 표시
}
WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", "");
// 공통부가메뉴 버튼초기화
LoadCommonSubMenuDisplay(m_cPosStatus.Base.StoreNo, PosConst.SUB_MEMO_L_CLSS_COMMON);
}
else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
// 상품등록 중
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.A_AFTER_MENU); // 기능 버튼 표시
}
else
{
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.BC_AFTER_MENU_L); // 기능 버튼 표시
btnFuncItem.DisplayFuncButton(PosKey.MENU_KEY.BC_AFTER_MENU_R); // 기능 버튼 표시
}
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", "");
}
}
txtInPut.Text = "";
txtInPut.Select();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 상품등록 정보 화면 표시
/// </summary>
/// <param name="nFocus">0:LastItem, 1:OldFocus</param>
public void DisplayItem(int nFocus, bool bDispChange)
{
try
{
this.SuspendLayout();
if (bDispChange == true)
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 결제 완료
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region
//시작 MOT 사용 유무!
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "1")
{
pnlMotSale.Visible = true;
}
//lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
{
// 받은금액 표시
txtRecvedAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.PayRecvedAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
// 순매출액 표시 자리에 거스름 표시
txtNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
else
{
// 받은금액 표시
txtRecvedAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.PayRecvedAmt);
// 순매출액 표시 자리에 거스름 표시
txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt);
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
pnlBuyHist.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
// 그리드 초기화
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
//기존
SaleItemGrid.RemoveAll();
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
// 고객화면 거스름 표시
m_cCustDisp.SaleCompleteDisplay(m_cPosStatus.Sale.ChangeCashAmt);
// 캠페인 마스터 로딩
m_cCampaingMain.LoadCampaignCondition(new string[] { });
#endregion
return;
}
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
// 그리드의 현재 선택 행번호
int nOldSelectRow = SaleItemGrid.SelectedIndex;
int[] arGridItemWidth;
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
arGridItemWidth = new int[] { 40, 10, 175, 90, 60, 90, 100, 50, 50 };
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
arGridItemWidth = new int[] { 30, 10, 115, 65, 50, 70, 100, 40, 40 };
}
else
{
arGridItemWidth = new int[] { 30, 10, 115, 63, 40, 67, 75, 40, 30 };
//arGridItemWidth = new int[] { 30, 10, 80, 70, 50, 70, 90, 40, 30 };
}
int[] arFontSize = new int[] { 10, 10, 10, 11, 11, 11, 11, 10, 14 };
if (SaleItemGrid.GridDataItems.Count > alPluItem.Count)
{
while (SaleItemGrid.GridDataItems.Count > alPluItem.Count)
{
SaleItemGrid.RemoveAt(SaleItemGrid.GridDataItems.Count - 1);
}
}
// SaleItemGrid.RemoveAll();
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; //그리드 데이터
long nItemNo = 0; // 번호
for (int iRow = 0; iRow < alPluItem.Count; iRow++)
{
Column.TR_PLU.DATA cItem = (Column.TR_PLU.DATA)alPluItem[iRow];
bool bCancelDiv = false;
if (cItem.CANCEL_DIV == "1" || cItem.CANCEL_DIV_MAIN == "1") bCancelDiv = true;
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 Start
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS) && cItem.GRP_SEQ != string.Empty)
{
m_sPluItemCode = cItem.GRP_SEQ; // "999990001 01"
}
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 End
// 상품메모 처리
string itemName = cItem.ITEM_NAME;
string itemMemo = (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_1) ? "" : cItem.ITEM_MEMO_1)
+ (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_2) ? "" : " " + cItem.ITEM_MEMO_2)
+ (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_3) ? "" : " " + cItem.ITEM_MEMO_3);
if (cItem.FIRE_KEY) itemMemo = "FIRE KEY";
if (string.IsNullOrWhiteSpace(itemMemo) == false)
{
#region
using (Control ctrl = new Control())
{
using (Font f = new Font(m_cPosStatus.Base.FONT, arFontSize[1], FontStyle.Regular))
{
string temp = string.Empty;
string name = string.Empty;
temp = string.Empty;
name = itemName.Replace("\r\n", " ").Replace("\r", " ").Replace("\n", " ");
for (var i = 0; i < name.Length; i++)
{
temp = name.Substring(0, i + 1);
SizeF sizeF = ctrl.CreateGraphics().MeasureString(temp, f);
if (sizeF.Width > arGridItemWidth[2])
{
itemName = name.Substring(0, i - 1);
break;
}
}
temp = string.Empty;
name = itemMemo.Replace("\r\n", " ").Replace("\r", " ").Replace("\n", " ");
for (var i = 0; i < name.Length; i++)
{
temp = name.Substring(0, i + 1);
SizeF sizeF = ctrl.CreateGraphics().MeasureString(temp, f);
if (sizeF.Width > arGridItemWidth[2])
{
itemMemo = name.Substring(0, i - 1);
break;
}
}
}
}
#endregion
itemName += "\n" + itemMemo;
}
string sEtcName = "";
//1. 로스거래인지 체크
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL && m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
{
sEtcName = cItem.NONSALES_RSN_NM;
}
else
{
if (cItem.CPI_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0829);
if (cItem.SET_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0830) + cItem.SET_DC_GROUP_CD;
if (cItem.ITEM_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018);
}
if (SaleItemGrid.GetItemCount() > iRow) // 이미 그리드에 추가된 상품
{
#region
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[iRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
if (cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
{
nItemNo++;
cGridExRowData.GridItemText = (nItemNo).ToString();
}
else
{
cGridExRowData.GridItemText = "";
}
cGridExRowData.GridItemValue = (iRow).ToString();
cGridExRowData.StrikeThrough = bCancelDiv;
// 과세구분
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[1];
cGridExRowData.GridItemText = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
cGridExRowData.StrikeThrough = bCancelDiv;
cGridExRowData.GridItemValue = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
// 상품명
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[2];
cGridExRowData.GridItemText = itemName; //cItem.ITEM_NAME;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridExRowData.GridItemValue = cItem.ITEM_PLU_CD;
//2018.01.23;미주의 경우 NoTax 상품은 상품명 빨간색으로 표시;girak.kim;Start
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS))
{
if (cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) cGridExRowData.ForeColor = Color.Red;
else cGridExRowData.ForeColor = Color.Black;
}
//2018.01.23;미주의 경우 NoTax 상품은 상품명 빨간색으로 표시;girak.kim;End
// 단가
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[3];
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.SALE_PRC);
cGridExRowData.GridItemValue = cItem.SALE_PRC.ToString();
cGridExRowData.StrikeThrough = bCancelDiv;
// 수량
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[4];
cGridExRowData.GridItemText = cItem.SALE_QTY.ToString();
cGridExRowData.GridItemValue = cItem.SALE_QTY.ToString();
cGridExRowData.StrikeThrough = bCancelDiv;
cGridExRowData.ForeColor = Color.Black;
// 할인
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[5];
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT);
cGridExRowData.GridItemValue = cItem.TOT_DC_AMT.ToString();
cGridExRowData.StrikeThrough = bCancelDiv;
// 금액
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[6];
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT);
cGridExRowData.GridItemValue = cItem.BILL_AMT.ToString();
cGridExRowData.StrikeThrough = bCancelDiv;
// 비고
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[7];
cGridExRowData.GridItemText = sEtcName;
cGridExRowData.GridItemValue = "";
cGridExRowData.StrikeThrough = bCancelDiv;
#endregion
}
else//상품 클릭하여 그리드에 추가 되는 상품
{
#region
// Row Item
GridDataItem cGridDataItem = new GridDataItem();
if (iRow % 2 == 0)
{
cGridDataItem.GridItemBackColor = Color.FromArgb(250, 250, 250);
}
else
{
cGridDataItem.GridItemBackColor = Color.FromArgb(255, 255, 255);
}
cGridDataItem.GridItemBackColorClick = Color.FromArgb(219, 253, 252);
cGridDataItem.GridItemBackImage = null;
cGridDataItem.GridItemBackImageClick = null;
cGridDataItem.GridItemData = new System.Collections.Hashtable();
// No
CsmGridExRowData cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[0];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Center;
cGridExRowData.VStringAlignment = StringAlignment.Center;
if (cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
{
nItemNo++;
cGridExRowData.GridItemText = (nItemNo).ToString();
}
else
{
cGridExRowData.GridItemText = "";
}
cGridExRowData.GridItemValue = (iRow).ToString();
cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[0];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 과세구분
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[1];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Near;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
cGridExRowData.GridItemValue = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
cGridExRowData.ForeColor = Color.Red;
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[1];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 상품명
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[2];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Near;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = itemName; //cItem.ITEM_NAME;
cGridExRowData.GridItemValue = cItem.ITEM_PLU_CD;
cGridExRowData.ForeColor = Color.FromArgb(3, 3, 3);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[2];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 단가
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[3];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Far;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.SALE_PRC);
cGridExRowData.GridItemValue = cItem.SALE_PRC.ToString();
cGridExRowData.ForeColor = Color.FromArgb(100, 100, 100);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[3];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 수량
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[4];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Far;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = cItem.SALE_QTY.ToString();
cGridExRowData.GridItemValue = cItem.SALE_QTY.ToString();
//#20171107 수량 폰트색 검은색으로 변경 start
//마지막 상품은 색상이 변경이 안되어 추가 수정.
//기존
//cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
//변경
cGridExRowData.ForeColor = Color.Black;
//#20171107 수량 폰트색 검은색으로 변경 end
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[4];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 할인
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[5];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Far;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT);
cGridExRowData.GridItemValue = cItem.TOT_DC_AMT.ToString();
cGridExRowData.ForeColor = Color.Red; //Color.FromArgb(155, 155, 156);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[5];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 금액
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[6];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Far;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT);
cGridExRowData.GridItemValue = cItem.BILL_AMT.ToString();
cGridExRowData.ForeColor = Color.FromArgb(3, 3, 3);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[6];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 비고
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[7];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Center;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = sEtcName;
cGridExRowData.GridItemValue = "";
cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[7];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 삭제
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[8];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Center;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridRowImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.ITEM_GRID_ROW_DEL);
cGridExRowData.GridItemText = "X";
cGridExRowData.GridItemValue = "";
cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[7];
cGridExRowData.FontStyle = FontStyle.Regular;
//cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
SaleItemGrid.AddDataGridItem(cGridDataItem, GRID_EX_ITEM_BORDER_STYLE.BOTTOM, 1, Color.FromArgb(236, 236, 236));
#endregion
}
}//for end
//0:LastItem, 1::OldFocus
if (nFocus == 1)
{
if (nOldSelectRow >= SaleItemGrid.GridDataItems.Count) nOldSelectRow = SaleItemGrid.GridDataItems.Count - 1;
SaleItemGrid.SelectIndexItem(nOldSelectRow);
}
SaleItemGrid.Refresh();
//// 상품 그리드에 상품 판매 등록 내역 표시 처리.
//m_dtSaleItemGrid.Clear();
//ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
//for (int iRow = 0; iRow < alPluItem.Count; iRow++)
//{
// Column.TR_PLU.DATA cItem = (Column.TR_PLU.DATA)alPluItem[iRow];
// string sCancelDiv = "0";
// if (cItem.CANCEL_DIV == "1" || cItem.CANCEL_DIV_MAIN == "1") sCancelDiv = "1";
// DataRow drRow = m_dtSaleItemGrid.NewRow();
// drRow["SEQ_NO"] = iRow + 1;
// drRow["PLU_NAME"] = cItem.ITEM_NAME;
// drRow["ITEM_PRICE"] = cItem.SALE_PRC;
// drRow["ITEM_QTY"] = cItem.SALE_QTY;
// drRow["DISCOUNT_AMT"] = (sCancelDiv == "1") ? "0" : m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT);
// drRow["ITEM_AMT"] = (sCancelDiv == "1") ? "0" : m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT);
// drRow["REMARK"] = "";
// drRow["CANCEL"] = (sCancelDiv == "1") ? "취소" : "";
// m_dtSaleItemGrid.Rows.Add(drRow);
//}
//SaleItemGrid.CsmGridDataSource = m_dtSaleItemGrid;
//SaleItemGrid.CsmGridFirstDisplayedScrollingRowIndex = 0;
//SaleItemGrid.CsmGridSelectRow(SaleItemGrid.CsmGridRowsCount - 1);
//SaleItemGrid.Refresh();
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 상품등록 중
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
{
//로스면 로스 합계표시
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
{
// 총수량, 총매출액
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.LossTotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
else
{
// 총수량, 총매출액
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
// 총 할인 금액
txtDiscountAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
txtVatSvc.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName + "/ "
+ m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
// 받은금액 표시 처리
txtRecvedAmt.Text = m_cPosStatus.Global.NumericTOCurrency(0) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
// 순매출액 표시 처리
txtNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
else
{
//로스면 로스 합계표시
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
{
// 총수량, 총매출액
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.LossTotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
}
else
{
// 총수량, 총매출액
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
}
// 총 할인 금액
//txtDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
// m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? -1 : 1));
txtDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt);
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
txtVatSvc.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) + "/ " +
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt);
}
// 받은금액 표시 처리
txtRecvedAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(0);
// 순매출액 표시 처리
//txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
// m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.NetSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
}
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemList(true, true, SaleItemGrid.SelectedIndex);
if (m_cTrnStatus.Sale.CampaignFileName != "")
{
picCampaign.Image = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CAMPAIGN + m_cTrnStatus.Sale.CampaignFileName);
//picCampaign.Visible = picCampaign.Image != null ? true : false;
}
else
picCampaign.Visible = false;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
this.ResumeLayout(true);
this.Update();
if (m_cTrnStatus.Sale.CampaignFileName != "")
{
picCampaign.Visible = picCampaign.Image != null ? true : false;
}
}
}
#endregion
#region
/// <summary>
/// 기능버튼 선택
/// </summary>
/// <param name="sender"></param>
/// <param name="sFuncCode"></param>
private void btnFuncSale_FuncClickHandler(object sender, string sFuncCode)
{
string DCValue = string.Empty;
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if(sFuncCode.Equals(PosKey.MENU_KEY.SALE_DC))
DCValue = txtInPut.Text;
tmrSaleTimer.Enabled = false;
if (picCampaign.Visible == true) picCampaign.Visible = false;
//m_cCustDisp.DisplayCampaign("", "");
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) // 판매대기 모드
{
switch (sFuncCode)
{
case PosKey.MENU_KEY.SALE_EXIT: // 판매종료
SaleMainExit();
return;
}
DisplayInit(true, false);
}
else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
if (sFuncCode == PosKey.MENU_KEY.ADD_MENU && pnlSubMenu.Visible == true)
{
pnlSubMenu.Visible = false;
tmrSaleTimer.Enabled = true;
return;
}
//충전, 판매 거래 경우 안 닫음!
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
{
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
}
else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_WAIT && m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY)
{
switch (sFuncCode)
{
case PosKey.MENU_KEY.SALE_EXIT: // 판매종료
case PosKey.MENU_KEY.ORDER_COMPLETED: // 주문완료
SaleMainExit();
return;
}
}
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
// 키유효성 체크
if (m_cDataCommon.FunctionKeyValidity(sFuncCode) == false)
{
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0054));
tmrSaleTimer.Enabled = true;
return;
}
CsmFunc tmpFunc = new CsmFunc();
if (((Cosmos.UI.CsmFunc)sender) == btnFuncItem) //Right
tmpFunc = btnFuncItem;
else if (((Cosmos.UI.CsmFunc)sender) == btnFuncSale) //Left
tmpFunc = btnFuncSale;
// 키 그룹 판매원 권한 체크
if (WinBasic.CheckMenuKeyAuth(sFuncCode) == false) return;
// 키 그룹 체크
if (m_cDataCommon.FunctionKeySubMenuLoad(sFuncCode) == true)
{
if (tmpFunc != null)
{
if (sFuncCode == PosKey.MENU_KEY.ESC_PREVIOUS) //이전
tmpFunc.DisplayPrevButton(); // 기능 버튼 표시
else
tmpFunc.DisplayFuncButton(sFuncCode); // 기능 버튼 표시
}
}
else
{
if (sFuncCode == PosKey.MENU_KEY.ESC_PREVIOUS) //이전
{
tmpFunc.DisplayPrevButton(); // 기능 버튼 표시
}
else
{
// 기능 항목 처리
this.rtbMotMain.Visible = false;
//#20171117 통제, 슈퍼바이저 로그인창 여러번 표시 되는 현상 수정 start
//기존
//m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "");
//변경
//m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "", true);
//#20171117 통제, 슈퍼바이저 로그인창 여러번 표시 되는 현상 수정 end
this.rtbMotMain.Visible = true;
//----------------------------------------------------------------------------------------------------
// 만약 판매화면에서 전체취소 버튼 클릭시
// 해피포인트 제휴할인 변수 초기화 함수를 호출한다.
//----------------------------------------------------------------------------------------------------
// (원본) m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Te바xt, sSelectRow.ToString(), "");
//----------------------------------------------------------------------------------------------------
#region .
bool blnResult = m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "", true);
if (blnResult == true)
{
if (sFuncCode == PosKey.MENU_KEY.TRADE_STOP) { SubPriorReadingVarClear(true); }
}
#endregion
this.rtbMotMain.Visible = true;
}
}
//DisplayInit(true, false);
// 상품등록 내역 표시
//DisplayItem(0, false);
SetOwnPartDiv(false);
WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", "");
if (sFuncCode.Equals(PosKey.MENU_KEY.SALE_DC))
txtInPut.Text = DCValue;
else
txtInPut.Text = "";
TxtInPutFocus();
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
// 테이블 데이터 백업!
m_cTrnStatus.Head.FloorCd = m_cPosStatus.Sale.SelectFloorCd;
m_cTrnStatus.Head.TableNo = m_cPosStatus.Sale.SelectTableNo;
m_cTrnStatus.Head.FloorNm = m_cPosStatus.Sale.SelectFloorNm;
m_cTrnStatus.Head.TableNm = m_cPosStatus.Sale.SelectTableNm;
tmrSaleTimer.Enabled = true;
CmUtil.IgnoreMouseClick(this); // 마우스 클릭 무시
}
}
private void txtInput_Enter(object sender, EventArgs e)
{
try
{
padInPut.SetActiveControl = (Control)sender;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 입력박스 이벤트 처리
/// </summary>
/// <param name="sender"></param>
/// <param name="sFuncValue"></param>
private void txtInPut_EditBoxKeyDownEvent(object sender, string sFuncValue)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
tmrSaleTimer.Enabled = false;
string sInPutData = txtInPut.Text;
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
bool bReturn = true;
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow]; // No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) DisplayInit(true, false);
if (sFuncValue == PosKey.MENU_KEY.ENTER)
{
//#2017122 #13238 LG 은평_은평_부가메뉴 입력 안되는 증상 start, phj
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
{
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0022));
txtInPut.Text = "";
return;
}
//#2017122 #13238 LG 은평_은평_부가메뉴 입력 안되는 증상 end, phj
//충전, 판매 거래 경우
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == true) return;
if (sInPutData == "") return;
//17.05.18 dkshin 쇼킹박스 추가
//if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.LOG.SHOCKING_BOX) == true)
if (m_cTrnStatus.Head.ShockingBoxStat == "1")
{
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0699));
txtInPut.Text = "";
return;
}
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "BarCode Sacan : " + sInPutData);
//17.05.18 dkshin 쇼킹박스 추가
//-------------start---------------
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
//m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
//sInPutData(바코드 데이타)조회 후 m_cTrnStatus.Head.TradeKind가 99(쇼킹박스) 일때 판매화면에 상품 보여주기
//쇼킹박스는 pc만_ho_20170828
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC && m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
{
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start
//기존
//string sRet = m_cSaleService.PosShockingBoxSearch(sInPutData);
//if (sRet == UserCom.RST_OK)
//{
// if (SaleItemGrid.GridDataItems.Count > 0) //제품선택후 쇼킹박스상품을 불러온경우.
// {
// txtInPut.Text = "";
// return;
// }
//
// //m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.LOG.SHOCKING_BOX;
// m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.SHOCKING_BOX, "", "", sInPutData);
//}
//변경
string sTradeKind = string.Empty;
sTradeKind = m_cSaleService.PosShockingBoxSearch(sInPutData);
if (sTradeKind == ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX || sTradeKind == ItemConst.TRAN_KIND.LOG.SHOCKING_BOX)
{
if (SaleItemGrid.GridDataItems.Count > 0) //제품선택후 쇼킹박스상품을 불러온경우.
{
txtInPut.Text = "";
return;
}
if (sTradeKind == ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX)
{
// 상품정보출력(해피오더 랜덤박스)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.ITEMINFO_PRINT, "", "", sInPutData);
}
else if (sTradeKind == ItemConst.TRAN_KIND.LOG.SHOCKING_BOX)
{
// 쇼킹박스
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.SHOCKING_BOX, "", "", sInPutData);
}
}
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end
else
{
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:상품별합산)
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
for (int i = 0; i < alTrPluItem.Count; i++)
{
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
if (cPluItem.SUB_SHOP_CD != m_cPosStatus.Base.SubShopNo || cPluItem.ITEM_BAR_CD != sInPutData) continue;
if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
if (cPluItem.SALE_QTY >= 99999) continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 start
if (cPluItem.OPEN_ITEM_DIV == "1") continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 end
// 수량 증가 처리
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
SaleItemGrid.SelectIndexItem(i);
m_cCustDisp.DisplaySaleItemList(true, true, i);
txtInPut.Text = "";
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
return;
}
}
}
//*****************************************************************************
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
//-----------------------------------------------------------------------------
// - 만약 입력박스에서 해피포인트 카드 및 제휴할인 카드를 리딩했을 때
// 만약, 해피포인트 카드일 경우 해피포인트 카드번호를 전역변수에 저장한다.
// (ex. 해피포인트 카드번호 : m_cPosStatus.Sale.strHappyPointCardNo)
// 만약, 제휴할인 카드일 경우 제휴할인 카드번호를 전역변수에 저장한다.
// (ex. 제휴할인 카드번호 : m_cPosStatus.Sale.strMobileUnityCardNo)
//*****************************************************************************
//*****************************************************************************
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
//-----------------------------------------------------------------------------
// - 만약 입력박스에서 해피포인트 카드 및 제휴할인 카드를 리딩했을 때
// 만약, 해피포인트 카드일 경우 해피포인트 카드번호를 전역변수에 저장한다.
// (ex. 해피포인트 카드번호 : m_cPosStatus.Sale.strHappyPointCardNo)
// 만약, 제휴할인 카드일 경우 제휴할인 카드번호를 전역변수에 저장한다.
// (ex. 제휴할인 카드번호 : m_cPosStatus.Sale.strMobileUnityCardNo)
//*****************************************************************************
#region
if (sInPutData != "" && sInPutData.Length > 15)
{
//===================================================================
// 해피포인트 카드 체크
//-------------------------------------------------------------------
// - 만약 입력된 값의 앞의 4자리가
// 정의된 해피포인트 프리픽스(HP_CARD_PRIFIX) 값과 동일할 경우
// (ex. public const string HP_CARD_PRIFIX = "8231";)
// 입력된 값을 전역변수에 저장하여 해피포인트 카드 번호로 사용한다.
//-------------------------------------------------------------------
// - frmPointHappyPoint_Load 이벤트에서 처리함
//===================================================================
#region
if (sInPutData.Substring(0, 4) == PosConst.HP_CARD_PRIFIX)
{
//-----------------------------------------------------------------
// 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다.
// - 다시 사용하기로 했음
//-----------------------------------------------------------------
#region .
//if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
//{
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0020); // 판매 대기중에 처리 할수 없는 기능 입니다.
// DisplayInit(true, false);
// return;
//}
#endregion
#region ('00058') .
if (gdtFuncKey.Rows.Count != 0)
{
DataRow[] _drFuncKey = gdtFuncKey.Select("FUNC_ID = '" + PosKey.MENU_KEY.HAPPY_POINT + "'");
if (_drFuncKey.Length == 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다
DisplayInit(true, false);
return;
}
}
#endregion
//---------------------------------------------------
// 입력된 해피포인트 카드 번호를 전역변수에 저장한다.
//---------------------------------------------------
#region .
//#20180620 해피포인트 선리딩시 '=' 붙이는 기능 제거 start
//키인으로 입력하면 해피포인트 사용을 못해야 되는제 사용 가능함
//기존
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
//기존
//m_cPosStatus.Sale.strHappyPointCardNo = sInPutData+"=";
//변경
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start, 20181025
//해피포인트 선리딩시 해피포인트 사용이 안되는 증상 수정
//기존
//m_cPosStatus.Sale.strHappyPointCardNo = sInPutData;
//변경
m_cPosStatus.Sale.strHappyPointCardNo = sInPutData + "=";
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end, 20181025
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
//변경
//m_cPosStatus.Sale.strHappyPointCardNo = sInPutData;// +"=";
//#20180620 해피포인트 선리딩시 '=' 붙이는 기능 제거 end
m_cPosStatus.Sale.strHappyPointCardNo_Title = "HPC";
#endregion
//*** MoonSeokWoo 2017.12.12 Add
if(pnlPayMainBack.Visible == false)
AllianceCardInit(true, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0789), true);
//*** MoonSeokWoo 2017.12.12 End
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
#region
//결제화면이 표시 안된 경우 해피포인트 조회 -> 고객번호로 POS서버 조회 -> 고객구매이력 표시
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//해당 옵션 사용하지 않고 STR_SEND_CPN_MST 테이블의 사용여부로 판단
//기존
/*
if (PosMstManager.GetPosOption(POS_OPTION.OPT514) == "1" &&
pnlPayMainBack.Visible == false &&
m_cPosStatus.Sale.strHappyPointCardNo != "")
*/
//변경
// TEST START
//m_cPosStatus.Mst.BuyHistShowYn = "1";
// TEST END
if (m_cPosStatus.Mst.BuyHistShowYn == "1" &&
pnlPayMainBack.Visible == false &&
m_cPosStatus.Sale.strHappyPointCardNo != "")
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
{
//고객 구매이력 화면 미표시
pnlBuyHist.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
pnlBuyHistMot.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#15525 고객구매이력 수정 요청 start
//VIP 여부 안내 표시
pnlBuyHistVip.Visible = false;
//#15525 고객구매이력 수정 요청 end
//해피포인트 조회 후 고객번호 획득 (고객번호(10) + 전자영수증 수신여부(1) + 단골여부(1) + 기타정보(23))
string sHppMembNo = SchHappyPointMembInfo(PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP, m_cPosStatus.Sale.strHappyPointCardNo);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//단골고객여부 전역변수로 변경
//기존
//string sRegularYN = "";
//변경
m_cPosStatus.Sale.sRegularYN = "";
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//해피전문 반영 안되있으면 11자리만 내려옴. (고객번호(10) + 전자영수증 수신여부(1))
if (sHppMembNo.Length > 11)
{
//sHppMembNo = sHppMembNo.Substring(0, 10);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//단골고객여부 전역변수로 변경
//기존
//sRegularYN = sHppMembNo.Substring(11, 1);
//변경
m_cPosStatus.Sale.sRegularYN = sHppMembNo.Substring(11, 1);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
sHppMembNo = sHppMembNo.Substring(0, 10);
}
else
{
//sHppMembNo = "";
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//단골고객여부 전역변수로 변경
//기존
//sRegularYN = "";
//변경
m_cPosStatus.Sale.sRegularYN = "";
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
}
//해피포인트 고객번호가 있는 경우 POS서버로 구매이력정보 수신
if (sHppMembNo !="")
{
//수신 데이터 있는 경우 표시
string sBuyHistRet = UserCom.RST_ERR;
string sGetData = "";
//초기화
//m_cPosStatus.Sale.strBuyHist = new string[7];
for (int i = 0; i < m_cPosStatus.Sale.strBuyHist.Length; i++) { m_cPosStatus.Sale.strBuyHist[i] = ""; }
//#20180524 구매이력조회 단골여부 전문추가 start,phj
//기존
//POS 서버 조회
//sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, ref sGetData);
//변경
//POS 서버 조회
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180528
//쿠폰 발송 횟수 제한 기능
//기존
//sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, m_cPosStatus.Sale.sRegularYN, ref sGetData);
//변경
//쿠폰 발송 횟수 조회
//구현
string sCpnSendCnt = m_cDataCommon.CpnSendCntSearch();
//#15525 고객구매이력 수정 요청 start
//TEST
//1위: 1006024148, 2위: 1008346700, 31위: 1002325773, 32위: 1005674140, 33099위: 1000616629
//sHppMembNo = "1008346700";
//#15525 고객구매이력 수정 요청 end
//구매이력 조회
sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, m_cPosStatus.Sale.sRegularYN, sCpnSendCnt, ref sGetData);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180528
//#20180524 구매이력조회 단골여부 전문추가 end,phj
if (sBuyHistRet == UserCom.RST_OK)
{
//고객 구매이력 데이터 파싱
// 단골여부 | 최근1개월 | 전월 | 객단가 | 선호제품유형 | 최근구매일 | 최근 케익 구매일 |코드|문구1 | 문구2|
// Y | 0(0) | 0 | 0 | 완제생크림 , 버터 | 21일전 (05/03)| 21일전 (05/03) |01 |어제 | 케익 |
//테스트 start
//sGetData = "Y|0(0)|0|0|완제생크림 , 버터|21일전 (05/03)|21일전 (05/03)|01|어제|케익|";
//테스트 end
//#15525 고객구매이력 수정 요청 start
//VIP 여부 안내 표시
// 단골여부 | 최근1개월 | 전월 | 객단가 | 선호제품유형 | 최근구매일 | 최근 케익 구매일 |코드|문구1 | 문구2| VIP여부|
// Y | 0(0) | 0 | 0 | 완제생크림 , 버터 | 21일전 (05/03)| 21일전 (05/03) |01 |어제 | 케익 | Y |
//테스트 start
//sGetData = "Y|0(0)|0|0|완제생크림 , 버터|21일전 (05/03)|21일전 (05/03)|01|어제|케익|Y";
//#15525 고객구매이력 수정 요청 end
m_cPosStatus.Sale.strBuyHist = sGetData.Split('|');
string sStrBuyHist3_0 = m_cPosStatus.Sale.strBuyHist[1];
string sStrBuyHist3_1 = "";
string sStrBuyHist3_2 = "";
string sStrBuyHist3_3 = "";
int iStrBuyHistPosUp = 0;
int iStrBuyHistPosDwn = 0;
int iStrBuyHistPosNon = 0;
iStrBuyHistPosUp = sStrBuyHist3_0.LastIndexOf("▲");
iStrBuyHistPosDwn = sStrBuyHist3_0.LastIndexOf("▼");
iStrBuyHistPosNon = sStrBuyHist3_0.LastIndexOf("(");
if(iStrBuyHistPosUp > 0)
{
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosUp);
sStrBuyHist3_2 = sStrBuyHist3_0.Substring(iStrBuyHistPosUp, 1);
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosUp + 1, sStrBuyHist3_0.Length - iStrBuyHistPosUp - 1);
lblBuyHist8.ForeColor = Color.Blue;
}
else if (iStrBuyHistPosDwn > 0)
{
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosDwn);
sStrBuyHist3_2 = sStrBuyHist3_0.Substring(iStrBuyHistPosDwn, 1);
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosDwn + 1, sStrBuyHist3_0.Length - iStrBuyHistPosDwn - 1);
lblBuyHist8.ForeColor = Color.Red;
}
else if (iStrBuyHistPosNon > 0)
{
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosNon + 1);
sStrBuyHist3_2 = " ";
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosNon + 1, sStrBuyHist3_0.Length - iStrBuyHistPosNon - 1);
lblBuyHist8.ForeColor = Color.FromArgb(51, 51, 51);
}
//고객 구매이력 데이터 표시
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//단골고객여부 전역변수로 변경
//기존
//lblBuyHist1.Text = sRegularYN;
//변경
lblBuyHist1.Text = m_cPosStatus.Sale.sRegularYN;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
lblBuyHist2.Text = sStrBuyHist3_1;
lblBuyHist3.Text = m_cPosStatus.Sale.strBuyHist[2];
lblBuyHist4.Text = m_cPosStatus.Sale.strBuyHist[3];
lblBuyHist5.Text = m_cPosStatus.Sale.strBuyHist[4];
lblBuyHist6.Text = m_cPosStatus.Sale.strBuyHist[5];
lblBuyHist7.Text = m_cPosStatus.Sale.strBuyHist[6];
lblBuyHist8.Text = sStrBuyHist3_2;
lblBuyHist9.Text = sStrBuyHist3_3;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180508
//[쿠폰발송] 버튼 클릭시 '쿠폰발송 기능은 추후 오픈 예정입니다.' 팝업 출력
//기존
/*
//단골고객만 쿠폰 발송 버튼 활성화
if (sRegularYN == "Y" && PosMstManager.GetPosOption(POS_OPTION.OPT513) == "1")
{
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
btnCpnSend.Enabled = true;
}
else
{
btnCpnSend.Text = "";
btnCpnSend.Enabled = false;
}
*/
//변경
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
btnCpnSend.Enabled = true;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180508
//고객 구매이력 화면 표시
pnlBuyHist.Visible = true;
//#20180524 구매이력조회 단골여부 전문추가 start,phj
//기존
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
////고객 구매이력 정보 표시 시점에 상단 MOT 표시
//string sMsgCode = "";
//
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180521
////기존
///*
//if (m_cPosStatus.Sale.strBuyHist.Length > 7)
//{
// sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
//}
//else
//{
// sMsgCode = "00";
//}
//DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
//if (!(dt == null || dt.Rows.Count == 0))
//{
// DataRow dr = dt.Rows[0];
// lblBuyHistMot.Text = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CD_NM);
//}
////적용시 true
//pnlBuyHistMot.Visible = true;
//*/
//
////변경
//if (m_cPosStatus.Sale.strBuyHist.Length > 7)
//{
// sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
//}
//
//// TEST START
////sMsgCode = "요즘 방문이 뜸하셨는데, 다시 찾아주셔서 감사드려요";
////sMsgCode = "요즘 방문이 뜸하셨는데, 다시 찾아주셔서 감사드려요@$다음 방문시 사용 하실 수 있는 XX쿠폰 발송해 드릴께요";
//// TEST END
//
//if (sMsgCode != "")
//{
// lblBuyHistMot.Text = sMsgCode.Replace("@", "\r").Replace("$", "\n").ToString();
// pnlBuyHistMot.Visible = true;
//}
//else
//{
// pnlBuyHistMot.Visible = false;
//}
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180521
//
//BuyHistTime = DateTime.Now;
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//변경
string sMsgCode = "";
string sMsg1 = "";
string sMsg2 = "";
if (m_cPosStatus.Sale.strBuyHist.Length > 7)
{
sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
sMsg1 = m_cPosStatus.Sale.strBuyHist[8];
sMsg2 = m_cPosStatus.Sale.strBuyHist[9];
}
else
{
//#20180528 구매이력조회 상단 MOT 미표시 start,phj
//기존
//sMsgCode = "00";
//변경
sMsgCode = "99";
//#20180528 구매이력조회 상단 MOT 미표시 end,phj
}
//#20180528 구매이력조회 상단 MOT 미표시 start,phj
//기존
/*
string sCmmMsg1 = "";
string sCmmMsg2 = "";
DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
if (!(dt == null || dt.Rows.Count == 0))
{
DataRow dr = dt.Rows[0];
sCmmMsg1 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01);
sCmmMsg2 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_02);
}
sCmmMsg1 = string.Format(sCmmMsg1, sMsg1, sMsg2);
sCmmMsg2 = string.Format(sCmmMsg2, sMsg1, sMsg2);
if (sCmmMsg1 != "" || sCmmMsg2 != "")
{
lblBuyHistMot.Text = sCmmMsg1 + "\r" + sCmmMsg2;
pnlBuyHistMot.Visible = true;
}
else
{
lblBuyHistMot.Text = "";
pnlBuyHistMot.Visible = false;
}
*/
//변경
if (sMsgCode == "99")
{
lblBuyHistMot.Text = "";
pnlBuyHistMot.Visible = false;
}
else
{
string sCmmMsg1 = "";
string sCmmMsg2 = "";
DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
if (!(dt == null || dt.Rows.Count == 0))
{
DataRow dr = dt.Rows[0];
sCmmMsg1 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01);
sCmmMsg2 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_02);
}
sCmmMsg1 = string.Format(sCmmMsg1, sMsg1, sMsg2);
sCmmMsg2 = string.Format(sCmmMsg2, sMsg1, sMsg2);
if (sCmmMsg1 != "" || sCmmMsg2 != "")
{
lblBuyHistMot.Text = sCmmMsg1 + "\r" + sCmmMsg2;
pnlBuyHistMot.Visible = true;
}
else
{
lblBuyHistMot.Text = "";
pnlBuyHistMot.Visible = false;
}
}
//#20180528 구매이력조회 상단 MOT 미표시 end,phj
BuyHistTime = DateTime.Now;
//#20180524 구매이력조회 단골여부 전문추가 end,phj
//#15525 고객구매이력 수정 요청 start
//VIP 여부 안내 표시
string sVipYN = "N";
if (m_cPosStatus.Sale.strBuyHist.Length > 10)
{
sVipYN = m_cPosStatus.Sale.strBuyHist[10];
}
if (sVipYN == "Y")
{
//#15525 고객구매이력 수정 요청 start, 20180704
//기존
/*
pnlBuyHistVip.Visible = true;
pnlBuyHistVip.BringToFront();
*/
//변경
WinBasic.ShowForm(new string[] { FormManager.FORM_VIP });
//#15525 고객구매이력 수정 요청 end, 20180704
}
else
{
//m_cCustDisp.ScreenVipDisplay(false);
pnlBuyHistVip.Visible = false;
}
//#15525 고객구매이력 수정 요청 end
}
else
{
//고객 구매이력 데이터 초기화
//for (int i = 0; i < m_cPosStatus.Sale.strBuyHist.Length; i++) { m_cPosStatus.Sale.strBuyHist[i] = ""; }
//고객 구매이력 화면 미표시
pnlBuyHist.Visible = false;
}
}
}
#endregion
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
#region SPC임직원
if (m_cPosStatus.Sale.strHappyPointCardNo != "")
{
m_cPosStatus.Sale.strEmpInfo = SchHappyPointEmpInfo(PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP, m_cPosStatus.Sale.strHappyPointCardNo);
}
#endregion SPC임직원
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
//----------------------------------------
// 해피포인트 상태바 표시을 위한 배열 설정
//----------------------------------------
#region
if (m_cPosStatus.Sale.strPriorReading_Title[0] == null || m_cPosStatus.Sale.strPriorReading_Title[0] == "")
{
//--------------------------------------------------------
// 만약 첫번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
// -> 첫번째에 해피포인트를 그대로 입력한다.
//--------------------------------------------------------
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
else if (m_cPosStatus.Sale.strPriorReading_Title[1] == null || m_cPosStatus.Sale.strPriorReading_Title[1] == "")
{
//--------------------------------------------------------
// 만약 두번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
// -> 두번째에 해피포인트를 입력한다.
// 단, 첫번째로 리딩된 해피포인트가 없을 경우에만 입력한다.
//--------------------------------------------------------
if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC")
{
m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
}
else
{
//----------------------------------------------------------------
// 만약 첫번째, 두번째로 리딩한 해피포인트 및 제휴카드가 있을 경우
// 아무 처리를 안한다.
//----------------------------------------------------------------
}
#endregion
// 텍스트 박스 클리어 -----
txtInPut.Text = "";
if(pnlPayMainBack.Visible == true)
{
#region .
if (m_cPosStatus.Sale.strHappyPointCardNo != "")
{
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
//기존
// 해피포인트(00058) 화면 표시 -----
//PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
//변경
#region SPC임직원 , SPC임직원할인(), SPC임직원할인()
if (m_cPosStatus.Sale.strEmpInfo == "3A")
{
// SPC임직원할인(결제) - 상품에 적용하지 않음
DataTable dtFuncKeyArr1 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY);
// SPC임직원할인(할인) - 상품에 적용
DataTable dtFuncKeyArr2 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC);
if (dtFuncKeyArr1 == null || dtFuncKeyArr1.Rows.Count <= 0)
{
if (dtFuncKeyArr2 == null || dtFuncKeyArr2.Rows.Count <= 0)
{
// SPC임직원할인(결제), SPC임직원할인(할인) 둘다 기능키가 배치되어 있지 않은 경우
// 해피포인트(00058) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
}
else
{
// SPC임직원할인(할인) 기능키가 배치되어 있는 경우
// 임직원할인(00064) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC, "2");
}
}
else
{
// SPC임직원할인(결제) 기능키가 배치되어 있는 경우
// 임직원할인(00281) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY, "2");
}
}
else
{
// SPC임직원이 아닌 경우
// 해피포인트(00058) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
}
#endregion SPC임직원 , SPC임직원할인(), SPC임직원할인()
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
}
#endregion
}
return;
}
#endregion
//=======================================================================
// 제휴할인 카드 체크
//-----------------------------------------------------------------------
// - 제휴할인 카드 폼에 포함되어 있는
// 제휴카드 종류 자동 선택(SelectMobileUnityKind) 함수를 이용하여
// 제휴할인 카드가 맞는지 체크한다.
// - 만약 제휴할인 카드가 맞을 경우
// 입력된 값을 전역변수에 저장하여 제휴할인 카드 번호로 사용한다.
//-----------------------------------------------------------------------
// - frmPntMobileUnity_Load 이벤트에서 처리함
// - 오버로딩 함수 : public frmPntMobileUnity(string _strDiv)
// public bool SelectMobileUnityKind(string _strCardNo)
//=======================================================================
#region
//-----------------------------------------------------
// 제휴할인 카드 폼의 제휴카드 종류 자동 선택 함수 호출
//-----------------------------------------------------
#region
frmPntMobileUnity frmPntMobileUnity = new frmPntMobileUnity("Initial");
string _strCardDiv = frmPntMobileUnity.SelectMobileUnityKind(sInPutData);
#endregion
if (_strCardDiv != "")
{
//-----------------------------------------------------------------
// 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다.
// - 다시 사용하기로 했음
//-----------------------------------------------------------------
#region .
//if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
//{
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0020); // 판매 대기중에 처리 할수 없는 기능 입니다.
// DisplayInit(true, false);
// return;
//}
#endregion
#region ('00292') .
if (gdtFuncKey.Rows.Count != 0)
{
DataRow[] _drFuncKey = gdtFuncKey.Select("FUNC_ID = '" + PosKey.MENU_KEY.MOBILE_UNITY + "'");
if (_drFuncKey.Length == 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다
DisplayInit(true, false);
return;
}
}
#endregion
//--------------------------------------------
// 입력된 제휴카드 번호를 전역변수에 저장한다.
//--------------------------------------------
// - _strCardDiv : SKT, KT, LGT
//--------------------------------------------
#region .
m_cPosStatus.Sale.strMobileUnityCardNo = sInPutData;
m_cPosStatus.Sale.strHappyPointCardNo_Title = _strCardDiv;
#endregion
//*** MoonSeokWoo 2017.12.12 Add
if (pnlPayMainBack.Visible == false)
AllianceCardInit(true, _strCardDiv, false);
//*** MoonSeokWoo 2017.12.12 End
//--------------------------------------
// 제휴카드 상태바 표시을 위한 배열 설정
//--------------------------------------
#region
if (m_cPosStatus.Sale.strPriorReading_Title[0] == null || m_cPosStatus.Sale.strPriorReading_Title[0] == "")
{
//--------------------------------------------------------
// 만약 첫번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
// -> 그대로 입력한다.
//--------------------------------------------------------
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
else if (m_cPosStatus.Sale.strPriorReading_Title[1] == null || m_cPosStatus.Sale.strPriorReading_Title[1] == "")
{
//-------------------------------------------------------------------
// 만약 두번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
// -> 두번째에 해피포인트를 입력한다.
// 단, 첫번째로 리딩된 제휴카드가 있을 경우 이전 제휴카드를 치환한다.
//-------------------------------------------------------------------
if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC")
{
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
else
{
m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
}
else
{
//----------------------------------------------------------------
// 만약 첫번째, 두번째로 리딩한 해피포인트 및 제휴카드가 있을 경우
// 이전 제휴카드를 치환한다.
//----------------------------------------------------------------
if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC")
{
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
else
{
m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
}
#endregion
// 텍스트 박스 클리어 -----
txtInPut.Text = "";
if (pnlPayMainBack.Visible == true)
{
#region '' ' ' .
#region .
if (m_cPosStatus.Sale.strMobileUnityCardNo != "")
{
// 제휴할인 카드(00292) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2");
}
#endregion
#endregion
}
return;
}
#endregion
}
#endregion
//*****************************************************************************
// (2017.11.10) 바코드 중복 처리
//-----------------------------------------------------------------------------
// - 만약 입력박스에서 1개의 상품을 리딩했는데
// 상품바코드테이블(MST_ITEM_BAR_CD)에 2개 이상의 데이터가 존재할 경우
// 상품선택화면(frmMultiItem)을 표시해서 사용자 1개의 상품을 선택하도록 한다.
//*****************************************************************************
#region
if (sInPutData != "")
{
//#20181102 상품 터치, 바코드 스캔시 동일 상품인 경우 수량 증가 안되는 증상 수정 start
//기존
#region
DataTable dtDataInfo = m_cDataCommon.SeletItemMstNmToScanCode("0000007", sInPutData);
if (dtDataInfo != null && dtDataInfo.Rows.Count > 1)
{
frmMultiItem fForm = new frmMultiItem(dtDataInfo);
if (DialogResult.OK == fForm.ShowDialog())
{
// 사용자가 선택한 매장코드 설정 -----
string _strStorCD = fForm.strStorCD;
// 사용자가 선택한 상품코드 설정 -----
string _strSelectItemCD = fForm.strSelectItemCD;
//-------------------------
// EtcData=0:수입력 값 설정
//-------------------------
#region EtcData=0:
sInPutData = _strStorCD + " " + _strSelectItemCD;
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
//기존
/*
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sInPutData);
*/
//변경
//상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sInPutData);
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
#endregion
}
else { return; }
}
else
{
//-------------------------------------------------
// 만약 중복상품이 아닐경우에는
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
//-------------------------------------------------
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
//기존
//m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
//변경
bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
}
#endregion
//변경
#region
//DataTable dtDataInfo = m_cDataCommon.SeletItemMstNmToScanCode("0000007", sInPutData);
//if (dtDataInfo != null && dtDataInfo.Rows.Count > 1)
//{
// frmMultiItem fForm = new frmMultiItem(dtDataInfo);
// if (DialogResult.OK == fForm.ShowDialog())
// {
// // 사용자가 선택한 매장코드 설정 -----
// string _strStorCD = fForm.strStorCD;
// // 사용자가 선택한 상품코드 설정 -----
// string _strSelectItemCD = fForm.strSelectItemCD;
// //-------------------------
// // EtcData=0:수입력 값 설정
// //-------------------------
// #region EtcData=0:수입력 값 설정
// string sSchData = _strStorCD + " " + _strSelectItemCD;
// if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
// {
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
// {
// ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
// for (int i = 0; i < alTrPluItem.Count; i++)
// {
// Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
// if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
// if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
// if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
// if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
// if (cPluItem.SUB_SHOP_CD != sSchData.Substring(0, 10).Trim() || cPluItem.ITEM_PLU_CD != sSchData.Substring(10)) continue;
// if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
// if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
// if (cPluItem.SALE_QTY >= 99999) continue;
// //#20170825 오픈 상품은 무조건 새 row로 입력 start
// if (cPluItem.OPEN_ITEM_DIV == "1") continue;
// //#20170825 오픈 상품은 무조건 새 row로 입력 end
// // 수량 증가 처리
// bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
// SaleItemGrid.SelectIndexItem(i);
// m_cCustDisp.DisplaySaleItemList(true, true, i);
// txtInPut.Text = "";
// return;
// }
// }
// }
// #endregion
// }
// else { return; }
//}
//else
//{
// if (dtDataInfo != null && dtDataInfo.Rows.Count == 1)
// {
// string sSchData = dtDataInfo.Rows[0]["STOR_CD"].ToString() + " " + dtDataInfo.Rows[0]["ITEM_CD"].ToString();
// if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
// {
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
// {
// ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
// for (int i = 0; i < alTrPluItem.Count; i++)
// {
// Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
// if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
// if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
// if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
// if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
// if (cPluItem.SUB_SHOP_CD != sSchData.Substring(0, 10).Trim() || cPluItem.ITEM_PLU_CD != sSchData.Substring(10)) continue;
// if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
// if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
// if (cPluItem.SALE_QTY >= 99999) continue;
// //#20170825 오픈 상품은 무조건 새 row로 입력 start
// if (cPluItem.OPEN_ITEM_DIV == "1") continue;
// //#20170825 오픈 상품은 무조건 새 row로 입력 end
// // 수량 증가 처리
// bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
// SaleItemGrid.SelectIndexItem(i);
// m_cCustDisp.DisplaySaleItemList(true, true, i);
// txtInPut.Text = "";
// return;
// }
// }
// }
// }
// //-------------------------------------------------
// // 만약 중복상품이 아닐경우에는
// // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
// //-------------------------------------------------
// //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
// //기존
// //m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
// //변경
// bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
// //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
//}
#endregion
//#20181102 상품 터치, 바코드 스캔시 동일 상품인 경우 수량 증가 안되는 증상 수정 end
}
#endregion
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 start
#region
//결제창에서만 동작 하도록 처리
if (pnlPayMainBack.Visible == true)
{
#region PREFIX
//모바일쿠폰 prefix 체크
if (sInPutData.Length >= 6 && sInPutData != "")
{
// PreFix 검색
DataTable dtVanInfo = m_cDataCommon.SeletPrefixToPayTypeInfo(sInPutData);
if (dtVanInfo != null && dtVanInfo.Rows.Count > 0)
{
m_cPosStatus.Sale.strMobileCpnNo = sInPutData;
}
}
#endregion PREFIX
#region prefix
//해피기프트 prefix 체크
if (sInPutData.Length >= 6 && sInPutData != "")
{
IPaymentUs m_cHappyGiftCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HPGIFTCARD);
string[] aRet = new string[10];
string ret = m_cHappyGiftCard.SearchPayment(new string[] { PosConst.HPGIFTCARD_SEARCH_TYPE.PREFIX, sInPutData }, ref aRet);
if (ret == UserCom.RST_OK)
{
//해피기프트(구)
if (aRet[0].Trim() == "C" && aRet[2] == "98")
{
m_cPosStatus.Sale.strHappyGiftCardNo = sInPutData;
}
//해피기프트(신)
if (aRet[0].Trim() == "N")
{
m_cPosStatus.Sale.strHappyGiftCardNo = sInPutData;
}
}
}
#endregion prefix
#region (00073)
//모바일쿠폰인 경우 모바일결제(00073) 화면 표시
if (m_cPosStatus.Sale.strMobileCpnNo != "")
{
PayComFuncion(PosKey.MENU_KEY.MOBILE_COUPON, "3");
}
#endregion (00073)
#region (00291)
//해피기프트인 경우 해피기프트(00291) 화면 표시
if (m_cPosStatus.Sale.strHappyGiftCardNo != "")
{
PayComFuncion(PosKey.MENU_KEY.HPGIFTCARD, "3");
}
#endregion (00291)
}
#endregion
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 end
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
#region
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT553), "0") == "1")
{
if (pnlPayMainBack.Visible != true)
{
if (bReturn == false)
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0021); // 판매 등록 중에 처리 할수 없는 기능 입니다.
txtInPut.Text = "";
//DisplayInit(true, false);
return;
}
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20180829
if (sInPutData.Length == 15 && sInPutData.StartsWith("999"))
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20180829
{
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "00", "C", sInPutData });
}
}
}
}
#endregion
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
}
}
else
{
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:상품별합산)
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
for (int i = 0; i < alTrPluItem.Count; i++)
{
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
if (cPluItem.SUB_SHOP_CD != m_cPosStatus.Base.SubShopNo || cPluItem.ITEM_BAR_CD != sInPutData) continue;
if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
if (cPluItem.SALE_QTY >= 99999) continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 start
if (cPluItem.OPEN_ITEM_DIV == "1") continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 end
// 수량 증가 처리
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
SaleItemGrid.SelectIndexItem(i);
m_cCustDisp.DisplaySaleItemList(true, true, i);
txtInPut.Text = "";
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
return;
}
}
}
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
}
//-------------end-----------------
}
else
{
// 기능 항목 처리
m_cSaleMainProc.ExecuteSaleMainProcess(sFuncValue, sInPutData, sSelectRow, "");
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 Start
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS) && m_sPluItemCode != string.Empty)
{
// 메뉴 표시
btnMenuMClass_FuncClickHandler(btnMenuMClass, m_sPluItemCode);
m_sPluItemCode = string.Empty;
}
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 End
}
txtInPut.Text = "";
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
tmrSaleTimer.Enabled = true;
}
/// <summary>
/// 그리드 헤더 거래 취소
/// </summary>
/// <param name="sender"></param>
private void SaleItemGrid_GridHeaderClickEvent(object sender)
{
tmrSaleTimer.Enabled = false;
try
{
if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.PAY_WAIT)
{
//if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0261)) == true )
//{
// 기능 항목 처리(지정취소)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.TRADE_STOP, "", "", "");
////// 거래 완료 후 초기화 처리
//DisplayInit(false, true);
////// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
//DisplayItem(0, true);
//}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
tmrSaleTimer.Enabled = true;
}
}
/// <summary>
/// 그리드 상품 클릭(지정취소)
/// </summary>
/// <param name="sender"></param>
private void SaleItemGrid_GridItemClickEvent(object sender, int nCellIndex)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
txtInPut.Text = "";
tmrSaleTimer.Enabled = false;
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
if (sSelectRow == "") return;
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemSelect(nSelectRow);
if (nCellIndex == 8)
{
if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
&& m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
pnlSubMenu.Visible = false;
pnlSetMenu.Visible = false;
}
// 기능 항목 처리(지정취소)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.CANCEL_ITEM, "", sSelectRow, "");
}
else if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
&& m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
// 상품 아이템
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)]; // 상품 정보
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
{
pnlSubMenu.Visible = false;
pnlSetMenu.Visible = false;
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL) LoadCommonSubMenuDisplay(cPluItem.SUB_SHOP_CD, cPluItem.M_CLSS);
}
else if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.OPT_MENU)
{
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") return;
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) return;
for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--)
{
// 상품 정보
Column.TR_PLU.DATA cPluSubItem = (Column.TR_PLU.DATA)alPluItem[i];
if (cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN) break;
if (cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL)
{
if (cPluSubItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluSubItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) break;
if (cPluSubItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) break;
LoadSubMenuDisplay(cPluSubItem.SUB_SHOP_CD, cPluSubItem.M_CLSS);
break;
}
}
}
else if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL)
{
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") return;
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) return;
if (cPluItem.SET_PLU_SET_GROUP_CODE == "") return;
// 세트메뉴 그룹 상세 로딩
m_cSaleMainProc.m_dtSetMenuDetail = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_SET_GRP.TABLE_NAME_CHANGE, cPluItem.SUB_SHOP_CD, cPluItem.SET_PLU_SET_GROUP_CODE);
LoadSetMenuDisplay(cPluItem.SET_PLU_SET_GROUP_CODE, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0497));
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
tmrSaleTimer.Enabled = false;
}
}
/// <summary>
/// 판매화면 종료 처리
/// </summary>
public void SaleMainExit()
{
try
{
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
if (m_cPosStatus.Base.DmbIf == "1" &&
PosMstManager.GetPosOption(POS_OPTION.OPT554) == "1" &&
m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT &&
m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL)
{
// 디지털메뉴보드 I/F
IDataServiceUs cDigitalMenuBoard = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.DMB_IF);
// 판매완료
cDigitalMenuBoard.Execute(new string[] { ItemConst.DT_IRT_ID.SALE_END });
}
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3" &&
PosMstManager.GetPosOption(POS_OPTION.OPT554) == "1" &&
m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT &&
m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL)
{
// 고객화면 상품정보 클리어
m_cCustDisp.ClearSaleItemList();
}
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
tmrSaleTimer.Enabled = false;
this.DialogResult = DialogResult.Cancel;
this.Close();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region WEB
/// <summary>
/// 상단 기타 업무 및 WEB 기능 호출
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lblEtc_Click(object sender, EventArgs e)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
if ((UI.CsmLabel)sender == lblEtc)
{
//ETC 메뉴
//WinSale.ExecuteBinessRun(PosKey.MENU_KEY.TOP_MENU_ETC);
if (pnlMenuSlide.Visible != true)
{
m_SlideMenuKey = "";
m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_ETC;
pnlMenuSlide.Visible = true;
MenuSlideList();
SlideInitControl();
pnlMenuSlide.BringToFront();
}
else
{
pnlMenuSlide.Visible = false;
}
}
else
{
//WEB 메뉴
//WinSale.ExecuteBinessRun(PosKey.MENU_KEY.TOP_MENU_WEB);
if (pnlMenuSlide.Visible != true)
{
m_SlideMenuKey = "";
m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_WEB;
pnlMenuSlide.Visible = true;
MenuSlideList();
SlideInitControl();
pnlMenuSlide.BringToFront();
}
else
{
pnlMenuSlide.Visible = false;
}
}
txtInPut.Text = "";
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 웹 호출
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void picWeb_Click(object sender, EventArgs e)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
if (pnlMenuSlide.Visible != true)
{
m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_WEB;
pnlMenuSlide.Visible = true;
MenuSlideList();
SlideInitControl();
pnlMenuSlide.BringToFront();
}
else
{
pnlMenuSlide.Visible = false;
}
txtInPut.Text = "";
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 점주/알바 모드 클릭
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAdmin_Click(object sender, EventArgs e)
{
try
{
SetOwnPartDiv(true);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 점주/알바 모드 셋팅
/// </summary>
/// <param name="bOwnPartDivChange"></param>
private void SetOwnPartDiv(bool bOwnPartDivChange)
{
try
{
if (bOwnPartDivChange == true)
{
if (m_cPosStatus.Base.OwnPartDiv == PosConst.OWN_PART_DIV.PART_DIV)
{
m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.OWN_DIV;
}
else
{
m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.PART_DIV;
}
//전송데이터 저장
m_cDataCommon.SaveServerRequestTransactionData(PosConst.RE_TRANSACTIONDATA.OWNER_MODE, new string[] { m_cPosStatus.Base.OwnPartDiv });
}
if (m_cPosStatus.Base.OwnPartDiv == PosConst.OWN_PART_DIV.PART_DIV)
{
btnAdmin.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0033);
}
else
{
m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.OWN_DIV;
btnAdmin.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0034);
}
////전송데이터 저장
//m_cDataCommon.SaveServerRequestTransactionData(PosConst.RE_TRANSACTIONDATA.OWNER_MODE, new string[] { m_cPosStatus.Base.OwnPartDiv });
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tmrSaleTimer_Tick(object sender, EventArgs e)
{
try
{
tmrSaleTimer.Enabled = false;
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
{
if (Form.ActiveForm == this)
{
// Add, 2017.02.15, 영수증프린터로 주방 주문서/메시지 출력 처리
//m_cSaleMainProc.KtchOrderSheetToBillPrint();
// 화면보호기 처리
if (m_cCustDisp.ScreenSaverDisplay() == true)
{
//스크린세이버 기능(0: 사용안함. 1:사용함, 2:사용함(LOGOFF))
if (PosMstManager.GetPosOption(POS_OPTION.OPT013) == "2")
{
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.SIMPLE_LOG_ON });
if (sRet == UserCom.RST_ERR)
{
m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMQUIT;
SaleMainExit();
return;
}
lblCashier.Text = m_cPosStatus.Base.CashierName;
}
}
SetOwnPartDiv(false);
if (m_sMstBatchDownDate != m_cPosStatus.Base.MstBatchDownDate)
{
// 캠페인 마스터 로딩
m_sMstBatchDownDate = m_cPosStatus.Base.MstBatchDownDate;
m_cCampaingMain.LoadCampaignCondition(new string[] { });
}
SelectBrPopUp(); // BR 팝업 업무 조회
//긴급공지 체크(10초마다)
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 10 == 0)
{
GetTopMsgMode("1");
if (m_cPosStatus.Sale.SysShutDown != "") return;
}
// 해피오더 주문접수 알람
//#20170913 해피오더 알림 팝업 여부 옵션 처리 start
//기존
//if (m_cPosStatus.Sale.HappyOrderAlarm == true)
//변경
if ((m_cPosStatus.Sale.HappyOrderAlarm == true) && (PosMstManager.GetPosOption(POS_OPTION.OPT510) == "1"))
//#20170913 해피오더 알림 팝업 여부 옵션 처리 end
{
// 상품등록 대기 일 때만 해피오더 주문접수 알림창 강제 POP-UP
m_cPosStatus.Sale.HappyOrderAlarm = false;
//#20180615 해피오더 팝업 수정 start
//기존
//WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_POPUP, "ALARM" });
//변경
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" });
//#20180615 해피오더 팝업 수정 end
}
//기타 공지 1분마다
if (DateTime.Now.ToString("ss") == "00")
{
SelectEtcNoticeCom();
//if (m_cPosStatus.Sale.SysShutDown != "") return;
}
//#20180605 해피오더 개선 start
//즉시주문, 예약주문 알림
if (PosMstManager.GetPosOption(POS_OPTION.OPT510) == "1")
{
// 즉시주문 30초 마다 표시
//#20180605 해피오더 개선 start - 20180618
//기존
//if (m_nTimeSync_HpOrd_Direct >= 30)
//변경
if (m_nTimeSync_HpOrd_Direct >= 30 || m_cPosStatus.Sale.bPayCompleteYN == true)
//#20180605 해피오더 개선 end - 20180618
{
// Count 초기화
m_nTimeSync_HpOrd_Direct = 0;
//#20180605 해피오더 개선 start - 20180618
m_cPosStatus.Sale.bPayCompleteYN = false;
//#20180605 해피오더 개선 end - 20180618
//주문접수 건이 1건 이상인 경우
int DirectCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDirectCnt, "0")) +
int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservCnt, "0"));
//DirectCnt = 10; //TEST DELETE
if (DirectCnt >= 1)
{
//해피오더 리스트 팝업(Y:당일픽업, A:즉시주문, B:예약주문)
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "A" });
//해피오더 리스트 팝업 종료 후 해피오더 주문건수 재조회 후 건수 갱신
m_cSvr2Tran.HappyOrderCntChk();
}
}
else
{
m_nTimeSync_HpOrd_Direct++;
}
// 예약주문 30분 마다 표시
if (m_nTimeSync_HpOrd_Reserv >= 60 * 30)
{
// Count 초기화
m_nTimeSync_HpOrd_Reserv = 0;
//주문접수 건이 1건 이상인 경우
int ReservCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0")) -
int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDirectCnt, "0")) -
int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservCnt, "0"));
if (ReservCnt >= 1)
{
//해피오더 리스트 팝업(Y:당일픽업, A:즉시주문, B:예약주문)
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "B" });
//해피오더 리스트 팝업 종료 후 해피오더 주문건수 재조회 후 건수 갱신
m_cSvr2Tran.HappyOrderCntChk();
}
}
else
{
m_nTimeSync_HpOrd_Reserv++;
}
}
//#20180605 해피오더 개선 end
}
}
// 서버 시간 동기화 05분 마다(2017.07.12)
if (DateTime.Now.ToString("ss") == "00")
{
m_nTimeSyncFlag++;
if (m_nTimeSyncFlag == 5)
{
string sRet = m_cSvr2Tran.ServerSysDateTime();
m_cPosStatus.Base.OlePosNetworkStatus = sRet;
m_nTimeSyncFlag = 0;
}
}
// 시간 표시
//lblDateTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
lblCashier.Text = m_cPosStatus.Base.CashierName;
lblTranNo.Text = m_cPosStatus.Base.TradeNo;
// 해피오더 주문알림 처리
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
{
//// 해피오더 신규주문
//int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderRegCnt, "0"));
//// 해피오더 배달미처리
//int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0"))
// + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0"))
// + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0"));
//lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), iCnt01, iCnt02);
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
{
// 해피오더 신규주문(일반주문건수 + 배달주문건수 + 예약주문건수)
int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0"));
if (iCnt01 > 99) iCnt01 = 99;
// 해피오더 픽업미처리
int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderProductReadyCnt, "0")) + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderPickupWaitCnt, "0"));
if (iCnt02 > 99) iCnt02 = 99;
// 해피오더 배달미처리
//#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 start
//기존
/*
int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0"))
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0"))
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0"));
*/
//변경
int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0"))
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0"))
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 start
//기존
//+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0"))
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 end
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 start
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryProductReadyCnt, "0"))
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 end
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryDirectCnt, "0"));
//#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 end
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), iCnt01, iCnt02, iCnt03);
}
else
{
// 해피오더 일반
int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderRegCnt, "0"));
if (iCnt01 > 99) iCnt01 = 99;
// 해피오더 배달
int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryOrderRegCnt, "0"));
if (iCnt02 > 99) iCnt02 = 99;
// 해피오더 예약
int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservedRegCnt, "0"));
if (iCnt03 > 99) iCnt03 = 99;
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1009), iCnt01, iCnt02, iCnt03);
}
}
// 빚은몰 주문알림 처리
if (PosMstManager.GetPosOption(POS_OPTION.OPT036) == "1")
{
lblIFStatus2.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0464), CmUtil.IntParse(m_cPosStatus.Sale.BizeunOrderCnt));
}
// 이지웰 주문알림 처리
if (PosMstManager.GetPosOption(POS_OPTION.OPT037) == "1")
{
lblIFStatus3.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0465), CmUtil.IntParse(m_cPosStatus.Sale.EzwelOrderCnt));
}
// 온도정보 갱신
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT039), "0") == "1")
{
#region
// 우선 순위 : 미수신 > 알람 > 경고
//- 녹색(정상) : 알람-N, 경고-N, 미수신-N
//- 회색(미수신) : 미수신-Y 미수신이 Y이면 알람, 경고는 체크 하지 않음
//- 적색(알람) : 미수신-N, 알람-Y 알람이 Y이면 경고는 체크 하지 않음
//- 황색(경고) : 미수신-N, 알람-N, 경고-Y
// [센서ID|온도계명|측정온도|알람YN|경고YN|미수신YN|최종수신시간]
lblTemperature01.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature1, "-");
lblTemperature02.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature2, "-");
lblTemperature03.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature3, "-");
// 첫번째 온도 정보
if (m_cPosStatus.Temp.Alarm1 == "N" && m_cPosStatus.Temp.Warning1 == "N" && m_cPosStatus.Temp.receiveYN1 == "N")
{
// 녹색
lblTemperature01.BackColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN1 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature1) == true)
{
// 회색
lblTemperature01.BackColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN1 == "N")
{
if (m_cPosStatus.Temp.Alarm1 == "Y")
{
// 레드
lblTemperature01.BackColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm1 == "N")
{
// 황색
lblTemperature01.BackColor = Color.DarkOrange;
}
}
}
// 두번째 온도 정보
if (m_cPosStatus.Temp.Alarm2 == "N" && m_cPosStatus.Temp.Warning2 == "N" && m_cPosStatus.Temp.receiveYN2 == "N")
{
// 녹색
lblTemperature02.BackColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN2 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature2) == true)
{
// 회색
lblTemperature02.BackColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN2 == "N")
{
if (m_cPosStatus.Temp.Alarm2 == "Y")
{
// 레드
lblTemperature02.BackColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm2 == "N")
{
// 황색
lblTemperature02.BackColor = Color.DarkOrange;
}
}
}
// 세번째 온도 정보
if (m_cPosStatus.Temp.Alarm3 == "N" && m_cPosStatus.Temp.Warning3 == "N" && m_cPosStatus.Temp.receiveYN3 == "N")
{
// 녹색
lblTemperature03.BackColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN3 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature3) == true)
{
// 회색
lblTemperature03.BackColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN3 == "N")
{
if (m_cPosStatus.Temp.Alarm3 == "Y")
{
// 레드
lblTemperature03.BackColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm3 == "N")
{
// 황색
lblTemperature03.BackColor = Color.DarkOrange;
}
}
}
#endregion
}
//기념일 배송
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0")
{
if (lblAnniv.Tag.ToString().Equals("1"))
{
if (lblAnniv.BackColor == Color.FromArgb(34, 34, 34))
{
lblAnniv.BackColor = Color.Red;
}
else
{
lblAnniv.BackColor = Color.FromArgb(34, 34, 34);
}
}
}
// 주변장치 상태 표시
lblDeviceState.ForeColor = m_cDataCommon.GS_DeviceStatus();
//if (DateTime.Now.ToString("ss") == "10")
//{
//네트워크 온오프 체크
OnLinecheck();
//}
//if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
// SelectBrPopUp();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
if (m_cPosStatus.Sale.SysShutDown == "") tmrSaleTimer.Enabled = true;
}
}
#endregion
#region SelectBrPopUp(BR팝업 )
/// <summary>
/// BR팝업 업무 조회
/// </summary>
private void SelectBrPopUp()
{
DataTable dt = null;
try
{
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR)
{
dt = m_cDataCommon.GetBrPopUpBizMst();
if (dt == null || dt.Rows.Count == 0)
{
//처리 없음!
}
else
{
foreach (DataRow dr in dt.Rows)
{
string sRet = "";
if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0016))
{
//BR) 품질관리 집중시간
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.CONFIRM, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "T", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0128) });
}
else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0015))
{
//TO-BE 처리 없음!
}
else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0018))
{
//DD) 재고율정보 알림
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.QUESTION, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "F", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0131) });
if (sRet == UserCom.RST_OK)
{
WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_LINK, PosKey.MENU_KEY.PRODUCE_REG });
}
}
else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0019))
{
//DD) 주말 행사정보 팝업
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.QUESTION, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "F", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0392) });
if (sRet != UserCom.RST_OK)
{
//주말 행사 정보 추후 WEB POS 확정되면 처리해야함!
//WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_LINK, "" });
}
}
m_cDataCommon.BrPopupUpdate(dr);
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region
/// <summary>
/// DeviceEvent 관련
/// </summary>
/// <param name="sDevice"></param>
/// <param name="sData1"></param>
/// <param name="sData2"></param>
/// <param name="sData3"></param>
public void OnDeviceEvent(string sDevice, string sData1, string sData2, string sData3)
{
try
{
switch (sDevice)
{
case PosConst.OPOS_DEVICE.SCANNER:
this.Invoke(new EventHandler(OnScannerEvent));
break;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 스캐너 이벤트 처리
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private void OnScannerEvent(object source, EventArgs e)
{
try
{
string sScanCode = m_cDevStatus.Scanner.DataLabel;
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.SCANNER + sScanCode);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region
/// <summary>
/// 긴급공지 처리 프로세스
/// </summary>
private void EmgNoticeProcess()
{
DataTable dt = null;
try
{
// 긴급 공지 설정
if (lblTopMsgMode.MpStatus() == false)
{
//내역 조회
dt = (DataTable)m_cPosNoticeCom.GetData(new string[] { PosMst.MST_EMG_NOTE.TABLE_NAME, ItemConst.NOTE_MSG_DIV.ROL, "", "" });
if (dt == null || dt.Rows.Count == 0)
{
//처리 없음!
}
else
{
foreach (DataRow dr in dt.Rows)
{
//변수 담기
Cosmos.UI.CsmPosMovePanel.MovePanelInfo cMoveInfo = new Cosmos.UI.CsmPosMovePanel.MovePanelInfo();
cMoveInfo.BackColor = Color.Red;
cMoveInfo.ForeColor = Color.Yellow;
cMoveInfo.MoveKind = "1"; //0:좌->우, 1:우->좌, 4:깜박임
cMoveInfo.MoveText = CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS).Replace("\n", "");
cMoveInfo.ResvCode = string.Format("{0}^{1}^{2}^{3}", CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_TYPE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.POS_EXEC_TYPE));
lblTopMsgMode.MpAdd(cMoveInfo);
if (CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.READ_YN) == "0")
{
//DB 업데이트
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
}
}
lblTopMsgMode.MpIntervalMove(5); //타이머 시간 설정: 최초 디폴트 10
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
FormManager.SetControlSize(lblTopMsgMode, 95, 0, 705, 50, 21);
else
FormManager.SetControlSize(lblTopMsgMode, 125, 0, 898, 50, 21);
//시작
lblTopMsgMode.Visible = true;
lblTopMsgMode.MpStart();
}
}
//팝업 공지 체크
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
{
dt = (DataTable)m_cPosNoticeCom.GetData(new string[] { PosMst.MST_EMG_NOTE.TABLE_NAME, ItemConst.NOTE_MSG_DIV.POP, "", "" });
if (dt == null || dt.Rows.Count == 0)
{
//처리 없음!
}
else
{
foreach (DataRow dr in dt.Rows)
{
string sRet = "";
//즉시 적용 체크
string sMsgType = CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_TYPE);
if (sMsgType == "1") //1:마스터, 2:프로그램
{
//프로그램 이면 다운로드 완료 확인!
if (CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.DOWN_YN) == "1") //다운로드 완료 확인
{
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) });
if (sRet == UserCom.RST_OK)
{
//2.읽은 DB UPDATE
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
// 재기동!
m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART;
SaleMainExit();
break;
}
else
{
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.SHOW);
}
}
}
else
{
// 경과 시간 체크!
if (CmUtil.LongParse(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.FNSH_HOUR)) >= CmUtil.LongParse(DateTime.Now.ToString("yyyyMMddHHmmss")))
{
////마스터면....
//if (sMsgType == "1")
//{
// sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) });
// if (sRet == UserCom.RST_OK)
// {
// //2.읽은 DB UPDATE
// UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
// // 재기동!
// m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART;
// SaleMainExit();
// break;
// }
// else
// {
// UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.SHOW);
// }
//}
//else
//{
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.CONFIRM, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) });
//1-2.즉시 적용 않일때
//WinManager.ConfirmMessage(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS).Replace("\n", ""));
//2.읽은 DB UPDATE
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
//}
}
}
}
}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 공지사항 업데이트
/// </summary>
/// <param name="sMsgCd"></param>
/// <param name="sMsgDiv"></param>
private void UpdateNotice(string sStartDt, string sMsgCd, string sMsgDiv, string sReadFlag)
{
try
{
string sRet = m_cPosNoticeCom.Execute(new string[] { sStartDt, sMsgCd, sMsgDiv, sReadFlag });
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 클릭 이벤트
/// </summary>
/// <param name="sender"></param>
/// <param name="sCode"></param>
private void lblTopMsgMode_MpClickHandler(object sender, string sCode)
{
try
{
//현업 요청으로 클릭하면 안보이기!
if (m_cPosStatus.Base.TrainingFlag != "1" && lblTopMsgMode.Visible == true)
{
//연습모드가 아니고
lblTopMsgMode.Visible = false;
//lblTopMsgMode.MpStop();
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 클릭이벤트
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lblTopMsgMode_Click(object sender, EventArgs e)
{
lblTopMsgMode_MpClickHandler(null, null);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
#endregion
/// <summary>
/// 판매,결제 모드 변경
/// </summary>
/// <param name="bSaleMode">true:판매모드, false:결제모드</param>
/// <remarks>
/// 결제모드 전환 시 lstPaymentsList.Visiable = false 처리 하여
/// 화면잔상을 제거, 결제 추가 시 lstPaymentsList.Visiable = ture 처리 한다.
/// </remarks>
public void ChangeSalePayMode(bool bSaleMode)
{
try
{
if (bSaleMode == true)
{
// 결제화면 숨기기
pnlCardMot.Visible = false;
pnlPayMainBack.Visible = false;
//pnlPayMainBack.Top = 770;
}
else
{
if (pnlAllianceCard.Visible == true) pnlAllianceCard.Visible = false;
//System.Threading.Thread.Sleep(100);
// 결제화면 화면 표시
pnlCardMot.Visible = false;
pnlPayMainBack.Visible = false;
pnlPayMainBack.Top = 50;
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false) //상품권,선불카드 판매시 비활성화 안함!
{
pnlSetMenu.Visible = false;
}
pnlSubMenu.Visible = false;
pnlFlavour.Visible = false;
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
//기존
//lstPaymentList.Visible = false;
//변경
lstPaymentList.Visible = true;
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
cFuncPnts.SelectFuncButton("");
cFuncDcs.SelectFuncButton("");
cFuncPays.SelectFuncButton("");
//기타 기능
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_1);
//TTS 결제 금액 사용 유무
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT309), "1") == "1")
{
CmUtil.SpeakByTTSEngine(m_cPosStatus.Base.Country, string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0239), m_cTrnStatus.Sale.NetSaleAmt), 150);
}
//*** MoonSeokWoo 2017.11.20 Edit
else if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT309), "1") == "2")
{
SetPlayMotMsg(PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, "");
}
//*** MoonSeokWoo 2017.11.20 End
DisplayPayment();
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, "");
//lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
DisplayItem(1, false);
pnlPayMainBack.Visible = true;
pnlPayMainBack.BringToFront();
pnlCardMot.Visible = true;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
public void ChangeShowPayBtn(bool bShowPayBtn)
{
try
{
// 결제화면 (이전 및 결제취소 버튼 숨기기기 처리)
if (bShowPayBtn == false)
{
BtnPayMain.ForeColor = BtnPayMain.BackColor;
BtnPayCanc.ForeColor = BtnPayCanc.BackColor;
}
else
{
BtnPayMain.ForeColor = Color.White;
BtnPayCanc.ForeColor = Color.White;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 결제 등록 리스트 초기화
/// </summary>
private void PayListInit()
{
try
{
lstPaymentList.Columns.Clear();
lstPaymentList.Columns.Add("PAY_NO", 0, HorizontalAlignment.Left);
lstPaymentList.Columns.Add("PAY_NM", 160, HorizontalAlignment.Left);
lstPaymentList.Columns.Add("PAY_AMT", 110, HorizontalAlignment.Right);
lstPaymentList.FullRowSelect = true;
lstPaymentList.Scrollable = true;
// 캠페인 등록 리스트 표시
lstCampaignList.Columns.Clear();
lstCampaignList.Columns.Add("CAMPAIGN_NO", 0, HorizontalAlignment.Left);
lstCampaignList.Columns.Add("CAMPAIGN_NM", 177, HorizontalAlignment.Left);
lstCampaignList.FullRowSelect = true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///// <summary>
///// TTS 음성 호출
///// </summary>
//private void TheradTTS()
//{
// Thread t = new Thread(new ThreadStart(TTSForPayAmt));
// t.Start();
//}
///// <summary>
///// 결제 금액 TTS 처리
///// </summary>
//private void TTSForPayAmt()
//{
// try
// {
// string stmp = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0239), m_cTrnStatus.Sale.NetSaleAmt);
// CmUtil.SpeakByTTSEngine(PosConst.TTS_VOICE_NAME.VOICE_ko_KR, stmp, 150);
// }
// catch (Exception ex)
// {
// UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
//}
/// <summary>
/// 포인트 카드 기능키
/// </summary>
/// <param name="sender"></param>
/// <param name="sFuncCode"></param>
private void cFuncPnts_FuncClickHandler(object sender, string sFuncCode)
{
try
{
//if (m_cPosStatus.Sale.DutchPayFlg == "2")
//{
// WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0286));
// return;
//}
//cFuncPnts.SelectFuncButton(sFuncCode);
//LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_1);
PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_1);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 제휴 할인 기능키
/// </summary>
/// <param name="sender"></param>
/// <param name="sFuncCode"></param>
private void cFuncDcs_FuncClickHandler(object sender, string sFuncCode)
{
try
{
//if (m_cPosStatus.Sale.DutchPayFlg == "2")
//{
// WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0286));
// return;
//}
//cFuncDcs.SelectFuncButton(sFuncCode);
//LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_2);
PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_2);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 결제 기능키
/// </summary>
/// <param name="sender"></param>
/// <param name="sFuncCode"></param>
private void cFuncPays_FuncClickHandler(object sender, string sFuncCode)
{
try
{
// -------------------------------------------------------------------------------------------
// 세브란스 직원식 상품 체크
// -------------------------------------------------------------------------------------------
string sRet = UserCom.RST_ERR;
sRet = m_cSaleMainProc.SeveranceiTemCheck(sFuncCode);
if (sRet != UserCom.RST_OK) return;
// -------------------------------------------------------------------------------------------
//cFuncPays.SelectFuncButton(sFuncCode);
//LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_3);
PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_3);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 결제 MOT 버튼 클릭
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnMotPay_Click(object sender, EventArgs e)
{
try
{
if (((UI.CsmButton)sender).Text == "") return;
//결제화면 전환시 부모 패널 Visible 가 false 이기 때문에 1개인 경우 자동 클릭이 안되서 null 체크함!
if (BtnMotPay02.Visible == false && e != null)
{
SetBtnMotPay();
}
else
{
if (((UI.CsmButton)sender) == BtnMotPayUp)
{
if (iNowPage == 1) return;
iNowPage -= 1;
SetBtnMotPay();
}
else if (((UI.CsmButton)sender) == BtnMotPayDown)
{
if (iNowPage == iMaxPage) return;
iNowPage += 1;
SetBtnMotPay();
}
else
{
string sTmp;
BtnMotPay01.Text = ((UI.CsmButton)sender).Text;
BtnMotPay01.Tag = ((UI.CsmButton)sender).Tag;
sTmp = BtnMotPay01.Tag.ToString();
string[] aParam = sTmp.Split(new string[] { "^" }, StringSplitOptions.None);
string sCnntId = aParam[0];
string sMsgFlg = aParam[1];
string sSeqNo = aParam[2];
string sImgPath = aParam[3];
picMotPayImg.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, sImgPath.Trim());
SetRichTbMotMsg(rtbMotPayTxt, sCnntId, sMsgFlg, sSeqNo);
BtnMotPay02.Visible = false;
BtnMotPay03.Visible = false;
BtnMotPay04.Visible = false;
BtnMotPay05.Visible = false;
BtnMotPayUp.Enabled = true;
BtnMotPayDown.Enabled = true;
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 리치텍스트 박스 포커스 방지
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void rtbMotDtl_Enter(object sender, EventArgs e)
{
try
{
if (sender is UI.CsmPosRichTextBox) DisplayInit(true, false);
this.txtInPut.Focus();
}
catch { }
}
/// <summary>
/// 종료키
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cBtnMain_Click(object sender, EventArgs e)
{
try
{
if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1")
|| (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING))
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 결제 완료 처리
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BtnPayMain.Text = "";
BtnPayCanc.ForeColor = BtnPayCanc.BackColor;
// 거래 완료 처리
m_cSaleMainProc.ExecuteSaleComplete();
// 판매대기 == 결제 완료 ==> 판매화면 판매대기 상태로 전환
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
{
ChangeSalePayMode(true);
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045);
BtnPayMain.BackColor = Color.FromArgb(74, 97, 118);
}
else
{
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0135);
}
BtnPayCanc.ForeColor = Color.White;
}
else
{
//1.포인트 조회 체크
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
{
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE))
{
//해피 포인트가 조회되어 있어 판매등록으로 갈 수 없습니다. 등록된 해피포인트를 취소하세요.
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0275));
return;
}
}
//결제 수단 등록 체크 --> 추후엔 취소 처리까지 고려~
//2.결제 체크
ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
foreach (Column.TR_PAYMENT.DATA cPayItem in alPayItem)
{
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.UNDECIDED.RESERVATION_COMPLETE)
{
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.NORMAL && !(cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.RESERVATION_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.RESERVATION.RESERVATION_PAY))
{
//결제가 등록되어 있어 판매등록으로 갈 수 없습니다. 등록된 결제를 취소 하세요.
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0276));
return;
}
}
else
{
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.NORMAL)
{
//결제가 등록되어 있어 판매등록으로 갈 수 없습니다. 등록된 결제를 취소 하세요.
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0276));
return;
}
}
}
bool bReservationCancel = false;
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.UNDECIDED.RESERVATION_COMPLETE)
{
if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0641)) == false)
{
return;
}
else
{
bReservationCancel = true;
}
}
// 판매모드 변경
//m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
if (m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY)
{
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.PAY_WAIT;
}
else
{
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
}
// 사은품 캠페인 취소 처리
ICampaignUs cCampaignMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
cCampaignMain.CancelCampaignPayment("", PosConst.SALE_PLU_INPUT_TYPE.FREEGIFT); //사은품 캠페인 등록 취소
cCampaignMain.ExecuteCampaignPluHappyPoint("", false, "", "", "", ""); // 상품 캠페인 계산
if (m_cPosStatus.Sale.DutchPayFlg == "1")
{
//더치 페이 상품이면 아이템 원복!
ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
for (int iRow = 0; iRow < aSaleItem.Count; iRow++)
{
Column.TR_PLU.DATA cSaleItem = (Column.TR_PLU.DATA)aSaleItem[iRow];
if (cSaleItem.DUTCH_PAY_CAN_DIV == "0" || cSaleItem.DUTCH_PAY_MAIN_CAN_DIV == "0")
{
cSaleItem.CANCEL_DIV = cSaleItem.DUTCH_PAY_CAN_DIV;
cSaleItem.CANCEL_DIV_MAIN = cSaleItem.DUTCH_PAY_MAIN_CAN_DIV;
cSaleItem.DUTCH_PAY_CAN_DIV = "";
cSaleItem.DUTCH_PAY_MAIN_CAN_DIV = "";
cSaleItem.SALE_QTY = cSaleItem.DUTCH_PAY_TOTQTY;
cSaleItem.DUTCH_PAY_TOTQTY = 0;
}
}
m_cPluService.ItemAmountExeccute(true, true);
DisplayInit(true, true);
}
if (bReservationCancel == true)
{
m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.LOG.STOP;
// 보류 후 거래 중지라면 로그 남기기!
if (m_cTrnStatus.Head.HoldStat != "")
m_cTrnStatus.Head.HoldStat = ItemConst.HOLD_STAT_CD.CANCEL;
// 테이블 거래 완료 처리
string sRet = m_cTableSvr.CompleteSaleOrder();
ISaleCompleteUs m_cSaleComplete = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE);
// 거래 완료 처리
sRet = m_cSaleComplete.PosSaleExecute(new string[] { });
if (sRet != UserCom.RST_OK) return;
// 판매상태 변경
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
//// 거래 완료 후 초기화 처리
DisplayInit(true, true);
//// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
DisplayItem(0, true);
ChangeSalePayMode(true);
if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT)
{
SaleMainExit();
return;
}
}
else
{
// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
DisplayItem(1, false);
ChangeSalePayMode(true);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 메인(상품등록 화면 이동)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (m_cPosStatus.Sale.PayingDutchFlag == "1")
{
m_cSaleMainProc.DutchPay("", "1");
//WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0284));
//return;
}
else
{
//더치페이 관련 함수들 초기화!
m_cPosStatus.Sale.DutchPayFlg = "";
m_cTrnStatus.Head.AmtDutchPayYn = "";
m_cPosStatus.Sale.PayingDutchFlag = "";
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void lblStep1_Click(object sender, EventArgs e)
{
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_1);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
private void lblStep2_Click(object sender, EventArgs e)
{
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_2);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
private void lblStep3_Click(object sender, EventArgs e)
{
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_3);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
#region
/// <summary>
/// 기능키 컨트롤 초기화 및 기능키 마스터 로딩
/// </summary>
/// <returns>성공/실패</returns>
public bool LoadFuncMasterPayment()
{
try
{
int iPntCnt = 0;
int iDcCnt = 0;
int iPayCnt = 0;
cFuncPnts.VisibleUpDown = false;
cFuncPnts.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
cFuncDcs.VisibleUpDown = false;
cFuncDcs.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
cFuncPays.VisibleUpDown = false;
cFuncPays.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
// 선택 컬러 지정!
Color clrTheme = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
cFuncPnts.SelectedBackColor = clrTheme;
cFuncPnts.SelectedForeColor = Color.WhiteSmoke;
cFuncPnts.BackColor = Color.FromArgb(159, 159, 159);
cFuncPnts.BorderColor = Color.FromArgb(159, 159, 159);
cFuncPnts.BorderLineSize = 1;
cFuncDcs.SelectedBackColor = clrTheme;
cFuncDcs.SelectedForeColor = Color.WhiteSmoke;
cFuncDcs.BackColor = Color.FromArgb(159, 159, 159);
cFuncDcs.BorderColor = Color.FromArgb(159, 159, 159);
cFuncDcs.BorderLineSize = 1;
cFuncPays.SelectedBackColor = clrTheme;
cFuncPays.SelectedForeColor = Color.WhiteSmoke;
cFuncPays.BackColor = Color.FromArgb(159, 159, 159);
cFuncPays.BorderColor = Color.FromArgb(159, 159, 159);
cFuncPays.BorderLineSize = 1;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 판매기본 기능키 로딩
DataTable dtFuncKey = m_cDataCommon.SeletFuncKeyGroup("");
#region .
gdtFuncKey = dtFuncKey;
#endregion
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 기능키 그룹 마스터가 없습니다
return false;
}
foreach (DataRow dr in dtFuncKey.Rows)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_GRP_ID); // 분류코드
cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번
cFuncInfo.sFuncCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능코드
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM).Replace("\n", PosConst.CRLF).Replace("\\n", PosConst.CRLF); // 기능 명
cFuncInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR)); // 백 컬러
cFuncInfo.cForeColor = Color.Black; //Color.White; // 명 컬러
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
cFuncInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_SIZE); // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_POINT_MENU)
{
cFuncInfo.nSeqNo = iPntCnt + 1;
cFuncPnts.AddFuncButtonInfo(cFuncInfo);
iPntCnt += 1;
iPntCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0);
}
else if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_DC_MENU)
{
cFuncInfo.nSeqNo = iDcCnt + 1;
cFuncDcs.AddFuncButtonInfo(cFuncInfo);
iDcCnt += 1;
iDcCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0);
}
else if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_PAY_MENU)
{
cFuncInfo.nSeqNo = iPayCnt + 1;
cFuncPays.AddFuncButtonInfo(cFuncInfo);
iPayCnt += 1;
iPayCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0);
}
}
// 포인트
cFuncPnts.SetFuncButtonCount(1, iPntCnt); // 버튼갯수 설정
cFuncPnts.DisplayFuncButton(PosKey.MENU_KEY.PAY_POINT_MENU); // 기능 버튼 표시
// 할인
cFuncDcs.SetFuncButtonCount(1, iDcCnt); // 버튼갯수 설정
cFuncDcs.DisplayFuncButton(PosKey.MENU_KEY.PAY_DC_MENU); // 기능 버튼 표시
// 결제
cFuncPays.SetFuncButtonCount(1, iPayCnt); // 버튼갯수 설정
cFuncPays.DisplayFuncButton(PosKey.MENU_KEY.PAY_PAY_MENU); // 기능 버튼 표시
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
#endregion
/// <summary>
/// 결제 바로가기 처리
/// </summary>
/// <param name="sFuncCode"></param>
/// <param name="iStep"></param>
private void PayComFuncion(string sFuncCode, string sStep)
{
try
{
if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1") ||
(m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING))
{
//#20171227 인천공항 포스연동 start, phj - #20180313
//0원 상품등록 하고 결제완료 시점에 대기번호 화면 오픈 -> 인천공항포스에서 일괄취소 -> 자사포스 기능키 또는 결제완료 버튼 누를 때
//대기번호화면을 닫으면 모드가 PosConst.SALE_FLOW.PAY_DOING 변경되어 아래 팝업이 뜨므로
//인천공항 포스로 상품,결제 재전송 할 수 없기 때문없다.
//인천공항 기능키 누를 때는 팝업 뜨지 않도록 수정!
//기존
//WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0569);
//return;
//변경
if (sFuncCode != PosKey.MENU_KEY.INCHEON_AIRPORT)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0569);
return;
}
//#20171227 인천공항 포스연동 end, phj - #20180313
}
BtnPayMain.ForeColor = BtnPayMain.BackColor;
BtnPayCanc.ForeColor = BtnPayCanc.BackColor;
tmrSaleTimer.Enabled = false;
//키유효성 체크
if (m_cDataCommon.FunctionKeyValidity(sFuncCode) == false)
{
WinManager.ConfirmMessage("(" + sFuncCode + ") " + MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0054));
return;
}
m_cPosStatus.Sale.SaleMainPayStep = sStep;
//#15606 제휴서비스 결제 프로세스 개선 start
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
//기존
//SetPaySetpDisp(sStep);
//변경
SetPaySetpDisp(sStep, sFuncCode);
//#15606 제휴서비스 결제 프로세스 개선 end
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, sFuncCode, "");
//this.rtbMotMain.Visible = false;
m_cSaleMainProc.PayMainProc(sFuncCode, "");
//this.rtbMotMain.Visible = true;
//#15606 제휴서비스 결제 프로세스 개선 start
//선택된 STEP MOT 표시
SetPaySetpDisp(sStep);
//#15606 제휴서비스 결제 프로세스 개선 end
//#20170828 해피포인트 적립 제외 버튼 추가 phj, start
//if (m_cTrnStatus.Head.HP_EXCLUDE_YN == "1") cFuncPnts.SelectDispButton(PosKey.MENU_KEY.HAPPY_SAVE_EXCLUDE, 0);
//#20170828 해피포인트 적립 제외 버튼 추가 phj, end
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, "");
//판매대기 == 결제 완료 ==> 판매화면 상품등록 대기 상태로 전환
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) ChangeSalePayMode(true);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
BtnPayMain.ForeColor = Color.White;
BtnPayCanc.ForeColor = Color.White;
tmrSaleTimer.Enabled = true;
CmUtil.IgnoreMouseClick(this); // 마우스 클릭 무시
}
}
/// <summary>
/// 상단 MOT 호출 처리
/// </summary>
/// <param name="sFuncCode"></param>
public void SetTopMot(string sFuncCode)
{
try
{
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, sFuncCode, "");
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 결제 스텝별 색상 변경
/// </summary>
/// <param name="sStep"></param>
//#15606 제휴서비스 결제 프로세스 개선 start
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
//기존
//private void SetPaySetpDisp(string sStep)
//변경
private void SetPaySetpDisp(string sStep, string sPosMenuKey = "")
//#15606 제휴서비스 결제 프로세스 개선 end
{
try
{
Color cBasic = Color.FromArgb(51, 51, 51);
Color cSelect = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor); //Color.FromArgb(31, 180, 236);
Color cNormalBox = Color.FromArgb(159, 159, 159);
//#15606 제휴서비스 결제 프로세스 개선 start
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
//기존
//LoadMotPayHdr(sStep);
//변경
LoadMotPayHdr(sStep, sPosMenuKey);
//#15606 제휴서비스 결제 프로세스 개선 end
for (int i = 1; i < 4; i++)
{
Panel pnl = null;
if (i == 1)
{
if (sStep == i.ToString())
{
lblPayStep1.ForeColor = cSelect;
pnlStep1.BackColor = cSelect;
}
else
{
lblPayStep1.ForeColor = cBasic;
pnlStep1.BackColor = cNormalBox;
}
pnl = pnlStep1;
}
else if (i == 2)
{
if (sStep == i.ToString())
{
lblPayStep2.ForeColor = cSelect;
pnlStep2.BackColor = cSelect;
}
else
{
lblPayStep2.ForeColor = cBasic;
pnlStep2.BackColor = cNormalBox;
}
pnl = pnlStep2;
}
else
{
if (sStep == i.ToString())
{
lblPayStep3.ForeColor = cSelect;
pnlStep3.BackColor = cSelect;
}
else
{
lblPayStep3.ForeColor = cBasic;
pnlStep3.BackColor = cNormalBox;
}
pnl = pnlStep3;
}
//foreach (Control control in pnl.Controls)
//{
// if (control is UI.CsmLabel)
// {
// if (sStep == i.ToString())
// {
// control.BackColor = Color.BlueViolet;
// control.ForeColor = Color.White;
// }
// else
// {
// control.BackColor = Color.White;
// control.ForeColor = Color.Black;
// }
// }
//}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 결제 MOT 헤더 로드
/// </summary>
/// <param name="iStep"></param>
//#15606 제휴서비스 결제 프로세스 개선 start
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
//기존
//private void LoadMotPayHdr(string sStep)
//변경
private void LoadMotPayHdr(string sStep, string sPosMenuKey)
//#15606 제휴서비스 결제 프로세스 개선 end
{
//헤더 로드
m_alMotDtl.Clear();
int iPage = 1;
int iSeq = 1;
SetMotPayInit();
//#15606 제휴서비스 결제 프로세스 개선 start
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
//기존
//DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sStep, "", "");
//변경
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sStep, sPosMenuKey, "");
//#15606 제휴서비스 결제 프로세스 개선 end
if (dt == null || dt.Rows.Count <= 0)
{
//SetMotPayInit();
return;
}
//배열 담기
foreach (DataRow dr in dt.Rows)
{
if (iSeq == 6)
{
iPage += 1;
iSeq = 1;
}
// 페이지 번호, 버튼명, 명, 태그 값
m_alMotDtl.Add(new string[] { iPage.ToString(), string.Format("{0}{1:00}",MotbtnName,iSeq), CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MOT_NM),
string.Format("{0}^{1}^{2}^{3}",CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MSG_TYPE),CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.CNNT_ID)
,CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SEQ_NO),CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.IMG_NM))
});
iSeq += 1;
}
// 보여주기
iNowPage = 1;
iMaxPage = iPage;
SetBtnMotPay();
if (dt.Rows.Count == 1)
BtnMotPay_Click(BtnMotPay01, null);
}
/// <summary>
/// 결제 MOT 버튼 셋팅
/// </summary>
/// <returns></returns>
public bool SetBtnMotPay()
{
try
{
SetMotPayInit();
if (m_alMotDtl == null || iMaxPage == 0)
{
return false;
}
int iStrtNum = 1;
foreach (string[] atmp in m_alMotDtl)
{
if (atmp[0] == iNowPage.ToString())
{
Cosmos.UI.CsmButton btnCtl = (Cosmos.UI.CsmButton)pnlCardMot.Controls[atmp[1]];
if (btnCtl != null)
{
btnCtl.Text = atmp[2];
btnCtl.Tag = atmp[3];
}
}
iStrtNum += 1;
}
if (iNowPage == 1)
{
BtnMotPayUp.Enabled = false;
}
else
{
BtnMotPayUp.Enabled = true;
}
if (iMaxPage == iNowPage)
{
BtnMotPayDown.Enabled = false;
}
else
{
BtnMotPayDown.Enabled = true;
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
/// <summary>
/// 리치박스 MOT 텍스트 설정
/// </summary>
/// <returns></returns>
public bool SetRichTbMotMsg(RichTextBox Richtb, string sMsgTp, string sMsgFlag, string sSeqNo)
{
try
{
Richtb.Text = "";
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
if (dt == null || dt.Rows.Count <= 0)
{
return false;
}
int iStrtNum = 0;
foreach (DataRow dr in dt.Rows)
{
string tmpStr = string.Empty;
tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG);
//Richtb.AppendText(tmpStr.Trim());
//Richtb.Select(iStrtNum, tmpStr.Trim().Length);
Richtb.AppendText(tmpStr);
Richtb.Select(iStrtNum, tmpStr.Length);
Richtb.SelectionColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_COLOR)); // 백 컬러
int iFontSize = CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE);
if (iFontSize <= 0)
iFontSize = 1;
Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, iFontSize);
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1")
{
Richtb.AppendText("\n");
iStrtNum += 1;
}
//iStrtNum += tmpStr.Trim().Length; // +1;
iStrtNum += tmpStr.Length; // +1;
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
/// <summary>
/// 코스모스 리치박스 MOT 텍스트 설정
/// </summary>
/// <returns></returns>
public bool SetCmsRichTbMotMsg(UI.CsmPosRichTextBox Richtb, string sMsgTp, string sMsgFlag, string sSeqNo)
{
try
{
Richtb.Text = "";
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
if (dt == null || dt.Rows.Count <= 0)
{
return false;
}
int iStrtNum = 0;
foreach (DataRow dr in dt.Rows)
{
string tmpStr = string.Empty;
tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG);
//Richtb.AppendText(tmpStr.Trim());
//Richtb.Select(iStrtNum, tmpStr.Trim().Length);
Richtb.AppendText(tmpStr);
Richtb.Select(iStrtNum, tmpStr.Length);
Richtb.SelectionColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_COLOR)); // 백 컬러
int iFontSize = CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE);
if (iFontSize <= 0)
iFontSize = 1;
Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, iFontSize);
//Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE));
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1")
{
Richtb.AppendText("\n");
iStrtNum += 1;
}
//iStrtNum += tmpStr.Trim().Length; // +1;
iStrtNum += tmpStr.Length; // +1;
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
/// <summary>
/// 라벨 mot 텍스트 설정
/// </summary>
/// <returns></returns>
public bool SetLabelMotMsg(Label txtControl, string sMsgTp, string sMsgFlag)
{
try
{
txtControl.Text = "";
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, "");
if (dt == null || dt.Rows.Count <= 0)
{
return false;
}
foreach (DataRow dr in dt.Rows)
{
string tmpStr = string.Empty;
tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG);
txtControl.Text += tmpStr;
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1")
{
txtControl.Text += "\n";
}
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
/// <summary>
/// 결제 MOT 초기화
/// </summary>
private void SetMotPayInit()
{
try
{
foreach (Control control in pnlCardMot.Controls)
{
if (control is UI.CsmButton)
{
if (control.Text != "∧" && control.Text != " ")
{
control.Text = "";
control.Tag = "";
control.Visible = true;
}
}
}
rtbMotPayTxt.Text = "";
picMotPayImg.Image = null;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
public bool SetPlayMotMsg(string sMsgTp, string sMsgFlag, string sSeqNo)
{
try
{
DataTable dtHead = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
if (dtHead != null && dtHead.Rows.Count > 0)
{
// 음성 사용 유무(0:미사용, 1:사용)
if (PosMstManager.GetPosOption(POS_OPTION.OPT309) == "2")
{
DataRow dr = dtHead.Rows[0];
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "01") // 00(없음), 01(WAVE), 02(TTS)
{
string sFilePath = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_NM);
CmUtil.PlaySound(sFilePath);
}
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "02") // 00(없음), 01(WAVE), 02(TTS)
{
CmUtil.SpeakByTTSEngine(m_cPosStatus.Base.Country, CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.TTS_DSCRP), 150);
}
}
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
/// <summary>
/// 결제등록 정보 화면 표시
/// </summary>
public void DisplayPayment()
{
try
{
cFuncPnts.SelectFuncButton("");
cFuncDcs.SelectFuncButton("");
cFuncPays.SelectFuncButton("");
lstPaymentList.Items.Clear();
// 결제 내역 받아 오기
ArrayList aPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
for (int iRow = 0; iRow < aPayItem.Count; iRow++)
{
Column.TR_PAYMENT.DATA cItem = (Column.TR_PAYMENT.DATA)aPayItem[iRow];
// 결제내역 리스트 표시
// 취소내역 표시 제외
if (cItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
//if (cItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
ListViewItem lvData = new ListViewItem(iRow.ToString());
lvData.SubItems.Add(cItem.OCCUR_ENTRY_20);
//// 결제수단 화면표시 여부
//if (cItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.PAY)
//{
// //lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.PAY_AMT));
// lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.AMT_ENTRY_01));
//}
lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.AMT_ENTRY_01) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName);
lstPaymentList.Items.Add(lvData);
// 결제 기능버튼 선택 처리
string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cItem.PAY_WAY_CD, cItem.PAY_DTL_CD_01);
if (sMenuKey != "")
{
cFuncPnts.SelectDispButton(sMenuKey, 0);
cFuncDcs.SelectDispButton(sMenuKey, 0);
cFuncPays.SelectDispButton(sMenuKey, 0);
// 제휴카드(통합) 할인 처리(2017.08.29) -- START
if (sMenuKey == PosKey.MENU_KEY.SKT || sMenuKey == PosKey.MENU_KEY.KT || sMenuKey == PosKey.MENU_KEY.LGT
//#20180413 웰컴카드 신규기능 추가 start,phj
|| sMenuKey == PosKey.MENU_KEY.WELCOMECARD_DC
//#20180413 웰컴카드 신규기능 추가 end,phj
|| sMenuKey == PosKey.MENU_KEY.OLIBANK || sMenuKey == PosKey.MENU_KEY.BLUE_MEMBERS || sMenuKey == PosKey.MENU_KEY.RED_MEMBERS)
{
cFuncPnts.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0);
cFuncDcs.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0);
cFuncPays.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0);
}
// 제휴카드(통합) 할인 처리(2017.08.29) -- END
}
}
if (lstPaymentList.Items.Count > 0)
{
lstPaymentList.Visible = true;
lstPaymentList.Items[lstPaymentList.Items.Count - 1].EnsureVisible();
}
// 해피포인트 등록 내역
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
//기존
//lblHappyPoint.Visible = false;
//변경
lblHappyPoint.Visible = true;
lblHappyPoint.Text = "";
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
{
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA))
{
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
/*
//*****************************************************************************
//5%기본대상금액계산
//*****************************************************************************
// 해피포인트 기본적립 대상 금액 획득
m_cTrnStatus.Head.AftSavePoint = cEtcItem.AMT_ENTRY_08 = m_cDataService.GetPluTagetAmount(PosKey.MENU_KEY.HAPPY_POINT);
// 캠페인(해피포인트 적립) 설정 처리
ICampaignUs CampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
CampaingMain.ExecuteCampaignHappyPointSave(PosConst.CAMPAIGN_PAY_KEY.HP_SAVE, null);
// 적립예정포인트
cEtcItem.ETC_AMT = (long)CmUtil.MathRounds(CmUtil.MathAmtPercent(cEtcItem.AMT_ENTRY_08, m_cPosStatus.Mst.HpyPntAccumRate), PosConst.MATH_ROUND.CEILING, 0);
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
{
if (m_cTrnStatus.Head.AftSaveAddInfo.Substring(25).StartsWith("N") == true) cEtcItem.ETC_AMT = 0;
}
*/
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
//if (cEtcItem.HP_CUST_NAME.Length > 2)
// lblHappyPoint.Text = " [ " + cEtcItem.HP_CUST_NAME.Substring(0, 1) + "*" + cEtcItem.HP_CUST_NAME.Substring(2) + " ]" + "\n\r";
//else
//#20180821 해피포인트 고객이름 마스킹 start
if (cEtcItem.HP_CUST_NAME != "") { cEtcItem.HP_CUST_NAME = m_cDataCommon.NameMasking(cEtcItem.HP_CUST_NAME); }
//#20180821 해피포인트 고객이름 마스킹 end
lblHappyPoint.Text = " [ " + cEtcItem.HP_CUST_NAME + " ]" + "\n\r";
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0228) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_03) + "\n\r"; // 누적포인트
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0229) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04) + "\n\r"; // 가용포인트
if (cEtcItem.HP_EXT_POINT > 0)
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0164) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.HP_EXT_POINT) + "\n\r"; // 소멸예정
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
//기존
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_08) + "\n\r"; // 대상금액
//변경
/*
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
{
double dAddSavePnt = 0;
dAddSavePnt = m_cDataService.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.Substring(10, 15)); //추가적립대상금액
dAddSavePnt = cEtcItem.AMT_ENTRY_08 + dAddSavePnt; //기본적립금액 + 추가적립대상금액
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(dAddSavePnt) + "\n\r"; // 대상금액
}
else
{
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_08) + "\n\r"; // 대상금액
}
*/
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
// 적립예정포인트에 추가적립예정포인트도 합산하여 표시(2017.06.19)
double nAddSavePnt = 0;
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
{
nAddSavePnt = m_cDataService.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.Substring(28, 7));
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
//cEtcItem.ETC_AMT = nAddSavePnt;
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
}
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
//기존
//1000원 미만일 경우 적립예정 포인트 미표시(2017.09.08)
if (cEtcItem.AMT_ENTRY_08 >= 1000)
//변경
//if (cEtcItem.AMT_ENTRY_08 >= 1000 || cEtcItem.AMT_ENTRY_08 == 0)
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
{
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0613) + ": " + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(cEtcItem.ETC_AMT, nAddSavePnt)) + "\n\r"; // 적립예정
}
//lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0613) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.ETC_AMT) + "\n\r"; // 적립예정
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0013) + ": " +
(cEtcItem.HP_PASSWORD_YN == "Y" ? MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0629) : MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0861)) + "\n\r"; // 비밀번호
lblHappyPoint.Visible = true;
// 결제 기능버튼 선택 처리
string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01);
if (sMenuKey != "") cFuncPnts.SelectDispButton(sMenuKey, 0);
break;
}
else if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)
{
string sName = cEtcItem.OCCUR_ENTRY_20.Trim();
lblHappyPoint.Text = " [ " + sName + " ]" + "\n\r";
//lblHappyPoint.Text = " [ OKCASHBACK ]" + "\n\r";
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0228) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_03) + "\n\r"; // 누적포인트
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0229) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04) + "\n\r"; // 가용포인트
lblHappyPoint.Visible = true;
// 결제 기능버튼 선택 처리
string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01);
if (sMenuKey != "") cFuncPnts.SelectDispButton(sMenuKey, 0);
break;
}
}
//#20170828 해피포인트 적립 제외 버튼 추가 phj, start
if (m_cTrnStatus.Head.HP_EXCLUDE_YN == "1")
{
// 해피포인트 적립제외를 선택 시 해당 컴포넌트 선택 상태로 변경
cFuncPnts.SelectDispButton(PosKey.MENU_KEY.HAPPY_SAVE_EXCLUDE, 0);
}
//#20170828 해피포인트 적립 제외 버튼 추가 phj, end
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
{
// 총수량, 총매출액
txtPayQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " "
+ m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
// 총 할인 금액
txtPayDiscountAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
txtPayVatSvc.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName + "/ "
+ m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
if (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.ChangeCashAmt > 0)
{
//결제 거스름
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
//결제 받은 금액
txtPayRecvAmt.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
//결제 거스름 금액
txtPayNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
else
{
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
//받은금액 표시
txtPayRecvAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RecvedPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
// 순매출액 표시 처리
txtPayNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RemainPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
}
else
{
// 총수량, 총매출액
txtPayQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
// 총 할인 금액
//txtPayDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
// m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? -1 : 1));
txtPayDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt);
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
txtPayVatSvc.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) + "/ " +
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt);
}
if (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.ChangeCashAmt > 0)
{
//결제 거스름
//lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
//결제 받은 금액
txtPayRecvAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt));
//결제 거스름 금액
txtPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt);
}
else
{
//받은금액 표시
txtPayRecvAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RecvedPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
// 순매출액 표시 처리
txtPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RemainPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
}
}
if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1")
|| (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING))
{
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0135);
BtnPayMain.BackColor = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
if (BtnPayMain.ForeColor != Color.White) BtnPayMain.ForeColor = BtnPayMain.BackColor;
}
else
{
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045);
BtnPayMain.BackColor = Color.FromArgb(74, 97, 118);
}
m_cCustDisp.DisplaySaleItemList(false, true, 0); // 고객화면 표시
// 캠페인 적용 내역 표시
lstCampaignList.Items.Clear();
ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
foreach (Column.TR_PLU.DATA cPluItem in alPluItem)
{
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") continue;
//string sCampaingName = "";
if (cPluItem.CPI_DC_AMT > 0 && cPluItem.alTrSaleCpi != null)
{
foreach (Column.TR_SALE_CPI_RSLT.DATA cTrPluCpi in cPluItem.alTrSaleCpi)
{
if (cTrPluCpi.DC_SUM_AMT > 0)
{
string sCampaingName = cCampaingMain.GetCampaignName(cTrPluCpi.CPI_CD, 0);
if (sCampaingName == "") continue;
bool bExistCampaign = false;
for (int i = 0; i < lstCampaignList.Items.Count; i++)
{
if (sCampaingName == lstCampaignList.Items[i].SubItems[1].Text)
{
bExistCampaign = true;
break;
}
}
if (bExistCampaign == false)
{
ListViewItem lvData = new ListViewItem(lstCampaignList.Items.Count.ToString());
lvData.SubItems.Add(sCampaingName);
//lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(0));
lstCampaignList.Items.Add(lvData);
}
}
}
}
}
if ( lstCampaignList.Items.Count > 0)
{
lblCampaignList.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0400);
lblCampaignList.Visible = true;
lstCampaignList.Visible = true;
}
else
{
lblCampaignList.Visible = false;
lstCampaignList.Visible = false;
}
//#16577 결제창 내부 봉투 추가 기능 도입 start
if (PosMstManager.GetPosOption(POS_OPTION.OPT555) == "1")
{
//캠페인 정보 미표시
lblCampaignList.Visible = false;
lstCampaignList.Visible = false;
PnlAddBag.Visible = true;
}
else
{
PnlAddBag.Visible = false;
}
//#16577 결제창 내부 봉투 추가 기능 도입 end
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 결제 취소
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnCanc_Click(object sender, EventArgs e)
{
string sRet;
string sCardInfo = "", sPassWord = "";
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
//#Rhee, 20180221 미주 상품 결제취소시 메인화면으로 가기 추가 Start
if(m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS))
{
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.PAY_WAIT;
}
//#Rhee, 20180221 미주 상품 결제취소시 메인화면으로 가기 추가 End
int iListIndex = 0;
if (lstPaymentList.Items.Count > 0)
{
#region
// 미선택 null 예외처리
if (lstPaymentList.FocusedItem == null) lstPaymentList.Items[lstPaymentList.Items.Count - 1].Focused = true;
iListIndex = lstPaymentList.FocusedItem.Index;
int iRow = CmUtil.IntParse(lstPaymentList.Items[iListIndex].SubItems[0].Text);
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return;
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CPI_PAY_ITEM)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0622);
return;
}
// SKT할인 인 경우, T페이 통합결제 여부 확인 후 T페이 통합결제 ITEM으로 취소 처리
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT
&& string.IsNullOrWhiteSpace(cPayItem.OCCUR_ENTRY_15) == false)
{
#region
string[] aRet = new string[1];
IPaymentUs cTPayService = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.TPAY);
sRet = cTPayService.SearchPayment(new string[] { PosConst.TPAY_SEARCH_TYPE.TPAY_ITEM, cPayItem.OCCUR_ENTRY_15 }, ref aRet);
if (sRet == UserCom.RST_OK)
{
iRow = CmUtil.IntParse(aRet[0]);
cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
}
#endregion
}
//Cat단말기 승인이면 처리! 또는 X-CHARGE
if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.CAT_TERMINAL || cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.X_CHARGE)
{
sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString(), "" });
}
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 Start, srlee
//else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM && cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
else if (((cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM)
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HPGIFT_CARD))
&& cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 End, srlee
{
#region
// 카드 입력 받기!
sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" });
if (sCardInfo == "") return;
sPassWord = sCardInfo.Substring(0, 20).Trim();
sCardInfo = sCardInfo.Substring(20);
if (CmUtil.MidH(sCardInfo, 0, 2) == "00")
{
cPayItem.CanFiller1 = sCardInfo;
sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString(), sCardInfo });
}
#endregion
}
else
{
#region
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY)
{
#region
// 카드 입력 받기!
sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "Y" });
if (sCardInfo == "") return;
sPassWord = sCardInfo.Substring(0, 20).Trim();
sCardInfo = sCardInfo.Substring(20);
// T페이
cPayItem.CanFiller2 = sPassWord; // 비밀번호
cPayItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1); // 입력구분
cPayItem.CanFiller1 = sCardInfo.Substring(1); // 카드번호
#endregion
}
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- START
else if ((cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY) // 스마일페이
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY) // T페이
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.OKCASHBACK_POINT) // 캐시백
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.SAMSUNG_POINT) // 삼성포인트
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT) // 해피기프트
//|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC_PAY)
//|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
)
{
#region
// OLD
//else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT // 제휴할인(통신사,제휴카드)
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY) // 스마일페이
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY) // T페이
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.OKCASHBACK_POINT) // 캐시백
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.SAMSUNG_POINT) // 삼성포인트
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT) // 해피기프트
// //|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC_PAY)
// //|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
// )
//{
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- END
// 카드 입력 받기!
sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" });
if (sCardInfo == "") return;
sPassWord = sCardInfo.Substring(0, 20).Trim();
sCardInfo = sCardInfo.Substring(20);
cPayItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1);
cPayItem.CanFiller1 = sCardInfo.Substring(1);
#endregion
}
sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString() });
//=============================================
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
//=============================================
#region (2017.11.01)
if (m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "")
{
if (cPayItem.PAY_WAY_CD == "03")
{
m_cPosStatus.Sale.strMobileUnityCardNo = "";
if (m_cPosStatus.Sale.strPriorReading_Title[0] == "SKT" || m_cPosStatus.Sale.strPriorReading_Title[0] == "KT" ||
//#20180413 웰컴카드 신규기능 추가 start,phj
m_cPosStatus.Sale.strPriorReading_Title[0] == "MC" ||
//#20180413 웰컴카드 신규기능 추가 end,phj
m_cPosStatus.Sale.strPriorReading_Title[0] == "LGT")
{
if (m_cPosStatus.Sale.strPriorReading_Title[1] != "")
{
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strPriorReading_Title[1];
m_cPosStatus.Sale.strPriorReading_Title[1] = "";
}
else
{
m_cPosStatus.Sale.strPriorReading_Title[0] = "";
}
}
else
{
m_cPosStatus.Sale.strPriorReading_Title[1] = "";
}
}
}
#endregion
#endregion
}
#endregion
}
else
{
for (int iRow = 0; iRow < alEtcItem.Count; iRow++)
{
#region
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[iRow];
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
if (cEtcItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.CAT_TERMINAL)
{
sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString(), "" });
}
else if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE))
{
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- START
//if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)
//{
// // 카드 입력 받기!
// sCardInfo = m_cPayCancel.SetPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.OCCUR_ENTRY_01, cEtcItem.ETC_AMT.ToString(), cEtcItem.OCCUR_ENTRY_20, cEtcItem.OCCUR_ENTRY_05, cEtcItem.ETC_DTL_CD_01, "N" });
// if (sCardInfo == "") return;
// sPassWord = sCardInfo.Substring(0, 20).Trim();
// sCardInfo = sCardInfo.Substring(20);
// cEtcItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1);
// cEtcItem.CanFiller1 = sCardInfo.Substring(1);
//}
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- END
sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString() });
//=============================================
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
//=============================================
#region (2017.11.01)
if (m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "")
{
if (cEtcItem.ETC_WAY_CD == "80")
{
m_cPosStatus.Sale.strHappyPointCardNo = "";
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
m_cPosStatus.Sale.strEmpInfo = "";
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
if (m_cPosStatus.Sale.strPriorReading_Title[0] == "HPC")
{
m_cPosStatus.Sale.strPriorReading_Title[0] = "";
}
if (m_cPosStatus.Sale.strPriorReading_Title[1] == "HPC")
{
m_cPosStatus.Sale.strPriorReading_Title[1] = "";
}
}
}
#endregion
}
#endregion
}
}
DisplayItem(0, false);
DisplayPayment();
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
//여전법 대응!
//////////////////////////////////////////////////////////////////////////////////
CmUtil.ZeroFillClear(ref sCardInfo);
//////////////////////////////////////////////////////////////////////////////////
}
}
private void lblHappyPoint_Click(object sender, EventArgs e)
{
string sRet;
string sCardInfo = "", sPassWord = "";
try
{
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
for (int iRow = 0; iRow < alEtcItem.Count; iRow++)
{
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[iRow];
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE))
{
if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0406)) == true)
{
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)
{
if (cEtcItem.OCCUR_ENTRY_08 != ItemConst.PAY_APP_DIV.CAT_TERMINAL)
{
// 카드 입력 받기!
sCardInfo = m_cPayCancel.SetPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.OCCUR_ENTRY_01, cEtcItem.ETC_AMT.ToString(), cEtcItem.OCCUR_ENTRY_20, cEtcItem.OCCUR_ENTRY_05, cEtcItem.ETC_DTL_CD_01, "N" });
if (sCardInfo == "") return;
sPassWord = sCardInfo.Substring(0, 20).Trim();
sCardInfo = sCardInfo.Substring(20);
cEtcItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1);
cEtcItem.CanFiller1 = sCardInfo.Substring(1);
}
}
sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString() });
DisplayItem(0, false);
DisplayPayment();
}
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
//여전법 대응!
//////////////////////////////////////////////////////////////////////////////////
CmUtil.ZeroFillClear(ref sCardInfo);
//////////////////////////////////////////////////////////////////////////////////
}
}
/// <summary>
/// 결제 수단 반품 처리
/// </summary>
/// <param name="iRow"></param>
/// <returns></returns>
public string ReturnPay(int iRow)
{
string sPassWord = "";
string sRet = UserCom.RST_ERR;
try
{
ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return sRet;
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM)
{
if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
{
// 카드 입력 받기!
string sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" });
if (sCardInfo == "") return sRet;
sPassWord = sCardInfo.Substring(0, 20).Trim();
sCardInfo = sCardInfo.Substring(20);
if (CmUtil.MidH(sCardInfo, 0, 2) == "00")
{
cPayItem.CanFiller1 = sCardInfo;
sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString(), sCardInfo });
}
}
else
{
sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString() });
}
}
else
{
sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString() });
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return sRet;
}
///// <summary>
///// 결제 취소
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
//private void BtnCanc_Click(object sender, EventArgs e)
//{
// string sRet;
// try
// {
// m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
// int iListIndex = 0;
// if (lstPaymentList.Items.Count > 0)
// {
// // 미선택 null 예외처리
// if (lstPaymentList.FocusedItem == null) lstPaymentList.Items[lstPaymentList.Items.Count - 1].Focused = true;
// iListIndex = lstPaymentList.FocusedItem.Index;
// int iRow = CmUtil.IntParse(lstPaymentList.Items[iListIndex].SubItems[0].Text);
// ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
// Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
// if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return;
// // 결제 수단 취소
// //m_cPayCanCom.CancelPayment(new string[] { clPayItem.PAY_WAY_CD, clPayItem.PAY_DTL_CD_01, iRow.ToString() });
// switch (cPayItem.PAY_WAY_CD)
// {
// case ItemConst.TR_ITEM_ID.CREDITCARD_ITEM:
// {
// IPaymentUs m_cPayCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CREDITCARD);
// if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
// {
// //카드 입력 받기!
// string sCardInfo = WinPay.ShowForm(new string[] { FormManager.FORM_INPUT_CARD, "", cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20 });
// if(CmUtil.MidH(sCardInfo,0,2) == "00")
// {
// sRet = m_cPayCard.CancelPayment(new string[] { iRow.ToString(), sCardInfo });
// }
// }
// else
// {
// sRet = m_cPayCard.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.MOBILE_COM_POINT: //제휴 통신사 할인 취소
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KTF || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_LGT)
// {
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMOBILECOM);
// sRet = cMobileComPoint.CancelPayment(new string[] { iRow.ToString() });
// }
// else
// {
// IPaymentUs cMemberPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMEMBERUSE);
// sRet = cMemberPointUse.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.CASH_ITEM:
// {
// IPaymentUs m_cPayCash = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CASH);
// sRet = m_cPayCash.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.COUPON_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.COUPON.INCARD)
// {
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYCOUPON);
// sRet = cMobileComPoint.CancelPayment(new string[] { iRow.ToString() });
// }
// else
// {
// IPaymentUs m_cCouponDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.COUPONDC);
// sRet = m_cCouponDC.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.MOBILECON_ITEM:
// {
// IPaymentUs m_cMobileCoupon= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MOBILECOUPON);
// sRet = m_cMobileCoupon.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.EMP_DC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SEVERANCE)
// {
// IPaymentUs m_cSeveranceDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC);
// sRet = m_cSeveranceDC.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
// {
// IPaymentUs m_cSPCEmployeeDC= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEDC);
// sRet = m_cSPCEmployeeDC.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SAMSUNGCARD)
// {
// WinManager.ConfirmMessage("카드 결제 내역을 취소 하세요.");
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.POINT_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT)
// {
// IPaymentUs cHappyPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINTUSE);
// sRet = cHappyPointUse.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.USER_DC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.USER_DC.IN_EMP_DC)
// {
// // 입점건물직원할인 취소
// IPaymentUs ciNStorDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.iNStorDC);
// sRet = ciNStorDC.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.PAYETC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
// {
// // 식권취소
// IPaymentUs cMealTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MEALTICKET);
// sRet = cMealTicket.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER)
// {
// // 잔액교환권 취소
// IPaymentUs cExchangeTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.EXCHANGETICKET);
// sRet = cExchangeTicket.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.GIFT_ITEM :
// {
// // 상품권 취소
// IPaymentUs cGift= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.GIFT);
// sRet = cGift.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.CREDIT_ITEM:
// {
// // 외상 취소
// IPaymentUs cSaleOnCustomer = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SALEONCUSTOMER);
// sRet = cSaleOnCustomer.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.FOREIGNEX_ITEM:
// {
// // 외화 취소
// IPaymentUs cForeign = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.FOREIGN);
// sRet = cForeign.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.PPCARD_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.PP_CARD)
// {
// // 선불카드 취소
// IPaymentUs cPrepaidCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.PREPAIDCARD);
// sRet = cPrepaidCard.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT)
// {
// // 해피 기프트 사용 취소
// IPaymentUs cHappyGiftUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HAPPYGIFTUSE);
// sRet = cHappyGiftUse.CancelPayment(new string[] { iRow.ToString(), "1" });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.EMP_PAY_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.SPC)
// {
// // SPC 임직원 결제 취소
// IPaymentUs cSPCEmployeeUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEUSE);
// sRet = cSPCEmployeeUse.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.SEVERANCE)
// {
// // 세브란스 직원 결제 취소
// IPaymentUs cSeverancePay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC);
// sRet = cSeverancePay.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.OURHOME)
// {
// // 아워홈 직원 결제 취소
// IPaymentUs cOurHome= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.OURHOME);
// sRet = cOurHome.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.PAY_ITEM:
// {
// // 알리페이 취소
// IPaymentUs cAlipay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.ALIPAY );
// sRet = cAlipay.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// default:
// {
// break;
// }
// }
// }
// else
// {
// ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
// for (int nRow = 0; nRow < alEtcItem.Count; nRow++ )
// {
// Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[nRow];
// if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
// if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
// {
// // 해피포인트 적립 취소
// IPaymentUs cHappyPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT);
// sRet = cHappyPoint.CancelPayment(new string[] { nRow.ToString() });
// break;
// }
// }
// }
// DisplayPayment();
// m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
// }
// catch (Exception ex)
// {
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
//}
///// <summary>
///// 결제 수단 반품 처리
///// </summary>
///// <param name="iRow"></param>
///// <returns></returns>
//public string ReturnPay(int iRow)
//{
// string sRet = UserCom.RST_ERR;
// try
// {
// ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
// Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
// if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return sRet;
// switch (cPayItem.PAY_WAY_CD)
// {
// case ItemConst.TR_ITEM_ID.CREDITCARD_ITEM:
// {
// IPaymentUs m_cPayCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CREDITCARD);
// if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
// {
// //카드 입력 받기!
// string sCardInfo = WinPay.ShowForm(new string[] { FormManager.FORM_INPUT_CARD, "", cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20 });
// if (CmUtil.MidH(sCardInfo, 0, 2) == "00")
// {
// sRet = m_cPayCard.RefundPayment(new string[] { iRow.ToString(), sCardInfo });
// }
// }
// else
// {
// sRet = m_cPayCard.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.MOBILE_COM_POINT: //제휴 통신사 할인 취소
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KTF || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_LGT)
// {
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMOBILECOM);
// sRet = cMobileComPoint.RefundPayment(new string[] { iRow.ToString() });
// }
// else
// {
// IPaymentUs cMemberPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMEMBERUSE);
// sRet = cMemberPointUse.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.CASH_ITEM:
// {
// IPaymentUs m_cPayCash = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CASH);
// sRet = m_cPayCash.RefundPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.COUPON_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.COUPON.INCARD)
// {
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYCOUPON);
// sRet = cMobileComPoint.RefundPayment(new string[] { iRow.ToString() });
// }
// else
// {
// IPaymentUs m_cCouponDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.COUPONDC);
// sRet = m_cCouponDC.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.MOBILECON_ITEM:
// {
// IPaymentUs m_cMobileCoupon = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MOBILECOUPON);
// sRet = m_cMobileCoupon.RefundPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.EMP_DC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SEVERANCE)
// {
// IPaymentUs m_cSeveranceDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC);
// sRet = m_cSeveranceDC.RefundPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
// {
// IPaymentUs m_cSPCEmployeeDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEDC);
// sRet = m_cSPCEmployeeDC.RefundPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SAMSUNGCARD)
// {
// WinManager.ConfirmMessage("카드 결제 내역을 취소 하세요.");
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.POINT_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT)
// {
// IPaymentUs cHappyPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINTUSE);
// sRet = cHappyPointUse.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.USER_DC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.USER_DC.IN_EMP_DC)
// {
// // 입점건물직원할인 취소
// IPaymentUs ciNStorDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.iNStorDC);
// sRet = ciNStorDC.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.PAYETC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
// {
// // 식권취소
// IPaymentUs cMealTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MEALTICKET);
// sRet = cMealTicket.RefundPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER)
// {
// // 잔액교환권 취소
// IPaymentUs cExchangeTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.EXCHANGETICKET);
// sRet = cExchangeTicket.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.GIFT_ITEM:
// {
// // 상품권 취소
// IPaymentUs cGift = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.GIFT);
// sRet = cGift.RefundPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.CREDIT_ITEM:
// {
// // 외상 취소
// IPaymentUs cSaleOnCustomer = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SALEONCUSTOMER);
// sRet = cSaleOnCustomer.RefundPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.RESERVATION_ITEM:
// {
// // 외상 취소
// IPaymentUs cReservPay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.RESERVED_PAY);
// sRet = cReservPay.RefundPayment(new string[] { iRow.ToString() });
// break;
// }
// default:
// {
// break;
// }
// }
// }
// catch (Exception ex)
// {
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
// return sRet;
//}
private void tmrCustCount_Tick(object sender, EventArgs e)
{
tmrCustCount.Enabled = false;
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_END)
{
this.SaleMainExit();
return;
}
else
{
m_cPosStatus.Sale.ScreenSaverTime = ""; // 화면보호기 대기시간 설정
if (PosMstManager.GetPosOption(POS_OPTION.OPT203) == "1")
{
//string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_SERVER });
//string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_ETC_SERVER_REG });
lblTableInfo_Click(null, null);
}
// 고객수 입력
if (PosMstManager.GetPosOption(POS_OPTION.OPT004) == "3")
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "1") //결제 고객
{
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_AGE, "PAY" });
if (sRet != UserCom.RST_ERR)
{
m_cTrnStatus.Head.PayGndrDiv = CmUtil.MidH(sRet, 0, 1);
m_cTrnStatus.Head.PayAge = CmUtil.LongParse(CmUtil.MidH(sRet, 1, 2));
}
}
else if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "2") //상세고객수
{
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_AGE, "" });
}
else if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "3") //고객수
{
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_USER_INPUT_DATA, PosConst.FRM_INPUT_DATA.GUEST_CNT });
if (sRet != UserCom.RST_ERR)
{
m_cTrnStatus.Head.CustCnt = CmUtil.IntParse(sRet);
}
}
else
{
//미사용
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
}
private void rtbMotSale_Click(object sender, EventArgs e)
{
DisplayInit(true, false);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
private void btnItemGridUpDown_Click(object sender, EventArgs e)
{
try
{
#if true //grayber@20171213 부가메뉴 등록중 일때 동작 개선 start
// 부가메뉴 등록중일때 스클롤 버튼으로 부가메뉴가 닫히지 않도록 처리
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0022);
return;
}
#endif //grayber@20171213 부가메뉴 등록중 일때 동작 개선 end
// 선불카드모드에서 선불카드 등록패널 사라지지 않게 수정(2017.06.22) - 중국만 적용
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.CN)
{
if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
&& m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
}
else
{
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
if ((UI.CsmButton)sender == btnItemGridUp)
{
SaleItemGrid.ButtonUpProc();
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
}
else if ((UI.CsmButton)sender == btnItemGridTop)
{
SaleItemGrid.ButtonTopProc();
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
}
else if ((UI.CsmButton)sender == btnItemGridDown)
{
SaleItemGrid.ButtonDownProc();
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
}
else if ((UI.CsmButton)sender == btnItemGridBottom)
{
SaleItemGrid.ButtonBottomProc();
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void picCampaign_Click(object sender, EventArgs e)
{
picCampaign.Visible = false;
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
private void padInPut_Click(object sender, EventArgs e)
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
private void lblIFStatus_Click(object sender, EventArgs e)
{
try
{
string sMenuKey = string.Empty;
if ((Cosmos.UI.CsmLabel)sender == lblIFStatus1) // 해피오더
{
sMenuKey = "";
}
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus2) // 빚은몰
{
sMenuKey = PosKey.MENU_KEY.WEB_BIZEUN_MALL;
}
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus3) // 이지웰
{
sMenuKey = PosKey.MENU_KEY.WEB_EZWELL;
}
if (WinBasic.CheckMenuKeyAuth(sMenuKey) == false) return; // 기능키 판매원 권한 체크
//string sMngAuth = PosMstManager.GetMstPicAuth(m_cPosStatus.Base.CashierNo + sMenuKey);
//switch (sMngAuth)
//{
// case PosConst.MNG_AUTH_DIV.NON_PERMISSION:
// WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0308), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0505), false);
// return;
// case PosConst.MNG_AUTH_DIV.PERMISSION:
// break;
// case PosConst.MNG_AUTH_DIV.SUPERVISOR:
// if (WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_ADMIN }) == UserCom.RST_ERR) return;
// //string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_CASHIER_INPUT, "Supervisor" });
// //if (sRet != UserCom.RST_OK)
// //{
// // return;
// //}
// break;
//}
if ((Cosmos.UI.CsmLabel)sender == lblIFStatus1) // 해피오더
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
{
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 start
// 상품 등록 중일 경우 빠져 나간다.
//변경
ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
if (alSaleItem.Count > 0)
{
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021));
return;
}
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 end
tmrSaleTimer.Stop();
//#20180615 해피오더 팝업 수정 start
//기존
//WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_POPUP, "NORMAL" });
//변경
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" });
//#20180615 해피오더 팝업 수정 end
tmrSaleTimer.Start();
}
}
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus2) // 빚은몰
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT036) == "1")
{
WinBasic.ShowWebPos(PosKey.MENU_KEY.WEB_BIZEUN_MALL, true);
//WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_BIZEUN, PosKey.MENU_KEY.WEB_BIZEUN_MALL });
}
}
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus3) // 이지웰
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT037) == "1")
{
WinBasic.ShowWebPos(PosKey.MENU_KEY.WEB_EZWELL);
//WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_EZWELW, PosKey.MENU_KEY.WEB_EZWELL });
}
}
else if ((Cosmos.UI.CsmLabel)sender == lblOwnerPart) // 점주알바WEB
{
WinBasic.ShowWebPos(PosKey.MENU_KEY.OWNER_WEB);
//ShowOwnerPartWeb(PosKey.MENU_KEY.OWNER_WEB);
}
else if ((Cosmos.UI.CsmLabel)sender == lblAnniv) // 기념일배송
{
lblAnniv.Tag = "";
lblAnniv.BackColor = Color.FromArgb(34, 34, 34);
//디비업데이트
m_cDataCommon.UpdateEtcNoticeProcess("05", null);
WinBasic.ShowWebPos(PosKey.MENU_KEY.REMB_ORDER_PRINT);
//ShowOwnerPartWeb(PosKey.MENU_KEY.REMB_ORDER_PRINT);
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#region SLIDE
/// <summary>
/// SLIDE 메뉴
/// </summary>
/// <param name="sPosMenuKeyIn"></param>
private void MenuSlideList()
{
try
{
m_alMenuHead = new ArrayList();
m_alMenuProc = new ArrayList();
DataTable dtFuncKey = null;
// SLIDE메뉴 들어갈 시에도 권한체크(2017.07.07)
// 키 그룹 판매원 권한 체크
if (WinBasic.CheckMenuKeyAuth(m_sPosMenuKeyIn) == false) return;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//헤더 로드
dtFuncKey = m_cDataCommon.SeletFuncKey(m_sPosMenuKeyIn);
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
//return;
}
else
{
foreach (DataRow dr in dtFuncKey.Rows)
{
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY.DATA.FUNC_NM); // 기능명
m_alMenuHead.Add(new string[] { m_sPosMenuKeyIn, sPosName });
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (m_SlideMenuKey == PosKey.MENU_KEY.FOREIGNERS_RESPONSE)
{
dtFuncKey = m_cDataCommon.SeletCommonCode(PosConst.COMMON_CODE_GROUP.Z0017, "");
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
return;
}
else
{
foreach (DataRow dr in dtFuncKey.Rows)
{
string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.DISP_SEQ); // 표시순번
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CD_NM); // 기능명
string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CMM_CD); // 기능키
//if (CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01) == "1")
m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장
}
}
}
else if (m_sPosMenuKeyIn == PosKey.MENU_KEY.TOP_MENU_WEB)
{
dtFuncKey = m_cDataCommon.SeletMstWebLinkMst("");
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
return;
}
else
{
int seqIndex = 0;
foreach (DataRow dr in dtFuncKey.Rows)
{
//string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.DISP_SEQ); // 표시순번
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.MENU_NM); // 기능명
string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.FUNC_ID); // 기능키
//if (CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.DIV) == "2")
//{
seqIndex = seqIndex + 1;
string sDispSeq = Convert.ToString(seqIndex); // 표시순번
m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장
//}
}
}
}
else
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 판매기본 기능키 로딩
dtFuncKey = m_cDataCommon.SeletFuncKeyGroup(m_sPosMenuKeyIn);
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
return;
}
else
{
foreach (DataRow dr in dtFuncKey.Rows)
{
string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM); // 기능명
string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능키
m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장
}
}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// SLIDE 메뉴 컨트롤 초기화
/// </summary>
private void SlideInitControl()
{
try
{
// 이미지 로딩 처리
//picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_SIZE_S);
//this.Location = new Point(216, 173);
//this.Size = new Size(788, 402);
//FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT);
// 메뉴 타이틀 출력
foreach (string[] aMenu in m_alMenuHead)
{
if (aMenu[0] == m_sPosMenuKeyIn)
{
//lblTitle.Text = aMenu[1];
break;
}
}
m_nTopPos = 0;
SlideMenuDisplay(); //화면에 메뉴 표시
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// SLIDE 화면에 메뉴 표시
/// </summary>
private void SlideMenuDisplay()
{
try
{
int nMax = 0;
// 메뉴 상세 초기화
foreach (object obj in m_htMenuControls.Values)
{
Cosmos.UI.CsmLabel btnCtl = (Cosmos.UI.CsmLabel)obj;
btnCtl.Text = "";
btnCtl.Tag = "";
// btnCtl.Visible = false;
}
//0:메뉴항목, 1:위치, 2:표시텍스트, 3:기능키값
foreach (string[] aMenu in m_alMenuProc)
{
if (aMenu[0] == m_sPosMenuKeyIn)
{
nMax = m_htMenuControls.Count;
int nPos = int.Parse(aMenu[1]); // 표시위치
if (nPos > m_nTopPos && nPos <= m_nTopPos + nMax)
{
Cosmos.UI.CsmLabel btnCtl = (Cosmos.UI.CsmLabel)m_htMenuControls[(nPos - 1) % nMax];
btnCtl.Text = aMenu[2];
btnCtl.Tag = aMenu[3];
//btnCtl.Visible = true;
}
}
}
SlideSetNavigationBtn(m_alMenuProc.Count);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 네비게이션 표시 변경
/// </summary>
/// <param name="nMax"></param>
private void SlideSetNavigationBtn(int nMax)
{
try
{
if (m_nTopPos == 0)
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DEFAULT);
//btnUp.Text = "■";
else
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DIM);
//btnUp.Text = "◀";
if (m_nTopPos + 7 < nMax)
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DIM);
//btnDown.Text = "▶";
else
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DEFAULT);
//btnDown.Text = "■";
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void SlideSetMenuBtn()
{
try
{
#region
// 메뉴버튼
m_htMenuControls = new Hashtable();
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu01);
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu02);
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu03);
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu04);
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu05);
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu06);
//m_htMenuControls.Add(m_htMenuControls.Count, btnMenu07);
picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG);
btnMenu01.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
btnMenu02.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
btnMenu03.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
btnMenu04.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
btnMenu05.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
btnMenu06.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG);
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DEFAULT);
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DEFAULT);
//picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath + @"Btn\", "popup_bg.png");
#endregion
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 기능 버튼 입력 처리
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSlideFuncProc_Click(object sender, EventArgs e)
{
try
{
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString());
if (((Cosmos.UI.CsmLabel)sender) == btnUp)
{
int nMax = m_htMenuControls.Count;
if (m_nTopPos > 0)
{
m_nTopPos -= nMax;
SlideMenuDisplay();
}
}
else if (((Cosmos.UI.CsmLabel)sender) == btnDown)
{
int nMax = m_htMenuControls.Count;
foreach (string[] aMenu in m_alMenuProc)
{
if (aMenu[0] == m_sPosMenuKeyIn)
{
if (int.Parse(aMenu[1]) > m_nTopPos + nMax)
{
m_nTopPos += nMax;
SlideMenuDisplay();
break;
}
}
}
}
else
{
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void btnMenu_Click(object sender, EventArgs e)
{
try
{
tmrSaleTimer.Enabled = false;
if (((Cosmos.UI.CsmLabel)sender).Tag.ToString() != "")
{
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString());
m_SlideMenuKey = ((Cosmos.UI.CsmLabel)sender).Tag.ToString();
if (m_SlideMenuKey != PosKey.MENU_KEY.FOREIGNERS_RESPONSE)
{
this.pnlMenuSlide.Visible = false;
}
if (m_sPosMenuKeyIn == PosKey.MENU_KEY.TOP_MENU_WEB)
{
string sMenuKey = ((Cosmos.UI.CsmLabel)sender).Tag.ToString();
//WinBasic.ShowWebPos(((Cosmos.UI.CsmLabel)sender).Tag.ToString());
if (sMenuKey == PosKey.MENU_KEY.WEB_BIZEUN_MALL)
{
WinBasic.ShowWebPos(sMenuKey, true);
}
else
{
WinBasic.ShowWebPos(sMenuKey);
}
}
else
{
if (m_SlideMenuKey == PosKey.MENU_KEY.FOREIGNERS_RESPONSE)
{
MenuSlideList();
SlideInitControl();
}
else
{
// 외국인 대응에 대한 경우에만 직접 보여준다.
if (m_SlideMenuKey == "001" || m_SlideMenuKey == "002" || m_SlideMenuKey == "003")
{
WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_FOREIGNERS_RESPONSE, m_SlideMenuKey });
}
else
{
WinSale.ExecuteBinessRun(m_SlideMenuKey);
}
}
//WinSale.ExecuteBinessRun(((Cosmos.UI.CsmLabel)sender).Tag.ToString());
}
//WinSale.ExecuteBinessRun(((Cosmos.UI.CsmLabel)sender).Tag.ToString());
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
tmrSaleTimer.Enabled = true;
}
}
private void btnSlidePage_MouseDown(object sender, MouseEventArgs e)
{
try
{
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString());
if (((Cosmos.UI.CsmLabel)sender) == btnUp)
{
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_PRESS);
}
if (((Cosmos.UI.CsmLabel)sender) == btnDown)
{
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_PRESS);
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void btnSlidePage_MouseUp(object sender, MouseEventArgs e)
{
SlideSetNavigationBtn(m_alMenuProc.Count);
}
private void btnMenu_MouseUp(object sender, MouseEventArgs e)
{
((Cosmos.UI.CsmLabel)sender).Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
}
private void btnMenu_MouseDown(object sender, MouseEventArgs e)
{
((Cosmos.UI.CsmLabel)sender).Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_PRESS);
}
#endregion SLIDE
/// <summary>
/// 간편로그인 호출
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lblCashier_Click(object sender, EventArgs e)
{
try
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
{
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.SIMPLE_LOG_ON });
if (sRet != UserCom.RST_ERR && sRet !="")
{
lblCashier.Text = m_cPosStatus.Base.CashierName;
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void lblTemperature_Click(object sender, EventArgs e)
{
try
{
if (pnlTempInfo.Visible != true)
{
pnlTempInfo.Visible = true;
}
else
{
pnlTempInfo.Visible = false;
}
if (m_cPosStatus.Temp.Temperature1 != null && m_cPosStatus.Temp.Temperature1 != "")
{
#region
// 우선 순위 : 미수신 > 알람 > 경고
//- 녹색(정상) : 알람-N, 경고-N, 미수신-N
//- 회색(미수신) : 미수신-Y 미수신이 Y이면 알람, 경고는 체크 하지 않음
//- 적색(경고) : 미수신-N, 알람-Y 알람이 Y이면 경고는 체크 하지 않음
//- 황색(알람) : 미수신-N, 알람-N, 경고-Y
// [센서ID|온도계명|측정온도|알람YN|경고YN|미수신YN|최종수신시간]
// 첫번째 온도 정보
if (m_cPosStatus.Temp.Alarm1 == "N" && m_cPosStatus.Temp.Warning1 == "N" && m_cPosStatus.Temp.receiveYN1 == "N")
{
// 녹색
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
lblTemp1.ForeColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN1 == "Y")
{
// 회색
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
lblTemp1.ForeColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN1 == "N")
{
if (m_cPosStatus.Temp.Alarm1 == "Y")
{
// 레드
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
lblTemp1.ForeColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm1 == "N")
{
// 황색
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
lblTemp1.ForeColor = Color.DarkOrange;
}
}
}
}
else
{
lblTemp1.ForeColor = Color.Black;
lblTemp1.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657);
}
if (m_cPosStatus.Temp.Temperature2 != null && m_cPosStatus.Temp.Temperature2 != "")
{
// 두번째 온도 정보
if (m_cPosStatus.Temp.Alarm2 == "N" && m_cPosStatus.Temp.Warning2 == "N" && m_cPosStatus.Temp.receiveYN2 == "N")
{
// 녹색
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
lblTemp2.ForeColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN2 == "Y")
{
// 회색
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
lblTemp2.ForeColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN2 == "N")
{
if (m_cPosStatus.Temp.Alarm2 == "Y")
{
// 레드
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
lblTemp2.ForeColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm2 == "N")
{
// 황색
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
lblTemp2.ForeColor = Color.DarkOrange;
}
}
}
}
else
{
lblTemp2.ForeColor = Color.Black;
lblTemp2.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657);
}
if (m_cPosStatus.Temp.Temperature3 != null && m_cPosStatus.Temp.Temperature3 != "")
{
// 세번째 온도 정보
if (m_cPosStatus.Temp.Alarm3 == "N" && m_cPosStatus.Temp.Warning3 == "N" && m_cPosStatus.Temp.receiveYN3 == "N")
{
// 녹색
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
lblTemp3.ForeColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN3 == "Y")
{
// 회색
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
lblTemp3.ForeColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN3 == "N")
{
if (m_cPosStatus.Temp.Alarm3 == "Y")
{
// 레드
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
lblTemp3.ForeColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm3 == "N")
{
// 황색
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
lblTemp3.ForeColor = Color.DarkOrange;
}
}
}
}
else
{
lblTemp3.ForeColor = Color.Black;
lblTemp3.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657);
}
#endregion
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 디바이스 정보 클릭
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lblDeviceState_Click(object sender, EventArgs e)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
// 주변장치 상태 관리 화면
string sRet = WinSale.ShowForm(new string[] { FormManager.FORM_DEVICE_STATUS_SEARCH, PosKey.MENU_KEY.DEVICE_STATUS_SEARCH });
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 온도정보 클릭
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TempInfo_Click(object sender, EventArgs e)
{
try
{
if (pnlTempInfo.Visible != true)
{
pnlTempInfo.Visible = true;
}
else
{
pnlTempInfo.Visible = false;
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 프로그램 버전 더블클릭(원격 웹사이트)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lblPgmVersion_DoubleClick(object sender, EventArgs e)
{
try
{
IDataServiceUs m_cWebBiz = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.WEB_POS);
string sUrl = string.Empty;
sUrl = (string)m_cWebBiz.GetData(new string[] { PosKey.MENU_KEY.REMOTE_URL });
if (sUrl == null || sUrl == "") return;
if (sUrl.StartsWith("2") == true) // 1: WEB POS, 2:WEB LINK
{
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo("IExplore.exe");
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
startInfo.Arguments = CmUtil.MidH(sUrl, 31, 100).Trim() + CmUtil.MidH(sUrl, 131, 100).Trim();
System.Diagnostics.Process.Start(startInfo);
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
return;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return;
}
/// <summary>
/// 네트워크 온오프 체크
/// </summary>
private void OnLinecheck()
{
try
{
//NW ON/OFF
if (CmUtil.IsNetConnection() == 1)
{
if (picWeb.Tag.ToString() != "ON")
{
picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON);
picWeb.Tag = "ON";
lblWeb.Tag = "0";
lblWeb.Text = "WEB";
lblWeb.ForeColor = Color.White;
}
lblOffLine.Visible = false;
}
else
{
if (picWeb.Tag.ToString() != "OFF")
{
picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON_ERROR);
picWeb.Tag = "OFF";
}
lblOffLine.Visible = true;
//// WEB 글자색 변경!
//if (lblWeb.ForeColor == Color.White)
//{
// lblWeb.ForeColor = CmUtil.GetRainbowColor(lblWeb.Tag.ToString());
// if (lblWeb.Tag.ToString() == "7") lblWeb.Tag = "0";
// lblWeb.Tag = (CmUtil.IntParse(lblWeb.Tag.ToString()) + 1).ToString();
// lblWeb.Text = "OFF LINE";
//}
//else
//{
// lblWeb.ForeColor = Color.White;
// lblWeb.Text = "WEB";
//}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 할인상세 내역 표시
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtPayDiscountAmt_Click(object sender, EventArgs e)
{
try
{
if (m_cTrnStatus.Head.TotDcAmt == 0) return;
WinBasic.ShowForm(new string[] { FormManager.FORM_DISCOUNT_LIST });
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// 상품등록 내역 조회
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtPayQtySaleAmt_Click(object sender, EventArgs e)
{
try
{
WinBasic.ShowForm(new string[] { FormManager.FORM_SALEPLU_LIST });
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void MenuSlide_Click(object sender, EventArgs e)
{
try
{
if (pnlMenuSlide.Visible != true)
{
pnlMenuSlide.Visible = true;
pnlMenuSlide.BringToFront();
}
else
{
pnlMenuSlide.Visible = false;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#region
private delegate void SetDatetimeCallback();
/// <summary>
/// 일자시간 표시
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tmrDateTime_Tick(object sender, EventArgs e)
{
try
{
tmrDateTime.Stop();
SetDateTime();
tmrDateTime.Start();
//---------------------------------------------------------------------
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리를 위한 상태바 표시 처리
//---------------------------------------------------------------------
// - 이전의 tmrSaleTimer 이벤트가 중간중간 멈추는 경우가 생겨서
// 이쪽 tmrDateTime 이벤트로 이동함
//---------------------------------------------------------------------
#region
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
lblPriorReading2.BackColor = Color.FromArgb(34, 34, 34);
#region
if (m_cPosStatus.Sale.strPriorReading_Title[0] != null && m_cPosStatus.Sale.strPriorReading_Title[0] != "")
{
lblPriorReading1.Text = m_cPosStatus.Sale.strPriorReading_Title[0];
lblPriorReading2.Text = "";
if (lblPriorReading1.Text == "HPC")
{
lblPriorReading1.BackColor = Color.FromArgb(217, 151, 149);
lblPriorReading1.ForeColor = Color.White;
}
else if (lblPriorReading1.Text != "")
{
lblPriorReading1.BackColor = Color.FromArgb(51, 153, 255);
lblPriorReading1.ForeColor = Color.White;
}
else
{
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
}
}
else
{
lblPriorReading1.Text = "";
lblPriorReading2.Text = "";
}
#endregion
#region
if (m_cPosStatus.Sale.strPriorReading_Title[1] != null && m_cPosStatus.Sale.strPriorReading_Title[1] != "")
{
lblPriorReading1.Text = m_cPosStatus.Sale.strPriorReading_Title[0];
lblPriorReading2.Text = m_cPosStatus.Sale.strPriorReading_Title[1];
if (lblPriorReading1.Text == "HPC")
{
lblPriorReading1.BackColor = Color.FromArgb(217, 151, 149);
lblPriorReading1.ForeColor = Color.White;
}
else if (lblPriorReading1.Text != "")
{
lblPriorReading1.BackColor = Color.FromArgb(51, 153, 255);
lblPriorReading1.ForeColor = Color.White;
}
else
{
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
}
if (lblPriorReading2.Text == "HPC")
{
lblPriorReading2.BackColor = Color.FromArgb(217, 151, 149);
lblPriorReading2.ForeColor = Color.White;
}
else if (lblPriorReading2.Text != "")
{
lblPriorReading2.BackColor = Color.FromArgb(51, 153, 255);
lblPriorReading2.ForeColor = Color.White;
}
else if (lblPriorReading2.Text == "")
{
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
}
}
else
{
lblPriorReading2.Text = "";
}
#endregion
#endregion
if(m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "" || pnlAllianceCard.Visible == true)
{
if(pnlPayMainBack.Visible == false)
{
if(AllianceCardTime.Year == DateTime.Now.Year)
{
TimeSpan Ti = DateTime.Now - AllianceCardTime;
if (Ti.Seconds > 3)
{
pnlAllianceCard.Visible = false;
AllianceCardTime = new DateTime();
}
}
}
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
//적용시 주석 해제
if (pnlBuyHistMot.Visible == true)
{
TimeSpan Ti = DateTime.Now - BuyHistTime;
if (Ti.Seconds > 3)
{
pnlBuyHistMot.Visible = false;
BuyHistTime = new DateTime();
}
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#15058 해피오더 버튼 변경_20180612 start,phj
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
{
if (bSaleMain == true)
{
NewHPOrdDisplay();
}
if (bSaleMain == false)
{
iCount = iCount + 1;
if (iCount >= 60)
{
iCount = 0;
bSaleMain = true;
}
}
}
//#15058 해피오더 버튼 변경_20180612 end,phj
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
//기존
/*
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
{
iInventoryDispCnt = iInventoryDispCnt + 1;
if (bInventoryDispStat == true)
{
HappyOrderInventoryAlram();
if (iInventoryDispCnt % 60 == 0)
{
HappyOrderInventoryAlram_StatChange(false);
}
}
else
{
if (iInventoryDispCnt == 0 || iInventoryDispCnt >= 60 * 10)
{
HappyOrderInventoryAlram();
}
}
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
*/
//변경
//--------------------------------------------------
//레드마인: #16368
//요청일자: 2018/08/22
//요청자 : SPC 안병석 과장
//내용 : 1. 알람 표시시간
// [기존] 제한없음
// [변경] 오후2시이후부터 표시
// 2. 알람 자동 표시 시간
// [기존] 닫기버튼 클릭 시 10분마다 자동 표시
// [변경] 매시간 30분마다 자동 표시 후 5분간 표시
// 단, 닫기 버튼 클릭 시 알람 닫기
//--------------------------------------------------
//if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
//{
// if (Int32.Parse(DateTime.Now.ToString("HH")) >= 14)
// {
// if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
// {
// iInventoryDispCnt = iInventoryDispCnt + 1;
// if (bInventoryDispStat == true)
// {
// HappyOrderInventoryAlram();
// if (iInventoryDispCnt % (60 * 5) == 0)
// {
// HappyOrderInventoryAlram_StatChange(false);
// }
// }
// else
// {
// if (iInventoryDispCnt == 0 || iInventoryDispCnt >= 60 * 25)
// {
// HappyOrderInventoryAlram();
// }
// }
// }
// }
//}
if ((CmUtil.IntParse(DateTime.Now.ToString("HH")) >= 14) &&
((CmUtil.IntParse(DateTime.Now.ToString("mm")) >= 0 && CmUtil.IntParse(DateTime.Now.ToString("mm")) <= 5) ||
(CmUtil.IntParse(DateTime.Now.ToString("mm")) >= 30 && CmUtil.IntParse(DateTime.Now.ToString("mm")) <= 35)))
{
if (bInventoryCancel == false)
{
HappyOrderInventoryAlram();
}
}
else
{
bInventoryCancel = false;
lb_HPOInventoryAlram.Visible = false;
lb_HPOInventoryAlram2.Visible = false;
Pnl_HPOInventoryAlram.Visible = false;
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/// <summary>
/// Date 처리
/// </summary>
/// <param name="text"></param>
private void SetDateTime()
{
try
{
if (this.lblDateTime.InvokeRequired)
{
SetDatetimeCallback d = new SetDatetimeCallback(SetDateTime);
this.Invoke(d);
}
else
{
//#20171011 영업일, 시스템일시 위치 변경 start
//기존
/*
this.lblDateTime.Text = m_cPosStatus.Global.DateToCulture(DateTime.Now.ToString("yyyy-MM-dd")) + " " + DateTime.Now.ToString("HH:mm:ss");
*/
//변경
string WeekDays = WeekDay(DateTime.Now);
string WeekDaySaleDate = WeekDay(Convert.ToDateTime(m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate)));
this.lblDateTime.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0242) + " : {0}" + "({1})",
m_cPosStatus.Base.SaleDate == "" ? m_cPosStatus.Global.DateToCulture("20000101") : m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate), WeekDaySaleDate);
lblSaleDate.Text = string.Format(m_cPosStatus.Global.DateToCulture(DateTime.Now.ToString("yyyyMMdd")) + "({0})" + " " + DateTime.Now.ToString("HH:mm:ss"), WeekDays);
//#20171011 영업일, 시스템일시 위치 변경 end
}
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.ToString());
}
}
private string WeekDay(DateTime dateTime)
{
string tempWeekDay = "";
var dt = dateTime.DayOfWeek;
switch (dt)
{
case DayOfWeek.Monday: //월
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1063);
break;
case DayOfWeek.Tuesday: //화
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1064);
break;
case DayOfWeek.Wednesday: //수
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1065);
break;
case DayOfWeek.Thursday: //목
tempWeekDay = MessageManager.GetLabelMessage((POS_MESSAGE.LABEL.MSG_1066));
break;
case DayOfWeek.Friday: //금
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1067);
break;
case DayOfWeek.Saturday: //토
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1068);
break;
case DayOfWeek.Sunday: //일
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1062);
break;
}
return tempWeekDay;
}
#endregion
#region
/// <summary>
/// 백그라운드 프로그램 적용 확인 메시지
/// </summary>
private void POSProgramApplyCheck()
{
string sRet = UserCom.RST_ERR;
try
{
// 프로그램 적용을 위한 재기동 여부 체크
if (m_cBackgroundDown.PGMReBootCheck() == true)
{
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0281) });
}
if (sRet == UserCom.RST_OK)
{
// 재기동!
m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART;
SaleMainExit();
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region lblSaleStatus_Click( )
private void lblSaleStatus_Click(object sender, EventArgs e)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = "";
this.WindowState = FormWindowState.Minimized;
Form fMainForm = (Form)FormManager.GetForm(FormManager.FORM_POS_MAIN);
if (fMainForm != null) fMainForm.Top = 2048;
Form fTableForm = (Form)FormManager.GetForm(FormManager.FORM_TBL_REG);
if (fTableForm != null) fTableForm.Top = 2048;
FormManager.m_HideFormIndex = 1;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region lblTableInfo_Click( ()
private void lblTableInfo_Click(object sender, EventArgs e)
{
try
{
if (m_cPosStatus.Base.PosType != PosConst.POS_TYPE.DEFERRED_PAYMENT) return;
// 테이블 담당자 입력(변경)
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_SERVER });
if (sRet != UserCom.RST_ERR)
{
lblTableInfo.Text = "[" + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm + "]" + m_cTrnStatus.Head.OrderPicNm;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region
private void TxtInPutFocus()
{
try
{
txtInPut.Focus();
}
catch { }
}
private void lstCampaignList_Click(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void SaleItemGrid_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnMenuFix_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnMenu_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnFlavourMenu_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSetMenu_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSubMenuCommGrp_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSubMenuCommDtl_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void lblWeb_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSubMenuDtl_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSubMenuGrp_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnMenuMClass_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnMenuMClassFix_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSubMenuExit_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnFuncSale_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnFuncItem_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void pnlMotSale_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
#endregion
/// <summary>
/// Pos Sale 버젼 (클라이언트)표시
/// girak.kim; 20173.08.30.001
/// </summary>
private void GetClientPOSVersion()
{
try
{
lblRealVer.Text = WinBasic.ClientPOSVersion.ToString();
}
catch (Exception ex)
{
lblRealVer.Text = "0.0.0.0";
}
}
//*****************************************************************************
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
//-----------------------------------------------------------------------------
// - 만약 결제화면(pnlCardMot)이 표시될 경우
// - 우선 해피포인트(옵션) 값이 설정되어 있을 경우
// <- 전역변수 : m_cPosStatus.Sale.strHappyPointCardNoOption
// '결제' 버튼 클릭 -> 포인트할인결제 화면에서 -> '해피포인트사용' 버튼이 클릭된 상태
// = '해피포인트 사용' 화면을 표시한다.
//*****************************************************************************
#region
private void pnlCardMot_VisibleChanged(object sender, EventArgs e)
{
//========================================
// 만약 결제화면(pnlCardMot)이 표시될 경우
//========================================
if (pnlCardMot.Visible == true)
{
//---------------------------------------------------------------------------------------------
// 만약, 선릉진선 해피포인트 사용 창 결제버튼 클릭 시 자동으로 띄우는 기능이 설정되어 있을 경우
// '해피포인트 사용' 화면을 표시한다.
//---------------------------------------------------------------------------------------------
#region ' ' .
if (PosMstManager.GetPosOption(POS_OPTION.OPT511) == "1")
{
// 해피포인트 사용(00078) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT_USE, "3");
}
#endregion
//------------------------------------------------------
// 만약 해피포인트(옵션) 값이 설정되어 있지 않고,
// 해피포인트 또는 제휴할인 카드 값이 설정되어 있을 경우
// '해피포인트' 및 '제휴할인 카드' 화면을 표시한다.
//------------------------------------------------------
#region '' ' ' .
else
{
#region .
if (m_cPosStatus.Sale.strHappyPointCardNo != "")
{
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
//기존
// 해피포인트(00058) 화면 표시 -----
//PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
//변경
#region SPC임직원 , SPC임직원할인(), SPC임직원할인()
if (m_cPosStatus.Sale.strEmpInfo == "3A")
{
// SPC임직원할인(결제) - 상품에 적용하지 않음
DataTable dtFuncKeyArr1 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY);
// SPC임직원할인(할인) - 상품에 적용
DataTable dtFuncKeyArr2 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC);
if (dtFuncKeyArr1 == null || dtFuncKeyArr1.Rows.Count <= 0)
{
if (dtFuncKeyArr2 == null || dtFuncKeyArr2.Rows.Count <= 0)
{
// SPC임직원할인(결제), SPC임직원할인(할인) 둘다 기능키가 배치되어 있지 않은 경우
// 해피포인트(00058) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
}
else
{
// SPC임직원할인(할인) 기능키가 배치되어 있는 경우
// 임직원할인(00064) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC, "2");
}
}
else
{
// SPC임직원할인(결제) 기능키가 배치되어 있는 경우
// 임직원할인(00281) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY, "2");
}
}
else
{
// SPC임직원이 아닌 경우
// 해피포인트(00058) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
}
#endregion SPC임직원 , SPC임직원할인(), SPC임직원할인()
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
}
#endregion
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 start
// 1. 해피포인트 등록-> 제휴할인 적용(선리딩방식) 첫번째.
// 2. 이 함수 타면서 두번째.
bool bMobileDcCheck = false;
ArrayList alPays = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
for (int iRow = 0; iRow < alPays.Count; iRow++)
{
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPays[iRow];
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT)
{
bMobileDcCheck = true;
break;
}
}
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 end
#region .
if (m_cPosStatus.Sale.strMobileUnityCardNo != "")
{
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 start
//기존
/*
// 제휴할인 카드(00292) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2");
*/
//변경
if (bMobileDcCheck == false)
{
// 제휴할인 카드(00292) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2");
}
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 end
}
#endregion
}
#endregion
}
}
#endregion
//*****************************************************************************
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리를 위한 클리어 함수
//-----------------------------------------------------------------------------
// - 해피포인트 제휴할인 선리딩 처리를 위한
// 관련 전역변수들을 클리어 해주는 함수이다.
// - 만약 새로운 한 건의 판매 프로세스가 시작될 경우
// 해피포인트 및 제휴할인 선리딩 처리를 위한
// 전역변수들을 클리어한다.
//*****************************************************************************
#region
public void SubPriorReadingVarClear(bool blnDiv)
{
// 만약 파라미터 값이 'true'일 경우 -----
if (blnDiv == true)
{
// 전역변수 클리어 -----
m_cPosStatus.Sale.strHappyPointCardNo = ""; // 해피포인트 카드 번호
m_cPosStatus.Sale.strMobileUnityCardNo = ""; // 제휴할인 카드 번호
// 해피포인트 옵션 처리 사용 유무 확인 -----
if (PosMstManager.GetPosOption(POS_OPTION.OPT511) == "1") { }
// 상태바 클리어 -----
m_cPosStatus.Sale.strPriorReading_Title = new string[2]; // 선리딩 내역 클리어
lblPriorReading1.Text = ""; // 상태바 내용
lblPriorReading2.Text = "";
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 start
#region
m_cPosStatus.Sale.strMobileCpnNo = "";
m_cPosStatus.Sale.strHappyGiftCardNo = "";
#endregion
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 end
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
m_cPosStatus.Sale.strEmpInfo = "";
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
}
}
#endregion
//*** MoonSeokWoo 2017.12.12 Add
public void AllianceCardInit(bool TranMode,string TitleName,bool HPCGbn)
{
lblAllianceCardName.Text = TitleName;
if (HPCGbn == true) lblAllianceCardName.ForeColor = Color.FromArgb(217, 151, 149);
else lblAllianceCardName.ForeColor = Color.FromArgb(51, 153, 255);
if (TranMode == true) lblAllianceCardTitle.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0742);
else lblAllianceCardTitle.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0743);
pnlAllianceCard.Visible = true;
//#20180413 웰컴카드 신규기능 추가 start,phj
pnlAllianceCard.BringToFront();
//#20180413 웰컴카드 신규기능 추가 end,phj
AllianceCardTime = DateTime.Now;
}
//*** MoonSeokWoo 2017.12.12 End
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
/// <summary>
/// 해피포인트 고개번호 조회
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private string SchHappyPointMembInfo(string sInPutType, string sInCardNo)
{
string sSchMembNo = "";
try
{
m_sInPutType = "";
m_sInMaskData = "";
m_sInEncData = "";
m_sServiceCode = "";
m_sAppCardNo = "";
m_sInPutType = sInPutType;
m_sAppCardNo = sInCardNo;
// 해피포인트 카드만 자동등록 처리
if (sInCardNo.StartsWith(PosConst.HP_CARD_PRIFIX) == false) return sSchMembNo;
IPaymentExpUs m_cHappyPoint = (IPaymentExpUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT);
//암호화
EncryptedCardNo(m_sAppCardNo, ref m_sInEncData, ref m_sInMaskData);
// 해피 포인트 적립카드 조회
string[] saRecvdData = null;
string sRet = m_cHappyPoint.SearchPayment(new string[] { sInPutType, m_sInMaskData, m_sInEncData, "1", "", m_sAppCardNo }, ref saRecvdData);
if (sRet != UserCom.RST_OK) return sSchMembNo;
//m_sInEncData = sInEncData;
// 조회 데이터 획득
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { });
int nNowPos = 0;
string[] aIrtRsp = new string[Column.POINT_ADD_INFO_SEARCH.LEN.Length];
ItemColumn.ParseMessage(Column.POINT_ADD_INFO_SEARCH.LEN, Column.POINT_ADD_INFO_SEARCH.TYPE, Encoding.Default.GetBytes(cEtcItem.HP_ADD_INFO_SCH), ref nNowPos, ref aIrtRsp);
// 고객정보 중에서 첫번째 카드 선택
string sMemInfo = aIrtRsp[Column.POINT_ADD_INFO_SEARCH.SEQ.pointMEMINFO];
if (sMemInfo != "" && CmUtil.IntParse(sMemInfo.Substring(0, 1)) > 0)
{
sSchMembNo = CmUtil.MidH(sMemInfo, 45, 35).Trim(); // 해피포인트 고객번호
}
}
catch (Exception ex)
{
return sSchMembNo;
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return sSchMembNo;
}
/// <summary>
/// 카드 번호 암호화
/// </summary>
/// <param name="sInData"></param>
/// <param name="sInMaskData"></param>
/// <param name="sInEncData"></param>
/// <returns></returns>
private string EncryptedCardNo(string sInData, ref string sCardData, ref string sCardNo)
{
string sEncData = sInData;
try
{
sEncData = m_cDeviceICReader.GetEncryptedCardNo(sInData).Trim();
if (CmUtil.MidH(sEncData, 0, 2) == "00")
{
sCardData = CmUtil.MidH(sEncData, 2, 512).Trim();
sCardNo = CmUtil.MidH(sEncData, 514, sEncData.Length - 514).Trim();
}
else
{
//암호화 처리 실패!
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "Fail =>" + sInData);
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return sEncData;
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
#region
/// <summary>
/// 고객 구매이력 정보 버튼 입력 처리
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnBuyList_Click(object sender, EventArgs e)
{
try
{
if (((Cosmos.UI.CsmButton)sender) == btnBuyListCls)
{
pnlBuyHist.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
pnlBuyHistMot.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
}
else if (((Cosmos.UI.CsmButton)sender) == btnCpnSend)
{
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180508
//[쿠폰발송] 버튼 클릭시 '쿠폰발송 기능은 추후 오픈 예정입니다.' 팝업 출력
//#20180605 해피쿠폰 발송 해당 옵션 체크 기능 제외 start
/*
if (PosMstManager.GetPosOption(POS_OPTION.OPT513) != "1")
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0785);
return;
}
*/
//#20180605 해피쿠폰 발송 해당 옵션 체크 기능 제외 end
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180508
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
if (m_cPosStatus.Mst.HpyCokStorYn != "1")
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0786);
return;
}
if (m_cPosStatus.Mst.CpnSendYn != "1")
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0787);
return;
}
if (m_cPosStatus.Sale.sRegularYN != "Y")
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0788);
return;
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180502
//기능키 추가 후 권한 체크 기능 적용
if (WinBasic.CheckMenuKeyAuth(PosKey.MENU_KEY.HPYCPN_SEND) == false) return; // 기능키 판매원 권한 체크
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180502
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180528
//쿠폰 발송 횟수 제한 기능
//저장된 쿠폰 발송 횟수 가져오기
string sCpnSendCnt = m_cDataCommon.CpnSendCntSearch();
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
//저장되지 않은 쿠폰 발송 횟수 가져오기
int iCpnSendCnt = 0;
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM); // 기타 내역 받아 오기
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
{
if (cEtcItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
//해피쿠폰 발송
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.HAPPYCPN_SEND)
{
iCpnSendCnt = iCpnSendCnt + 1;
}
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
//기존
//if (CmUtil.IntParse(m_cPosStatus.Mst.CpnSendLimitCnt) <= CmUtil.IntParse(sCpnSendCnt))
//변경
if (CmUtil.IntParse(m_cPosStatus.Mst.CpnSendLimitCnt) <= CmUtil.IntParse(sCpnSendCnt) + iCpnSendCnt)
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
{
WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0789), m_cPosStatus.Mst.CpnSendLimitCnt));
//WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0789);
return;
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180528
WinPay.ShowForm(new string[] { FormManager.FORM_CPN_SEND, m_sInPutType, m_sInMaskData, m_sInEncData, m_sServiceCode, m_sAppCardNo});
}
else if (((Cosmos.UI.CsmButton)sender) == btnHpCok)
{
pnlBuyHist.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
pnlBuyHistMot.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region
/// <summary>
/// 고객 구매이력 정보 버튼 입력 처리
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lblBuyList_Click(object sender, EventArgs e)
{
try
{
pnlBuyHist.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
pnlBuyHistMot.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
//#15058 해피오더 버튼 변경_20180612 start,phj
#region
private void NewHPOrdDisplay()
{
//#20180605 해피오더 개선 start - 20180618
#region
/*
try
{
int iNewOrdCnt = 0;
iNewOrdCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0"));
if (iNewOrdCnt > 99) { iNewOrdCnt = 99; }
if (iNewOrdCnt > 0)
{
//NewHPOrd_Disp.Width = lblIFStatus1.Width;
//NewHPOrd_Disp.Left = lblIFStatus1.Left;
//NewHPOrd_Disp.Top = 0;// lblIFStatus1.Top;
//NewHPOrd_Disp.Height = 50; // lblIFStatus1.Height;
PnlNewHPOrd_Disp.Width = lblIFStatus1.Width;
PnlNewHPOrd_Disp.Left = lblIFStatus1.Left;
PnlNewHPOrd_Disp.Top = 0;// lblIFStatus1.Top;
PnlNewHPOrd_Disp.Height = 50; // lblIFStatus1.Height;
NewHPOrd_Disp.Visible = true;
NewHPOrd_Disp2.Visible = true;
NewHPOrd_Disp.Left = 0;
NewHPOrd_Disp.Top = 0;
NewHPOrd_Disp.Width = PnlNewHPOrd_Disp.Width - (PnlNewHPOrd_Disp.Width / 3);
NewHPOrd_Disp.Height = 50;
NewHPOrd_Disp2.Left = NewHPOrd_Disp.Width;
NewHPOrd_Disp2.Top = 0;
NewHPOrd_Disp2.Width = PnlNewHPOrd_Disp.Width - NewHPOrd_Disp.Width;
NewHPOrd_Disp2.Height = 50;
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0)
{
NewHPOrd_Disp.Text = "";
NewHPOrd_Disp2.Text = "";
}
else
{
string sStr = "";
string sClose = "";
int iStrtNum = 0;
NewHPOrd_Disp.Text = "";
NewHPOrd_Disp.ReadOnly = true;
NewHPOrd_Disp.SelectionFont = new Font(m_cPosStatus.Base.FONT, 16, FontStyle.Bold);
NewHPOrd_Disp.SelectionAlignment = HorizontalAlignment.Right;
sStr = "해피오더 신규 (" + iNewOrdCnt.ToString() + ")";
NewHPOrd_Disp.AppendText(sStr);
NewHPOrd_Disp.Select(iStrtNum, sStr.Length);
NewHPOrd_Disp.SelectionColor = Color.Yellow;
//sClose = " [닫기]";
//NewHPOrd_Disp.AppendText(sClose);
//NewHPOrd_Disp.Select(sStr.Length, sClose.Length);
//NewHPOrd_Disp.SelectionColor = Color.Black;
NewHPOrd_Disp.ReadOnly = true;
NewHPOrd_Disp.BringToFront();
NewHPOrd_Disp2.Text = "";
NewHPOrd_Disp2.SelectionFont = new Font(m_cPosStatus.Base.FONT, 16, FontStyle.Bold);
NewHPOrd_Disp2.SelectionAlignment = HorizontalAlignment.Left;
sClose = " [닫기]";
NewHPOrd_Disp2.AppendText(sClose);
NewHPOrd_Disp2.Select(0, sClose.Length);
NewHPOrd_Disp2.SelectionColor = Color.Black;
NewHPOrd_Disp2.ReadOnly = true;
NewHPOrd_Disp2.BringToFront();
}
//NewHPOrd_Disp.Visible = true;
PnlNewHPOrd_Disp.Visible = true;
}
else
{
NewHPOrd_Disp.Visible = false;
NewHPOrd_Disp2.Visible = false;
//NewHPOrd_Disp.Visible = false;
PnlNewHPOrd_Disp.Visible = false;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
*/
#endregion
#region
try
{
// 해피오더 신규주문(일반주문건수 + 배달주문건수 + 예약주문건수)
int iNewOrdCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0"));
if (iNewOrdCnt > 99) { iNewOrdCnt = 99; }
if (iNewOrdCnt > 0)
{
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0)
{
NewHPOrd_Disp.Text = "";
NewHPOrd_Disp2.Text = "";
}
else
{
PnlNewHPOrd_Disp.BorderStyle = BorderStyle.None;
PnlNewHPOrd_Disp.BackColor = Color.Red;
NewHPOrd_Disp.Text = "";
NewHPOrd_Disp.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
NewHPOrd_Disp.TextAlign = ContentAlignment.MiddleCenter;
NewHPOrd_Disp.BorderStyle = BorderStyle.None;
NewHPOrd_Disp.AutoSize = true;
NewHPOrd_Disp.ForeColor = Color.Yellow;
NewHPOrd_Disp.BackColor = Color.Red;
NewHPOrd_Disp.Text = "해피오더 신규(" + iNewOrdCnt.ToString() + ")";
NewHPOrd_Disp.BringToFront();
NewHPOrd_Disp2.Text = "";
NewHPOrd_Disp2.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
NewHPOrd_Disp2.TextAlign = ContentAlignment.MiddleCenter;
NewHPOrd_Disp2.BorderStyle = BorderStyle.None;
NewHPOrd_Disp2.AutoSize = true;
NewHPOrd_Disp2.ForeColor = Color.Black;
NewHPOrd_Disp2.BackColor = Color.Red;
NewHPOrd_Disp2.Text = "[닫기]";
NewHPOrd_Disp2.BringToFront();
int iWidth = NewHPOrd_Disp.Width + NewHPOrd_Disp2.Width;
NewHPOrd_Disp.Left = (PnlNewHPOrd_Disp.Width - iWidth) / 2;
NewHPOrd_Disp2.Left = NewHPOrd_Disp.Left + NewHPOrd_Disp.Width;
int iFill = 3;
NewHPOrd_Disp.Top = ((PnlNewHPOrd_Disp.Height - NewHPOrd_Disp.Height) / 2) - iFill;
NewHPOrd_Disp2.Top = NewHPOrd_Disp.Top;
}
NewHPOrd_Disp.Visible = true;
NewHPOrd_Disp2.Visible = true;
PnlNewHPOrd_Disp.Visible = true;
}
else
{
NewHPOrd_Disp.Visible = false;
NewHPOrd_Disp2.Visible = false;
PnlNewHPOrd_Disp.Visible = false;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
#endregion
//#20180605 해피오더 개선 end - 20180618
}
private void NewHPOrd_Disp_Click(object sender, EventArgs e)
{
try
{
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 start
//변경
// 상품 등록 중일 경우 빠져 나간다.
ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
if (alSaleItem.Count > 0)
{
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021));
return;
}
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 end
iCount = 0;
bSaleMain = false;
NewHPOrd_Disp.Visible = false;
NewHPOrd_Disp2.Visible = false;
PnlNewHPOrd_Disp.Visible = false;
//#20180615 해피오더 팝업 수정 start
//기존
//WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "" });
//변경
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" });
//#20180615 해피오더 팝업 수정 end
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
}
private void NewHPOrd_Disp2_Click(object sender, EventArgs e)
{
try
{
iCount = 0;
bSaleMain = false;
NewHPOrd_Disp.Visible = false;
NewHPOrd_Disp2.Visible = false;
PnlNewHPOrd_Disp.Visible = false;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
}
#endregion
//#15058 해피오더 버튼 변경_20180612 end,phj
//#15525 고객구매이력 수정 요청 start
//VIP 여부 안내 표시
#region VIP
private void picVip_Click(object sender, EventArgs e)
{
pnlBuyHistVip.Visible = false;
}
#endregion VIP
private void picVip_Paint(object sender, PaintEventArgs e)
{
/*
Image myBitmapTemp;
// Create a Bitmap object from an image file.
Bitmap myBitmap = new Bitmap(BaseCom.NxImgPath + "crown12.png");
// Draw myBitmap to the screen.
//e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width, myBitmap.Height);
// Get the color of a background pixel.
Color backColor = myBitmap.GetPixel(5, 5);
// Make backColor transparent for myBitmap.
myBitmap.MakeTransparent(backColor);
myBitmapTemp = (Image)myBitmap;
// Draw the transparent bitmap to the screen.
e.Graphics.DrawImage(myBitmapTemp, 0, 0, myBitmap.Width, myBitmap.Height);
*/
}
//#15525 고객구매이력 수정 요청 end
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
#region (10 1 )
private void HappyOrderInventoryAlram()
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) != "1") return;
try
{
// Y: 미등록 재고존재 / N: 미등록 재고없음
if (m_cPosStatus.Sale.HappyOrderInventoryYN == "Y")
{
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0)
{
lb_HPOInventoryAlram.Text = "";
lb_HPOInventoryAlram2.Text = "";
}
else
{
Pnl_HPOInventoryAlram.BorderStyle = BorderStyle.None;
Pnl_HPOInventoryAlram.BackColor = Color.Red;
lb_HPOInventoryAlram.Text = "";
lb_HPOInventoryAlram.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
lb_HPOInventoryAlram.TextAlign = ContentAlignment.MiddleCenter;
lb_HPOInventoryAlram.BorderStyle = BorderStyle.None;
lb_HPOInventoryAlram.AutoSize = true;
lb_HPOInventoryAlram.ForeColor = Color.Yellow;
lb_HPOInventoryAlram.BackColor = Color.Red;
lb_HPOInventoryAlram.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1179); //20180821
lb_HPOInventoryAlram.BringToFront();
lb_HPOInventoryAlram2.Text = "";
lb_HPOInventoryAlram2.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
lb_HPOInventoryAlram2.TextAlign = ContentAlignment.MiddleCenter;
lb_HPOInventoryAlram2.BorderStyle = BorderStyle.None;
lb_HPOInventoryAlram2.AutoSize = true;
lb_HPOInventoryAlram2.ForeColor = Color.Black;
lb_HPOInventoryAlram2.BackColor = Color.Red;
lb_HPOInventoryAlram2.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1180); //20180821
lb_HPOInventoryAlram2.BringToFront();
int iWidth = lb_HPOInventoryAlram.Width + lb_HPOInventoryAlram2.Width;
lb_HPOInventoryAlram.Left = (Pnl_HPOInventoryAlram.Width - iWidth) / 2;
lb_HPOInventoryAlram2.Left = lb_HPOInventoryAlram.Left + lb_HPOInventoryAlram.Width;
int iFill = 3;
lb_HPOInventoryAlram.Top = ((Pnl_HPOInventoryAlram.Height - lb_HPOInventoryAlram.Height) / 2) - iFill;
lb_HPOInventoryAlram2.Top = lb_HPOInventoryAlram.Top;
}
HappyOrderInventoryAlram_StatChange(true);
}
else
{
HappyOrderInventoryAlram_StatChange(false);
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
}
#endregion
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
#region
private void lb_HPOInventoryAlram_Click(object sender, EventArgs e)
{
try
{
HappyOrderInventoryAlram_StatChange(false);
if (sender.GetType().Equals(typeof(Cosmos.UI.CsmLabel)))
{
if (((Cosmos.UI.CsmLabel)sender).Name == "lb_HPOInventoryAlram")
{
WinBasic.ShowWebPos(PosKey.MENU_KEY.HPO_INVENTORY_ALRAM);
}
}
else if (sender.GetType().Equals(typeof(System.Windows.Forms.Panel)))
{
if (((System.Windows.Forms.Panel)sender).Name == "Pnl_HPOInventoryAlram")
{
WinBasic.ShowWebPos(PosKey.MENU_KEY.HPO_INVENTORY_ALRAM);
}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
}
#endregion
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
#region
private void HappyOrderInventoryAlram_StatChange(bool bStat)
{
try
{
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
//기존
/*
if (bStat == true)
{
bInventoryDispStat = true;
lb_HPOInventoryAlram.Visible = true;
lb_HPOInventoryAlram2.Visible = true;
Pnl_HPOInventoryAlram.Visible = true;
}
else
{
iInventoryDispCnt = 0;
bInventoryDispStat = false;
lb_HPOInventoryAlram.Visible = false;
lb_HPOInventoryAlram2.Visible = false;
Pnl_HPOInventoryAlram.Visible = false;
}
*/
//변경
if (bStat == true)
{
lb_HPOInventoryAlram.Visible = true;
lb_HPOInventoryAlram2.Visible = true;
Pnl_HPOInventoryAlram.Visible = true;
}
else
{
bInventoryCancel = true;
lb_HPOInventoryAlram.Visible = false;
lb_HPOInventoryAlram2.Visible = false;
Pnl_HPOInventoryAlram.Visible = false;
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
"HappyOrderInventoryAlram [" + bStat + "]" + ex.Message);
}
}
#endregion
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
//#16577 결제창 내부 봉투 추가 기능 도입 start
private void BtnAddBag_Click(object sender, EventArgs e)
{
try
{
string sRet = UserCom.RST_ERR;
//#16577 결제창 내부 봉투 추가 기능 도입 start, 20180920
DataTable dtData = new DataTable();
//#16577 결제창 내부 봉투 추가 기능 도입 end, 20180920
//bool bRet = true;
// 결제 건이 있는지 체크
// 결제 내역 받아 오기
ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
{
// 취소시 제외
if (cPayItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
// 결제 건
if (cPayItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.PAY)
{
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0801));
return;
}
}
//봉투창 표시
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_ADD_BAG });
if (sRet == UserCom.RST_ERR)
{
return;
}
//봉투 선택 한 경우 입력 처리
if (sRet != UserCom.RST_ERR)
{
string[] aParam = sRet.Split(new string[] { "^" }, StringSplitOptions.None);
if (aParam.Length > 0)
{
for (int iRow = 0; iRow < aParam.Length; iRow++)
{
if (string.IsNullOrEmpty(aParam[iRow]) == false)
{
// 상품 등록 처리
m_cSaleMainProc.RegisterPluItem("", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + CmUtil.RPadH(m_cPosStatus.Base.SubShopNo, 10) + aParam[iRow], "");
}
}
}
//#16577 결제창 내부 봉투 추가 기능 도입 start, 20180920
// 상품 판매가 계산
m_cPluService.ItemAmountExeccute(true, true);
DisplayItem(1, false);
//#16577 결제창 내부 봉투 추가 기능 도입 end, 20180920
}
//결제등록 정보 화면 표시
DisplayPayment();
/*
if (bRet == false)
{
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0803));
}
else
{
//WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0802));
}
*/
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
}
//#16577 결제창 내부 봉투 추가 기능 도입 end
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
#region
/// <summary>
/// 해피포인트 임직원 여부 조회
/// </summary>
/// <param name="sInPutType"></param>
/// <param name="sInCardNo"></param>
private string SchHappyPointEmpInfo(string sInPutType, string sInCardNo)
{
string sSchEmpInfo = "";
try
{
m_sInPutType = "";
m_sInMaskData = "";
m_sInEncData = "";
m_sServiceCode = "";
m_sAppCardNo = "";
m_sInPutType = sInPutType;
m_sAppCardNo = sInCardNo;
// 해피포인트 카드만 자동등록 처리
if (sInCardNo.StartsWith(PosConst.HP_CARD_PRIFIX) == false) return sSchEmpInfo;
IPaymentExpUs m_cHappyPoint = (IPaymentExpUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT);
//암호화
EncryptedCardNo(m_sAppCardNo, ref m_sInEncData, ref m_sInMaskData);
// 해피 포인트 적립카드 조회
string[] saRecvdData = null;
string sRet = m_cHappyPoint.SearchPayment(new string[] { sInPutType, m_sInMaskData, m_sInEncData, "1", "", m_sAppCardNo }, ref saRecvdData);
if (sRet != UserCom.RST_OK) return sSchEmpInfo;
//m_sInEncData = sInEncData;
// 조회 데이터 획득
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { });
int nNowPos = 0;
string[] aIrtRsp = new string[Column.POINT_ADD_INFO_SEARCH.LEN.Length];
ItemColumn.ParseMessage(Column.POINT_ADD_INFO_SEARCH.LEN, Column.POINT_ADD_INFO_SEARCH.TYPE, Encoding.Default.GetBytes(cEtcItem.HP_ADD_INFO_SCH), ref nNowPos, ref aIrtRsp);
// 고객정보 중에서 첫번째 카드 선택
sSchEmpInfo = aIrtRsp[Column.POINT_ADD_INFO_SEARCH.SEQ.pointCARDGBCD].Trim();
}
catch (Exception ex)
{
return sSchEmpInfo;
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return sSchEmpInfo;
}
#endregion
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
}
}