using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Collections;
using System.Runtime.InteropServices;
using System.Threading;
using System.IO;
using Cosmos.BaseFrame;
using Cosmos.UserFrame;
using Cosmos.ServiceProvider;
using Cosmos.Common;
using Cosmos.CommonManager;
using Cosmos.UI;
using System.Diagnostics;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
using System.Text;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
//using Cosmos.Service;
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
using System.Drawing.Drawing2D;
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
//************************************************************************************************
// 변경 이력 : 해피포인트 제휴할인 선리딩 처리
//------------------------------------------------------------------------------------------------
// - 작 업 자 : 서광원B
// - 작업일자 : 2017.11.01
// - 작업내용1 : 매출등록화면에서 상품등록 후
// 해피포인트 카드 혹은 제휴할인 카드를 리딩했을때
// 정상적인 카드일 경우 각각의 번호를 저장한다.
// 이후 '결제' 버튼 클릭 -> 포인트할인결제 화면에서 -> '해피포인트' 버튼 클릭시
// 저장되어 있던 해피포인트 번호 표시후 조회까지 진행한다.
// '제휴할인(통합)' 버튼 클릭시에도 동일한 처리를 수행한다.
// - 작업내용2 : 만약 해피포인트 옵션이 설정되어 있을 경우
// '결제' 버튼 클릭시 해피포인트 사용 화면을 바로 표시한다.
// 추가로 만약 해피포인트 카드가 리딩되었다면 조회까지 진행한다.
//************************************************************************************************
//************************************************************************************************
// 변경 이력 : 바코드 중복 처리
//------------------------------------------------------------------------------------------------
// - 작 업 자 : 서광원B
// - 작업일자 : 2017.11.10
// - 작업분류 : 2017.10.28 정보운영 판매 바코드 인식
// - 요청사항 : 1.상품마스터에는 바코드 복수 등록이 가능하나, 판매POS는 복수로 적용불가함.
// - 바코드가 키값으로 되어 있어 중복적용이 불가능한 구조 개선 필요
// 2.1개의 상품에 바코드 정보가 여러 개인 경우 제품선택화면에서 사용자가
// 상품선택할 수 있도록 기능 개선
// - 작업내용 : 상품마스터테이블(MST_ITEM), 상품바코드테이블(MST_ITEM_BAR_CD)을 대상으로
// 만약 1개의 상품을 리딩했는데, 마침 상품바코드테이블에 데이터가 2개 이상일 경우
// 새로 생성한 상품 선택 화면(frmMultiItem) 에서 사용자가 원하는 상품을 선택할 수 있도록 한다.
// cf) 상품코드와 상품명을 리턴하는 쿼리 함수(SeletItemMstNmoScanCode) 추가
//************************************************************************************************
namespace Cosmos.Win
{
public partial class frmSaleMain : Form, IFormSaleMainUs
{
private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object(객체)
private PosStatus m_cPosStatus = null; // 기본정보 참조
private TranStatus m_cTrnStatus = null; // 거래정보 참조
private DeviceStatus m_cDevStatus = null; // 장치저보 참조
private PosOLEDevice.DelegateOlePos delegatePos;
private IDataProcessUs m_cDataService = null; // 거래데이터 합계금액 계산 및 관리
private ISalePluItemUs m_cPluService = null; // 판매 등록 관리
private ICustDisplayUs m_cCustDisp = null; // 고객디스플레이 관리
private IMasterUs m_cMaster = null; // 마스터 관리
private ICampaignUs m_cCampaingMain = null; // 캠페인 관리
private IDataCommonUs m_cDataCommon = null; // POS 공통함수 인터페이스
private IPaymentUs m_cPayCancel = null; // 결제 취소 공통
private ITableUs m_cTableSvr = null; // 테이블 관리
private IWatcherBack m_cBackgroundDown = null;
private IDataServiceUs m_cPosNoticeCom = null; // 공지사항 공통
private SaleMainProcess m_cSaleMainProc = null; // 판매화면 기능 관리
private ISvr2Tran m_cSvr2Tran = null; // 서버시간 동기화
//17.05.18 dkshin 쇼킹박스 추가
private ISaleCompleteUs m_cSaleService = null;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
private IICReaderUs m_cDeviceICReader = null;
///
/// 입력구분
///
private string m_sInPutType = "";
///
/// 마스킹데이터
///
private string m_sInMaskData = "";
///
/// 카드데이터(암호화)
///
private string m_sInEncData = "";
///
/// 서비스코드
///
private string m_sServiceCode = "";
///
/// 승인카드번호
///
private string m_sAppCardNo = "";
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
private int m_nTimeSyncFlag = 0;
///
/// 부가메뉴선택유형(1:단일선택, 2:멀티선택)
///
string m_sSubMenuGrpSelType = "";
///
/// 화면 초기화 여부
///
private bool m_bFormInint = false;
///
/// 상품키 구성 마스터
///
//private DataTable m_dtMstItemKeyCompnt;
private ArrayList m_alMotDtl = new ArrayList(); // 결제 수단 정보 MOT 배열
private int iMaxPage; // 결제 수단 정보 MOT 최대 페이지 수
private int iNowPage; // 결제 수단 정보 MOT 현재 페이지
private readonly string MotbtnName = "BtnMotPay"; // 결제 수단 기본 버튼명
private Hashtable m_htMenuControls; // 상단 SLIDE 메뉴버튼 컨트롤 정보
private ArrayList m_alMenuHead = new ArrayList(); // 상단 SLIDE 메뉴타이틀정의 배열
private ArrayList m_alMenuProc = new ArrayList(); // 상단 SLIDE 메뉴정의 배열
private string m_SlideMenuKey = string.Empty; // 슬라이드 메뉴키
#region 해피포인트 선리딩 처리를 위한 변수
DataTable gdtFuncKey = new DataTable(); // 해피포인트 및 제휴할인 카드를 선리딩할 수 있는지 여부 확인을 위한 테이블
string strDispPriorReading = ""; // 선리딩된 내역을 상태바에 표시하기 위한 스트링 변수
#endregion
///
/// 메뉴상단표시위치
///
private int m_nTopPos = 0;
private string m_sPosMenuKeyIn = "";
///
/// frmSaleMain 호출자 설정
///
private string m_sSaleMainCaller = "";
public string SetSaleMainCaller { set { m_sSaleMainCaller = value; } }
///
/// 상품키 구성마스터
///
DataTable m_dtMstItemKeyCompnt = new DataTable();
///
/// 마스터 배치 다운로드 시간
///
private string m_sMstBatchDownDate = "";
private bool AllianceCardTranMode = false; //false 취소 , true 등록
private DateTime AllianceCardTime = new DateTime();
private bool AllianceCardVisibleFlag2 = false;
public int AllianceCardVisibleCnt2 = 0;
private string m_sPluItemCode = string.Empty; // 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
private DateTime BuyHistTime = new DateTime();
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#20180605 해피오더 개선 start
//즉시주문, 예약주문 알림
//즉시픽업
private int m_nTimeSync_HpOrd_Direct = 0;
//즉시배달
private int m_nTimeSync_HpOrd_Reserv = 0;
//#20180605 해피오더 개선 end
//#15058 해피오더 버튼 변경_20180612 start,phj
///
/// 1분 카운트
///
private int iCount = 0;
///
/// 해피오더 신규버튼 (true: 활성화, false: 비활성화)
///
private bool bSaleMain = true;
//#15058 해피오더 버튼 변경_20180612 end,phj
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
//기존
/*
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
///
/// 해피오더 실시간 재고 알림 디스플레이 상태 (true : 디스플레이 false: 미디스플레이)
///
private bool bInventoryDispStat = false;
///
/// 특별한 액션이 없을 때 (1분동안보여줌)
///
private int iInventoryDispCnt = -1;
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
*/
//변경
///
/// true: 닫기, false: 열기
///
private bool bInventoryCancel = false;
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
#region 생성자, 폼로딩
///
/// 생성자
///
public frmSaleMain()
{
InitializeComponent();
base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true);
//this.UpdateStyles();
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
this.picPayBack.Paint += new System.Windows.Forms.PaintEventHandler(this.picPayBack_Gradient);
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
m_cPosStatus = (PosStatus)StateObject.POS; //POS 기본정보
m_cTrnStatus = (TranStatus)StateObject.TRAN; //POS 거래정보
m_cDevStatus = (DeviceStatus)StateObject.DEVICE;
m_cDataService = (IDataProcessUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_SERVICE);
m_cPluService = (ISalePluItemUs)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.SALE_PLU_ITEM);
m_cCustDisp = (ICustDisplayUs)sManager.InitServiceInstance(ServiceLists.ASV_CUSTDISPLAY.DLL, ServiceLists.ASV_CUSTDISPLAY.CUST_DISPLAY);
m_cMaster = (IMasterUs)sManager.InitServiceInstance(ServiceLists.ASV_MASTER.DLL, ServiceLists.ASV_MASTER.POS_MASTER);
m_cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
m_cPayCancel = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.PAYMENTCANCEL);
m_cTableSvr = (ITableUs)sManager.InitServiceInstance(ServiceLists.BSV_TABLE.DLL, ServiceLists.BSV_TABLE.TABLE_SERVICE);
m_cPosNoticeCom = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.POS_NOTICE_COM);
m_cSvr2Tran = (ISvr2Tran)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.SVR2TRAN);
// 백그라운드 다운 데몬 기동
m_cBackgroundDown = (IWatcherBack)sManager.InitServiceInstance(ServiceLists.AGENT_BACKGROUND_DOWN.DLL, ServiceLists.AGENT_BACKGROUND_DOWN.BACKGROUND_DOWN_MAIN);
//17.05.18 dkshin 쇼킹박스 추가
m_cSaleService = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
m_cDeviceICReader = (IICReaderUs)sManager.InitServiceInstance(ServiceLists.AGENT_OLEDEVICE.DLL, ServiceLists.AGENT_OLEDEVICE.DEVICE_ICREADER);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
m_cSaleMainProc = new SaleMainProcess();
//OLE 입력 델리게이트 생성
delegatePos = new PosOLEDevice.DelegateOlePos(OnDeviceEvent);
#region 초기화 관련 설정들은 Form 생성 전 한 번만 호출되도록 생성자 쪽으로 이동(CHOCY-20160707)
//// 세트 할인 마스터 로딩
//m_cPluService.LoadSetMenuDisMaster();
//// 캠페인 마스터 로딩
//m_cCampaingMain.LoadCampaignCondition(new string[] { });
//// 그리드 초기화
//InitializeGrid();
////// 컨트롤 초기화
//InitControl();
////// 메뉴 버튼 초기화 및 로드
//LoadMenuMaster();
////// 기능키 버튼 초기화 및 로드
//LoadFuncMaster();
#endregion
}
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
#region picPayBack Paint 이벤트
private void picPayBack_Gradient(object sender, PaintEventArgs e)
{
try
{
//picPayBack 그라데이션 처리
#region picPayBack 그라데이션 처리
Color startColor = Color.FromArgb(138, 147, 165);
Color middleColor1 = Color.FromArgb(138, 147, 165);
Color middleColor2 = Color.FromArgb(33, 44, 56);
Color endColor = Color.FromArgb(33, 44, 56);
LinearGradientBrush br = new LinearGradientBrush(this.picPayBack.ClientRectangle,
System.Drawing.Color.FromArgb(255, 255, 255),
System.Drawing.Color.Black,
0,
false);
ColorBlend cb = new ColorBlend();
//그라데이션 시작 위치 설정
cb.Positions = new[] { 0, 1 / 10f, 1 / 2f, 1 };
//그라데이션 시작 위치별 색상 설정
cb.Colors = new[] { startColor, middleColor1, middleColor2, endColor };
//그라데이션 처리 회전 각도
br.RotateTransform(90);
br.InterpolationColors = cb;
e.Graphics.FillRectangle(br, this.picPayBack.ClientRectangle);
#endregion picPayBack 그라데이션 처리
//하단 정보 박스 테두리 색상 변경
#region 하단 정보 박스 테두리 색상 변경
Pen p = new Pen(Color.Black);
Graphics g = e.Graphics;
int variance = 1;
//해피포인트 정보
g.DrawRectangle(p, new Rectangle(lblHappyPoint.Location.X - variance, lblHappyPoint.Location.Y - variance, lblHappyPoint.Width + variance, lblHappyPoint.Height + variance));
//금액 정보
g.DrawRectangle(p, new Rectangle(lblPayAmtBack.Location.X - variance, lblPayAmtBack.Location.Y - variance, lblPayAmtBack.Width + variance, lblPayAmtBack.Height + variance));
//결제 정보
g.DrawRectangle(p, new Rectangle(lstPaymentList.Location.X, lstPaymentList.Location.Y - variance, lstPaymentList.Width, lstPaymentList.Height + variance));
#endregion 하단 정보 박스 테두리 색상 변경
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion picPayBack Paint 이벤트
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
private void frmSaleMain_Load(object sender, EventArgs e)
{
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "");
#region 초기화 관련 설정들은 Form 생성 전 한 번만 호출되도록 생성자 쪽으로 이동(CHOCY-20160707)
// 세트 할인 마스터 로딩
m_cPluService.LoadSetMenuDisMaster();
// 캠페인 마스터 로딩
m_sMstBatchDownDate = m_cPosStatus.Base.MstBatchDownDate;
m_cCampaingMain.LoadCampaignCondition(new string[] { });
// 그리드 초기화
InitializeGrid();
// 컨트롤 초기화
InitControl();
// 메뉴 버튼 초기화 및 로드
LoadMenuMaster();
// 기능키 버튼 초기화 및 로드
LoadFuncMaster();
// 컨트롤 CLEAR
ClearControl();
// 프로그램 버전정보 표시
lblPgmVersion.Text = string.Format("VER:{0}", m_cPosStatus.Ver.ProgramVer == "" ? "2016011000001" : m_cPosStatus.Ver.ProgramVer);
if (m_cPosStatus.Base.MstDownDate.Trim() != "") lblDBVersion.Text = "MST:" + m_cPosStatus.Base.MstDownDate;
//#20171011 영업일, 시스템일시 위치 변경 start
//개점일자 표시
//lblSaleDate.Text = string.Format("SaleDate : {0}", m_cPosStatus.Base.SaleDate == "" ? m_cPosStatus.Global.DateToCulture("20000101") : m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate));
//#20171011 영업일, 시스템일시 위치 변경 end
// 판매모드 초기화
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
InitializeGrid();
// 판매화면 초기화
DisplayInit(false, true);
WinSale.SetTradType(lblSaleStatus, pnlTopBg, ItemConst.TRAN_DIV.NORMAL, ItemConst.TRAN_KIND.NORMAL.SALE);
SetOwnPartDiv(false);
GetClientPOSVersion();//실행파일 버젼 표시; girak.kim; 2017.08.30.001
#endregion
PosOLEDevice.SetEventHandle(delegatePos);
//if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT)
if (m_sSaleMainCaller == PosConst.SAL_MAIN_FORM_CALLER_TYPE.TABLE_SVC)
{
switch (m_cPosStatus.Sale.EtcOperateMode)
{
case PosConst.ETC_OPERATION_MODE.NORMAL:
case PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY:
// 테이블 서비스에서 호출 되었을 경우 처리
m_cPosStatus.Sale.TableInfo = CmUtil.RPadH(m_cTrnStatus.Head.OrderFlag, 1) + CmUtil.RPadH(m_cTrnStatus.Head.FloorCd, 4) + CmUtil.RPadH(m_cTrnStatus.Head.TableNo, 4);
string ret = m_cTableSvr.SelectMenuOrder();
if (ret != UserCom.RST_OK)
{
WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087);
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END;
tmrCustCount.Enabled = true;
return;
}
ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
if (aSaleItem.Count == 0 && m_cPosStatus.Sale.EtcOperateMode != PosConst.ETC_OPERATION_MODE.NORMAL)
{
WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087);
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END;
tmrCustCount.Enabled = true;
return;
}
if (aSaleItem.Count > 0)
{
// 판매중 모드 설정
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
// 판매화면 초기화
DisplayInit(true, false);
// 상품등록 내역 표시
DisplayItem(0, false);
// 판매진행상태 재설정
m_cPosStatus.Sale.SaleFlow = m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL
? PosConst.SALE_FLOW.SALE_DOING
: PosConst.SALE_FLOW.PAY_WAIT;
}
else
{
// 상품등록 대기 모드 설정
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
// 판매화면 초기화
DisplayInit(true, false);
}
if (m_cTrnStatus.Head.OrderFlag == PosConst.ORDER_TYPE.NORMAL) // 테이블
{
if (m_cTrnStatus.Head.OrderPicNm.Trim() == "")
lblTableInfo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0176) + ": " + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm;
else
lblTableInfo.Text = "[" + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm + "]" + m_cTrnStatus.Head.OrderPicNm;
}
break;
case PosConst.ETC_OPERATION_MODE.NO_ORDER_SALE:
default:
// 상품등록 대기 모드 설정
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
// 판매화면 초기화
DisplayInit(true, false);
break;
}
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT && m_cTrnStatus.Head.OrderFlag == PosConst.ORDER_TYPE.NORMAL)
{
// 고객 수 입력 폼 설정
tmrCustCount.Enabled = true;
}
else
{
// lblCustCount
}
}
else if (m_sSaleMainCaller == PosConst.SAL_MAIN_FORM_CALLER_TYPE.HPORD)
{
// 해피오더에서 호출 되었을 경우 처리
ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
if (aSaleItem.Count == 0)
{
WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087);
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END;
tmrCustCount.Enabled = true;
return;
}
// 판매중 모드 설정
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
// 판매화면 초기화
DisplayInit(true, false);
// 상품등록 내역 표시
DisplayItem(0, false);
}
else
{
// 그 외에서 호출 되었을 경우 처리
// 거래 초기화
m_cDataService.InitTranHeader();
m_cDataService.DeleteTranItem();
}
m_cPosStatus.Sale.ChangeCashAmt = 0;
// 더치페이 진행중 초기화!
m_cPosStatus.Sale.PayingDutchFlag = "";
if (m_cPosStatus.Base.TrainingFlag == "1")
GetTopMsgMode("0");
else
GetTopMsgMode("");
// 타이머 호출
tmrSaleTimer.Enabled = true;
tmrDateTime.Enabled = true;
//-------------------------------------------------
// 만약 판매화면 초기화시
// 해피포인트 제휴할인 변수 초기화 함수를 호출한다.
//-------------------------------------------------
#region 판매화면 초기화시 해피포인트 제휴할인 변수 초기화 함수를 호출한다.
SubPriorReadingVarClear(true);
#endregion
}
private void frmSaleMain_FormClosing(object sender, FormClosingEventArgs e)
{
lblTopMsgMode.MpStop();
tmrSaleTimer.Enabled = false;
tmrDateTime.Enabled = false;
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "");
}
#endregion
#region 그리드 초기화
///
/// 그리드 초기화
///
private void InitializeGrid()
{
int[] arGridItemWidth = new int[] { 0 };
bool[] arGridItemClickEventFlag = new bool[] { true };
string[] arGridItemText = new string[] { "" };
StringAlignment[] arHStringAlignment = new StringAlignment[] { StringAlignment.Center };
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
arGridItemWidth = new int[] { 40, 10, 175, 90, 60, 90, 100, 50, 50 };
SaleItemGrid.DisplayItemCount = 7;
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
arGridItemWidth = new int[] { 30, 10, 115, 65, 50, 70, 100, 40, 40 };
SaleItemGrid.DisplayItemCount = 8;
}
else // 3안
{
arGridItemWidth = new int[] { 30, 10, 115, 63, 40, 67, 75, 40, 30 };
//arGridItemWidth = new int[] { 30, 10, 80, 70, 50, 70, 90, 40, 30 };
SaleItemGrid.DisplayItemCount = 8;
}
int[] arFontSize = new int[] { 9, 10, 10, 10, 10, 10, 10, 10, 10 };
arGridItemText = new string[] { MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0014),
"",
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0015),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0016),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0017),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0019),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0020),
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0021)};
arHStringAlignment = new StringAlignment[] { StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center };
arGridItemClickEventFlag = new bool[] { false, false, false, false, false, false, false, false, true };
// Set Item Data Grid Information
//SaleItemGrid.DisplayItemCount = 8;
SaleItemGrid.GapSize = 0;
SaleItemGrid.BackColor = Color.White;
// Row Item
GridDataItem cGridDataItem = new GridDataItem();
cGridDataItem.GridItemBackColor = Color.FromArgb(234, 234, 234);
cGridDataItem.GridItemBackColorClick = Color.White;
cGridDataItem.GridItemBackImage = null;
cGridDataItem.GridItemBackImageClick = null;
cGridDataItem.GridItemData = new System.Collections.Hashtable();
// Set Column
for (int nLoop = 0; nLoop < arGridItemWidth.Length; nLoop++)
{
CsmGridExRowData cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[nLoop];
cGridExRowData.HStringAlignment = arHStringAlignment[nLoop];
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = arGridItemText[nLoop];
cGridExRowData.GridItemValue = arGridItemText[nLoop];
//할인 경우 빨강색!
if (MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018) == arGridItemText[nLoop])
cGridExRowData.ForeColor = Color.Red;
else
cGridExRowData.ForeColor = Color.Black;
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[nLoop];
cGridExRowData.FontStyle = FontStyle.Bold;
cGridExRowData.ClickEventFlag = arGridItemClickEventFlag[nLoop];
//거래 취소 경우 아이콘 삽입!
if (MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0021) == arGridItemText[nLoop])
{
cGridExRowData.GridRowImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.ITEM_GRID_HDR_DEL);
}
// Add Column
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
}
// Grid Data Header 설정
SaleItemGrid.SetGridDataHeader(35, cGridDataItem, GRID_EX_ITEM_BORDER_STYLE.BOTTOM, 1, Color.FromArgb(234, 234, 234));
SaleItemGrid.Invalidate();
}
#endregion
#region 컨트롤 초기화
///
/// 폼 컨트롤 초기화
///
private void InitControl()
{
try
{
this.SuspendLayout();
FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT);
FormManager.SetFormAllControlColor(this, BaseCom.NxImgPath);
//btnMenu.Font = new Font("돋움", btnMenu.Font.Size, btnMenu.Font.Style);
lblTopMsgMode.csmMoveFont = new Font(m_cPosStatus.Base.FONT, 21);
//폼 크기 설정
this.Location = new Point(0, 0);
this.Size = new Size(1024, 768);
//picTopBg.BackgroundImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MAIN_TOP_BG);
picFooterBg.BackgroundImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MAIN_FOOTER_BG);
picSaleBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.SALE_BG + m_cPosStatus.Base.DesignType + ".png");
//BtnPayCanc.ClickImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BUTTON_PAY_MAIN_FUNC_PRESS);
//BtnPayMain.ClickImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BUTTON_PAY_MAIN_FUNC_PRESS);
picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON);
picWeb.Tag = "ON";
lblWeb.Tag = "0";
// 라벨 초기화 및 다국어 처리
lblQtySaleAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.QTY_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0035);
lblDiscountAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.DC_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0036);
lblVatSvc.Text = PosConst.SALE_DISP_SPCL_CHAR.VAT_SVC_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0981);
lblRecvedAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.RECV_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0366);
//lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
btnSubMenuExit.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0040);
lblPayQtySaleAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.QTY_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0035);
lblPayDiscountAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.DC_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0036);
lblPayRecvAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.RECV_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0366);
//lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
lblPayVatSvc.Text = PosConst.SALE_DISP_SPCL_CHAR.VAT_SVC_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0981);
lblOffLine.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1020);
if (string.IsNullOrEmpty(lblOffLine.Text) == true)
lblOffLine.Text = "The currently offline. Please check your nework.";
padInPut.BtnMinusEnable = true;
padInPut.BtnPlusEnable = true;
padInPut.BtnQtyEnable = true;
padInPut.BtnSearchEnable = true;
padInPut.QtyBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0017);
padInPut.ClearBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0817);
padInPut.SearchBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1018);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
csmLabel5.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1123);
csmLabel6.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1124);
csmLabel7.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1125);
csmLabel8.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1126);
csmLabel9.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1127);
csmLabel10.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1128);
csmLabel14.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1129);
csmLabel15.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1130);
pnlBuyHist.Visible = false;
//#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj
//적용 시 주석처리하고 아래 것으로 변경
//pnlBuyHistMot.BackColor = Color.FromArgb(20, 92, 180);
//pnlBuyHistMot.ForeColor = Color.White;
//lblBuyHistMot.BackColor = Color.FromArgb(20, 92, 180);
//lblBuyHistMot.ForeColor = Color.White;
//적용 시 주석해제
pnlBuyHistMot.BackColor = Color.FromArgb(255, 255, 128);
pnlBuyHistMot.ForeColor = Color.Black;
lblBuyHistMot.BackColor = Color.FromArgb(255, 255, 128);
lblBuyHistMot.ForeColor = Color.Black;
//#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
pnlBuyHistMot.Visible = false;
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
{
//#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj
//기존
//FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 645, 50, 12);
//FormManager.SetControlSize(lblBuyHistMot, 0, 0, 645, 50, 12);
//변경
FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 645, 100, 16);
FormManager.SetControlSize(lblBuyHistMot, 0, 0, 645, 100, 16);
//#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj
}
else
{
//#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj
//기존
//FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 1024, 50, 12);
//FormManager.SetControlSize(lblBuyHistMot, 0, 0, 1024, 50, 12);
//변경
FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 1024, 100, 16);
FormManager.SetControlSize(lblBuyHistMot, 0, 0, 1024, 100, 16);
//#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
//#15525 고객구매이력 수정 요청 start
//VIP 여부 안내 표시
pnlBuyHistVip.Visible = false;
FormManager.SetControlSize(pnlBuyHistVip, 311, 99, 402, 400);
//#15525 고객구매이력 수정 요청 end
SetCmsRichTbMotMsg(rtbMotSale, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.SALE_WAIT_MOT, "");
InitControlLocation();
//시작 MOT 사용 여부
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "0")
{
pnlMotSale.Visible = false;
}
else
{
pnlMotSale.Visible = true;
}
Color clrBtnBack = Color.FromArgb(231, 233, 236); //CmUtil.GetColorToString(m_cPosStatus.Mst.ThemeColor);
btnItemGridDown.BackColor = clrBtnBack;
btnItemGridBottom.BackColor = clrBtnBack;
btnItemGridTop.BackColor = clrBtnBack;
btnItemGridUp.BackColor = clrBtnBack;
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
{
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), 0, 0, 0);
}
else
{
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1009), 0, 0, 0);
}
lblIFStatus2.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0464), 0);
lblIFStatus3.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0465), 0);
//if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
//{
// lblIFStatus1.Visible = false;
//}
//if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT036), "0") == "0")
//{
// lblIFStatus2.Visible = false;
//}
//if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT037), "0") == "0")
//{
// lblIFStatus3.Visible = false;
//}
lblAnniv.Text = "";
lblAnniv.Tag = "";
TopMenuLocation();
//===========================================================================================
// 결제화면
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
//기존
//picPayBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.PAY_BACKGROUND);
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
//버튼 초기화
BtnPayCanc.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0044);
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045);
lblPayStep1.Text = string.Format("STEP 1\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0046));
lblPayStep2.Text = string.Format("STEP 2\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0047));
lblPayStep3.Text = string.Format("STEP 3\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0048));
picMotPayImg.Parent = pnlCardMot;
PayListInit();
// 기능기 초기화
LoadFuncMasterPayment();
SetSaleMot();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
this.ResumeLayout(false);
}
}
///
/// 상단 표시 메뉴 처리
///
private void TopMenuLocation()
{
int iBasciLocation = 0;
try
{
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
{
//800
iBasciLocation = 220;
}
else
{
//1024
iBasciLocation = 263;
}
//온도표시
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT039), "0") != "1")
{
pnlIFStatus4.Visible = false;
}
else
{
pnlIFStatus4.Visible = true;
pnlIFStatus4.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + pnlIFStatus4.Width;
}
//#15058 해피오더 버튼 변경_20180612 start,phj
PnlNewHPOrd_Disp.Visible = false;
NewHPOrd_Disp2.Visible = false;
NewHPOrd_Disp.Visible = false;
//#15058 해피오더 버튼 변경_20180612 end,phj
//해피오더
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
{
lblIFStatus1.Visible = false;
//#15058 해피오더 버튼 변경_20180612 start,phj
bSaleMain = false;
//#15058 해피오더 버튼 변경_20180612 end,phj
}
else
{
if(m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
{
lblIFStatus1.Size = new Size(260, 21);
}
else
{
lblIFStatus1.Size = new Size(260, 21);
}
lblIFStatus1.Visible = true;
lblIFStatus1.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + lblIFStatus1.Width;
//#15058 해피오더 버튼 변경_20180612 start,phj
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
{
//#20180605 해피오더 개선 start - 20180618
//기존
/*
PnlNewHPOrd_Disp.Size = new Size(260, 21);
PnlNewHPOrd_Disp.Width = lblIFStatus1.Width;
PnlNewHPOrd_Disp.Height = 50; //lblIFStatus1.Height;
PnlNewHPOrd_Disp.Top = 0; //lblIFStatus1.Top;
PnlNewHPOrd_Disp.Left = lblIFStatus1.Left;
PnlNewHPOrd_Disp.Location = lblIFStatus1.Location; // new Point(iBasciLocation, 25);
PnlNewHPOrd_Disp.Visible = false;
*/
//변경
PnlNewHPOrd_Disp.Size = new Size(260, 21);
PnlNewHPOrd_Disp.Width = lblIFStatus1.Width;
PnlNewHPOrd_Disp.Left = lblIFStatus1.Left;
PnlNewHPOrd_Disp.Top = 0;
PnlNewHPOrd_Disp.Height = 50;
bSaleMain = true;
//#20180605 해피오더 개선 start - 20180618
}
//#15058 해피오더 버튼 변경_20180612 end,phj
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
//기존
/*
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
iInventoryDispCnt = -1;
bInventoryDispStat = false;
lb_HPOInventoryAlram.Visible = false;
lb_HPOInventoryAlram2.Visible = false;
Pnl_HPOInventoryAlram.Visible = false;
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
{
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
{
Pnl_HPOInventoryAlram.Location = new Point(iBasciLocation, 25);
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
Pnl_HPOInventoryAlram.Width = lblIFStatus1.Width; // lblIFStatus1.Width;
Pnl_HPOInventoryAlram.Left = lblIFStatus1.Left;
Pnl_HPOInventoryAlram.Top = 0;
Pnl_HPOInventoryAlram.Height = 50;
}
else
{
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
Pnl_HPOInventoryAlram.Width = PnlNewHPOrd_Disp.Width;
Pnl_HPOInventoryAlram.Left = PnlNewHPOrd_Disp.Left + PnlNewHPOrd_Disp.Width;
Pnl_HPOInventoryAlram.Top = 0;
Pnl_HPOInventoryAlram.Height = 50;
}
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
*/
//변경
bInventoryCancel = false;
lb_HPOInventoryAlram.Visible = false;
lb_HPOInventoryAlram2.Visible = false;
Pnl_HPOInventoryAlram.Visible = false;
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
{
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
{
Pnl_HPOInventoryAlram.Location = new Point(iBasciLocation, 25);
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
Pnl_HPOInventoryAlram.Width = lblIFStatus1.Width; // lblIFStatus1.Width;
Pnl_HPOInventoryAlram.Left = lblIFStatus1.Left;
Pnl_HPOInventoryAlram.Top = 0;
Pnl_HPOInventoryAlram.Height = 50;
}
else
{
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
Pnl_HPOInventoryAlram.Width = PnlNewHPOrd_Disp.Width;
Pnl_HPOInventoryAlram.Left = PnlNewHPOrd_Disp.Left + PnlNewHPOrd_Disp.Width;
Pnl_HPOInventoryAlram.Top = 0;
Pnl_HPOInventoryAlram.Height = 50;
}
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
//빚은몰
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT036), "0") == "0")
{
lblIFStatus2.Visible = false;
}
else
{
lblIFStatus2.Visible = true;
lblIFStatus2.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + lblIFStatus2.Width;
}
//이지웰
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT037), "0") == "0")
{
lblIFStatus3.Visible = false;
}
else
{
lblIFStatus3.Visible = true;
lblIFStatus3.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + lblIFStatus3.Width;
}
//점주 알바 점수 표시
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT019), "1") == "1")
{
lblOwnerPart.Visible = true;
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR)
{
lblOwnerPart.Size = new Size(182, 21);
lblOwnerPart.Text = string.Format("{0}:0{2}/{1}:0{2}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0733), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
}
else
{
lblOwnerPart.Size = new Size(95, 21);
lblOwnerPart.Text = string.Format("{0}:0{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
}
lblOwnerPart.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + lblOwnerPart.Width;
}
else
{
lblOwnerPart.Visible = false;
lblOwnerPart.Text = "";
}
//기념일 배송
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0")
{
lblAnniv.Text = string.Format("{0}:0", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742));
lblAnniv.Visible = true;
lblAnniv.Location = new Point(iBasciLocation, 25);
iBasciLocation = iBasciLocation + lblAnniv.Width;
}
else
{
lblAnniv.Visible = false;
lblAnniv.Text = "";
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 상단 메세지 설정(연습모드, 긴급메세지)
///
///
private void GetTopMsgMode(string sType)
{
try
{
if (sType == "0")
{
if (lblTopMsgMode.MpStatus() == false)
{
lblTopMsgMode.MpIntervalMove(20);
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
FormManager.SetControlSize(lblTopMsgMode, 95, 0, 645, 50, 21);
else
FormManager.SetControlSize(lblTopMsgMode, 125, 0, 820, 50, 21);
// 연습모드 설정
Cosmos.UI.CsmPosMovePanel.MovePanelInfo cMoveInfo = new Cosmos.UI.CsmPosMovePanel.MovePanelInfo();
cMoveInfo.BackColor = Color.Red;
cMoveInfo.ForeColor = Color.Yellow;
cMoveInfo.MoveKind = "4"; //0:좌->우, 1:우->좌, 4:깜박임
cMoveInfo.MoveText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0402);
lblTopMsgMode.MpAdd(cMoveInfo);
lblTopMsgMode.Visible = true;
lblTopMsgMode.MpStart();
}
}
else if (sType == "1")
{
EmgNoticeProcess();
// 백그라운드 프로그램 적용 확인 메시지
POSProgramApplyCheck();
}
else
{
//중지
lblTopMsgMode.MpStop();
lblTopMsgMode.Visible = false;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#region 점주알바점수, 유해상품, 입고등록, 배송정보, 기념일배송 처리
///
/// 점주알바점수, 유해상품, 입고등록, 배송정보, 기념일배송 처리
///
///
private void SelectEtcNoticeCom()
{
string[] aOutParam = new string[] { "0", "0" };
try
{
string sDpsStr = string.Empty;
if (lblOwnerPart.Visible == true)
{
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
{
sDpsStr = string.Format("{0}:#1{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
}
else
{
sDpsStr = string.Format("{0}:#1{2}/{1}:#2{2}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0733), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
}
//01 - 점주알바모드
if (m_cDataCommon.GetEtcNoticeProcess("01", ref aOutParam) == false)
{
aOutParam = new string[] { "0", "0" };
}
lblOwnerPart.Text = sDpsStr.Replace("#1", aOutParam[0]).Replace("#2", aOutParam[1]);
}
//02 - 유해상품
//03 - 입고등록 확인
//04 - 배송정보
//05 - 기념일 배송
m_cDataCommon.GetEtcNoticeProcess("02", ref aOutParam);
//기념일 배송
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0")
{
m_cDataCommon.GetEtcNoticeProcess("05", ref aOutParam);
if (aOutParam == null || aOutParam[0] == "0")
{
lblAnniv.Text = string.Format("{0}:0", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742));
lblAnniv.Tag = "";
}
else
{
lblAnniv.Text = string.Format("{0}:{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742), aOutParam[0]);
lblAnniv.Tag = "1";
}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/////
///// 점주 알바 웹 호출
/////
//private void ShowOwnerPartWeb(string sKeyCode)
//{
// try
// {
// //WEB 링크 조회
// IDataServiceUs cWebBiz = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.WEB_POS);
// if (cWebBiz != null)
// {
// string sUrl = string.Empty;
// sUrl = (string)cWebBiz.GetData(new string[] { sKeyCode });
// if (sUrl != UserCom.ERROR && sUrl != null)
// {
// System.Diagnostics.Process.Start("iexplore.exe", CmUtil.MidH(sUrl, 31, CmUtil.LenH(sUrl)));
// }
// }
// }
// catch (Exception ex)
// {
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
//}
#endregion 점주알바점수, 유해상품, 입고등록, 배송정보, 기념일배송 처리
///
/// 판매 화면 MOT
///
private void SetSaleMot()
{
try
{
//시작 MOT 사용 유무!
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "1")
{
pnlMotSale.BackgroundImage = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, m_cPosStatus.ScnMst.WaitImg);
if (pnlMotSale.BackgroundImage != null)
CmUtil.FileCopy(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + m_cPosStatus.ScnMst.WaitImg, BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + ImageManager.SALE_MOT_WAIT, false);
else
pnlMotSale.BackgroundImage = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, ImageManager.SALE_MOT_WAIT);
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 폼 컨트롤 초기화
///
private void ClearControl()
{
try
{
lblStoreNm.Text = CmUtil.GetDataRowStr(PosMstManager.GetMstStore(), PosMst.MST_STORE.DATA.STORNM); //점포명
lblPosNo.Text = "POS " + m_cPosStatus.Base.PosNo;
lblTranNo.Text = m_cPosStatus.Base.TradeNo;
lblCashier.Text = m_cPosStatus.Base.CashierName;
lblEtc.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0038);
lblWeb.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0039);
lblTableInfo.Text = string.Empty;
txtQtySaleAmt.Text = "0";
txtDiscountAmt.Text = "0";
txtRecvedAmt.Text = "0";
txtNetSaleAmt.Text = "0";
txtVatSvc.Text = "0";
pnlSubMenu.Visible = false;
pnlSetMenu.Visible = false;
pnlFlavour.Visible = false;
picCampaign.Visible = false;
//===========================================================================================
// 결제화면
rtbMotMain.Text = "";
txtPayQtySaleAmt.Text = "0";
txtPayDiscountAmt.Text = "0";
txtPayNetSaleAmt.Text = "0";
txtPayRecvAmt.Text = "0";
txtPayVatSvc.Text = "0";
SlideSetMenuBtn();
pnlMenuSlide.Location = new Point(0, 50);
pnlMenuSlide.Visible = false;
picTempInfo.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG);
pnlTempInfo.Location = new Point(0, 50);
pnlTempInfo.Visible = false;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 시안별 컨트롤 위치 설정
///
private void InitControlLocation()
{
try
{
//FormManager.SetControlSize(pnlSaleMainBack, 0, 50, 1024, 698);
FormManager.SetControlSize(picSaleBack, 0, 50, 1024, 698);
FormManager.SetControlSize(pnlPayMainBack, 0, 1025, 1024, 696);
FormManager.SetControlSize(picPayBack, 0, 0, 1024, 696);
FormManager.SetControlSize(lblTopMsgMode, 127, 0, 903, 50);
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴
FormManager.SetControlSize(pnlMenuLClass, 0, 329, 712, 57); // 메뉴키 대분류
FormManager.SetControlSize(btnMenuLClassUp, 0, 0, 60, 57);
FormManager.SetControlSize(btnMenuLClass, 61, 0, 590, 57); // 메뉴키 대분류
FormManager.SetControlSize(btnMenuLClassDn, 652, 0, 60, 57);
btnMenuLClass.SetFuncButtonCount(1, 5); // 버튼갯수 설정
FormManager.SetControlSize(pnlMenuMClass, 0, 386, 142, 360); // 메뉴키 중분류
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
if (nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 142, 360); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 142, 72 * nMFixCnt); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(nMFixCnt, 2); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 0, (72 * nMFixCnt) + 1, 142, 360 - (72 * nMFixCnt));// 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(5 - nMFixCnt, 2); // 버튼갯수 설정
}
//FormManager.SetControlSize(btnMenuMClass, 0, 386, 142, 360); // 메뉴키 중분류
//btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정
FormManager.SetControlSize(pnlSubMenu, 0, 329, 712, 417); // 부가메뉴
FormManager.SetControlSize(btnSubMenuGrp, 1, 0, 109, 370); // 부가메뉴-그룹
FormManager.SetControlSize(btnSubMenuExit, 1, 371, 109, 47); // 부가메뉴-종료
FormManager.SetControlSize(btnSubMenuDtl, 111, 0, 600, 417); // 부가메뉴-상품
FormManager.SetControlSize(pnlSetMenu, 0, 329, 712, 417); // 세트메뉴
FormManager.SetControlSize(lblSetMenuTitle, 2, 2, 708, 29); // 세트메뉴-타이틀
FormManager.SetControlSize(btnSetMenu, 2, 35, 708, 380); // 세트메뉴-상품
FormManager.SetControlSize(pnlFlavour, 0, 329, 712, 417); // 플레이버
FormManager.SetControlSize(lblItemGrid, 0, 50, 711, 278); // 상품그리드 BACK
FormManager.SetControlSize(SaleItemGrid, 0, 50, 665, 278); // 상품그리드
FormManager.SetControlSize(txtInPut, 716, 331, 302, 49); // 입력박스
FormManager.SetControlSize(padInPut, 712, 385, 309, 361); // 키패드
padInPut.DesignType = DesignType.Design_A;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
FormManager.SetControlSize(pnlBuyHist, 712, 327, 309, 419); // 고객 구매이력 정보
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
FormManager.SetControlSize(btnFuncItem, 0, 768, 322, 247); // 기능(오른쪽)
FormManager.SetControlSize(btnItemGridTop, 668, 50, 43, 68); // 상품그리드 TOP
FormManager.SetControlSize(btnItemGridUp, 668, 120, 43, 68); // 상품그리드 UP
FormManager.SetControlSize(btnItemGridDown, 668, 190, 43, 68); // 상품그리드 DOWN
FormManager.SetControlSize(btnItemGridBottom, 668, 260, 43, 68); // 상품그리드 BOTTOM
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
//기존
FormManager.SetControlSize(pnlMotSale, 0, 50, 712, 278); // 판매대기 MOT
//변경
//FormManager.SetControlSize(pnlMotSale, 0, 329, 712, 417); // 판매대기 MOT
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
FormManager.SetControlSize(rtbMotSale, 4, 135, 700, 136); // 판매대기 MOT
FormManager.SetControlSize(picCampaign, 712, 51, 311, 110); // 캠페인 이미지
// 포함 여부에 따라 부가세 표시
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
FormManager.SetControlSize(btnFuncSale, 712, 182, 312, 144); // 기능(왼쪽)
FormManager.SetControlSize(lblAmtBack, 712, 51, 312, 131); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 716, 51, 131, 24); // 수량총금액(24)
FormManager.SetControlSize(lblDiscountAmt, 716, 75, 131, 24); // 할인금액
FormManager.SetControlSize(lblVatSvc, 716, 99, 131, 24); // 봉사료,부가세
FormManager.SetControlSize(lblRecvedAmt, 716, 123, 131, 24); // 받은금액
FormManager.SetControlSize(lblNetSaleAmt, 716, 149, 131, 28); // 받을금액(27)
FormManager.SetControlSize(txtQtySaleAmt, 847, 51, 177, 24); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 847, 75, 177, 24); // 할인금액
FormManager.SetControlSize(txtVatSvc, 847, 99, 177, 24); // 봉사료,부가세
FormManager.SetControlSize(txtRecvedAmt, 847, 123, 177, 24); // 받을금액
FormManager.SetControlSize(txtNetSaleAmt, 847, 149, 180, 28); // 받을금액
lblVatSvc.Visible = true;
txtVatSvc.Visible = true;
}
else
{
FormManager.SetControlSize(btnFuncSale, 712, 162, 312, 164); // 기능(왼쪽)
FormManager.SetControlSize(lblAmtBack, 712, 51, 311, 110); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 716, 55, 131, 24); // 수량총금액(24)
FormManager.SetControlSize(lblDiscountAmt, 716, 79, 131, 24); // 할인금액
FormManager.SetControlSize(lblRecvedAmt, 716, 103, 131, 24); // 받은금액
FormManager.SetControlSize(lblNetSaleAmt, 716, 127, 131, 29); // 받을금액(27)
FormManager.SetControlSize(txtQtySaleAmt, 847, 55, 177, 24); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 847, 79, 177, 24); // 할인금액
FormManager.SetControlSize(txtRecvedAmt, 847, 103, 177, 24); // 받을금액
FormManager.SetControlSize(txtNetSaleAmt, 847, 127, 180, 29); // 받을금액
lblVatSvc.Visible = false;
txtVatSvc.Visible = false;
}
lblAmtBack.BackColor = Color.FromArgb(204, 204, 204); // 금액배경(잔상제거용)
lblQtySaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 수량총금액
lblDiscountAmt.BackColor = Color.FromArgb(204, 204, 204); // 할인금액
lblVatSvc.BackColor = Color.FromArgb(204, 204, 204); // 봉사료,부가세
lblRecvedAmt.BackColor = Color.FromArgb(204, 204, 204);
lblNetSaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 받을금액
txtQtySaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 수량총금액
txtDiscountAmt.BackColor = Color.FromArgb(204, 204, 204); // 할인금액
txtVatSvc.BackColor = Color.FromArgb(204, 204, 204); // 봉사료,부가세
txtRecvedAmt.BackColor = Color.FromArgb(204, 204, 204);
txtNetSaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 받을금액
lblQtySaleAmt.ForeColor = Color.Black; // 수량총금액
lblDiscountAmt.ForeColor = Color.Black; // 할인금액
lblVatSvc.ForeColor = Color.Black; // 봉사료,부가세
lblRecvedAmt.ForeColor = Color.Black; //Color.FromArgb(128, 128, 255);
lblNetSaleAmt.ForeColor = Color.Brown; // 받을금액
txtQtySaleAmt.ForeColor = Color.Black; // 수량총금액
txtDiscountAmt.ForeColor = Color.Black; // 할인금액
txtVatSvc.ForeColor = Color.Black; // 봉사료,부가세
txtRecvedAmt.ForeColor = Color.Black; //Color.FromArgb(128, 128, 255);
txtNetSaleAmt.ForeColor = Color.Brown; // 받을금액
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴
FormManager.SetControlSize(pnlMenuLClass, 0, 50, 100, 90); // 메뉴키 대분류
FormManager.SetControlSize(btnMenuLClass, 0, 0, 100, 90); // 메뉴키 대분류
btnMenuLClass.SetFuncButtonCount(2, 1); // 버튼갯수 설정
FormManager.SetControlSize(pnlMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
if (nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
}
//FormManager.SetControlSize(btnMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
//btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
FormManager.SetControlSize(pnlSubMenu, 523, 141, 500, 355); // 부가메뉴
FormManager.SetControlSize(btnSubMenuGrp, 1, 1, 110, 303); // 부가메뉴-그룹
FormManager.SetControlSize(btnSubMenuExit, 1, 305, 110, 49); // 부가메뉴-종료
FormManager.SetControlSize(btnSubMenuDtl, 112, 1, 387, 353); // 부가메뉴-상품
FormManager.SetControlSize(pnlSetMenu, 523, 141, 500, 355); // 세트메뉴
FormManager.SetControlSize(lblSetMenuTitle, 2, 3, 496, 29); // 세트메뉴-타이틀
FormManager.SetControlSize(btnSetMenu, 2, 35, 496, 318); // 세트메뉴-상품
FormManager.SetControlSize(pnlFlavour, 0, 497, 1024, 249); // 플레이버
FormManager.SetControlSize(lblItemGrid, 0, 141, 522, 356); // 상품그리드 BACK
FormManager.SetControlSize(SaleItemGrid, 0, 141, 522, 315); // 상품그리드
FormManager.SetControlSize(txtInPut, 381, 502, 314, 24); // 입력박스
FormManager.SetControlSize(padInPut, 376, 531, 324, 215); // 키패드
padInPut.DesignType = DesignType.Design_B;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
FormManager.SetControlSize(pnlBuyHist, 376, 498, 324, 248); // 고객 구매이력 정보
//csmLabel5.Border
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
FormManager.SetControlSize(btnFuncSale, 0, 637, 375, 109); // 기능(왼쪽)
FormManager.SetControlSize(btnFuncItem, 701, 497, 322, 248); // 기능(오른쪽)
FormManager.SetControlSize(btnItemGridTop, 2, 457, 129, 40); // 상품그리드 TOP
FormManager.SetControlSize(btnItemGridUp, 132, 457, 129, 40); // 상품그리드 UP
FormManager.SetControlSize(btnItemGridDown, 262, 457, 129, 40); // 상품그리드 DOWN
FormManager.SetControlSize(btnItemGridBottom, 392, 457, 130, 40); // 상품그리드 BOTTOM
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
//기존
FormManager.SetControlSize(pnlMotSale, 0, 141, 522, 356); // 판매대기 MOT
//변경
//FormManager.SetControlSize(pnlMotSale, 502, 141, 522, 356); // 판매대기 MOT
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
FormManager.SetControlSize(rtbMotSale, 4, 239, 509, 110); // 판매대기 MOT
//FormManager.SetControlSize(picCampaign, 1, 498, 375, 138); // 캠페인 이미지
FormManager.SetControlSize(picCampaign, 1, 498, 375, 247); // 캠페인 이미지
// 포함 여부에 따라 부가세 표시
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 25); // 수량총금액
FormManager.SetControlSize(lblDiscountAmt, 10, 525, 150, 25); // 할인금액
FormManager.SetControlSize(lblVatSvc, 10, 550, 150, 25); // 봉사료,부가세
FormManager.SetControlSize(lblRecvedAmt, 10, 575, 150, 25);
FormManager.SetControlSize(lblNetSaleAmt, 10, 600, 150, 35); // 받을금액
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 25); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 170, 525, 200, 25); // 할인금액
FormManager.SetControlSize(txtVatSvc, 170, 550, 200, 25); // 봉사료,부가세
FormManager.SetControlSize(txtRecvedAmt, 170, 575, 200, 25);
FormManager.SetControlSize(txtNetSaleAmt, 170, 600, 202, 35); // 받을금액
lblVatSvc.Visible = true;
txtVatSvc.Visible = true;
}
else
{
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 30); // 수량총금액
FormManager.SetControlSize(lblDiscountAmt, 10, 530, 150, 30); // 할인금액
FormManager.SetControlSize(lblRecvedAmt, 10, 560, 150, 30); // 받은금액
FormManager.SetControlSize(lblNetSaleAmt, 10, 590, 150, 40); // 받을금액
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 30); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 170, 530, 200, 30); // 할인금액
FormManager.SetControlSize(txtRecvedAmt, 170, 560, 200, 30); // 받은금액
FormManager.SetControlSize(txtNetSaleAmt, 170, 590, 202, 40); // 받을금액
lblVatSvc.Visible = false;
txtVatSvc.Visible = false;
}
//FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
//FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액
//FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35);
//FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액
//FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
//FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액
//FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35);
//FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액
lblAmtBack.BackColor = Color.FromArgb(68, 68, 68); // 금액배경(잔상제거용)
lblQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
lblDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
lblVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
lblRecvedAmt.BackColor = Color.FromArgb(68, 68, 68);
lblNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
txtQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
txtDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
txtVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
txtRecvedAmt.BackColor = Color.FromArgb(68, 68, 68); //
txtNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
lblQtySaleAmt.ForeColor = Color.White; // 수량총금액
lblDiscountAmt.ForeColor = Color.White; // 할인금액
lblVatSvc.ForeColor = Color.White; // 봉사료,부가세
lblRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255); //
lblNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
txtQtySaleAmt.ForeColor = Color.White; // 수량총금액
txtDiscountAmt.ForeColor = Color.White; // 할인금액
txtVatSvc.ForeColor = Color.White; // 봉사료,부가세
txtRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255);
txtNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
}
else
{
FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴
FormManager.SetControlSize(pnlMenuLClass, 0, 50, 100, 90); // 메뉴키 대분류
FormManager.SetControlSize(btnMenuLClass, 0, 0, 100, 90); // 메뉴키 대분류
btnMenuLClass.SetFuncButtonCount(2, 1); // 버튼갯수 설정
FormManager.SetControlSize(pnlMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
if (nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
}
//FormManager.SetControlSize(btnMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
//btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
FormManager.SetControlSize(pnlSubMenu, 481, 141, 542, 355); // 부가메뉴
FormManager.SetControlSize(btnSubMenuGrp, 2, 0, 109, 303); // 부가메뉴-그룹
FormManager.SetControlSize(btnSubMenuExit, 2, 305, 109, 47); // 부가메뉴-종료
FormManager.SetControlSize(btnSubMenuDtl, 112, 0, 429, 352); // 부가메뉴-상품
FormManager.SetControlSize(pnlSetMenu, 481, 141, 542, 355); // 세트메뉴
FormManager.SetControlSize(lblSetMenuTitle, 2, 3, 538, 29); // 세트메뉴-타이틀
FormManager.SetControlSize(btnSetMenu, 2, 35, 538, 318); // 세트메뉴-상품
FormManager.SetControlSize(pnlFlavour, 0, 497, 1024, 249); // 플레이버
FormManager.SetControlSize(lblItemGrid, 0, 141, 480, 356); // 상품그리드 BACK
FormManager.SetControlSize(SaleItemGrid, 0, 141, 480, 315); // 상품그리드
FormManager.SetControlSize(btnSubMenuCommGrp, 481, 141, 95, 356); // 부가메뉴
FormManager.SetControlSize(btnSubMenuCommDtl, 576, 141, 96, 356); // 부가메뉴
//FormManager.SetControlSize(btnSubMenuCommDtl, 481, 141, 189, 356); // 부가메뉴
FormManager.SetControlSize(txtInPut, 381, 502, 314, 24); // 입력박스
FormManager.SetControlSize(padInPut, 376, 531, 324, 215); // 키패드
padInPut.DesignType = DesignType.Design_C;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
FormManager.SetControlSize(pnlBuyHist, 376, 498, 324, 248); // 고객 구매이력 정보
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
FormManager.SetControlSize(btnFuncSale, 0, 637, 375, 109); // 기능(왼쪽)
FormManager.SetControlSize(btnFuncItem, 701, 497, 322, 248); // 기능(오른쪽)
FormManager.SetControlSize(btnItemGridTop, 2, 457, 119, 40); // 상품그리드 TOP
FormManager.SetControlSize(btnItemGridUp, 122, 457, 119, 40); // 상품그리드 UP
FormManager.SetControlSize(btnItemGridDown, 242, 457, 119, 40); // 상품그리드 DOWN
FormManager.SetControlSize(btnItemGridBottom, 362, 457, 118, 40); // 상품그리드 BOTTOM
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
//기존
FormManager.SetControlSize(pnlMotSale, 0, 141, 480, 356); // 판매대기 MOT
//변경
//FormManager.SetControlSize(pnlMotSale, 481, 141, 542, 355); // 판매대기 MOT
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
FormManager.SetControlSize(rtbMotSale, 4, 239, 472, 110); // 판매대기 MOT
//FormManager.SetControlSize(picCampaign, 1, 498, 375, 138); // 캠페인 이미지
FormManager.SetControlSize(picCampaign, 1, 498, 375, 247); // 캠페인 이미지
// 포함 여부에 따라 부가세 표시
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 25); // 수량총금액
FormManager.SetControlSize(lblDiscountAmt, 10, 525, 150, 25); // 할인금액
FormManager.SetControlSize(lblVatSvc, 10, 550, 150, 25); // 봉사료,부가세
FormManager.SetControlSize(lblRecvedAmt, 10, 575, 150, 25);
FormManager.SetControlSize(lblNetSaleAmt, 10, 600, 150, 35); // 받을금액
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 25); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 170, 525, 200, 25); // 할인금액
FormManager.SetControlSize(txtVatSvc, 170, 550, 200, 25); // 봉사료,부가세
FormManager.SetControlSize(txtRecvedAmt, 170, 575, 200, 25);
FormManager.SetControlSize(txtNetSaleAmt, 170, 600, 202, 35); // 받을금액
lblVatSvc.Visible = true;
txtVatSvc.Visible = true;
}
else
{
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 30); // 수량총금액
FormManager.SetControlSize(lblDiscountAmt, 10, 530, 150, 30); // 할인금액
FormManager.SetControlSize(lblRecvedAmt, 10, 560, 150, 30); // 받은금액
FormManager.SetControlSize(lblNetSaleAmt, 10, 590, 150, 40); // 받을금액
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 30); // 수량총금액
FormManager.SetControlSize(txtDiscountAmt, 170, 530, 200, 30); // 할인금액
FormManager.SetControlSize(txtRecvedAmt, 170, 560, 200, 30); // 받은금액
FormManager.SetControlSize(txtNetSaleAmt, 170, 590, 202, 40); // 받을금액
lblVatSvc.Visible = false;
txtVatSvc.Visible = false;
}
//FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
//FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
//FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액
//FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35);
//FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액
//FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
//FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액
//FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35);
//FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액
//// 포함 여부에 따라 부가세 표시
//if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
//{
// FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
// FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
// FormManager.SetControlSize(lblDiscountAmt, 18, 524, 146, 30); // 할인금액
// FormManager.SetControlSize(lblVatSvc, 18, 547, 146, 30); // 봉사료,부가세
// FormManager.SetControlSize(lblRecvedAmt, 18, 571, 146, 35);
// FormManager.SetControlSize(lblNetSaleAmt, 18, 598, 146, 35); // 받을금액
// FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
// FormManager.SetControlSize(txtDiscountAmt, 176, 524, 194, 30); // 할인금액
// FormManager.SetControlSize(txtVatSvc, 176, 547, 194, 30); // 봉사료,부가세
// FormManager.SetControlSize(txtRecvedAmt, 173, 571, 200, 35);
// FormManager.SetControlSize(txtNetSaleAmt, 173, 598, 200, 35); // 받을금액
// lblVatSvc.Visible = true;
// txtVatSvc.Visible = true;
//}
//else
//{
// FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
// FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
// FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액
// FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35);
// FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액
// FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
// FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액
// FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35);
// FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액
// lblVatSvc.Visible = false;
// txtVatSvc.Visible = false;
//}
lblAmtBack.BackColor = Color.FromArgb(68, 68, 68); // 금액배경(잔상제거용)
lblQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
lblDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
lblVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
lblRecvedAmt.BackColor = Color.FromArgb(68, 68, 68);
lblNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
txtQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
txtDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
txtVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
txtRecvedAmt.BackColor = Color.FromArgb(68, 68, 68); //
txtNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
lblQtySaleAmt.ForeColor = Color.White; // 수량총금액
lblDiscountAmt.ForeColor = Color.White; // 할인금액
lblVatSvc.ForeColor = Color.White; // 봉사료,부가세
lblRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255); //
lblNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
txtQtySaleAmt.ForeColor = Color.White; // 수량총금액
txtDiscountAmt.ForeColor = Color.White; // 할인금액
txtVatSvc.ForeColor = Color.White; // 봉사료,부가세
txtRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255);
txtNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
}
// 포함 여부에 따라 부가세 표시
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
FormManager.SetControlSize(lblPayQtySaleAmt, 220, 545, 123, 21);
FormManager.SetControlSize(lblPayDiscountAmt, 220, 570, 123, 21);
FormManager.SetControlSize(lblPayVatSvc, 220, 595, 123, 21);
FormManager.SetControlSize(lblPayRecvAmt, 220, 620, 123, 21);
FormManager.SetControlSize(lblPayNetSaleAmt, 220, 645, 123, 30);
FormManager.SetControlSize(txtPayQtySaleAmt, 335, 545, 190, 21);
FormManager.SetControlSize(txtPayDiscountAmt, 345, 570, 180, 21);
FormManager.SetControlSize(txtPayVatSvc, 345, 595, 180, 21);
FormManager.SetControlSize(txtPayRecvAmt, 345, 620, 180, 21);
FormManager.SetControlSize(txtPayNetSaleAmt, 345, 645, 182, 30);
lblPayVatSvc.Visible = true;
txtPayVatSvc.Visible = true;
}
else
{
//FormManager.SetControlSize(lblPayQtySaleAmt, 233, 550, 120, 21);
//FormManager.SetControlSize(lblPayDiscountAmt, 232, 579, 120, 21);
//FormManager.SetControlSize(lblPayRecvAmt, 228, 612, 123, 21);
//FormManager.SetControlSize(lblPayNetSaleAmt, 229, 646, 123, 21);
//FormManager.SetControlSize(txtPayQtySaleAmt, 354, 550, 165, 21);
//FormManager.SetControlSize(txtPayDiscountAmt, 357, 579, 162, 21);
//FormManager.SetControlSize(txtPayRecvAmt, 355, 604, 168, 34);
//FormManager.SetControlSize(txtPayNetSaleAmt, 356, 638, 168, 34);
FormManager.SetControlSize(lblPayQtySaleAmt, 220, 550, 123, 21);
FormManager.SetControlSize(lblPayDiscountAmt, 220, 580, 123, 21);
FormManager.SetControlSize(lblPayRecvAmt, 220, 610, 123, 21);
FormManager.SetControlSize(lblPayNetSaleAmt, 220, 640, 123, 30);
FormManager.SetControlSize(txtPayQtySaleAmt, 335, 550, 190, 21);
FormManager.SetControlSize(txtPayDiscountAmt, 345, 580, 180, 21);
FormManager.SetControlSize(txtPayRecvAmt, 345, 610, 180, 21);
FormManager.SetControlSize(txtPayNetSaleAmt, 345, 640, 182, 30);
lblPayVatSvc.Visible = false;
txtPayVatSvc.Visible = false;
//*** MoonSeokWoo 2017.12.12 Add
pnlPayMainBack.Visible = false;
//*** MoonSeokWoo 2017.12.12 End
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region 메뉴 컨트롤 초기화 및 메뉴 마스터 로딩
private void btnMenuLClassUp_Click(object sender, EventArgs e)
{
try
{
if ((UI.CsmButton)sender == btnMenuLClassUp)
{
btnMenuLClass.FuncUpDown("UP");
//if (btnMenuLClass.FuncUpDown("UP") == true)
//{
// btnMenuLClassUp.Text = "<";
// btnMenuLClassDn.Text = ">";
//}
//else
// btnMenuLClassUp.Text = "■";
}
else if ((UI.CsmButton)sender == btnMenuLClassDn)
{
btnMenuLClass.FuncUpDown("DN");
//if (btnMenuLClass.FuncUpDown("DN") == true)
//{
// btnMenuLClassDn.Text = ">";
// btnMenuLClassUp.Text = "<";
//}
//else
// btnMenuLClassDn.Text = "■";
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 메뉴 컨트롤 초기화 및 메뉴 마스터 로딩
///
/// 성공/실패
public bool LoadMenuMaster()
{
string sFirstLCode = ""; // 첫번째 그룹
try
{
// 상품키 구성 마스터 로딩
DataRow drItemKeyCompnt = PosMstManager.GetMstScreen();
m_dtMstItemKeyCompnt = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_COMPNT.TABLE_NAME);
if (m_dtMstItemKeyCompnt == null || m_dtMstItemKeyCompnt.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0056); // 상품키 구성 마스터가 없습니다
}
else
{
drItemKeyCompnt = m_dtMstItemKeyCompnt.Rows[0];
foreach (DataRow dr in m_dtMstItemKeyCompnt.Rows)
{
if (m_cPosStatus.Base.StoreNo == CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD)) drItemKeyCompnt = dr;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 메뉴 대분류 로딩
DataTable dtLClass = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_L_CLSS.TABLE_NAME);
if (dtLClass == null || dtLClass.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0057); // 메뉴 대분류 마스터가 없습니다
}
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
btnMenuLClass.VisibleUpDown = false;
btnMenuLClassUp.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR));
btnMenuLClassUp.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
btnMenuLClassUp.Visible = true;
btnMenuLClassDn.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR));
btnMenuLClassDn.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
btnMenuLClassDn.Visible = true;
}
else
{
btnMenuLClass.VisibleUpDown = false;
btnMenuLClassUp.Visible = false;
btnMenuLClassDn.Visible = false;
}
pnlMenuLClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR));
btnMenuLClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR));
btnMenuLClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
btnMenuLClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR));
btnMenuLClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_FONT_COLOR));
btnMenuLClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR));
btnMenuLClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
btnMenuLClass.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
if (dtLClass != null)
{
int nL_CLSS_SEQ = 0;
foreach (DataRow dr in dtLClass.Rows)
{
nL_CLSS_SEQ++;
Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cMenuInfo.sGroupCode = "00"; // 분류코드
cMenuInfo.nSeqNo = nL_CLSS_SEQ; //CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.SEQ); // 표시순번
// 대분류키값 = 본부키구분(1) + 서브점포코드 + 대분류 코드
cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.HQ_KEY_DIV), 1)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.SUB_SHOP_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_CD); // 코드
string sCOMPLEX_SHOP_STOR_NM = "";
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
{
sCOMPLEX_SHOP_STOR_NM = CmUtil.GetDataRowStr(dr, PosMst.MST_COMPLEX_SHOP_STOR.DATA.COMPLEX_SHOP_STOR_NM);
}
if (sCOMPLEX_SHOP_STOR_NM == "")
cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_NM); // 명
else
cMenuInfo.sFuncText = sCOMPLEX_SHOP_STOR_NM + PosConst.CRLF + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_NM); // 명
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR)); // 백 컬러
cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR)); // 명 컬러
cMenuInfo.fFontSize = 10; // 명 폰트 사이즈
cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnMenuLClass.AddFuncButtonInfo(cMenuInfo);
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 메뉴 중분류 로딩
DataTable dtMClass = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_CLSS.TABLE_NAME);
if (dtMClass == null || dtMClass.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0058); // 메뉴 중분류 마스터가 없습니다
}
pnlMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.VisibleUpDown = false;
btnMenuMClassFix.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClassFix.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
btnMenuMClassFix.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
btnMenuMClassFix.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClassFix.FontSizeUpDown = 10;
btnMenuMClassFix.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
if (dtMClass != null)
{
foreach (DataRow dr in dtMClass.Rows)
{
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) != "1") continue;
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
{
foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows)
{
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) == CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD))
{
drItemKeyCompnt = drCompnt;
}
}
}
Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD); // 서브점포코드+분류코드
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ); // 표시순번
// 중분류키값 = (서브점포+대분류)(20)+고정여부+중분류순번
cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD), 20)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ);
cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.ITEM_GRP_NM); // 명
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.BACKGR_COLOR)); // 백 컬러
cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); // 명 컬러
cMenuInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FONT_SIZE); // 명 폰트 사이즈
cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnMenuMClassFix.AddFuncButtonInfo(cMenuInfo);
}
}
btnMenuMClass.VisibleUpDown = true;
btnMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
btnMenuMClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
btnMenuMClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClass.UpDownSeqUsed = false;
btnMenuMClass.FontSizeUpDown = 10;
btnMenuMClass.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
if (dtMClass != null)
{
foreach (DataRow dr in dtMClass.Rows)
{
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) == "1") continue;
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
{
foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows)
{
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) == CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD))
{
drItemKeyCompnt = drCompnt;
}
}
}
Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD); // 서브점포코드+분류코드
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ); // 표시순번
// 중분류키값 = (서브점포+대분류)(20)+고정여부+중분류순번
cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD), 20)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ);
cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.ITEM_GRP_NM); // 명
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.BACKGR_COLOR)); // 백 컬러
cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); // 명 컬러
cMenuInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FONT_SIZE); // 명 폰트 사이즈
cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnMenuMClass.AddFuncButtonInfo(cMenuInfo);
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 즐겨찾기 로딩
DataTable dtMemuFix = m_cPluService.SearchMenuMaster(PosMst.MST_BOOKMK.TABLE_NAME);
if (dtMemuFix == null || dtMemuFix.Rows.Count <= 0)
{
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 즐겨찾기 마스터가 없습니다
}
int nMenuFixRows = 2, nMenuFixCols = 5;
SetMenuRowColCnt(CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY), ref nMenuFixRows, ref nMenuFixCols);
if (CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_USE_YN) != "1"
|| CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY) == 0) nMenuFixRows = 0;
btnMenuFix.Visible = (nMenuFixRows == 0) ? false : true;
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
FormManager.SetControlSize(pnlMenu, 143, 386, 568, 360);
pnlMenu.BackColor = CmUtil.GetColorToString("223223223");
FormManager.SetControlSize(btnMenuFix, 0, 0, 568, 72 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (72 * nMenuFixRows), 568, 360 - (72 * nMenuFixRows));
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
FormManager.SetControlSize(pnlMenu, 523, 141, 500, 356);
pnlMenu.BackColor = CmUtil.GetColorToString("223223223");
FormManager.SetControlSize(btnMenuFix, 0, 0, 500, 58 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 500, 355 - (58 * nMenuFixRows));
}
else
{
FormManager.SetControlSize(pnlMenu, 673, 141, 350, 356);
pnlMenu.BackColor = CmUtil.GetColorToString("223223223");
FormManager.SetControlSize(btnMenuFix, 0, 0, 350, 58 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 350, 355 - (58 * nMenuFixRows));
}
btnMenuFix.SetMenuButtonCount(nMenuFixRows, nMenuFixCols); // 메뉴버튼갯수 설정
btnMenuFix.BackColor = CmUtil.GetColorToString("223223223");
btnMenuFix.VisibleUpDown = false;
btnMenuFix.BackColorUpDown = Color.White;
btnMenuFix.ForeColorUpDown = Color.Black;
string sUseMenuImage = PosMstManager.GetPosOption(POS_OPTION.OPT105); // 메뉴 이미지 사용여부
btnMenuFix.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화
// 메뉴정보 설정
if (dtMemuFix != null)
{
foreach (DataRow dr in dtMemuFix.Rows)
{
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
cMenuInfo.sClassCode = "00"; // 대분류코드
cMenuInfo.sGroupCode = "0000"; // 중분류코드
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.SEQ); // 표시순번
// 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드
string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUBPRC_MENU_POPUP_YN), 1)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD), 10)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD);
cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드
cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 메뉴 명
if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT)); // 메뉴 가격
else
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT)); // 메뉴 가격
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.BACKGR_COLOR)); // 버튼 백 컬러
cMenuInfo.cForeColorName = Color.Black; // 메뉴명 컬러
cMenuInfo.cForeColorPrice = Color.Red; // 메뉴가격 컬러
cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈
cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈
cMenuInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.BTN_SIZE); // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
cMenuInfo.cMenuImage = "";
if (sUseMenuImage != "0")
{
//MoonSeokWoo 대표코드로 변경.
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 start
//기존
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
//변경
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD) + ".PNG";
if (File.Exists(cMenuInfo.cMenuImage) == false)
{
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
}
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 end
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG";
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG";
//if (File.Exists(cMenuInfo.cMenuImage) == false)
// cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim();
//cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim());
}
btnMenuFix.AddMenuButtonInfo(cMenuInfo);
}
}
btnMenuFix.DisplayMenuButton("00", "0000");
// 메뉴 기본 로딩
DataTable dtMemu = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY.TABLE_NAME);
if (dtMemu == null || dtMemu.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다
}
btnMenu.BackColor = CmUtil.GetColorToString("223223223");
btnMenu.VisibleUpDown = true;
btnMenu.BackColorUpDown = Color.White;
btnMenu.ForeColorUpDown = Color.Black;
btnMenu.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화
if (dtMemu != null)
{
//#20171018 메뉴명 폰트 색상 변경 기능 start
string sFontColor = "";
//#20171018 메뉴명 폰트 색상 변경 기능 end
// 메뉴정보 설정
foreach (DataRow dr in dtMemu.Rows)
{
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
cMenuInfo.sClassCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.L_CLSS_CD); // 대분류
cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.GRP_SEQ); // 중분류코드
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.SEQ); // 표시순번
// 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드
string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUBPRC_MENU_POPUP_YN), 1)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD), 10)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD);
cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드
cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 메뉴 명
if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT)); // 메뉴 가격
else
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT)); // 메뉴 가격
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.BACKGR_COLOR)); // 버튼 백 컬러
//#20171018 메뉴명 폰트 색상 변경 기능 start
//기존
//cMenuInfo.cForeColorName = Color.FromArgb(51, 51, 51); // 메뉴명 컬러
//변경
sFontColor = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.FONT_COLOR).Trim();
if (sFontColor != "")
{
cMenuInfo.cForeColorName = CmUtil.GetColorToString(sFontColor); // 메뉴명 컬러
}
else
{
cMenuInfo.cForeColorName = Color.FromArgb(51, 51, 51); // 메뉴명 컬러
}
//#20171018 메뉴명 폰트 색상 변경 기능 end
cMenuInfo.cForeColorPrice = Color.Red; //Color.FromArgb(102, 102, 102); // 메뉴가격 컬러
cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈
cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈
cMenuInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.BTN_SIZE); // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
cMenuInfo.cMenuImage = "";
if (sUseMenuImage != "0")
{
//MoonSeokWoo 대표코드로 변경.
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 start
//기존
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
//변경
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD) + ".PNG";
if (File.Exists(cMenuInfo.cMenuImage) == false)
{
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
}
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 end
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG";
//if (File.Exists(cMenuInfo.cMenuImage) == false)
// cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim();
//cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim());
}
btnMenu.AddMenuButtonInfo(cMenuInfo);
}
}
sFirstLCode = btnMenuLClass.DisplayFuncButton("00"); // 대분류 버튼 표시
btnMenuLClass_FuncClickHandler(btnMenuLClass, sFirstLCode); // 첫번째 대분류 선택 처리(메뉴 버튼 그리기)
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
///
/// 메뉴 대분류 선택
///
///
///
private void btnMenuLClass_FuncClickHandler(object sender, string sFuncCode)
{
string sHQ_KEY_DIV = "", sLClassCode = "", sMClassCode = "";
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
//충전, 판매 거래 경우
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
// 대분류 선택 효과
btnMenuLClass.SelectFuncButton(sFuncCode);
if (sFuncCode != "")
{
// 대분류키값 = 본부키구분(1) + 서브점포코드 + 대분류 코드
sHQ_KEY_DIV = sFuncCode.Substring(0, 1);
sLClassCode = sFuncCode.Substring(1);
}
// 중분류 위치 조정
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
if (sHQ_KEY_DIV != "1" || nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 142, 360); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(5, 2);
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 142, 72 * nMFixCnt); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(nMFixCnt, 2); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 0, (72 * nMFixCnt) + 1, 142, 360 - (72 * nMFixCnt));// 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(5 - nMFixCnt, 2); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(5 - nMFixCnt, 2);
}
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
if (sHQ_KEY_DIV != "1" || nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(2, 10);
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(2, 10 - nMFixCnt);
}
}
else
{
if (sHQ_KEY_DIV != "1" || nMFixCnt == 0)
{
btnMenuMClassFix.Visible = false;
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(2, 10);
}
else
{
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
btnMenuMClassFix.Visible = true;
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
btnMenuMClass.SetUpDownPosition(2, 10 - nMFixCnt);
}
}
// 복합매장 중분류 구성
DataRow drItemKeyCompnt = PosMstManager.GetMstScreen();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
{
foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows)
{
if (sLClassCode.StartsWith(CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD)))
{
drItemKeyCompnt = drCompnt;
}
}
pnlMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClassFix.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClassFix.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
btnMenuMClassFix.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
btnMenuMClassFix.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
btnMenuMClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
btnMenuMClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
btnMenuMClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
btnMenuMClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int nMenuFixRows = 2, nMenuFixCols = 5;
SetMenuRowColCnt(CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY), ref nMenuFixRows, ref nMenuFixCols);
if (CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_USE_YN) != "1") nMenuFixRows = 0;
btnMenuFix.Visible = (nMenuFixRows == 0) ? false : true;
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
FormManager.SetControlSize(btnMenuFix, 0, 0, 568, 72 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (72 * nMenuFixRows), 568, 360 - (72 * nMenuFixRows));
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
FormManager.SetControlSize(btnMenuFix, 0, 0, 500, 58 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 500, 355 - (58 * nMenuFixRows));
}
else
{
FormManager.SetControlSize(btnMenuFix, 0, 0, 350, 58 * nMenuFixRows - 1);
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 350, 355 - (58 * nMenuFixRows));
}
btnMenuFix.SetMenuButtonCount(nMenuFixRows, nMenuFixCols); // 메뉴버튼갯수 설정
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 중분류 표시
if (sHQ_KEY_DIV == "1" && CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2 > 0)
{
sMClassCode = btnMenuMClassFix.DisplayFuncButton(sLClassCode);
btnMenuMClass.DisplayFuncButton(sLClassCode);
}
else
{
btnMenuMClassFix.DisplayFuncButton(sLClassCode);
sMClassCode = btnMenuMClass.DisplayFuncButton(sLClassCode);
}
// 본부키구분(sHQ_KEY_DIV) 값에 따른 메뉴키 컨트롤 갯수 설정 필요
int nKeyLayout = 0;
if (sHQ_KEY_DIV == "1") // 본부키
nKeyLayout = CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.HQ_ITEMKEY_LAYOUT);
else
nKeyLayout = CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SHOP_ITEMKEY_LAYOUT);
// 메뉴버튼갯수 설정
int nRow = 0, nCol = 0;
SetMenuRowColCnt(nKeyLayout, ref nRow, ref nCol);
btnMenu.SetMenuButtonCount(nRow, nCol);
// 해당 중분류의 첫번째 메뉴키 그룹 표시
if (sHQ_KEY_DIV == "1" && CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2 > 0)
btnMenuMClass_FuncClickHandler(btnMenuMClassFix, sMClassCode);
else
btnMenuMClass_FuncClickHandler(btnMenuMClass, sMClassCode);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 메뉴 중분류 선택
///
///
///
private void btnMenuMClass_FuncClickHandler(object sender, string sFuncCode)
{
string sLClassCode = "", sMClassCode = "";
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
//충전, 판매 거래 경우
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
if (sender != null && (CsmFunc)sender == btnMenuMClassFix)
{
btnMenuMClassFix.SelectFuncButton(sFuncCode); // 중분류 선택 효과
btnMenuMClass.SelectFuncButton("");
btnMenuMClass.Tag = "FIX";
}
if (sender != null && (CsmFunc)sender == btnMenuMClass)
{
btnMenuMClassFix.SelectFuncButton("");
btnMenuMClass.SelectFuncButton(sFuncCode); // 중분류 선택 효과
btnMenuMClass.Tag = "";
}
if (sFuncCode != "")
{
// 중분류키값 = 서브점포+대분류)(20)+고정여부+중분류순번
sLClassCode = sFuncCode.Substring(0, 20).Trim();
sMClassCode = sFuncCode.Substring(20);
}
// 메뉴 표시
btnMenu.DisplayMenuButton(sLClassCode, sMClassCode);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 메뉴 중분류 업다운 버튼 입력 처리
///
///
///
private void btnMenuMClass_UpDownClick(object sender, string sFuncCode)
{
string sLClassCode = "", sMClassCode = "";
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
//충전, 판매 거래 경우
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
if (btnMenuMClass.Tag == null || btnMenuMClass.Tag.ToString() == "")
{
btnMenuMClass.SelectFuncButton(sFuncCode); // 중분류 선택 효과
if (sFuncCode != "")
{
// 중분류키값 = 서브점포+대분류)(20)+고정여부+중분류순번
sLClassCode = sFuncCode.Substring(0, 20).Trim();
sMClassCode = sFuncCode.Substring(20);
}
// 메뉴 표시
btnMenu.DisplayMenuButton(sLClassCode, sMClassCode);
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 메뉴 선택
///
///
///
private void btnMenu_MenuClickHandler(object sender, string sMenuCode)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if (sMenuCode == "") return;
string sInPutValue = txtInPut.Text;
// 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드
m_cTrnStatus.Sale.SubMenuPopUpYn = sMenuCode.Substring(0, 1);
m_cTrnStatus.Sale.SubStoreCode = sMenuCode.Substring(1, 10).Trim();
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) DisplayInit(true, false);
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:전체상품합산)
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2" && sInPutValue == "")
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
for (int i = 0; i < alTrPluItem.Count; i++)
{
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
if (cPluItem.SUB_SHOP_CD != sMenuCode.Substring(1, 10).Trim() || cPluItem.ITEM_PLU_CD != sMenuCode.Substring(11)) continue;
if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
if (cPluItem.SALE_QTY >= 99999) continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 start
if (cPluItem.OPEN_ITEM_DIV == "1") continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 end
// 수량 증가 처리
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
SaleItemGrid.SelectIndexItem(i);
m_cCustDisp.DisplaySaleItemList(true, true, i);
txtInPut.Text = "";
//// 부가메뉴 등록
//if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
// && m_cTrnStatus.Sale.SubMenuPopUpYn == "1")
//{
// // 부가메뉴 화면 표시
// if (LoadSubMenuDisplay(cPluItem.SUB_SHOP_CD, cPluItem.M_CLSS) == true)
// {
// //20160911 SBSEO 추가 부가 메뉴일때도 부모코드 입력!
// m_cTrnStatus.Sale.SubMenuMainCode = cPluItem.ITEM_PLU_CD;
// }
//}
//// 플레이버 등록
//if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
// && cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR_OWN)
//{
// if (cPluItem.FLAVOUR_QTY <= 2)
// {
// // 플레이버 화면 표시
// LoadFlavourMaster(m_cTrnStatus.Sale.SubStoreCode);
// }
//}
return;
}
}
}
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
bool bRet = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, sInPutValue, "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMenuCode.Substring(1));
if (bRet == true)
{
string sSUB_SHOP_CD = "", sM_CLSS = "";
if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
&& (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT
|| m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT))
{
if (SaleItemGrid.SelectedIndex >= 0)
{
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 상품 아이템
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[SaleItemGrid.SelectedIndex]; // 상품 정보
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL)
{
sSUB_SHOP_CD = cPluItem.SUB_SHOP_CD;
sM_CLSS = cPluItem.M_CLSS;
}
}
}
LoadCommonSubMenuDisplay(sSUB_SHOP_CD, sM_CLSS);
}
txtInPut.Text = "";
TxtInPutFocus();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 메뉴 컨트롤 배치 갯수 설정
///
private void SetMenuRowColCnt(int nKeyLayout, ref int nRow, ref int nCol)
{
try
{
// 메뉴버튼갯수 설정
switch (nKeyLayout)
{
case 1:
nRow = 5; nCol = 5;
break;
case 2:
nRow = 5; nCol = 4;
break;
case 3:
nRow = 5; nCol = 3;
break;
case 4:
nRow = 4; nCol = 5;
break;
case 5:
nRow = 4; nCol = 4;
break;
case 6:
nRow = 4; nCol = 3;
break;
case 7:
nRow = 3; nCol = 5;
break;
case 8:
nRow = 3; nCol = 4;
break;
case 9:
nRow = 3; nCol = 3;
break;
case 10:
nRow = 2; nCol = 5;
break;
case 11:
nRow = 2; nCol = 4;
break;
case 12:
nRow = 2; nCol = 3;
break;
case 13:
nRow = 1; nCol = 5;
break;
case 14:
nRow = 1; nCol = 4;
break;
case 15:
nRow = 1; nCol = 3;
break;
default:
nRow = 5; nCol = 5;
break;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region 부가메뉴 초기화 및 부가메뉴 마스터 로딩
///
/// 공통 부가메뉴 초기화 및 부가메뉴 마스터 로딩
///
///
public bool LoadCommonSubMenuDisplay(string sSubStoreCode, string sItemCode)
{
try
{
// 3안 => 부가메뉴 항시 표시 일때 사용
if (m_cPosStatus.Base.DesignType != "3") return true;
DataTable dtSubGrpKey = null;
if (sSubStoreCode != "")
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 부가메뉴 그룹 로딩
dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, sItemCode);
if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0)
{
dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
}
}
btnSubMenuCommGrp.SetFuncButtonCount(6, 1); // 버튼갯수 설정
btnSubMenuCommGrp.VisibleUpDown = true;
btnSubMenuCommGrp.ClearFuncButtonInfo(); // 설정된 정보 초기화
btnSubMenuCommGrp.BackColorUpDown = Color.FromArgb(204, 210, 217);
btnSubMenuCommGrp.FontSizeUpDown = 12;
btnSubMenuCommGrp.SelectedBackColor = Color.FromArgb(95, 104, 116);
btnSubMenuCommGrp.SelectedForeColor = Color.FromArgb(255, 255, 255);
if (dtSubGrpKey != null && dtSubGrpKey.Rows.Count > 0)
{
foreach (DataRow dr in dtSubGrpKey.Rows)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU.DATA.SEQ_NO);
nSeq += (int)((nSeq - 1)/ 5);
cFuncInfo.sGroupCode = "00"; // 분류코드
cFuncInfo.nSeqNo = nSeq; // 표시순번
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SEL_TYPE), 1) + CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_CD); // 기능코드
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_NM); // 기능 명
cFuncInfo.cBackColor = Color.FromArgb(214, 219, 255); // 백 컬러
cFuncInfo.cForeColor = Color.Black; // 명 컬러
cFuncInfo.fFontSize = 12; // 명 폰트 사이즈
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSubMenuCommGrp.AddFuncButtonInfo(cFuncInfo);
}
}
DataTable dtSubDtl = null;
if (sSubStoreCode != "")
{
// 부가메뉴 그룹 상세 로딩
dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, sItemCode);
if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0)
{
dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
}
}
btnSubMenuCommDtl.SetFuncButtonCount(6, 1); // 버튼갯수 설정
btnSubMenuCommDtl.VisibleUpDown = true;
btnSubMenuCommDtl.ClearFuncButtonInfo(); // 설정된 정보 초기화
btnSubMenuCommDtl.BackColorUpDown = Color.FromArgb(224, 230, 235); // 백 컬러
btnSubMenuCommDtl.FontSizeUpDown = 12;
if (dtSubDtl != null && dtSubDtl.Rows.Count > 0)
{
foreach (DataRow dr in dtSubDtl.Rows)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
nSeq += (int)((nSeq - 1) / 5);
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_GRP_CD); // 분류코드
cFuncInfo.nSeqNo = nSeq; // CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
// 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "1")
{
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_CD), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM), 40)
+ CmUtil.RPadH("0", 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM);
}
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "2")
{
double nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.UP_CHARGE_AMT);
//if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT); // 메뉴 가격
//else
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT); // 메뉴 가격
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
+ CmUtil.RPadH(nMenuPrc.ToString(), 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
+ m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
// + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol
// + m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
}
else
{
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
+ CmUtil.RPadH("0", 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + "0";
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + "0";
}
cFuncInfo.cBackColor = Color.FromArgb(224, 230, 235); // 백 컬러
cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_COLOR)); // 명 컬러
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSubMenuCommDtl.AddFuncButtonInfo(cFuncInfo);
}
}
// 메뉴 표시
string sGrpCode = btnSubMenuCommGrp.DisplayFuncButton("00"); // 분류 버튼 표시
btnSubMenuCommGrp_FuncClickHandler(btnSubMenuCommGrp, sGrpCode); // 첫번째 분류 선택 처리(버튼 그리기)
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
private void btnSubMenuCommGrp_FuncClickHandler(object sender, string sFuncCode)
{
try
{
if (sFuncCode == "")
{
btnSubMenuCommGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과
btnSubMenuCommDtl.DisplayFuncButton(""); // 메뉴 표시
}
else
{
btnSubMenuCommGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과
m_sSubMenuGrpSelType = sFuncCode.Substring(0, 1);
// 메뉴 표시
btnSubMenuCommDtl.DisplayFuncButton(sFuncCode.Substring(1));
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 부가메뉴 초기화 및 부가메뉴 마스터 로딩
///
///
/// 중분류코드
///
public bool LoadSubMenuDisplay(string sSubStoreCode, string sItemCode)
{
try
{
// 3안 => 부가메뉴 항시 표시 일때 사용
if (m_cPosStatus.Base.DesignType == "3")
{
LoadCommonSubMenuDisplay(sSubStoreCode, sItemCode);
return false;
}
pnlSetMenu.Visible = false;
pnlFlavour.Visible = false;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 부가메뉴 그룹 로딩
DataTable dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, sItemCode);
if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0)
{
dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0018); // 부가메뉴 그룹 마스터가 없습니다
return false;
}
}
btnSubMenuGrp.SetFuncButtonCount(6, 1); // 버튼갯수 설정
btnSubMenuGrp.VisibleUpDown = true;
btnSubMenuGrp.ClearFuncButtonInfo(); // 설정된 정보 초기화
btnSubMenuGrp.BackColorUpDown = Color.FromArgb(204, 210, 217);
//btnSubMenuGrp.BackColor = Color.FromArgb(224, 230, 235);
btnSubMenuGrp.SelectedBackColor = Color.FromArgb(95, 104, 116);
btnSubMenuGrp.SelectedForeColor = Color.FromArgb(255, 255, 255);
foreach (DataRow dr in dtSubGrpKey.Rows)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU.DATA.SEQ_NO);
nSeq += (int)((nSeq - 1) / 5);
cFuncInfo.sGroupCode = "00"; // 분류코드
cFuncInfo.nSeqNo = nSeq; // 표시순번
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SEL_TYPE), 1) + CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_CD); // 기능코드
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_NM); // 기능 명
cFuncInfo.cBackColor = Color.FromArgb(214, 219, 255); // 백 컬러
cFuncInfo.cForeColor = Color.Black; // 명 컬러
cFuncInfo.fFontSize = 12; // 명 폰트 사이즈
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSubMenuGrp.AddFuncButtonInfo(cFuncInfo);
}
// 부가메뉴 그룹 상세 로딩
DataTable dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, sItemCode);
if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0)
{
dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0019); // 부가메뉴 그룹 상세 마스터가 없습니다
return false;
}
}
btnSubMenuDtl.SetFuncButtonCount(6, 4); // 버튼갯수 설정
btnSubMenuDtl.VisibleUpDown = true;
btnSubMenuDtl.ClearFuncButtonInfo(); // 설정된 정보 초기화
btnSubMenuDtl.BackColorUpDown = Color.FromArgb(224, 230, 235); // 백 컬러
//btnSubMenuDtl.BackColor = Color.FromArgb(224, 230, 235);
foreach (DataRow dr in dtSubDtl.Rows)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
nSeq += (int)((nSeq - 1) / 23);
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_GRP_CD); // 분류코드
cFuncInfo.nSeqNo = nSeq; // CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
// 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "1")
{
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_CD), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM), 40)
+ CmUtil.RPadH("0", 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM);
}
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "2")
{
double nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.UP_CHARGE_AMT);
//if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT); // 메뉴 가격
//else
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT); // 메뉴 가격
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
+ CmUtil.RPadH(nMenuPrc.ToString(), 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
+ m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
// + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol
// + m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
}
else
{
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
+ CmUtil.RPadH("0", 20);
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + "0";
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + "0";
}
cFuncInfo.cBackColor = Color.FromArgb(224, 230, 235); // 백 컬러
cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_COLOR)); // 명 컬러
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSubMenuDtl.AddFuncButtonInfo(cFuncInfo);
}
string sGrpCode = btnSubMenuGrp.DisplayFuncButton("00"); // 분류 버튼 표시
btnSubMenuGrp_FuncClickHandler(btnSubMenuGrp, sGrpCode); // 첫번째 분류 선택 처리(버튼 그리기)
pnlSubMenu.Visible = true;
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
///
/// 부가메뉴 그룹 선택 이벤트 처리
///
///
///
private void btnSubMenuGrp_FuncClickHandler(object sender, string sFuncCode)
{
try
{
btnSubMenuGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과
if (sFuncCode == "")
{
btnSubMenuDtl.DisplayFuncButton("");
return;
}
m_sSubMenuGrpSelType = sFuncCode.Substring(0, 1);
// 메뉴 표시
btnSubMenuDtl.DisplayFuncButton(sFuncCode.Substring(1));
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 부가메뉴 선택 이벤트 처리
///
///
///
private void btnSubMenuDtl_FuncClickHandler(object sender, string sFuncCode)
{
try
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) return;
if (sFuncCode == "") return;
// 메뉴 키 값 = 부가메뉴구분(1) + 서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
string sMENU_KEY_DIV = CmUtil.MidH(sFuncCode, 0, 1).Trim(); // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
string sMENU_KEY_CD = CmUtil.MidH(sFuncCode, 1, 30).Trim(); // 서버점포코드(10) + 메뉴코드(20)
string sMENU_KEY_NM = CmUtil.MidH(sFuncCode, 31, 40).Trim(); // 부가메뉴명
string sMENU_PRICE = CmUtil.MidH(sFuncCode, 71, 20).Trim(); // 부가메뉴단가
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
m_cTrnStatus.Sale.SubMenuKeyDiv = sMENU_KEY_DIV;
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
// 상품 아이템
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)]; // 상품 정보
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다
return;
}
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다
return;
}
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL && cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.SET_DETL
&& cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.OPT_MENU)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0026); // 부가메뉴를 등록 할 수 없는 상품입니다
return;
}
sMENU_KEY_CD = CmUtil.RPadH(cPluItem.SUB_SHOP_CD, 10) + CmUtil.MidH(sFuncCode, 11, 20).Trim();
m_cTrnStatus.Sale.SubMenuSelectPos = CmUtil.IntParse(sSelectRow);
m_cTrnStatus.Sale.SubMenuMainCode = cPluItem.ITEM_PLU_CD;
m_cTrnStatus.Sale.SubMenuUpSalePrc = m_cDataService.DoubleParse(sMENU_PRICE);
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL)
{
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:전체상품합산)
bool bSubMenuQtyAdd = false;
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2" && txtInPut.Text == "")
{
for (int i = CmUtil.IntParse(sSelectRow) + 1; i < alPluItem.Count; i++)
{
Column.TR_PLU.DATA cSubPluItem = (Column.TR_PLU.DATA)alPluItem[i];
if (cSubPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.OPT_MENU) break;
if (cSubPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cSubPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
if (cSubPluItem.SUBPRC_MENU_KEY_DIV != sMENU_KEY_DIV) continue;
if (cSubPluItem.SUB_SHOP_CD != sMENU_KEY_CD.Substring(0, 10).Trim() || cSubPluItem.ITEM_PLU_CD != sMENU_KEY_CD.Substring(10)) continue;
if (cSubPluItem.ITEM_DC_AMT > 0 || cSubPluItem.SUM_DC_AMT > 0 || cSubPluItem.SET_DC_AMT > 0 || cSubPluItem.EXCEP_DC_AMT > 0) continue;
if (cSubPluItem.SALE_QTY >= 99999) continue;
// 수량 증가 처리
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
SaleItemGrid.SelectIndexItem(i);
bSubMenuQtyAdd = true;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// 부가메뉴 추가 등록
if (bSubMenuQtyAdd == false)
{
if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
{
m_cPluService.SetSubMenuMemoItem(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
}
else
{
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.SUBMENU + sMENU_KEY_CD);
}
}
}
else
{
// 부가메뉴 변경 등록
///////////////////////////////////////////////////////////////////////////////////////////////////////////
if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
{
m_cPluService.SetSubMenuMemoItemChange(sSelectRow, sMENU_KEY_CD, sMENU_KEY_NM);
}
else
{
m_cPluService.SetSubMenuItemChange(sSelectRow, sMENU_KEY_CD, sMENU_KEY_DIV);
}
}
DisplayItem(1, false); // 0:LastItem, 1:OldFocus
SaleItemGrid.SelectIndexItem(CmUtil.IntParse(sSelectRow));
}
else
{
m_cTrnStatus.Sale.SubMenuUpSalePrc = m_cDataService.DoubleParse(sMENU_PRICE);
if (sMENU_KEY_DIV == "1") // (0:부가상품, 1:부가메모)
{
m_cPluService.SetSubMenuMemoItem(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
DisplayItem(0, false);
}
else
{
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.SUBMENU + sMENU_KEY_CD);
}
//pnlSubMenu.Visible = false;
}
if (PosMstManager.GetPosOption(POS_OPTION.OPT032) == "1" || m_sSubMenuGrpSelType == "1") btnSubMenuExit_Click(null, null);
txtInPut.Text = "";
TxtInPutFocus();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 부가메뉴 등록 완료
///
///
///
private void btnSubMenuExit_Click(object sender, EventArgs e)
{
try
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
{
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_SET;
m_cSaleMainProc.RegisterPluItem("", "", "");
if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.SALE_DOING_SET_OPT) pnlSubMenu.Visible = false;
}
else
{
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
m_cTrnStatus.Sale.SubMenuPopUpYn = "0";
pnlSubMenu.Visible = false;
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/////
///// 부가메뉴 선택 이벤트 처리
/////
/////
/////
//private void btnSubMenuDtl_FuncClickHandler(object sender, string sFuncCode)
//{
// try
// {
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) return;
// if (sFuncCode == "") return;
// // 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40)
// string sMENU_KEY_DIV = sFuncCode.Substring(0, 1).Trim(); // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
// m_cTrnStatus.Sale.SubStoreCode = sFuncCode.Substring(1, 10).Trim(); // 서브점포코드
// string sMENU_KEY_CD = sFuncCode.Substring(1, 30).Trim(); // 서버점포코드(10) + 메뉴코드(20)
// string sMENU_KEY_NM = sFuncCode.Substring(31).Trim(); // 서브메모명
// // 그리드의 현재 선택 행번호
// int nSelectRow = SaleItemGrid.SelectedIndex;
// string sSelectRow = "";
// if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
// {
// Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
// GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// // No
// CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
// sSelectRow = cGridExRowData.GridItemValue;
// }
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_BTN_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
// {
// // 상품 아이템
// ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
// for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--)
// {
// // 상품 정보
// Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[i];
// if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
// {
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0026); // 부가메뉴를 등록 할 수 없는 상품입니다
// return;
// }
// if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL && cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.SET_DETL) continue;
// if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL)
// {
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다
// return;
// }
// if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING)
// {
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다
// return;
// }
// string sOldSaleFlow = m_cPosStatus.Sale.SaleFlow;
// m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_BTN_OPT;
// m_cTrnStatus.Sale.SubMenuSelectPos = i;
// if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
// {
// m_cPluService.SetSubMemo(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
// DisplayItem(1, false);
// }
// else
// {
// // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
// m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, i.ToString(), PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMENU_KEY_CD);
// SaleItemGrid.SelectIndexItem((int)m_cTrnStatus.Sale.SubMenuSelectPos + 1);
// }
// m_cPosStatus.Sale.SaleFlow = sOldSaleFlow;
// break;
// }
// }
// else
// {
// if (sMENU_KEY_DIV == "1") // (0:부가상품, 1:부가메모)
// {
// m_cPluService.SetSubMemo(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
// DisplayItem(0, false);
// }
// else
// {
// // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
// m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMENU_KEY_CD);
// }
// //pnlSubMenu.Visible = false;
// }
// if (PosMstManager.GetPosOption(POS_OPTION.OPT032) == "1") btnSubMenuExit_Click(null, null);
// txtInPut.Text = "";
// }
// catch (Exception ex)
// {
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
//}
/////
///// 부가메뉴 등록 완료
/////
/////
/////
//private void btnSubMenuExit_Click(object sender, EventArgs e)
//{
// try
// {
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
// {
// m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_SET;
// m_cSaleMainProc.RegisterPluItem("", "", "");
// if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.SALE_DOING_SET_OPT) pnlSubMenu.Visible = false;
// }
// else
// {
// m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
// m_cTrnStatus.Sale.SubMenuPopUpYn = "0";
// pnlSubMenu.Visible = false;
// }
// }
// catch (Exception ex)
// {
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
//}
#endregion
#region 세트메뉴 상품 화면 표시
///
/// 세트메뉴 상품 화면 표시
///
///
///
///
public bool LoadSetMenuDisplay(string sGroupCode, string sGroupName)
{
return LoadSetMenuDisplay(sGroupCode, sGroupName, false);
}
///
/// 세트메뉴 상품 화면 표시
///
///
///
///
///
public bool LoadSetMenuDisplay(string sGroupCode, string sGroupName, bool bSellGift)
{
bool bMenuExist = false;
try
{
pnlSubMenu.Visible = false;
pnlFlavour.Visible = false;
// 세트 그룹 상세 로딩
btnSetMenu.SetFuncButtonCount(6, 4); // 버튼갯수 설정
btnSetMenu.VisibleUpDown = true;
btnSetMenu.ClearFuncButtonInfo(); // 설정된 정보 초기화
// 선불카드 판매 - 중국 (별도 입력 처리)
if (PosMstManager.GetPosOption(POS_OPTION.OPT046) == "1")
{
btnSetMenu.DisplayFuncButton(sGroupCode); // 메뉴 버튼 표시
pnlSetMenu.Visible = true;
return true;
}
else
{
if (this.m_cSaleMainProc.m_dtSetMenuDetail == null) return false;
}
if (bSellGift == true)
{
int nSeq = 1;
foreach (DataRow dr in this.m_cSaleMainProc.m_dtSetMenuDetail.Rows)
{
lblSetMenuTitle.Text = sGroupName;
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cFuncInfo.sGroupCode = sGroupCode; // 분류코드
cFuncInfo.nSeqNo = nSeq; // 표시순번
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SUB_STOR_CD), 10)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD); // 코드
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 명
cFuncInfo.fFontSize = 10;
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSetMenu.AddFuncButtonInfo(cFuncInfo);
nSeq++;
}
}
else
{
foreach (DataRow dr in this.m_cSaleMainProc.m_dtSetMenuDetail.Rows)
{
lblSetMenuTitle.Text = sGroupName;
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_GRP_CD) == sGroupCode)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cFuncInfo.sGroupCode = sGroupCode; // 분류코드
cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_SET_GRP.DATA.SEQ_NO); // 표시순번
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SUB_STOR_CD), 10)
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_CD), 20)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC); // 코드+업차지금액
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
+ m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC));
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
// + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol
// + m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC));
cFuncInfo.cBackColor = Color.LightGray; // 백 컬러
cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.FONT_COLOR)); // 명 컬러
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_SET_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnSetMenu.AddFuncButtonInfo(cFuncInfo);
bMenuExist = true;
}
}
if (bMenuExist == false) return false;
}
btnSetMenu.DisplayFuncButton(sGroupCode); // 메뉴 버튼 표시
pnlSetMenu.Visible = true;
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
public int GetSelectedIndexOnSaleItemGrid()
{
return SaleItemGrid.SelectedIndex;
}
///
/// 세트메뉴 선택 이벤트 처리
///
///
///
private void btnSetMenu_FuncClickHandler(object sender, string sFuncCode)
{
try
{
if (sFuncCode == "") return;
// 메뉴 키 값 = 서버점포코드(10) + 메뉴코드
m_cTrnStatus.Sale.SubStoreCode = sFuncCode.Substring(0, 10).Trim();
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.GIFT || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.PREPAID)
{
//상품권, 선불 카드 판매면...
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sFuncCode);
}
else
{
pnlSetMenu.Visible = false;
string sMenuCode = sFuncCode.Substring(0, 30).Trim();
m_cTrnStatus.Sale.SetPluUpSalePrc = m_cDataService.DoubleParse(sFuncCode.Substring(30).Trim());
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
// 상품 아이템
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
// 상품 정보
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)];
m_cPluService.SetSetMenuItemChange(sSelectRow, sMenuCode.Substring(10), "", m_cTrnStatus.Sale.SetPluUpSalePrc.ToString());
DisplayItem(1, false); // 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
}
else
{
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMenuCode);
}
}
txtInPut.Text = "";
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region 플레이버 초기화 및 플레이버 마스터 로딩
///
/// 플레이버 초기화 및 플레이버 마스터 로딩
///
///
public bool LoadFlavourMaster(string sSubStoreCode)
{
bool bMenuExist = false;
int nMaxSeqNo = 0;
try
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT028) == "0") return false;
if (sSubStoreCode == "")
{
// 플레이버 화면 숨기기
pnlFlavour.Visible = false;
return true;
}
// 플레이버 로딩
DataTable dtMemu = m_cPluService.SearchMenuMaster(PosMst.MST_FLAVOUR.TABLE_NAME, sSubStoreCode, "");
if (dtMemu == null || dtMemu.Rows.Count <= 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0029); // 플레이버 마스터가 없습니다
return false;
}
btnFlavourMenu.Location = new Point(1, 3);
btnFlavourMenu.Size = new Size(pnlFlavour.Width - 2, pnlFlavour.Height - 4);
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
btnFlavourMenu.SetMenuButtonCount(6, 6); // 메뉴버튼갯수 설정
}
else
{
btnFlavourMenu.SetMenuButtonCount(4, 9); // 메뉴버튼갯수 설정
}
btnFlavourMenu.VisibleUpDown = true;
btnFlavourMenu.BackColor = CmUtil.GetColorToString("223223223");
btnFlavourMenu.BackColorUpDown = Color.White;
btnFlavourMenu.ForeColorUpDown = Color.Black;
btnFlavourMenu.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화
// 메뉴정보 설정
foreach (DataRow dr in dtMemu.Rows)
{
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
cMenuInfo.sClassCode = "00"; // 대분류
cMenuInfo.sGroupCode = "0000"; // 중분류코드
int nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FLAVOUR.DATA.ITEM_LOC);
nSeqNo = nSeqNo + (int)(nSeqNo / 35);
cMenuInfo.nSeqNo = nSeqNo; // 표시순번
// 메뉴 키 값 = 서브점포코드(10) + 메뉴코드
string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.SUB_STOR_CD), 10)
+ CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.ITEM_CD);
cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드
cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.SHTCUT_ITEMNM); // 메뉴 명
cMenuInfo.sMenuPrice = ""; // 메뉴 가격
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.BTN_COLOR1)); // 버튼 백 컬러
cMenuInfo.cForeColorName = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.FONT_COLOR)); // 메뉴명 컬러
cMenuInfo.cForeColorPrice = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.FONT_COLOR)); // 메뉴가격 컬러
cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_FLAVOUR.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈
cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_FLAVOUR.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈
cMenuInfo.nButtonSize = 0; // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
if (PosMstManager.GetPosOption(POS_OPTION.OPT107) == "0")
cMenuInfo.cMenuImage = "";
else
{
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.ITEM_CD) + ".PNG";
//if (File.Exists(cMenuInfo.cMenuImage) == false)
// cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim();
//cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG));
}
btnFlavourMenu.AddMenuButtonInfo(cMenuInfo);
bMenuExist = true;
if ( nMaxSeqNo < nSeqNo) nMaxSeqNo = nSeqNo;
}
if (bMenuExist == false) return false;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 닫기 버튼 생성
{
for (int i = 0; i < nMaxSeqNo; i += 35)
{
// 닫기 버튼 설정
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
cMenuInfo.nSeqNo = i + 35; // 표시순번
cMenuInfo.sClassCode = "00"; // 대분류
cMenuInfo.sGroupCode = "0000"; // 중분류코드
cMenuInfo.sMenuCode = PosKey.MENU_KEY.ESC_PREVIOUS; // 메뉴 연결코드
cMenuInfo.sMenuName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0040); // 메뉴 명
cMenuInfo.sMenuPrice = ""; // 메뉴 가격
cMenuInfo.cBackColor = Color.White; // 버튼 백 컬러
cMenuInfo.cForeColorName = Color.Black; // 메뉴명 컬러
cMenuInfo.cForeColorPrice = Color.Black; // 메뉴가격 컬러
cMenuInfo.fFontSizeName = 12; // 메뉴명 폰트 사이즈
cMenuInfo.fFontSizePrice = 12; // 메뉴 가격 폰트 사이즈
cMenuInfo.nButtonSize = 0; // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
cMenuInfo.cMenuImage = "";
btnFlavourMenu.AddMenuButtonInfo(cMenuInfo);
}
}
btnFlavourMenu.DisplayMenuButton("00", "0000");
pnlFlavour.Visible = true;
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
///
/// 플레이버 선택
///
///
///
private void btnFlavour_MenuClickHandler(object sender, string sMenuCode)
{
try
{
if (sMenuCode == "" || sMenuCode == PosKey.MENU_KEY.ESC_PREVIOUS)
{
pnlFlavour.Visible = false;
return;
}
txtInPut.Text = "";
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
if (sSelectRow == "") return;
// 상품 아이템
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--)
{
// 상품 정보
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[i];
if ((cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR)) continue;
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0030); // 플레이버를 등록 할 수 없는 상품 입니다
return;
}
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1")
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다
return;
}
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다
return;
}
// 플레이버 등록 가능 상품만 등록
if ((cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR_OWN))
{
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄, 3:플레이버)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, i.ToString(), PosConst.SALE_PLU_INPUT_TYPE.FLAVOUR + sMenuCode);
SaleItemGrid.SelectIndexItem(i + 1);
SaleItemGrid.Refresh();
if (PosMstManager.GetPosOption(POS_OPTION.OPT028) == "2") pnlFlavour.Visible = false;
}
else
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0030); // 플레이버를 등록 할 수 없는 상품 입니다
}
break;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region 기능키 컨트롤 초기화 및 기능키 마스터 로딩
///
/// 기능키 컨트롤 초기화 및 기능키 마스터 로딩
///
/// 성공/실패
public bool LoadFuncMaster()
{
try
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 판매기본 기능키 로딩
DataTable dtFuncKey = m_cPluService.SearchMenuMaster(PosMst.MST_FUNC_KEY_GRP.TABLE_NAME);
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 기능키 그룹 마스터가 없습니다
return false;
}
// 좌측 기능키 초기화
btnFuncSale.SetFuncButtonCount(2, 4); // 버튼갯수 설정
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
btnFuncSale.BackColor = CmUtil.GetColorToString("116116116");
btnFuncSale.BackColorUpDown = Color.FromArgb(109, 110, 113);
btnFuncSale.ForeColorUpDown = Color.White;
}
else
{
btnFuncSale.BackColor = CmUtil.GetColorToString("202207213");
btnFuncSale.BackColorUpDown = CmUtil.GetColorToString("225230236");
}
if (m_cPosStatus.ScnMst.FuncScrollUseYn == "1")
{
btnFuncSale.VisibleUpDown = true;
btnFuncSale.SetUpDownPosition(1, 4);
}
else
{
btnFuncSale.VisibleUpDown = false;
}
btnFuncSale.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
// 우측 기능키 초기화
btnFuncItem.SetFuncButtonCount(3, 4); // 버튼갯수 설정
btnFuncItem.BackColor = CmUtil.GetColorToString("202207213");
btnFuncItem.BackColorUpDown = CmUtil.GetColorToString("225230236");
if (m_cPosStatus.ScnMst.FuncScrollUseYn == "1")
{
btnFuncItem.VisibleUpDown = true;
btnFuncItem.SetUpDownPosition(1, 4);
}
else
{
btnFuncItem.VisibleUpDown = false;
}
btnFuncItem.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
foreach (DataRow dr in dtFuncKey.Rows)
{
if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT)
{
// 후불
if (CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.SALE_EXIT) continue;
}
else
{
// 선불
if (CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_PRINT
|| CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_COMPLETED
|| CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.EDIT_CUST_CNT
|| CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_EXIT) continue;
}
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_GRP_ID); // 분류코드
cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번
cFuncInfo.sFuncCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능코드
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM).Replace("\n", PosConst.CRLF).Replace("\\n", PosConst.CRLF); // 기능 명
string sColor = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR);
//2016-10-29 기능키 배경 색상이 없을 때 기본 값으로 하드 코딩 - 요청사항!
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
cFuncInfo.cBackColor = CmUtil.GetColorToString(sColor.Length == 9 ? sColor : "109110113");
cFuncInfo.cForeColor = Color.White;
}
else
{
cFuncInfo.cBackColor = CmUtil.GetColorToString(sColor.Length == 9 ? sColor : "225230236");
cFuncInfo.cForeColor = Color.Black;
}
//cFuncInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR)); // 백 컬러
//if (m_cPosStatus.Base.DesignType == "1") // 1안
// cFuncInfo.cForeColor = Color.White; // 명 컬러
//else
// cFuncInfo.cForeColor = Color.Black; // 명 컬러
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
cFuncInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_SIZE); // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
btnFuncSale.AddFuncButtonInfo(cFuncInfo);
btnFuncItem.AddFuncButtonInfo(cFuncInfo);
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
#endregion
#region 판매화면 표시
///
/// 판매화면 초기화
///
///
///
public void DisplayInit(bool bChgSaleDoing, bool bChgSaleFlow)
{
try
{
//if(bChgSaleDoing == true && bChgSaleFlow == true)
//{
// SubPriorReadingVarClear(true);
//}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if (bChgSaleDoing == true)
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 판매 개시
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
pnlMotSale.Visible = false;
pnlSubMenu.Visible = false;
// 받은금액, 거스름 초기화
m_cPosStatus.Sale.PayRecvedAmt = 0;
m_cPosStatus.Sale.ChangeCashAmt = 0;
// 받을금액 텍스트 초기화
//lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
// 그리드 초기화
SaleItemGrid.RemoveAll();
// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
DisplayItem(0, false);
// 고객화면 상품정보 클리어
m_cCustDisp.ClearSaleItemList();
}
if (bChgSaleFlow == true)
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
{
pnlSetMenu.Visible = false;
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.A_BEFORE_MENU); // 기능 버튼 표시
}
else
{
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.BC_BEFORE_MENU_L); // 기능 버튼 표시
btnFuncItem.DisplayFuncButton(PosKey.MENU_KEY.BC_BEFORE_MENU_R); // 기능 버튼 표시
}
WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", "");
// 공통부가메뉴 버튼초기화
LoadCommonSubMenuDisplay(m_cPosStatus.Base.StoreNo, PosConst.SUB_MEMO_L_CLSS_COMMON);
}
else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
// 상품등록 중
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.A_AFTER_MENU); // 기능 버튼 표시
}
else
{
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.BC_AFTER_MENU_L); // 기능 버튼 표시
btnFuncItem.DisplayFuncButton(PosKey.MENU_KEY.BC_AFTER_MENU_R); // 기능 버튼 표시
}
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", "");
}
}
txtInPut.Text = "";
txtInPut.Select();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 상품등록 정보 화면 표시
///
/// 0:LastItem, 1:OldFocus
public void DisplayItem(int nFocus, bool bDispChange)
{
try
{
this.SuspendLayout();
if (bDispChange == true)
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 결제 완료
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#region
//시작 MOT 사용 유무!
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "1")
{
pnlMotSale.Visible = true;
}
//lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
{
// 받은금액 표시
txtRecvedAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.PayRecvedAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
// 순매출액 표시 자리에 거스름 표시
txtNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
else
{
// 받은금액 표시
txtRecvedAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.PayRecvedAmt);
// 순매출액 표시 자리에 거스름 표시
txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt);
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
pnlBuyHist.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
// 그리드 초기화
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
//기존
SaleItemGrid.RemoveAll();
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
// 고객화면 거스름 표시
m_cCustDisp.SaleCompleteDisplay(m_cPosStatus.Sale.ChangeCashAmt);
// 캠페인 마스터 로딩
m_cCampaingMain.LoadCampaignCondition(new string[] { });
#endregion
return;
}
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
// 그리드의 현재 선택 행번호
int nOldSelectRow = SaleItemGrid.SelectedIndex;
int[] arGridItemWidth;
if (m_cPosStatus.Base.DesignType == "1") // 1안
{
arGridItemWidth = new int[] { 40, 10, 175, 90, 60, 90, 100, 50, 50 };
}
else if (m_cPosStatus.Base.DesignType == "2") // 2안
{
arGridItemWidth = new int[] { 30, 10, 115, 65, 50, 70, 100, 40, 40 };
}
else
{
arGridItemWidth = new int[] { 30, 10, 115, 63, 40, 67, 75, 40, 30 };
//arGridItemWidth = new int[] { 30, 10, 80, 70, 50, 70, 90, 40, 30 };
}
int[] arFontSize = new int[] { 10, 10, 10, 11, 11, 11, 11, 10, 14 };
if (SaleItemGrid.GridDataItems.Count > alPluItem.Count)
{
while (SaleItemGrid.GridDataItems.Count > alPluItem.Count)
{
SaleItemGrid.RemoveAt(SaleItemGrid.GridDataItems.Count - 1);
}
}
// SaleItemGrid.RemoveAll();
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; //그리드 데이터
long nItemNo = 0; // 번호
for (int iRow = 0; iRow < alPluItem.Count; iRow++)
{
Column.TR_PLU.DATA cItem = (Column.TR_PLU.DATA)alPluItem[iRow];
bool bCancelDiv = false;
if (cItem.CANCEL_DIV == "1" || cItem.CANCEL_DIV_MAIN == "1") bCancelDiv = true;
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 Start
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS) && cItem.GRP_SEQ != string.Empty)
{
m_sPluItemCode = cItem.GRP_SEQ; // "999990001 01"
}
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 End
// 상품메모 처리
string itemName = cItem.ITEM_NAME;
string itemMemo = (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_1) ? "" : cItem.ITEM_MEMO_1)
+ (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_2) ? "" : " " + cItem.ITEM_MEMO_2)
+ (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_3) ? "" : " " + cItem.ITEM_MEMO_3);
if (cItem.FIRE_KEY) itemMemo = "FIRE KEY";
if (string.IsNullOrWhiteSpace(itemMemo) == false)
{
#region
using (Control ctrl = new Control())
{
using (Font f = new Font(m_cPosStatus.Base.FONT, arFontSize[1], FontStyle.Regular))
{
string temp = string.Empty;
string name = string.Empty;
temp = string.Empty;
name = itemName.Replace("\r\n", " ").Replace("\r", " ").Replace("\n", " ");
for (var i = 0; i < name.Length; i++)
{
temp = name.Substring(0, i + 1);
SizeF sizeF = ctrl.CreateGraphics().MeasureString(temp, f);
if (sizeF.Width > arGridItemWidth[2])
{
itemName = name.Substring(0, i - 1);
break;
}
}
temp = string.Empty;
name = itemMemo.Replace("\r\n", " ").Replace("\r", " ").Replace("\n", " ");
for (var i = 0; i < name.Length; i++)
{
temp = name.Substring(0, i + 1);
SizeF sizeF = ctrl.CreateGraphics().MeasureString(temp, f);
if (sizeF.Width > arGridItemWidth[2])
{
itemMemo = name.Substring(0, i - 1);
break;
}
}
}
}
#endregion
itemName += "\n" + itemMemo;
}
string sEtcName = "";
//1. 로스거래인지 체크
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL && m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
{
sEtcName = cItem.NONSALES_RSN_NM;
}
else
{
if (cItem.CPI_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0829);
if (cItem.SET_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0830) + cItem.SET_DC_GROUP_CD;
if (cItem.ITEM_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018);
}
if (SaleItemGrid.GetItemCount() > iRow) // 이미 그리드에 추가된 상품
{
#region
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[iRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
if (cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
{
nItemNo++;
cGridExRowData.GridItemText = (nItemNo).ToString();
}
else
{
cGridExRowData.GridItemText = "";
}
cGridExRowData.GridItemValue = (iRow).ToString();
cGridExRowData.StrikeThrough = bCancelDiv;
// 과세구분
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[1];
cGridExRowData.GridItemText = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
cGridExRowData.StrikeThrough = bCancelDiv;
cGridExRowData.GridItemValue = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
// 상품명
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[2];
cGridExRowData.GridItemText = itemName; //cItem.ITEM_NAME;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridExRowData.GridItemValue = cItem.ITEM_PLU_CD;
//2018.01.23;미주의 경우 NoTax 상품은 상품명 빨간색으로 표시;girak.kim;Start
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS))
{
if (cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) cGridExRowData.ForeColor = Color.Red;
else cGridExRowData.ForeColor = Color.Black;
}
//2018.01.23;미주의 경우 NoTax 상품은 상품명 빨간색으로 표시;girak.kim;End
// 단가
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[3];
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.SALE_PRC);
cGridExRowData.GridItemValue = cItem.SALE_PRC.ToString();
cGridExRowData.StrikeThrough = bCancelDiv;
// 수량
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[4];
cGridExRowData.GridItemText = cItem.SALE_QTY.ToString();
cGridExRowData.GridItemValue = cItem.SALE_QTY.ToString();
cGridExRowData.StrikeThrough = bCancelDiv;
cGridExRowData.ForeColor = Color.Black;
// 할인
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[5];
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT);
cGridExRowData.GridItemValue = cItem.TOT_DC_AMT.ToString();
cGridExRowData.StrikeThrough = bCancelDiv;
// 금액
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[6];
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT);
cGridExRowData.GridItemValue = cItem.BILL_AMT.ToString();
cGridExRowData.StrikeThrough = bCancelDiv;
// 비고
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[7];
cGridExRowData.GridItemText = sEtcName;
cGridExRowData.GridItemValue = "";
cGridExRowData.StrikeThrough = bCancelDiv;
#endregion
}
else//상품 클릭하여 그리드에 추가 되는 상품
{
#region
// Row Item
GridDataItem cGridDataItem = new GridDataItem();
if (iRow % 2 == 0)
{
cGridDataItem.GridItemBackColor = Color.FromArgb(250, 250, 250);
}
else
{
cGridDataItem.GridItemBackColor = Color.FromArgb(255, 255, 255);
}
cGridDataItem.GridItemBackColorClick = Color.FromArgb(219, 253, 252);
cGridDataItem.GridItemBackImage = null;
cGridDataItem.GridItemBackImageClick = null;
cGridDataItem.GridItemData = new System.Collections.Hashtable();
// No
CsmGridExRowData cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[0];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Center;
cGridExRowData.VStringAlignment = StringAlignment.Center;
if (cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
{
nItemNo++;
cGridExRowData.GridItemText = (nItemNo).ToString();
}
else
{
cGridExRowData.GridItemText = "";
}
cGridExRowData.GridItemValue = (iRow).ToString();
cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[0];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 과세구분
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[1];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Near;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
cGridExRowData.GridItemValue = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
cGridExRowData.ForeColor = Color.Red;
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[1];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 상품명
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[2];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Near;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = itemName; //cItem.ITEM_NAME;
cGridExRowData.GridItemValue = cItem.ITEM_PLU_CD;
cGridExRowData.ForeColor = Color.FromArgb(3, 3, 3);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[2];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 단가
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[3];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Far;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.SALE_PRC);
cGridExRowData.GridItemValue = cItem.SALE_PRC.ToString();
cGridExRowData.ForeColor = Color.FromArgb(100, 100, 100);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[3];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 수량
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[4];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Far;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = cItem.SALE_QTY.ToString();
cGridExRowData.GridItemValue = cItem.SALE_QTY.ToString();
//#20171107 수량 폰트색 검은색으로 변경 start
//마지막 상품은 색상이 변경이 안되어 추가 수정.
//기존
//cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
//변경
cGridExRowData.ForeColor = Color.Black;
//#20171107 수량 폰트색 검은색으로 변경 end
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[4];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 할인
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[5];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Far;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT);
cGridExRowData.GridItemValue = cItem.TOT_DC_AMT.ToString();
cGridExRowData.ForeColor = Color.Red; //Color.FromArgb(155, 155, 156);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[5];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 금액
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[6];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Far;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT);
cGridExRowData.GridItemValue = cItem.BILL_AMT.ToString();
cGridExRowData.ForeColor = Color.FromArgb(3, 3, 3);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[6];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 비고
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[7];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Center;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridItemText = sEtcName;
cGridExRowData.GridItemValue = "";
cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[7];
cGridExRowData.FontStyle = FontStyle.Regular;
cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
// 삭제
cGridExRowData = new CsmGridExRowData();
cGridExRowData.GridItemWidth = arGridItemWidth[8];
cGridExRowData.ClickEventFlag = true;
cGridExRowData.HStringAlignment = StringAlignment.Center;
cGridExRowData.VStringAlignment = StringAlignment.Center;
cGridExRowData.GridRowImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.ITEM_GRID_ROW_DEL);
cGridExRowData.GridItemText = "X";
cGridExRowData.GridItemValue = "";
cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
cGridExRowData.FontSize = arFontSize[7];
cGridExRowData.FontStyle = FontStyle.Regular;
//cGridExRowData.StrikeThrough = bCancelDiv;
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
SaleItemGrid.AddDataGridItem(cGridDataItem, GRID_EX_ITEM_BORDER_STYLE.BOTTOM, 1, Color.FromArgb(236, 236, 236));
#endregion
}
}//for end
//0:LastItem, 1::OldFocus
if (nFocus == 1)
{
if (nOldSelectRow >= SaleItemGrid.GridDataItems.Count) nOldSelectRow = SaleItemGrid.GridDataItems.Count - 1;
SaleItemGrid.SelectIndexItem(nOldSelectRow);
}
SaleItemGrid.Refresh();
//// 상품 그리드에 상품 판매 등록 내역 표시 처리.
//m_dtSaleItemGrid.Clear();
//ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
//for (int iRow = 0; iRow < alPluItem.Count; iRow++)
//{
// Column.TR_PLU.DATA cItem = (Column.TR_PLU.DATA)alPluItem[iRow];
// string sCancelDiv = "0";
// if (cItem.CANCEL_DIV == "1" || cItem.CANCEL_DIV_MAIN == "1") sCancelDiv = "1";
// DataRow drRow = m_dtSaleItemGrid.NewRow();
// drRow["SEQ_NO"] = iRow + 1;
// drRow["PLU_NAME"] = cItem.ITEM_NAME;
// drRow["ITEM_PRICE"] = cItem.SALE_PRC;
// drRow["ITEM_QTY"] = cItem.SALE_QTY;
// drRow["DISCOUNT_AMT"] = (sCancelDiv == "1") ? "0" : m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT);
// drRow["ITEM_AMT"] = (sCancelDiv == "1") ? "0" : m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT);
// drRow["REMARK"] = "";
// drRow["CANCEL"] = (sCancelDiv == "1") ? "취소" : "";
// m_dtSaleItemGrid.Rows.Add(drRow);
//}
//SaleItemGrid.CsmGridDataSource = m_dtSaleItemGrid;
//SaleItemGrid.CsmGridFirstDisplayedScrollingRowIndex = 0;
//SaleItemGrid.CsmGridSelectRow(SaleItemGrid.CsmGridRowsCount - 1);
//SaleItemGrid.Refresh();
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 상품등록 중
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
{
//로스면 로스 합계표시
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
{
// 총수량, 총매출액
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.LossTotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
else
{
// 총수량, 총매출액
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
// 총 할인 금액
txtDiscountAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
txtVatSvc.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName + "/ "
+ m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
// 받은금액 표시 처리
txtRecvedAmt.Text = m_cPosStatus.Global.NumericTOCurrency(0) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
// 순매출액 표시 처리
txtNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
else
{
//로스면 로스 합계표시
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
{
// 총수량, 총매출액
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.LossTotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
}
else
{
// 총수량, 총매출액
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
}
// 총 할인 금액
//txtDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
// m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? -1 : 1));
txtDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt);
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
txtVatSvc.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) + "/ " +
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt);
}
// 받은금액 표시 처리
txtRecvedAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(0);
// 순매출액 표시 처리
//txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
// m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.NetSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
}
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemList(true, true, SaleItemGrid.SelectedIndex);
if (m_cTrnStatus.Sale.CampaignFileName != "")
{
picCampaign.Image = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CAMPAIGN + m_cTrnStatus.Sale.CampaignFileName);
//picCampaign.Visible = picCampaign.Image != null ? true : false;
}
else
picCampaign.Visible = false;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
this.ResumeLayout(true);
this.Update();
if (m_cTrnStatus.Sale.CampaignFileName != "")
{
picCampaign.Visible = picCampaign.Image != null ? true : false;
}
}
}
#endregion
#region 기능 버튼 이벤트 및 기능 업무 처리
///
/// 기능버튼 선택
///
///
///
private void btnFuncSale_FuncClickHandler(object sender, string sFuncCode)
{
string DCValue = string.Empty;
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
if(sFuncCode.Equals(PosKey.MENU_KEY.SALE_DC))
DCValue = txtInPut.Text;
tmrSaleTimer.Enabled = false;
if (picCampaign.Visible == true) picCampaign.Visible = false;
//m_cCustDisp.DisplayCampaign("", "");
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) // 판매대기 모드
{
switch (sFuncCode)
{
case PosKey.MENU_KEY.SALE_EXIT: // 판매종료
SaleMainExit();
return;
}
DisplayInit(true, false);
}
else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
if (sFuncCode == PosKey.MENU_KEY.ADD_MENU && pnlSubMenu.Visible == true)
{
pnlSubMenu.Visible = false;
tmrSaleTimer.Enabled = true;
return;
}
//충전, 판매 거래 경우 안 닫음!
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
{
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
}
else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_WAIT && m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY)
{
switch (sFuncCode)
{
case PosKey.MENU_KEY.SALE_EXIT: // 판매종료
case PosKey.MENU_KEY.ORDER_COMPLETED: // 주문완료
SaleMainExit();
return;
}
}
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
// 키유효성 체크
if (m_cDataCommon.FunctionKeyValidity(sFuncCode) == false)
{
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0054));
tmrSaleTimer.Enabled = true;
return;
}
CsmFunc tmpFunc = new CsmFunc();
if (((Cosmos.UI.CsmFunc)sender) == btnFuncItem) //Right
tmpFunc = btnFuncItem;
else if (((Cosmos.UI.CsmFunc)sender) == btnFuncSale) //Left
tmpFunc = btnFuncSale;
// 키 그룹 판매원 권한 체크
if (WinBasic.CheckMenuKeyAuth(sFuncCode) == false) return;
// 키 그룹 체크
if (m_cDataCommon.FunctionKeySubMenuLoad(sFuncCode) == true)
{
if (tmpFunc != null)
{
if (sFuncCode == PosKey.MENU_KEY.ESC_PREVIOUS) //이전
tmpFunc.DisplayPrevButton(); // 기능 버튼 표시
else
tmpFunc.DisplayFuncButton(sFuncCode); // 기능 버튼 표시
}
}
else
{
if (sFuncCode == PosKey.MENU_KEY.ESC_PREVIOUS) //이전
{
tmpFunc.DisplayPrevButton(); // 기능 버튼 표시
}
else
{
// 기능 항목 처리
this.rtbMotMain.Visible = false;
//#20171117 통제, 슈퍼바이저 로그인창 여러번 표시 되는 현상 수정 start
//기존
//m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "");
//변경
//m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "", true);
//#20171117 통제, 슈퍼바이저 로그인창 여러번 표시 되는 현상 수정 end
this.rtbMotMain.Visible = true;
//----------------------------------------------------------------------------------------------------
// 만약 판매화면에서 전체취소 버튼 클릭시
// 해피포인트 제휴할인 변수 초기화 함수를 호출한다.
//----------------------------------------------------------------------------------------------------
// (원본) m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Te바xt, sSelectRow.ToString(), "");
//----------------------------------------------------------------------------------------------------
#region 판매화면 초기화시 해피포인트 제휴할인 변수 초기화 함수를 호출한다.
bool blnResult = m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "", true);
if (blnResult == true)
{
if (sFuncCode == PosKey.MENU_KEY.TRADE_STOP) { SubPriorReadingVarClear(true); }
}
#endregion
this.rtbMotMain.Visible = true;
}
}
//DisplayInit(true, false);
// 상품등록 내역 표시
//DisplayItem(0, false);
SetOwnPartDiv(false);
WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", "");
if (sFuncCode.Equals(PosKey.MENU_KEY.SALE_DC))
txtInPut.Text = DCValue;
else
txtInPut.Text = "";
TxtInPutFocus();
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
// 테이블 데이터 백업!
m_cTrnStatus.Head.FloorCd = m_cPosStatus.Sale.SelectFloorCd;
m_cTrnStatus.Head.TableNo = m_cPosStatus.Sale.SelectTableNo;
m_cTrnStatus.Head.FloorNm = m_cPosStatus.Sale.SelectFloorNm;
m_cTrnStatus.Head.TableNm = m_cPosStatus.Sale.SelectTableNm;
tmrSaleTimer.Enabled = true;
CmUtil.IgnoreMouseClick(this); // 마우스 클릭 무시
}
}
private void txtInput_Enter(object sender, EventArgs e)
{
try
{
padInPut.SetActiveControl = (Control)sender;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 입력박스 이벤트 처리
///
///
///
private void txtInPut_EditBoxKeyDownEvent(object sender, string sFuncValue)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
tmrSaleTimer.Enabled = false;
string sInPutData = txtInPut.Text;
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
bool bReturn = true;
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow]; // No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) DisplayInit(true, false);
if (sFuncValue == PosKey.MENU_KEY.ENTER)
{
//#2017122 #13238 LG 은평_은평_부가메뉴 입력 안되는 증상 start, phj
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
{
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0022));
txtInPut.Text = "";
return;
}
//#2017122 #13238 LG 은평_은평_부가메뉴 입력 안되는 증상 end, phj
//충전, 판매 거래 경우
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == true) return;
if (sInPutData == "") return;
//17.05.18 dkshin 쇼킹박스 추가
//if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.LOG.SHOCKING_BOX) == true)
if (m_cTrnStatus.Head.ShockingBoxStat == "1")
{
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0699));
txtInPut.Text = "";
return;
}
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "BarCode Sacan : " + sInPutData);
//17.05.18 dkshin 쇼킹박스 추가
//-------------start---------------
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
//m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
//sInPutData(바코드 데이타)조회 후 m_cTrnStatus.Head.TradeKind가 99(쇼킹박스) 일때 판매화면에 상품 보여주기
//쇼킹박스는 pc만_ho_20170828
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC && m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
{
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start
//기존
//string sRet = m_cSaleService.PosShockingBoxSearch(sInPutData);
//if (sRet == UserCom.RST_OK)
//{
// if (SaleItemGrid.GridDataItems.Count > 0) //제품선택후 쇼킹박스상품을 불러온경우.
// {
// txtInPut.Text = "";
// return;
// }
//
// //m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.LOG.SHOCKING_BOX;
// m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.SHOCKING_BOX, "", "", sInPutData);
//}
//변경
string sTradeKind = string.Empty;
sTradeKind = m_cSaleService.PosShockingBoxSearch(sInPutData);
if (sTradeKind == ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX || sTradeKind == ItemConst.TRAN_KIND.LOG.SHOCKING_BOX)
{
if (SaleItemGrid.GridDataItems.Count > 0) //제품선택후 쇼킹박스상품을 불러온경우.
{
txtInPut.Text = "";
return;
}
if (sTradeKind == ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX)
{
// 상품정보출력(해피오더 랜덤박스)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.ITEMINFO_PRINT, "", "", sInPutData);
}
else if (sTradeKind == ItemConst.TRAN_KIND.LOG.SHOCKING_BOX)
{
// 쇼킹박스
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.SHOCKING_BOX, "", "", sInPutData);
}
}
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end
else
{
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:상품별합산)
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
for (int i = 0; i < alTrPluItem.Count; i++)
{
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
if (cPluItem.SUB_SHOP_CD != m_cPosStatus.Base.SubShopNo || cPluItem.ITEM_BAR_CD != sInPutData) continue;
if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
if (cPluItem.SALE_QTY >= 99999) continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 start
if (cPluItem.OPEN_ITEM_DIV == "1") continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 end
// 수량 증가 처리
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
SaleItemGrid.SelectIndexItem(i);
m_cCustDisp.DisplaySaleItemList(true, true, i);
txtInPut.Text = "";
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
return;
}
}
}
//*****************************************************************************
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
//-----------------------------------------------------------------------------
// - 만약 입력박스에서 해피포인트 카드 및 제휴할인 카드를 리딩했을 때
// 만약, 해피포인트 카드일 경우 해피포인트 카드번호를 전역변수에 저장한다.
// (ex. 해피포인트 카드번호 : m_cPosStatus.Sale.strHappyPointCardNo)
// 만약, 제휴할인 카드일 경우 제휴할인 카드번호를 전역변수에 저장한다.
// (ex. 제휴할인 카드번호 : m_cPosStatus.Sale.strMobileUnityCardNo)
//*****************************************************************************
//*****************************************************************************
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
//-----------------------------------------------------------------------------
// - 만약 입력박스에서 해피포인트 카드 및 제휴할인 카드를 리딩했을 때
// 만약, 해피포인트 카드일 경우 해피포인트 카드번호를 전역변수에 저장한다.
// (ex. 해피포인트 카드번호 : m_cPosStatus.Sale.strHappyPointCardNo)
// 만약, 제휴할인 카드일 경우 제휴할인 카드번호를 전역변수에 저장한다.
// (ex. 제휴할인 카드번호 : m_cPosStatus.Sale.strMobileUnityCardNo)
//*****************************************************************************
#region 해피포인트 제휴할인 선리딩 처리
if (sInPutData != "" && sInPutData.Length > 15)
{
//===================================================================
// 해피포인트 카드 체크
//-------------------------------------------------------------------
// - 만약 입력된 값의 앞의 4자리가
// 정의된 해피포인트 프리픽스(HP_CARD_PRIFIX) 값과 동일할 경우
// (ex. public const string HP_CARD_PRIFIX = "8231";)
// 입력된 값을 전역변수에 저장하여 해피포인트 카드 번호로 사용한다.
//-------------------------------------------------------------------
// - frmPointHappyPoint_Load 이벤트에서 처리함
//===================================================================
#region 해피포인트 카드 체크
if (sInPutData.Substring(0, 4) == PosConst.HP_CARD_PRIFIX)
{
//-----------------------------------------------------------------
// 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다.
// - 다시 사용하기로 했음
//-----------------------------------------------------------------
#region 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다.
//if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
//{
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0020); // 판매 대기중에 처리 할수 없는 기능 입니다.
// DisplayInit(true, false);
// return;
//}
#endregion
#region 만약 결제 기능키 항목에 해피포인트('00058')이 없을 경우 에러메시지를 표시한다.
if (gdtFuncKey.Rows.Count != 0)
{
DataRow[] _drFuncKey = gdtFuncKey.Select("FUNC_ID = '" + PosKey.MENU_KEY.HAPPY_POINT + "'");
if (_drFuncKey.Length == 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다
DisplayInit(true, false);
return;
}
}
#endregion
//---------------------------------------------------
// 입력된 해피포인트 카드 번호를 전역변수에 저장한다.
//---------------------------------------------------
#region 입력된 해피포인트 카드 번호를 전역변수에 저장한다.
//#20180620 해피포인트 선리딩시 '=' 붙이는 기능 제거 start
//키인으로 입력하면 해피포인트 사용을 못해야 되는제 사용 가능함
//기존
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
//기존
//m_cPosStatus.Sale.strHappyPointCardNo = sInPutData+"=";
//변경
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start, 20181025
//해피포인트 선리딩시 해피포인트 사용이 안되는 증상 수정
//기존
//m_cPosStatus.Sale.strHappyPointCardNo = sInPutData;
//변경
m_cPosStatus.Sale.strHappyPointCardNo = sInPutData + "=";
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end, 20181025
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
//변경
//m_cPosStatus.Sale.strHappyPointCardNo = sInPutData;// +"=";
//#20180620 해피포인트 선리딩시 '=' 붙이는 기능 제거 end
m_cPosStatus.Sale.strHappyPointCardNo_Title = "HPC";
#endregion
//*** MoonSeokWoo 2017.12.12 Add
if(pnlPayMainBack.Visible == false)
AllianceCardInit(true, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0789), true);
//*** MoonSeokWoo 2017.12.12 End
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
#region 고객 구매이력 정보 표시 및 해피쿠폰 발송
//결제화면이 표시 안된 경우 해피포인트 조회 -> 고객번호로 POS서버 조회 -> 고객구매이력 표시
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//해당 옵션 사용하지 않고 STR_SEND_CPN_MST 테이블의 사용여부로 판단
//기존
/*
if (PosMstManager.GetPosOption(POS_OPTION.OPT514) == "1" &&
pnlPayMainBack.Visible == false &&
m_cPosStatus.Sale.strHappyPointCardNo != "")
*/
//변경
// TEST START
//m_cPosStatus.Mst.BuyHistShowYn = "1";
// TEST END
if (m_cPosStatus.Mst.BuyHistShowYn == "1" &&
pnlPayMainBack.Visible == false &&
m_cPosStatus.Sale.strHappyPointCardNo != "")
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
{
//고객 구매이력 화면 미표시
pnlBuyHist.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
pnlBuyHistMot.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#15525 고객구매이력 수정 요청 start
//VIP 여부 안내 표시
pnlBuyHistVip.Visible = false;
//#15525 고객구매이력 수정 요청 end
//해피포인트 조회 후 고객번호 획득 (고객번호(10) + 전자영수증 수신여부(1) + 단골여부(1) + 기타정보(23))
string sHppMembNo = SchHappyPointMembInfo(PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP, m_cPosStatus.Sale.strHappyPointCardNo);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//단골고객여부 전역변수로 변경
//기존
//string sRegularYN = "";
//변경
m_cPosStatus.Sale.sRegularYN = "";
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//해피전문 반영 안되있으면 11자리만 내려옴. (고객번호(10) + 전자영수증 수신여부(1))
if (sHppMembNo.Length > 11)
{
//sHppMembNo = sHppMembNo.Substring(0, 10);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//단골고객여부 전역변수로 변경
//기존
//sRegularYN = sHppMembNo.Substring(11, 1);
//변경
m_cPosStatus.Sale.sRegularYN = sHppMembNo.Substring(11, 1);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
sHppMembNo = sHppMembNo.Substring(0, 10);
}
else
{
//sHppMembNo = "";
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//단골고객여부 전역변수로 변경
//기존
//sRegularYN = "";
//변경
m_cPosStatus.Sale.sRegularYN = "";
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
}
//해피포인트 고객번호가 있는 경우 POS서버로 구매이력정보 수신
if (sHppMembNo !="")
{
//수신 데이터 있는 경우 표시
string sBuyHistRet = UserCom.RST_ERR;
string sGetData = "";
//초기화
//m_cPosStatus.Sale.strBuyHist = new string[7];
for (int i = 0; i < m_cPosStatus.Sale.strBuyHist.Length; i++) { m_cPosStatus.Sale.strBuyHist[i] = ""; }
//#20180524 구매이력조회 단골여부 전문추가 start,phj
//기존
//POS 서버 조회
//sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, ref sGetData);
//변경
//POS 서버 조회
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180528
//쿠폰 발송 횟수 제한 기능
//기존
//sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, m_cPosStatus.Sale.sRegularYN, ref sGetData);
//변경
//쿠폰 발송 횟수 조회
//구현
string sCpnSendCnt = m_cDataCommon.CpnSendCntSearch();
//#15525 고객구매이력 수정 요청 start
//TEST
//1위: 1006024148, 2위: 1008346700, 31위: 1002325773, 32위: 1005674140, 33099위: 1000616629
//sHppMembNo = "1008346700";
//#15525 고객구매이력 수정 요청 end
//구매이력 조회
sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, m_cPosStatus.Sale.sRegularYN, sCpnSendCnt, ref sGetData);
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180528
//#20180524 구매이력조회 단골여부 전문추가 end,phj
if (sBuyHistRet == UserCom.RST_OK)
{
//고객 구매이력 데이터 파싱
// 단골여부 | 최근1개월 | 전월 | 객단가 | 선호제품유형 | 최근구매일 | 최근 케익 구매일 |코드|문구1 | 문구2|
// Y | 0(0) | 0 | 0 | 완제생크림 , 버터 | 21일전 (05/03)| 21일전 (05/03) |01 |어제 | 케익 |
//테스트 start
//sGetData = "Y|0(0)|0|0|완제생크림 , 버터|21일전 (05/03)|21일전 (05/03)|01|어제|케익|";
//테스트 end
//#15525 고객구매이력 수정 요청 start
//VIP 여부 안내 표시
// 단골여부 | 최근1개월 | 전월 | 객단가 | 선호제품유형 | 최근구매일 | 최근 케익 구매일 |코드|문구1 | 문구2| VIP여부|
// Y | 0(0) | 0 | 0 | 완제생크림 , 버터 | 21일전 (05/03)| 21일전 (05/03) |01 |어제 | 케익 | Y |
//테스트 start
//sGetData = "Y|0(0)|0|0|완제생크림 , 버터|21일전 (05/03)|21일전 (05/03)|01|어제|케익|Y";
//#15525 고객구매이력 수정 요청 end
m_cPosStatus.Sale.strBuyHist = sGetData.Split('|');
string sStrBuyHist3_0 = m_cPosStatus.Sale.strBuyHist[1];
string sStrBuyHist3_1 = "";
string sStrBuyHist3_2 = "";
string sStrBuyHist3_3 = "";
int iStrBuyHistPosUp = 0;
int iStrBuyHistPosDwn = 0;
int iStrBuyHistPosNon = 0;
iStrBuyHistPosUp = sStrBuyHist3_0.LastIndexOf("▲");
iStrBuyHistPosDwn = sStrBuyHist3_0.LastIndexOf("▼");
iStrBuyHistPosNon = sStrBuyHist3_0.LastIndexOf("(");
if(iStrBuyHistPosUp > 0)
{
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosUp);
sStrBuyHist3_2 = sStrBuyHist3_0.Substring(iStrBuyHistPosUp, 1);
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosUp + 1, sStrBuyHist3_0.Length - iStrBuyHistPosUp - 1);
lblBuyHist8.ForeColor = Color.Blue;
}
else if (iStrBuyHistPosDwn > 0)
{
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosDwn);
sStrBuyHist3_2 = sStrBuyHist3_0.Substring(iStrBuyHistPosDwn, 1);
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosDwn + 1, sStrBuyHist3_0.Length - iStrBuyHistPosDwn - 1);
lblBuyHist8.ForeColor = Color.Red;
}
else if (iStrBuyHistPosNon > 0)
{
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosNon + 1);
sStrBuyHist3_2 = " ";
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosNon + 1, sStrBuyHist3_0.Length - iStrBuyHistPosNon - 1);
lblBuyHist8.ForeColor = Color.FromArgb(51, 51, 51);
}
//고객 구매이력 데이터 표시
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//단골고객여부 전역변수로 변경
//기존
//lblBuyHist1.Text = sRegularYN;
//변경
lblBuyHist1.Text = m_cPosStatus.Sale.sRegularYN;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
lblBuyHist2.Text = sStrBuyHist3_1;
lblBuyHist3.Text = m_cPosStatus.Sale.strBuyHist[2];
lblBuyHist4.Text = m_cPosStatus.Sale.strBuyHist[3];
lblBuyHist5.Text = m_cPosStatus.Sale.strBuyHist[4];
lblBuyHist6.Text = m_cPosStatus.Sale.strBuyHist[5];
lblBuyHist7.Text = m_cPosStatus.Sale.strBuyHist[6];
lblBuyHist8.Text = sStrBuyHist3_2;
lblBuyHist9.Text = sStrBuyHist3_3;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180508
//[쿠폰발송] 버튼 클릭시 '쿠폰발송 기능은 추후 오픈 예정입니다.' 팝업 출력
//기존
/*
//단골고객만 쿠폰 발송 버튼 활성화
if (sRegularYN == "Y" && PosMstManager.GetPosOption(POS_OPTION.OPT513) == "1")
{
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
btnCpnSend.Enabled = true;
}
else
{
btnCpnSend.Text = "";
btnCpnSend.Enabled = false;
}
*/
//변경
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
btnCpnSend.Enabled = true;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180508
//고객 구매이력 화면 표시
pnlBuyHist.Visible = true;
//#20180524 구매이력조회 단골여부 전문추가 start,phj
//기존
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
////고객 구매이력 정보 표시 시점에 상단 MOT 표시
//string sMsgCode = "";
//
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180521
////기존
///*
//if (m_cPosStatus.Sale.strBuyHist.Length > 7)
//{
// sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
//}
//else
//{
// sMsgCode = "00";
//}
//DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
//if (!(dt == null || dt.Rows.Count == 0))
//{
// DataRow dr = dt.Rows[0];
// lblBuyHistMot.Text = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CD_NM);
//}
////적용시 true
//pnlBuyHistMot.Visible = true;
//*/
//
////변경
//if (m_cPosStatus.Sale.strBuyHist.Length > 7)
//{
// sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
//}
//
//// TEST START
////sMsgCode = "요즘 방문이 뜸하셨는데, 다시 찾아주셔서 감사드려요";
////sMsgCode = "요즘 방문이 뜸하셨는데, 다시 찾아주셔서 감사드려요@$다음 방문시 사용 하실 수 있는 XX쿠폰 발송해 드릴께요";
//// TEST END
//
//if (sMsgCode != "")
//{
// lblBuyHistMot.Text = sMsgCode.Replace("@", "\r").Replace("$", "\n").ToString();
// pnlBuyHistMot.Visible = true;
//}
//else
//{
// pnlBuyHistMot.Visible = false;
//}
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180521
//
//BuyHistTime = DateTime.Now;
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//변경
string sMsgCode = "";
string sMsg1 = "";
string sMsg2 = "";
if (m_cPosStatus.Sale.strBuyHist.Length > 7)
{
sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
sMsg1 = m_cPosStatus.Sale.strBuyHist[8];
sMsg2 = m_cPosStatus.Sale.strBuyHist[9];
}
else
{
//#20180528 구매이력조회 상단 MOT 미표시 start,phj
//기존
//sMsgCode = "00";
//변경
sMsgCode = "99";
//#20180528 구매이력조회 상단 MOT 미표시 end,phj
}
//#20180528 구매이력조회 상단 MOT 미표시 start,phj
//기존
/*
string sCmmMsg1 = "";
string sCmmMsg2 = "";
DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
if (!(dt == null || dt.Rows.Count == 0))
{
DataRow dr = dt.Rows[0];
sCmmMsg1 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01);
sCmmMsg2 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_02);
}
sCmmMsg1 = string.Format(sCmmMsg1, sMsg1, sMsg2);
sCmmMsg2 = string.Format(sCmmMsg2, sMsg1, sMsg2);
if (sCmmMsg1 != "" || sCmmMsg2 != "")
{
lblBuyHistMot.Text = sCmmMsg1 + "\r" + sCmmMsg2;
pnlBuyHistMot.Visible = true;
}
else
{
lblBuyHistMot.Text = "";
pnlBuyHistMot.Visible = false;
}
*/
//변경
if (sMsgCode == "99")
{
lblBuyHistMot.Text = "";
pnlBuyHistMot.Visible = false;
}
else
{
string sCmmMsg1 = "";
string sCmmMsg2 = "";
DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
if (!(dt == null || dt.Rows.Count == 0))
{
DataRow dr = dt.Rows[0];
sCmmMsg1 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01);
sCmmMsg2 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_02);
}
sCmmMsg1 = string.Format(sCmmMsg1, sMsg1, sMsg2);
sCmmMsg2 = string.Format(sCmmMsg2, sMsg1, sMsg2);
if (sCmmMsg1 != "" || sCmmMsg2 != "")
{
lblBuyHistMot.Text = sCmmMsg1 + "\r" + sCmmMsg2;
pnlBuyHistMot.Visible = true;
}
else
{
lblBuyHistMot.Text = "";
pnlBuyHistMot.Visible = false;
}
}
//#20180528 구매이력조회 상단 MOT 미표시 end,phj
BuyHistTime = DateTime.Now;
//#20180524 구매이력조회 단골여부 전문추가 end,phj
//#15525 고객구매이력 수정 요청 start
//VIP 여부 안내 표시
string sVipYN = "N";
if (m_cPosStatus.Sale.strBuyHist.Length > 10)
{
sVipYN = m_cPosStatus.Sale.strBuyHist[10];
}
if (sVipYN == "Y")
{
//#15525 고객구매이력 수정 요청 start, 20180704
//기존
/*
pnlBuyHistVip.Visible = true;
pnlBuyHistVip.BringToFront();
*/
//변경
WinBasic.ShowForm(new string[] { FormManager.FORM_VIP });
//#15525 고객구매이력 수정 요청 end, 20180704
}
else
{
//m_cCustDisp.ScreenVipDisplay(false);
pnlBuyHistVip.Visible = false;
}
//#15525 고객구매이력 수정 요청 end
}
else
{
//고객 구매이력 데이터 초기화
//for (int i = 0; i < m_cPosStatus.Sale.strBuyHist.Length; i++) { m_cPosStatus.Sale.strBuyHist[i] = ""; }
//고객 구매이력 화면 미표시
pnlBuyHist.Visible = false;
}
}
}
#endregion
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
#region SPC임직원 여부 조회
if (m_cPosStatus.Sale.strHappyPointCardNo != "")
{
m_cPosStatus.Sale.strEmpInfo = SchHappyPointEmpInfo(PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP, m_cPosStatus.Sale.strHappyPointCardNo);
}
#endregion SPC임직원 여부 조회
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
//----------------------------------------
// 해피포인트 상태바 표시을 위한 배열 설정
//----------------------------------------
#region 해피포인트 상태바 표시를 위한 배열 설정
if (m_cPosStatus.Sale.strPriorReading_Title[0] == null || m_cPosStatus.Sale.strPriorReading_Title[0] == "")
{
//--------------------------------------------------------
// 만약 첫번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
// -> 첫번째에 해피포인트를 그대로 입력한다.
//--------------------------------------------------------
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
else if (m_cPosStatus.Sale.strPriorReading_Title[1] == null || m_cPosStatus.Sale.strPriorReading_Title[1] == "")
{
//--------------------------------------------------------
// 만약 두번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
// -> 두번째에 해피포인트를 입력한다.
// 단, 첫번째로 리딩된 해피포인트가 없을 경우에만 입력한다.
//--------------------------------------------------------
if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC")
{
m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
}
else
{
//----------------------------------------------------------------
// 만약 첫번째, 두번째로 리딩한 해피포인트 및 제휴카드가 있을 경우
// 아무 처리를 안한다.
//----------------------------------------------------------------
}
#endregion
// 텍스트 박스 클리어 -----
txtInPut.Text = "";
if(pnlPayMainBack.Visible == true)
{
#region 만약 해피포인트 값이 설정되어 있을 경우 해피포인트 화면을 표시한다.
if (m_cPosStatus.Sale.strHappyPointCardNo != "")
{
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
//기존
// 해피포인트(00058) 화면 표시 -----
//PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
//변경
#region SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시
if (m_cPosStatus.Sale.strEmpInfo == "3A")
{
// SPC임직원할인(결제) - 상품에 적용하지 않음
DataTable dtFuncKeyArr1 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY);
// SPC임직원할인(할인) - 상품에 적용
DataTable dtFuncKeyArr2 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC);
if (dtFuncKeyArr1 == null || dtFuncKeyArr1.Rows.Count <= 0)
{
if (dtFuncKeyArr2 == null || dtFuncKeyArr2.Rows.Count <= 0)
{
// SPC임직원할인(결제), SPC임직원할인(할인) 둘다 기능키가 배치되어 있지 않은 경우
// 해피포인트(00058) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
}
else
{
// SPC임직원할인(할인) 기능키가 배치되어 있는 경우
// 임직원할인(00064) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC, "2");
}
}
else
{
// SPC임직원할인(결제) 기능키가 배치되어 있는 경우
// 임직원할인(00281) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY, "2");
}
}
else
{
// SPC임직원이 아닌 경우
// 해피포인트(00058) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
}
#endregion SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
}
#endregion
}
return;
}
#endregion
//=======================================================================
// 제휴할인 카드 체크
//-----------------------------------------------------------------------
// - 제휴할인 카드 폼에 포함되어 있는
// 제휴카드 종류 자동 선택(SelectMobileUnityKind) 함수를 이용하여
// 제휴할인 카드가 맞는지 체크한다.
// - 만약 제휴할인 카드가 맞을 경우
// 입력된 값을 전역변수에 저장하여 제휴할인 카드 번호로 사용한다.
//-----------------------------------------------------------------------
// - frmPntMobileUnity_Load 이벤트에서 처리함
// - 오버로딩 함수 : public frmPntMobileUnity(string _strDiv)
// public bool SelectMobileUnityKind(string _strCardNo)
//=======================================================================
#region 제휴할인 카드 체크
//-----------------------------------------------------
// 제휴할인 카드 폼의 제휴카드 종류 자동 선택 함수 호출
//-----------------------------------------------------
#region 제휴할인 카드 폼의 제휴카드 종류 자동 선택 함수 호출
frmPntMobileUnity frmPntMobileUnity = new frmPntMobileUnity("Initial");
string _strCardDiv = frmPntMobileUnity.SelectMobileUnityKind(sInPutData);
#endregion
if (_strCardDiv != "")
{
//-----------------------------------------------------------------
// 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다.
// - 다시 사용하기로 했음
//-----------------------------------------------------------------
#region 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다.
//if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
//{
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0020); // 판매 대기중에 처리 할수 없는 기능 입니다.
// DisplayInit(true, false);
// return;
//}
#endregion
#region 만약 결제 기능키 항목에 제휴할인 카드('00292')이 없을 경우 에러메시지를 표시한다.
if (gdtFuncKey.Rows.Count != 0)
{
DataRow[] _drFuncKey = gdtFuncKey.Select("FUNC_ID = '" + PosKey.MENU_KEY.MOBILE_UNITY + "'");
if (_drFuncKey.Length == 0)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다
DisplayInit(true, false);
return;
}
}
#endregion
//--------------------------------------------
// 입력된 제휴카드 번호를 전역변수에 저장한다.
//--------------------------------------------
// - _strCardDiv : SKT, KT, LGT
//--------------------------------------------
#region 입력된 제휴카드 번호를 전역변수에 저장한다.
m_cPosStatus.Sale.strMobileUnityCardNo = sInPutData;
m_cPosStatus.Sale.strHappyPointCardNo_Title = _strCardDiv;
#endregion
//*** MoonSeokWoo 2017.12.12 Add
if (pnlPayMainBack.Visible == false)
AllianceCardInit(true, _strCardDiv, false);
//*** MoonSeokWoo 2017.12.12 End
//--------------------------------------
// 제휴카드 상태바 표시을 위한 배열 설정
//--------------------------------------
#region 제휴카드 상태바 표시를 위한 배열 설정
if (m_cPosStatus.Sale.strPriorReading_Title[0] == null || m_cPosStatus.Sale.strPriorReading_Title[0] == "")
{
//--------------------------------------------------------
// 만약 첫번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
// -> 그대로 입력한다.
//--------------------------------------------------------
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
else if (m_cPosStatus.Sale.strPriorReading_Title[1] == null || m_cPosStatus.Sale.strPriorReading_Title[1] == "")
{
//-------------------------------------------------------------------
// 만약 두번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
// -> 두번째에 해피포인트를 입력한다.
// 단, 첫번째로 리딩된 제휴카드가 있을 경우 이전 제휴카드를 치환한다.
//-------------------------------------------------------------------
if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC")
{
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
else
{
m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
}
else
{
//----------------------------------------------------------------
// 만약 첫번째, 두번째로 리딩한 해피포인트 및 제휴카드가 있을 경우
// 이전 제휴카드를 치환한다.
//----------------------------------------------------------------
if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC")
{
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
else
{
m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
}
}
#endregion
// 텍스트 박스 클리어 -----
txtInPut.Text = "";
if (pnlPayMainBack.Visible == true)
{
#region '해피포인트' 및 '제휴할인 카드' 화면을 표시한다.
#region 만약 제휴할인 카드 값이 설정되어 있을 경우 제휴할인 카드 화면을 표시한다.
if (m_cPosStatus.Sale.strMobileUnityCardNo != "")
{
// 제휴할인 카드(00292) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2");
}
#endregion
#endregion
}
return;
}
#endregion
}
#endregion
//*****************************************************************************
// (2017.11.10) 바코드 중복 처리
//-----------------------------------------------------------------------------
// - 만약 입력박스에서 1개의 상품을 리딩했는데
// 상품바코드테이블(MST_ITEM_BAR_CD)에 2개 이상의 데이터가 존재할 경우
// 상품선택화면(frmMultiItem)을 표시해서 사용자 1개의 상품을 선택하도록 한다.
//*****************************************************************************
#region 바코드 중복 처리
if (sInPutData != "")
{
//#20181102 상품 터치, 바코드 스캔시 동일 상품인 경우 수량 증가 안되는 증상 수정 start
//기존
#region 기존
DataTable dtDataInfo = m_cDataCommon.SeletItemMstNmToScanCode("0000007", sInPutData);
if (dtDataInfo != null && dtDataInfo.Rows.Count > 1)
{
frmMultiItem fForm = new frmMultiItem(dtDataInfo);
if (DialogResult.OK == fForm.ShowDialog())
{
// 사용자가 선택한 매장코드 설정 -----
string _strStorCD = fForm.strStorCD;
// 사용자가 선택한 상품코드 설정 -----
string _strSelectItemCD = fForm.strSelectItemCD;
//-------------------------
// EtcData=0:수입력 값 설정
//-------------------------
#region EtcData=0:수입력 값 설정
sInPutData = _strStorCD + " " + _strSelectItemCD;
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
//기존
/*
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sInPutData);
*/
//변경
//상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sInPutData);
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
#endregion
}
else { return; }
}
else
{
//-------------------------------------------------
// 만약 중복상품이 아닐경우에는
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
//-------------------------------------------------
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
//기존
//m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
//변경
bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
}
#endregion 기존
//변경
#region 변경
//DataTable dtDataInfo = m_cDataCommon.SeletItemMstNmToScanCode("0000007", sInPutData);
//if (dtDataInfo != null && dtDataInfo.Rows.Count > 1)
//{
// frmMultiItem fForm = new frmMultiItem(dtDataInfo);
// if (DialogResult.OK == fForm.ShowDialog())
// {
// // 사용자가 선택한 매장코드 설정 -----
// string _strStorCD = fForm.strStorCD;
// // 사용자가 선택한 상품코드 설정 -----
// string _strSelectItemCD = fForm.strSelectItemCD;
// //-------------------------
// // EtcData=0:수입력 값 설정
// //-------------------------
// #region EtcData=0:수입력 값 설정
// string sSchData = _strStorCD + " " + _strSelectItemCD;
// if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
// {
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
// {
// ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
// for (int i = 0; i < alTrPluItem.Count; i++)
// {
// Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
// if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
// if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
// if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
// if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
// if (cPluItem.SUB_SHOP_CD != sSchData.Substring(0, 10).Trim() || cPluItem.ITEM_PLU_CD != sSchData.Substring(10)) continue;
// if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
// if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
// if (cPluItem.SALE_QTY >= 99999) continue;
// //#20170825 오픈 상품은 무조건 새 row로 입력 start
// if (cPluItem.OPEN_ITEM_DIV == "1") continue;
// //#20170825 오픈 상품은 무조건 새 row로 입력 end
// // 수량 증가 처리
// bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
// SaleItemGrid.SelectIndexItem(i);
// m_cCustDisp.DisplaySaleItemList(true, true, i);
// txtInPut.Text = "";
// return;
// }
// }
// }
// #endregion
// }
// else { return; }
//}
//else
//{
// if (dtDataInfo != null && dtDataInfo.Rows.Count == 1)
// {
// string sSchData = dtDataInfo.Rows[0]["STOR_CD"].ToString() + " " + dtDataInfo.Rows[0]["ITEM_CD"].ToString();
// if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
// {
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
// {
// ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
// for (int i = 0; i < alTrPluItem.Count; i++)
// {
// Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
// if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
// if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
// if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
// if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
// if (cPluItem.SUB_SHOP_CD != sSchData.Substring(0, 10).Trim() || cPluItem.ITEM_PLU_CD != sSchData.Substring(10)) continue;
// if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
// if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
// if (cPluItem.SALE_QTY >= 99999) continue;
// //#20170825 오픈 상품은 무조건 새 row로 입력 start
// if (cPluItem.OPEN_ITEM_DIV == "1") continue;
// //#20170825 오픈 상품은 무조건 새 row로 입력 end
// // 수량 증가 처리
// bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
// SaleItemGrid.SelectIndexItem(i);
// m_cCustDisp.DisplaySaleItemList(true, true, i);
// txtInPut.Text = "";
// return;
// }
// }
// }
// }
// //-------------------------------------------------
// // 만약 중복상품이 아닐경우에는
// // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
// //-------------------------------------------------
// //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
// //기존
// //m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
// //변경
// bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
// //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
//}
#endregion 변경
//#20181102 상품 터치, 바코드 스캔시 동일 상품인 경우 수량 증가 안되는 증상 수정 end
}
#endregion
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 start
#region 모바일쿠폰 해피기프트카드 자동인식 기능
//결제창에서만 동작 하도록 처리
if (pnlPayMainBack.Visible == true)
{
#region 모바일쿠폰 PREFIX 체크
//모바일쿠폰 prefix 체크
if (sInPutData.Length >= 6 && sInPutData != "")
{
// PreFix 검색
DataTable dtVanInfo = m_cDataCommon.SeletPrefixToPayTypeInfo(sInPutData);
if (dtVanInfo != null && dtVanInfo.Rows.Count > 0)
{
m_cPosStatus.Sale.strMobileCpnNo = sInPutData;
}
}
#endregion 모바일쿠폰 PREFIX 체크
#region 해피기프트 prefix 체크
//해피기프트 prefix 체크
if (sInPutData.Length >= 6 && sInPutData != "")
{
IPaymentUs m_cHappyGiftCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HPGIFTCARD);
string[] aRet = new string[10];
string ret = m_cHappyGiftCard.SearchPayment(new string[] { PosConst.HPGIFTCARD_SEARCH_TYPE.PREFIX, sInPutData }, ref aRet);
if (ret == UserCom.RST_OK)
{
//해피기프트(구)
if (aRet[0].Trim() == "C" && aRet[2] == "98")
{
m_cPosStatus.Sale.strHappyGiftCardNo = sInPutData;
}
//해피기프트(신)
if (aRet[0].Trim() == "N")
{
m_cPosStatus.Sale.strHappyGiftCardNo = sInPutData;
}
}
}
#endregion 해피기프트 prefix 체크
#region 모바일쿠폰인 경우 모바일결제(00073) 화면 표시
//모바일쿠폰인 경우 모바일결제(00073) 화면 표시
if (m_cPosStatus.Sale.strMobileCpnNo != "")
{
PayComFuncion(PosKey.MENU_KEY.MOBILE_COUPON, "3");
}
#endregion 모바일쿠폰인 경우 모바일결제(00073) 화면 표시
#region 해피기프트인 경우 해피기프트(00291) 화면 표시
//해피기프트인 경우 해피기프트(00291) 화면 표시
if (m_cPosStatus.Sale.strHappyGiftCardNo != "")
{
PayComFuncion(PosKey.MENU_KEY.HPGIFTCARD, "3");
}
#endregion 해피기프트인 경우 해피기프트(00291) 화면 표시
}
#endregion
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 end
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
#region 해피오더 주문내역 바코드 리딩 시 자동 완료처리
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT553), "0") == "1")
{
if (pnlPayMainBack.Visible != true)
{
if (bReturn == false)
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0021); // 판매 등록 중에 처리 할수 없는 기능 입니다.
txtInPut.Text = "";
//DisplayInit(true, false);
return;
}
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20180829
if (sInPutData.Length == 15 && sInPutData.StartsWith("999"))
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20180829
{
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "00", "C", sInPutData });
}
}
}
}
#endregion
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
}
}
else
{
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:상품별합산)
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
for (int i = 0; i < alTrPluItem.Count; i++)
{
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
if (cPluItem.SUB_SHOP_CD != m_cPosStatus.Base.SubShopNo || cPluItem.ITEM_BAR_CD != sInPutData) continue;
if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
if (cPluItem.SALE_QTY >= 99999) continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 start
if (cPluItem.OPEN_ITEM_DIV == "1") continue;
//#20170825 오픈 상품은 무조건 새 row로 입력 end
// 수량 증가 처리
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
SaleItemGrid.SelectIndexItem(i);
m_cCustDisp.DisplaySaleItemList(true, true, i);
txtInPut.Text = "";
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
return;
}
}
}
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
}
//-------------end-----------------
}
else
{
// 기능 항목 처리
m_cSaleMainProc.ExecuteSaleMainProcess(sFuncValue, sInPutData, sSelectRow, "");
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 Start
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS) && m_sPluItemCode != string.Empty)
{
// 메뉴 표시
btnMenuMClass_FuncClickHandler(btnMenuMClass, m_sPluItemCode);
m_sPluItemCode = string.Empty;
}
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 End
}
txtInPut.Text = "";
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
tmrSaleTimer.Enabled = true;
}
///
/// 그리드 헤더 거래 취소
///
///
private void SaleItemGrid_GridHeaderClickEvent(object sender)
{
tmrSaleTimer.Enabled = false;
try
{
if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.PAY_WAIT)
{
//if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0261)) == true )
//{
// 기능 항목 처리(지정취소)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.TRADE_STOP, "", "", "");
////// 거래 완료 후 초기화 처리
//DisplayInit(false, true);
////// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
//DisplayItem(0, true);
//}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
tmrSaleTimer.Enabled = true;
}
}
///
/// 그리드 상품 클릭(지정취소)
///
///
private void SaleItemGrid_GridItemClickEvent(object sender, int nCellIndex)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
txtInPut.Text = "";
tmrSaleTimer.Enabled = false;
// 그리드의 현재 선택 행번호
int nSelectRow = SaleItemGrid.SelectedIndex;
string sSelectRow = "";
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
{
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
// No
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
sSelectRow = cGridExRowData.GridItemValue;
}
if (sSelectRow == "") return;
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemSelect(nSelectRow);
if (nCellIndex == 8)
{
if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
&& m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
pnlSubMenu.Visible = false;
pnlSetMenu.Visible = false;
}
// 기능 항목 처리(지정취소)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.CANCEL_ITEM, "", sSelectRow, "");
}
else if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
&& m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
// 상품 아이템
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)]; // 상품 정보
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
{
pnlSubMenu.Visible = false;
pnlSetMenu.Visible = false;
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL) LoadCommonSubMenuDisplay(cPluItem.SUB_SHOP_CD, cPluItem.M_CLSS);
}
else if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.OPT_MENU)
{
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") return;
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) return;
for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--)
{
// 상품 정보
Column.TR_PLU.DATA cPluSubItem = (Column.TR_PLU.DATA)alPluItem[i];
if (cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN) break;
if (cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL)
{
if (cPluSubItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluSubItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) break;
if (cPluSubItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) break;
LoadSubMenuDisplay(cPluSubItem.SUB_SHOP_CD, cPluSubItem.M_CLSS);
break;
}
}
}
else if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL)
{
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") return;
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) return;
if (cPluItem.SET_PLU_SET_GROUP_CODE == "") return;
// 세트메뉴 그룹 상세 로딩
m_cSaleMainProc.m_dtSetMenuDetail = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_SET_GRP.TABLE_NAME_CHANGE, cPluItem.SUB_SHOP_CD, cPluItem.SET_PLU_SET_GROUP_CODE);
LoadSetMenuDisplay(cPluItem.SET_PLU_SET_GROUP_CODE, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0497));
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
tmrSaleTimer.Enabled = false;
}
}
///
/// 판매화면 종료 처리
///
public void SaleMainExit()
{
try
{
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
if (m_cPosStatus.Base.DmbIf == "1" &&
PosMstManager.GetPosOption(POS_OPTION.OPT554) == "1" &&
m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT &&
m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL)
{
// 디지털메뉴보드 I/F
IDataServiceUs cDigitalMenuBoard = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.DMB_IF);
// 판매완료
cDigitalMenuBoard.Execute(new string[] { ItemConst.DT_IRT_ID.SALE_END });
}
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3" &&
PosMstManager.GetPosOption(POS_OPTION.OPT554) == "1" &&
m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT &&
m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL)
{
// 고객화면 상품정보 클리어
m_cCustDisp.ClearSaleItemList();
}
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
tmrSaleTimer.Enabled = false;
this.DialogResult = DialogResult.Cancel;
this.Close();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region 상단 기타 업무 및 WEB 기능 호출
///
/// 상단 기타 업무 및 WEB 기능 호출
///
///
///
private void lblEtc_Click(object sender, EventArgs e)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
if ((UI.CsmLabel)sender == lblEtc)
{
//ETC 메뉴
//WinSale.ExecuteBinessRun(PosKey.MENU_KEY.TOP_MENU_ETC);
if (pnlMenuSlide.Visible != true)
{
m_SlideMenuKey = "";
m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_ETC;
pnlMenuSlide.Visible = true;
MenuSlideList();
SlideInitControl();
pnlMenuSlide.BringToFront();
}
else
{
pnlMenuSlide.Visible = false;
}
}
else
{
//WEB 메뉴
//WinSale.ExecuteBinessRun(PosKey.MENU_KEY.TOP_MENU_WEB);
if (pnlMenuSlide.Visible != true)
{
m_SlideMenuKey = "";
m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_WEB;
pnlMenuSlide.Visible = true;
MenuSlideList();
SlideInitControl();
pnlMenuSlide.BringToFront();
}
else
{
pnlMenuSlide.Visible = false;
}
}
txtInPut.Text = "";
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 웹 호출
///
///
///
private void picWeb_Click(object sender, EventArgs e)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
if (pnlMenuSlide.Visible != true)
{
m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_WEB;
pnlMenuSlide.Visible = true;
MenuSlideList();
SlideInitControl();
pnlMenuSlide.BringToFront();
}
else
{
pnlMenuSlide.Visible = false;
}
txtInPut.Text = "";
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 점주/알바 모드 클릭
///
///
///
private void btnAdmin_Click(object sender, EventArgs e)
{
try
{
SetOwnPartDiv(true);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 점주/알바 모드 셋팅
///
///
private void SetOwnPartDiv(bool bOwnPartDivChange)
{
try
{
if (bOwnPartDivChange == true)
{
if (m_cPosStatus.Base.OwnPartDiv == PosConst.OWN_PART_DIV.PART_DIV)
{
m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.OWN_DIV;
}
else
{
m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.PART_DIV;
}
//전송데이터 저장
m_cDataCommon.SaveServerRequestTransactionData(PosConst.RE_TRANSACTIONDATA.OWNER_MODE, new string[] { m_cPosStatus.Base.OwnPartDiv });
}
if (m_cPosStatus.Base.OwnPartDiv == PosConst.OWN_PART_DIV.PART_DIV)
{
btnAdmin.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0033);
}
else
{
m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.OWN_DIV;
btnAdmin.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0034);
}
////전송데이터 저장
//m_cDataCommon.SaveServerRequestTransactionData(PosConst.RE_TRANSACTIONDATA.OWNER_MODE, new string[] { m_cPosStatus.Base.OwnPartDiv });
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region 판매화면 타이머
///
///
///
///
///
private void tmrSaleTimer_Tick(object sender, EventArgs e)
{
try
{
tmrSaleTimer.Enabled = false;
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
{
if (Form.ActiveForm == this)
{
// Add, 2017.02.15, 영수증프린터로 주방 주문서/메시지 출력 처리
//m_cSaleMainProc.KtchOrderSheetToBillPrint();
// 화면보호기 처리
if (m_cCustDisp.ScreenSaverDisplay() == true)
{
//스크린세이버 기능(0: 사용안함. 1:사용함, 2:사용함(LOGOFF))
if (PosMstManager.GetPosOption(POS_OPTION.OPT013) == "2")
{
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.SIMPLE_LOG_ON });
if (sRet == UserCom.RST_ERR)
{
m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMQUIT;
SaleMainExit();
return;
}
lblCashier.Text = m_cPosStatus.Base.CashierName;
}
}
SetOwnPartDiv(false);
if (m_sMstBatchDownDate != m_cPosStatus.Base.MstBatchDownDate)
{
// 캠페인 마스터 로딩
m_sMstBatchDownDate = m_cPosStatus.Base.MstBatchDownDate;
m_cCampaingMain.LoadCampaignCondition(new string[] { });
}
SelectBrPopUp(); // BR 팝업 업무 조회
//긴급공지 체크(10초마다)
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 10 == 0)
{
GetTopMsgMode("1");
if (m_cPosStatus.Sale.SysShutDown != "") return;
}
// 해피오더 주문접수 알람
//#20170913 해피오더 알림 팝업 여부 옵션 처리 start
//기존
//if (m_cPosStatus.Sale.HappyOrderAlarm == true)
//변경
if ((m_cPosStatus.Sale.HappyOrderAlarm == true) && (PosMstManager.GetPosOption(POS_OPTION.OPT510) == "1"))
//#20170913 해피오더 알림 팝업 여부 옵션 처리 end
{
// 상품등록 대기 일 때만 해피오더 주문접수 알림창 강제 POP-UP
m_cPosStatus.Sale.HappyOrderAlarm = false;
//#20180615 해피오더 팝업 수정 start
//기존
//WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_POPUP, "ALARM" });
//변경
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" });
//#20180615 해피오더 팝업 수정 end
}
//기타 공지 1분마다
if (DateTime.Now.ToString("ss") == "00")
{
SelectEtcNoticeCom();
//if (m_cPosStatus.Sale.SysShutDown != "") return;
}
//#20180605 해피오더 개선 start
//즉시주문, 예약주문 알림
if (PosMstManager.GetPosOption(POS_OPTION.OPT510) == "1")
{
// 즉시주문 30초 마다 표시
//#20180605 해피오더 개선 start - 20180618
//기존
//if (m_nTimeSync_HpOrd_Direct >= 30)
//변경
if (m_nTimeSync_HpOrd_Direct >= 30 || m_cPosStatus.Sale.bPayCompleteYN == true)
//#20180605 해피오더 개선 end - 20180618
{
// Count 초기화
m_nTimeSync_HpOrd_Direct = 0;
//#20180605 해피오더 개선 start - 20180618
m_cPosStatus.Sale.bPayCompleteYN = false;
//#20180605 해피오더 개선 end - 20180618
//주문접수 건이 1건 이상인 경우
int DirectCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDirectCnt, "0")) +
int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservCnt, "0"));
//DirectCnt = 10; //TEST DELETE
if (DirectCnt >= 1)
{
//해피오더 리스트 팝업(Y:당일픽업, A:즉시주문, B:예약주문)
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "A" });
//해피오더 리스트 팝업 종료 후 해피오더 주문건수 재조회 후 건수 갱신
m_cSvr2Tran.HappyOrderCntChk();
}
}
else
{
m_nTimeSync_HpOrd_Direct++;
}
// 예약주문 30분 마다 표시
if (m_nTimeSync_HpOrd_Reserv >= 60 * 30)
{
// Count 초기화
m_nTimeSync_HpOrd_Reserv = 0;
//주문접수 건이 1건 이상인 경우
int ReservCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0")) -
int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDirectCnt, "0")) -
int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservCnt, "0"));
if (ReservCnt >= 1)
{
//해피오더 리스트 팝업(Y:당일픽업, A:즉시주문, B:예약주문)
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "B" });
//해피오더 리스트 팝업 종료 후 해피오더 주문건수 재조회 후 건수 갱신
m_cSvr2Tran.HappyOrderCntChk();
}
}
else
{
m_nTimeSync_HpOrd_Reserv++;
}
}
//#20180605 해피오더 개선 end
}
}
// 서버 시간 동기화 05분 마다(2017.07.12)
if (DateTime.Now.ToString("ss") == "00")
{
m_nTimeSyncFlag++;
if (m_nTimeSyncFlag == 5)
{
string sRet = m_cSvr2Tran.ServerSysDateTime();
m_cPosStatus.Base.OlePosNetworkStatus = sRet;
m_nTimeSyncFlag = 0;
}
}
// 시간 표시
//lblDateTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
lblCashier.Text = m_cPosStatus.Base.CashierName;
lblTranNo.Text = m_cPosStatus.Base.TradeNo;
// 해피오더 주문알림 처리
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
{
//// 해피오더 신규주문
//int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderRegCnt, "0"));
//// 해피오더 배달미처리
//int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0"))
// + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0"))
// + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0"));
//lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), iCnt01, iCnt02);
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
{
// 해피오더 신규주문(일반주문건수 + 배달주문건수 + 예약주문건수)
int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0"));
if (iCnt01 > 99) iCnt01 = 99;
// 해피오더 픽업미처리
int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderProductReadyCnt, "0")) + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderPickupWaitCnt, "0"));
if (iCnt02 > 99) iCnt02 = 99;
// 해피오더 배달미처리
//#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 start
//기존
/*
int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0"))
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0"))
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0"));
*/
//변경
int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0"))
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0"))
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 start
//기존
//+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0"))
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 end
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 start
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryProductReadyCnt, "0"))
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 end
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryDirectCnt, "0"));
//#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 end
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), iCnt01, iCnt02, iCnt03);
}
else
{
// 해피오더 일반
int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderRegCnt, "0"));
if (iCnt01 > 99) iCnt01 = 99;
// 해피오더 배달
int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryOrderRegCnt, "0"));
if (iCnt02 > 99) iCnt02 = 99;
// 해피오더 예약
int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservedRegCnt, "0"));
if (iCnt03 > 99) iCnt03 = 99;
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1009), iCnt01, iCnt02, iCnt03);
}
}
// 빚은몰 주문알림 처리
if (PosMstManager.GetPosOption(POS_OPTION.OPT036) == "1")
{
lblIFStatus2.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0464), CmUtil.IntParse(m_cPosStatus.Sale.BizeunOrderCnt));
}
// 이지웰 주문알림 처리
if (PosMstManager.GetPosOption(POS_OPTION.OPT037) == "1")
{
lblIFStatus3.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0465), CmUtil.IntParse(m_cPosStatus.Sale.EzwelOrderCnt));
}
// 온도정보 갱신
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT039), "0") == "1")
{
#region 온도정보 색상
// 우선 순위 : 미수신 > 알람 > 경고
//- 녹색(정상) : 알람-N, 경고-N, 미수신-N
//- 회색(미수신) : 미수신-Y 미수신이 Y이면 알람, 경고는 체크 하지 않음
//- 적색(알람) : 미수신-N, 알람-Y 알람이 Y이면 경고는 체크 하지 않음
//- 황색(경고) : 미수신-N, 알람-N, 경고-Y
// [센서ID|온도계명|측정온도|알람YN|경고YN|미수신YN|최종수신시간]
lblTemperature01.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature1, "-");
lblTemperature02.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature2, "-");
lblTemperature03.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature3, "-");
// 첫번째 온도 정보
if (m_cPosStatus.Temp.Alarm1 == "N" && m_cPosStatus.Temp.Warning1 == "N" && m_cPosStatus.Temp.receiveYN1 == "N")
{
// 녹색
lblTemperature01.BackColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN1 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature1) == true)
{
// 회색
lblTemperature01.BackColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN1 == "N")
{
if (m_cPosStatus.Temp.Alarm1 == "Y")
{
// 레드
lblTemperature01.BackColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm1 == "N")
{
// 황색
lblTemperature01.BackColor = Color.DarkOrange;
}
}
}
// 두번째 온도 정보
if (m_cPosStatus.Temp.Alarm2 == "N" && m_cPosStatus.Temp.Warning2 == "N" && m_cPosStatus.Temp.receiveYN2 == "N")
{
// 녹색
lblTemperature02.BackColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN2 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature2) == true)
{
// 회색
lblTemperature02.BackColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN2 == "N")
{
if (m_cPosStatus.Temp.Alarm2 == "Y")
{
// 레드
lblTemperature02.BackColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm2 == "N")
{
// 황색
lblTemperature02.BackColor = Color.DarkOrange;
}
}
}
// 세번째 온도 정보
if (m_cPosStatus.Temp.Alarm3 == "N" && m_cPosStatus.Temp.Warning3 == "N" && m_cPosStatus.Temp.receiveYN3 == "N")
{
// 녹색
lblTemperature03.BackColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN3 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature3) == true)
{
// 회색
lblTemperature03.BackColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN3 == "N")
{
if (m_cPosStatus.Temp.Alarm3 == "Y")
{
// 레드
lblTemperature03.BackColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm3 == "N")
{
// 황색
lblTemperature03.BackColor = Color.DarkOrange;
}
}
}
#endregion 온도정보 색상
}
//기념일 배송
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0")
{
if (lblAnniv.Tag.ToString().Equals("1"))
{
if (lblAnniv.BackColor == Color.FromArgb(34, 34, 34))
{
lblAnniv.BackColor = Color.Red;
}
else
{
lblAnniv.BackColor = Color.FromArgb(34, 34, 34);
}
}
}
// 주변장치 상태 표시
lblDeviceState.ForeColor = m_cDataCommon.GS_DeviceStatus();
//if (DateTime.Now.ToString("ss") == "10")
//{
//네트워크 온오프 체크
OnLinecheck();
//}
//if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
// SelectBrPopUp();
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
if (m_cPosStatus.Sale.SysShutDown == "") tmrSaleTimer.Enabled = true;
}
}
#endregion
#region SelectBrPopUp(BR팝업 업무 조회)
///
/// BR팝업 업무 조회
///
private void SelectBrPopUp()
{
DataTable dt = null;
try
{
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR)
{
dt = m_cDataCommon.GetBrPopUpBizMst();
if (dt == null || dt.Rows.Count == 0)
{
//처리 없음!
}
else
{
foreach (DataRow dr in dt.Rows)
{
string sRet = "";
if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0016))
{
//BR) 품질관리 집중시간
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.CONFIRM, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "T", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0128) });
}
else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0015))
{
//TO-BE 처리 없음!
}
else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0018))
{
//DD) 재고율정보 알림
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.QUESTION, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "F", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0131) });
if (sRet == UserCom.RST_OK)
{
WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_LINK, PosKey.MENU_KEY.PRODUCE_REG });
}
}
else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0019))
{
//DD) 주말 행사정보 팝업
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.QUESTION, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "F", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0392) });
if (sRet != UserCom.RST_OK)
{
//주말 행사 정보 추후 WEB POS 확정되면 처리해야함!
//WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_LINK, "" });
}
}
m_cDataCommon.BrPopupUpdate(dr);
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region 디바이스 처리
///
/// DeviceEvent 관련
///
///
///
///
///
public void OnDeviceEvent(string sDevice, string sData1, string sData2, string sData3)
{
try
{
switch (sDevice)
{
case PosConst.OPOS_DEVICE.SCANNER:
this.Invoke(new EventHandler(OnScannerEvent));
break;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 스캐너 이벤트 처리
///
///
///
private void OnScannerEvent(object source, EventArgs e)
{
try
{
string sScanCode = m_cDevStatus.Scanner.DataLabel;
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.SCANNER + sScanCode);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region 긴급 공지사항 처리
///
/// 긴급공지 처리 프로세스
///
private void EmgNoticeProcess()
{
DataTable dt = null;
try
{
// 긴급 공지 설정
if (lblTopMsgMode.MpStatus() == false)
{
//내역 조회
dt = (DataTable)m_cPosNoticeCom.GetData(new string[] { PosMst.MST_EMG_NOTE.TABLE_NAME, ItemConst.NOTE_MSG_DIV.ROL, "", "" });
if (dt == null || dt.Rows.Count == 0)
{
//처리 없음!
}
else
{
foreach (DataRow dr in dt.Rows)
{
//변수 담기
Cosmos.UI.CsmPosMovePanel.MovePanelInfo cMoveInfo = new Cosmos.UI.CsmPosMovePanel.MovePanelInfo();
cMoveInfo.BackColor = Color.Red;
cMoveInfo.ForeColor = Color.Yellow;
cMoveInfo.MoveKind = "1"; //0:좌->우, 1:우->좌, 4:깜박임
cMoveInfo.MoveText = CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS).Replace("\n", "");
cMoveInfo.ResvCode = string.Format("{0}^{1}^{2}^{3}", CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_TYPE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.POS_EXEC_TYPE));
lblTopMsgMode.MpAdd(cMoveInfo);
if (CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.READ_YN) == "0")
{
//DB 업데이트
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
}
}
lblTopMsgMode.MpIntervalMove(5); //타이머 시간 설정: 최초 디폴트 10
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
FormManager.SetControlSize(lblTopMsgMode, 95, 0, 705, 50, 21);
else
FormManager.SetControlSize(lblTopMsgMode, 125, 0, 898, 50, 21);
//시작
lblTopMsgMode.Visible = true;
lblTopMsgMode.MpStart();
}
}
//팝업 공지 체크
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
{
dt = (DataTable)m_cPosNoticeCom.GetData(new string[] { PosMst.MST_EMG_NOTE.TABLE_NAME, ItemConst.NOTE_MSG_DIV.POP, "", "" });
if (dt == null || dt.Rows.Count == 0)
{
//처리 없음!
}
else
{
foreach (DataRow dr in dt.Rows)
{
string sRet = "";
//즉시 적용 체크
string sMsgType = CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_TYPE);
if (sMsgType == "1") //1:마스터, 2:프로그램
{
//프로그램 이면 다운로드 완료 확인!
if (CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.DOWN_YN) == "1") //다운로드 완료 확인
{
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) });
if (sRet == UserCom.RST_OK)
{
//2.읽은 DB UPDATE
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
// 재기동!
m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART;
SaleMainExit();
break;
}
else
{
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.SHOW);
}
}
}
else
{
// 경과 시간 체크!
if (CmUtil.LongParse(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.FNSH_HOUR)) >= CmUtil.LongParse(DateTime.Now.ToString("yyyyMMddHHmmss")))
{
////마스터면....
//if (sMsgType == "1")
//{
// sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) });
// if (sRet == UserCom.RST_OK)
// {
// //2.읽은 DB UPDATE
// UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
// // 재기동!
// m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART;
// SaleMainExit();
// break;
// }
// else
// {
// UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.SHOW);
// }
//}
//else
//{
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.CONFIRM, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) });
//1-2.즉시 적용 않일때
//WinManager.ConfirmMessage(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS).Replace("\n", ""));
//2.읽은 DB UPDATE
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
//}
}
}
}
}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 공지사항 업데이트
///
///
///
private void UpdateNotice(string sStartDt, string sMsgCd, string sMsgDiv, string sReadFlag)
{
try
{
string sRet = m_cPosNoticeCom.Execute(new string[] { sStartDt, sMsgCd, sMsgDiv, sReadFlag });
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 클릭 이벤트
///
///
///
private void lblTopMsgMode_MpClickHandler(object sender, string sCode)
{
try
{
//현업 요청으로 클릭하면 안보이기!
if (m_cPosStatus.Base.TrainingFlag != "1" && lblTopMsgMode.Visible == true)
{
//연습모드가 아니고
lblTopMsgMode.Visible = false;
//lblTopMsgMode.MpStop();
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 클릭이벤트
///
///
///
private void lblTopMsgMode_Click(object sender, EventArgs e)
{
lblTopMsgMode_MpClickHandler(null, null);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
#endregion 긴급 공지사항 처리
///
/// 판매,결제 모드 변경
///
/// true:판매모드, false:결제모드
///
/// 결제모드 전환 시 lstPaymentsList.Visiable = false 처리 하여
/// 화면잔상을 제거, 결제 추가 시 lstPaymentsList.Visiable = ture 처리 한다.
///
public void ChangeSalePayMode(bool bSaleMode)
{
try
{
if (bSaleMode == true)
{
// 결제화면 숨기기
pnlCardMot.Visible = false;
pnlPayMainBack.Visible = false;
//pnlPayMainBack.Top = 770;
}
else
{
if (pnlAllianceCard.Visible == true) pnlAllianceCard.Visible = false;
//System.Threading.Thread.Sleep(100);
// 결제화면 화면 표시
pnlCardMot.Visible = false;
pnlPayMainBack.Visible = false;
pnlPayMainBack.Top = 50;
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false) //상품권,선불카드 판매시 비활성화 안함!
{
pnlSetMenu.Visible = false;
}
pnlSubMenu.Visible = false;
pnlFlavour.Visible = false;
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
//기존
//lstPaymentList.Visible = false;
//변경
lstPaymentList.Visible = true;
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
cFuncPnts.SelectFuncButton("");
cFuncDcs.SelectFuncButton("");
cFuncPays.SelectFuncButton("");
//기타 기능
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_1);
//TTS 결제 금액 사용 유무
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT309), "1") == "1")
{
CmUtil.SpeakByTTSEngine(m_cPosStatus.Base.Country, string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0239), m_cTrnStatus.Sale.NetSaleAmt), 150);
}
//*** MoonSeokWoo 2017.11.20 Edit
else if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT309), "1") == "2")
{
SetPlayMotMsg(PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, "");
}
//*** MoonSeokWoo 2017.11.20 End
DisplayPayment();
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, "");
//lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
DisplayItem(1, false);
pnlPayMainBack.Visible = true;
pnlPayMainBack.BringToFront();
pnlCardMot.Visible = true;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
public void ChangeShowPayBtn(bool bShowPayBtn)
{
try
{
// 결제화면 (이전 및 결제취소 버튼 숨기기기 처리)
if (bShowPayBtn == false)
{
BtnPayMain.ForeColor = BtnPayMain.BackColor;
BtnPayCanc.ForeColor = BtnPayCanc.BackColor;
}
else
{
BtnPayMain.ForeColor = Color.White;
BtnPayCanc.ForeColor = Color.White;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 결제 등록 리스트 초기화
///
private void PayListInit()
{
try
{
lstPaymentList.Columns.Clear();
lstPaymentList.Columns.Add("PAY_NO", 0, HorizontalAlignment.Left);
lstPaymentList.Columns.Add("PAY_NM", 160, HorizontalAlignment.Left);
lstPaymentList.Columns.Add("PAY_AMT", 110, HorizontalAlignment.Right);
lstPaymentList.FullRowSelect = true;
lstPaymentList.Scrollable = true;
// 캠페인 등록 리스트 표시
lstCampaignList.Columns.Clear();
lstCampaignList.Columns.Add("CAMPAIGN_NO", 0, HorizontalAlignment.Left);
lstCampaignList.Columns.Add("CAMPAIGN_NM", 177, HorizontalAlignment.Left);
lstCampaignList.FullRowSelect = true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
/////
///// TTS 음성 호출
/////
//private void TheradTTS()
//{
// Thread t = new Thread(new ThreadStart(TTSForPayAmt));
// t.Start();
//}
/////
///// 결제 금액 TTS 처리
/////
//private void TTSForPayAmt()
//{
// try
// {
// string stmp = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0239), m_cTrnStatus.Sale.NetSaleAmt);
// CmUtil.SpeakByTTSEngine(PosConst.TTS_VOICE_NAME.VOICE_ko_KR, stmp, 150);
// }
// catch (Exception ex)
// {
// UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
//}
///
/// 포인트 카드 기능키
///
///
///
private void cFuncPnts_FuncClickHandler(object sender, string sFuncCode)
{
try
{
//if (m_cPosStatus.Sale.DutchPayFlg == "2")
//{
// WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0286));
// return;
//}
//cFuncPnts.SelectFuncButton(sFuncCode);
//LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_1);
PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_1);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 제휴 할인 기능키
///
///
///
private void cFuncDcs_FuncClickHandler(object sender, string sFuncCode)
{
try
{
//if (m_cPosStatus.Sale.DutchPayFlg == "2")
//{
// WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0286));
// return;
//}
//cFuncDcs.SelectFuncButton(sFuncCode);
//LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_2);
PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_2);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 결제 기능키
///
///
///
private void cFuncPays_FuncClickHandler(object sender, string sFuncCode)
{
try
{
// -------------------------------------------------------------------------------------------
// 세브란스 직원식 상품 체크
// -------------------------------------------------------------------------------------------
string sRet = UserCom.RST_ERR;
sRet = m_cSaleMainProc.SeveranceiTemCheck(sFuncCode);
if (sRet != UserCom.RST_OK) return;
// -------------------------------------------------------------------------------------------
//cFuncPays.SelectFuncButton(sFuncCode);
//LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_3);
PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_3);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 결제 MOT 버튼 클릭
///
///
///
private void BtnMotPay_Click(object sender, EventArgs e)
{
try
{
if (((UI.CsmButton)sender).Text == "") return;
//결제화면 전환시 부모 패널 Visible 가 false 이기 때문에 1개인 경우 자동 클릭이 안되서 null 체크함!
if (BtnMotPay02.Visible == false && e != null)
{
SetBtnMotPay();
}
else
{
if (((UI.CsmButton)sender) == BtnMotPayUp)
{
if (iNowPage == 1) return;
iNowPage -= 1;
SetBtnMotPay();
}
else if (((UI.CsmButton)sender) == BtnMotPayDown)
{
if (iNowPage == iMaxPage) return;
iNowPage += 1;
SetBtnMotPay();
}
else
{
string sTmp;
BtnMotPay01.Text = ((UI.CsmButton)sender).Text;
BtnMotPay01.Tag = ((UI.CsmButton)sender).Tag;
sTmp = BtnMotPay01.Tag.ToString();
string[] aParam = sTmp.Split(new string[] { "^" }, StringSplitOptions.None);
string sCnntId = aParam[0];
string sMsgFlg = aParam[1];
string sSeqNo = aParam[2];
string sImgPath = aParam[3];
picMotPayImg.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, sImgPath.Trim());
SetRichTbMotMsg(rtbMotPayTxt, sCnntId, sMsgFlg, sSeqNo);
BtnMotPay02.Visible = false;
BtnMotPay03.Visible = false;
BtnMotPay04.Visible = false;
BtnMotPay05.Visible = false;
BtnMotPayUp.Enabled = true;
BtnMotPayDown.Enabled = true;
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 리치텍스트 박스 포커스 방지
///
///
///
private void rtbMotDtl_Enter(object sender, EventArgs e)
{
try
{
if (sender is UI.CsmPosRichTextBox) DisplayInit(true, false);
this.txtInPut.Focus();
}
catch { }
}
///
/// 종료키
///
///
///
private void cBtnMain_Click(object sender, EventArgs e)
{
try
{
if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1")
|| (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING))
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 결제 완료 처리
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BtnPayMain.Text = "";
BtnPayCanc.ForeColor = BtnPayCanc.BackColor;
// 거래 완료 처리
m_cSaleMainProc.ExecuteSaleComplete();
// 판매대기 == 결제 완료 ==> 판매화면 판매대기 상태로 전환
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
{
ChangeSalePayMode(true);
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045);
BtnPayMain.BackColor = Color.FromArgb(74, 97, 118);
}
else
{
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0135);
}
BtnPayCanc.ForeColor = Color.White;
}
else
{
//1.포인트 조회 체크
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
{
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE))
{
//해피 포인트가 조회되어 있어 판매등록으로 갈 수 없습니다. 등록된 해피포인트를 취소하세요.
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0275));
return;
}
}
//결제 수단 등록 체크 --> 추후엔 취소 처리까지 고려~
//2.결제 체크
ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
foreach (Column.TR_PAYMENT.DATA cPayItem in alPayItem)
{
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.UNDECIDED.RESERVATION_COMPLETE)
{
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.NORMAL && !(cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.RESERVATION_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.RESERVATION.RESERVATION_PAY))
{
//결제가 등록되어 있어 판매등록으로 갈 수 없습니다. 등록된 결제를 취소 하세요.
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0276));
return;
}
}
else
{
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.NORMAL)
{
//결제가 등록되어 있어 판매등록으로 갈 수 없습니다. 등록된 결제를 취소 하세요.
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0276));
return;
}
}
}
bool bReservationCancel = false;
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.UNDECIDED.RESERVATION_COMPLETE)
{
if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0641)) == false)
{
return;
}
else
{
bReservationCancel = true;
}
}
// 판매모드 변경
//m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
if (m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY)
{
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.PAY_WAIT;
}
else
{
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
}
// 사은품 캠페인 취소 처리
ICampaignUs cCampaignMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
cCampaignMain.CancelCampaignPayment("", PosConst.SALE_PLU_INPUT_TYPE.FREEGIFT); //사은품 캠페인 등록 취소
cCampaignMain.ExecuteCampaignPluHappyPoint("", false, "", "", "", ""); // 상품 캠페인 계산
if (m_cPosStatus.Sale.DutchPayFlg == "1")
{
//더치 페이 상품이면 아이템 원복!
ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
for (int iRow = 0; iRow < aSaleItem.Count; iRow++)
{
Column.TR_PLU.DATA cSaleItem = (Column.TR_PLU.DATA)aSaleItem[iRow];
if (cSaleItem.DUTCH_PAY_CAN_DIV == "0" || cSaleItem.DUTCH_PAY_MAIN_CAN_DIV == "0")
{
cSaleItem.CANCEL_DIV = cSaleItem.DUTCH_PAY_CAN_DIV;
cSaleItem.CANCEL_DIV_MAIN = cSaleItem.DUTCH_PAY_MAIN_CAN_DIV;
cSaleItem.DUTCH_PAY_CAN_DIV = "";
cSaleItem.DUTCH_PAY_MAIN_CAN_DIV = "";
cSaleItem.SALE_QTY = cSaleItem.DUTCH_PAY_TOTQTY;
cSaleItem.DUTCH_PAY_TOTQTY = 0;
}
}
m_cPluService.ItemAmountExeccute(true, true);
DisplayInit(true, true);
}
if (bReservationCancel == true)
{
m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.LOG.STOP;
// 보류 후 거래 중지라면 로그 남기기!
if (m_cTrnStatus.Head.HoldStat != "")
m_cTrnStatus.Head.HoldStat = ItemConst.HOLD_STAT_CD.CANCEL;
// 테이블 거래 완료 처리
string sRet = m_cTableSvr.CompleteSaleOrder();
ISaleCompleteUs m_cSaleComplete = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE);
// 거래 완료 처리
sRet = m_cSaleComplete.PosSaleExecute(new string[] { });
if (sRet != UserCom.RST_OK) return;
// 판매상태 변경
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
//// 거래 완료 후 초기화 처리
DisplayInit(true, true);
//// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
DisplayItem(0, true);
ChangeSalePayMode(true);
if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT)
{
SaleMainExit();
return;
}
}
else
{
// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
DisplayItem(1, false);
ChangeSalePayMode(true);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 메인(상품등록 화면 이동)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (m_cPosStatus.Sale.PayingDutchFlag == "1")
{
m_cSaleMainProc.DutchPay("", "1");
//WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0284));
//return;
}
else
{
//더치페이 관련 함수들 초기화!
m_cPosStatus.Sale.DutchPayFlg = "";
m_cTrnStatus.Head.AmtDutchPayYn = "";
m_cPosStatus.Sale.PayingDutchFlag = "";
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void lblStep1_Click(object sender, EventArgs e)
{
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_1);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
private void lblStep2_Click(object sender, EventArgs e)
{
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_2);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
private void lblStep3_Click(object sender, EventArgs e)
{
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_3);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
#region 기능키 컨트롤 초기화 및 기능키 마스터 로딩
///
/// 기능키 컨트롤 초기화 및 기능키 마스터 로딩
///
/// 성공/실패
public bool LoadFuncMasterPayment()
{
try
{
int iPntCnt = 0;
int iDcCnt = 0;
int iPayCnt = 0;
cFuncPnts.VisibleUpDown = false;
cFuncPnts.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
cFuncDcs.VisibleUpDown = false;
cFuncDcs.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
cFuncPays.VisibleUpDown = false;
cFuncPays.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
// 선택 컬러 지정!
Color clrTheme = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
cFuncPnts.SelectedBackColor = clrTheme;
cFuncPnts.SelectedForeColor = Color.WhiteSmoke;
cFuncPnts.BackColor = Color.FromArgb(159, 159, 159);
cFuncPnts.BorderColor = Color.FromArgb(159, 159, 159);
cFuncPnts.BorderLineSize = 1;
cFuncDcs.SelectedBackColor = clrTheme;
cFuncDcs.SelectedForeColor = Color.WhiteSmoke;
cFuncDcs.BackColor = Color.FromArgb(159, 159, 159);
cFuncDcs.BorderColor = Color.FromArgb(159, 159, 159);
cFuncDcs.BorderLineSize = 1;
cFuncPays.SelectedBackColor = clrTheme;
cFuncPays.SelectedForeColor = Color.WhiteSmoke;
cFuncPays.BackColor = Color.FromArgb(159, 159, 159);
cFuncPays.BorderColor = Color.FromArgb(159, 159, 159);
cFuncPays.BorderLineSize = 1;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 판매기본 기능키 로딩
DataTable dtFuncKey = m_cDataCommon.SeletFuncKeyGroup("");
#region 해피포인트 및 제휴카드 선리딩 처리 가능 여부 확인을 위한 전역테이블 변수에 저장한다.
gdtFuncKey = dtFuncKey;
#endregion
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 기능키 그룹 마스터가 없습니다
return false;
}
foreach (DataRow dr in dtFuncKey.Rows)
{
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_GRP_ID); // 분류코드
cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번
cFuncInfo.sFuncCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능코드
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM).Replace("\n", PosConst.CRLF).Replace("\\n", PosConst.CRLF); // 기능 명
cFuncInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR)); // 백 컬러
cFuncInfo.cForeColor = Color.Black; //Color.White; // 명 컬러
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
cFuncInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_SIZE); // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_POINT_MENU)
{
cFuncInfo.nSeqNo = iPntCnt + 1;
cFuncPnts.AddFuncButtonInfo(cFuncInfo);
iPntCnt += 1;
iPntCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0);
}
else if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_DC_MENU)
{
cFuncInfo.nSeqNo = iDcCnt + 1;
cFuncDcs.AddFuncButtonInfo(cFuncInfo);
iDcCnt += 1;
iDcCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0);
}
else if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_PAY_MENU)
{
cFuncInfo.nSeqNo = iPayCnt + 1;
cFuncPays.AddFuncButtonInfo(cFuncInfo);
iPayCnt += 1;
iPayCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0);
}
}
// 포인트
cFuncPnts.SetFuncButtonCount(1, iPntCnt); // 버튼갯수 설정
cFuncPnts.DisplayFuncButton(PosKey.MENU_KEY.PAY_POINT_MENU); // 기능 버튼 표시
// 할인
cFuncDcs.SetFuncButtonCount(1, iDcCnt); // 버튼갯수 설정
cFuncDcs.DisplayFuncButton(PosKey.MENU_KEY.PAY_DC_MENU); // 기능 버튼 표시
// 결제
cFuncPays.SetFuncButtonCount(1, iPayCnt); // 버튼갯수 설정
cFuncPays.DisplayFuncButton(PosKey.MENU_KEY.PAY_PAY_MENU); // 기능 버튼 표시
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
#endregion 기능키 컨트롤 초기화 및 기능키 마스터 로딩
///
/// 결제 바로가기 처리
///
///
///
private void PayComFuncion(string sFuncCode, string sStep)
{
try
{
if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1") ||
(m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING))
{
//#20171227 인천공항 포스연동 start, phj - #20180313
//0원 상품등록 하고 결제완료 시점에 대기번호 화면 오픈 -> 인천공항포스에서 일괄취소 -> 자사포스 기능키 또는 결제완료 버튼 누를 때
//대기번호화면을 닫으면 모드가 PosConst.SALE_FLOW.PAY_DOING 변경되어 아래 팝업이 뜨므로
//인천공항 포스로 상품,결제 재전송 할 수 없기 때문없다.
//인천공항 기능키 누를 때는 팝업 뜨지 않도록 수정!
//기존
//WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0569);
//return;
//변경
if (sFuncCode != PosKey.MENU_KEY.INCHEON_AIRPORT)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0569);
return;
}
//#20171227 인천공항 포스연동 end, phj - #20180313
}
BtnPayMain.ForeColor = BtnPayMain.BackColor;
BtnPayCanc.ForeColor = BtnPayCanc.BackColor;
tmrSaleTimer.Enabled = false;
//키유효성 체크
if (m_cDataCommon.FunctionKeyValidity(sFuncCode) == false)
{
WinManager.ConfirmMessage("(" + sFuncCode + ") " + MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0054));
return;
}
m_cPosStatus.Sale.SaleMainPayStep = sStep;
//#15606 제휴서비스 결제 프로세스 개선 start
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
//기존
//SetPaySetpDisp(sStep);
//변경
SetPaySetpDisp(sStep, sFuncCode);
//#15606 제휴서비스 결제 프로세스 개선 end
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, sFuncCode, "");
//this.rtbMotMain.Visible = false;
m_cSaleMainProc.PayMainProc(sFuncCode, "");
//this.rtbMotMain.Visible = true;
//#15606 제휴서비스 결제 프로세스 개선 start
//선택된 STEP MOT 표시
SetPaySetpDisp(sStep);
//#15606 제휴서비스 결제 프로세스 개선 end
//#20170828 해피포인트 적립 제외 버튼 추가 phj, start
//if (m_cTrnStatus.Head.HP_EXCLUDE_YN == "1") cFuncPnts.SelectDispButton(PosKey.MENU_KEY.HAPPY_SAVE_EXCLUDE, 0);
//#20170828 해피포인트 적립 제외 버튼 추가 phj, end
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, "");
//판매대기 == 결제 완료 ==> 판매화면 상품등록 대기 상태로 전환
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) ChangeSalePayMode(true);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
BtnPayMain.ForeColor = Color.White;
BtnPayCanc.ForeColor = Color.White;
tmrSaleTimer.Enabled = true;
CmUtil.IgnoreMouseClick(this); // 마우스 클릭 무시
}
}
///
/// 상단 MOT 호출 처리
///
///
public void SetTopMot(string sFuncCode)
{
try
{
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, sFuncCode, "");
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 결제 스텝별 색상 변경
///
///
//#15606 제휴서비스 결제 프로세스 개선 start
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
//기존
//private void SetPaySetpDisp(string sStep)
//변경
private void SetPaySetpDisp(string sStep, string sPosMenuKey = "")
//#15606 제휴서비스 결제 프로세스 개선 end
{
try
{
Color cBasic = Color.FromArgb(51, 51, 51);
Color cSelect = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor); //Color.FromArgb(31, 180, 236);
Color cNormalBox = Color.FromArgb(159, 159, 159);
//#15606 제휴서비스 결제 프로세스 개선 start
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
//기존
//LoadMotPayHdr(sStep);
//변경
LoadMotPayHdr(sStep, sPosMenuKey);
//#15606 제휴서비스 결제 프로세스 개선 end
for (int i = 1; i < 4; i++)
{
Panel pnl = null;
if (i == 1)
{
if (sStep == i.ToString())
{
lblPayStep1.ForeColor = cSelect;
pnlStep1.BackColor = cSelect;
}
else
{
lblPayStep1.ForeColor = cBasic;
pnlStep1.BackColor = cNormalBox;
}
pnl = pnlStep1;
}
else if (i == 2)
{
if (sStep == i.ToString())
{
lblPayStep2.ForeColor = cSelect;
pnlStep2.BackColor = cSelect;
}
else
{
lblPayStep2.ForeColor = cBasic;
pnlStep2.BackColor = cNormalBox;
}
pnl = pnlStep2;
}
else
{
if (sStep == i.ToString())
{
lblPayStep3.ForeColor = cSelect;
pnlStep3.BackColor = cSelect;
}
else
{
lblPayStep3.ForeColor = cBasic;
pnlStep3.BackColor = cNormalBox;
}
pnl = pnlStep3;
}
//foreach (Control control in pnl.Controls)
//{
// if (control is UI.CsmLabel)
// {
// if (sStep == i.ToString())
// {
// control.BackColor = Color.BlueViolet;
// control.ForeColor = Color.White;
// }
// else
// {
// control.BackColor = Color.White;
// control.ForeColor = Color.Black;
// }
// }
//}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 결제 MOT 헤더 로드
///
///
//#15606 제휴서비스 결제 프로세스 개선 start
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
//기존
//private void LoadMotPayHdr(string sStep)
//변경
private void LoadMotPayHdr(string sStep, string sPosMenuKey)
//#15606 제휴서비스 결제 프로세스 개선 end
{
//헤더 로드
m_alMotDtl.Clear();
int iPage = 1;
int iSeq = 1;
SetMotPayInit();
//#15606 제휴서비스 결제 프로세스 개선 start
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
//기존
//DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sStep, "", "");
//변경
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sStep, sPosMenuKey, "");
//#15606 제휴서비스 결제 프로세스 개선 end
if (dt == null || dt.Rows.Count <= 0)
{
//SetMotPayInit();
return;
}
//배열 담기
foreach (DataRow dr in dt.Rows)
{
if (iSeq == 6)
{
iPage += 1;
iSeq = 1;
}
// 페이지 번호, 버튼명, 명, 태그 값
m_alMotDtl.Add(new string[] { iPage.ToString(), string.Format("{0}{1:00}",MotbtnName,iSeq), CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MOT_NM),
string.Format("{0}^{1}^{2}^{3}",CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MSG_TYPE),CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.CNNT_ID)
,CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SEQ_NO),CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.IMG_NM))
});
iSeq += 1;
}
// 보여주기
iNowPage = 1;
iMaxPage = iPage;
SetBtnMotPay();
if (dt.Rows.Count == 1)
BtnMotPay_Click(BtnMotPay01, null);
}
///
/// 결제 MOT 버튼 셋팅
///
///
public bool SetBtnMotPay()
{
try
{
SetMotPayInit();
if (m_alMotDtl == null || iMaxPage == 0)
{
return false;
}
int iStrtNum = 1;
foreach (string[] atmp in m_alMotDtl)
{
if (atmp[0] == iNowPage.ToString())
{
Cosmos.UI.CsmButton btnCtl = (Cosmos.UI.CsmButton)pnlCardMot.Controls[atmp[1]];
if (btnCtl != null)
{
btnCtl.Text = atmp[2];
btnCtl.Tag = atmp[3];
}
}
iStrtNum += 1;
}
if (iNowPage == 1)
{
BtnMotPayUp.Enabled = false;
}
else
{
BtnMotPayUp.Enabled = true;
}
if (iMaxPage == iNowPage)
{
BtnMotPayDown.Enabled = false;
}
else
{
BtnMotPayDown.Enabled = true;
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
///
/// 리치박스 MOT 텍스트 설정
///
///
public bool SetRichTbMotMsg(RichTextBox Richtb, string sMsgTp, string sMsgFlag, string sSeqNo)
{
try
{
Richtb.Text = "";
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
if (dt == null || dt.Rows.Count <= 0)
{
return false;
}
int iStrtNum = 0;
foreach (DataRow dr in dt.Rows)
{
string tmpStr = string.Empty;
tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG);
//Richtb.AppendText(tmpStr.Trim());
//Richtb.Select(iStrtNum, tmpStr.Trim().Length);
Richtb.AppendText(tmpStr);
Richtb.Select(iStrtNum, tmpStr.Length);
Richtb.SelectionColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_COLOR)); // 백 컬러
int iFontSize = CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE);
if (iFontSize <= 0)
iFontSize = 1;
Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, iFontSize);
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1")
{
Richtb.AppendText("\n");
iStrtNum += 1;
}
//iStrtNum += tmpStr.Trim().Length; // +1;
iStrtNum += tmpStr.Length; // +1;
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
///
/// 코스모스 리치박스 MOT 텍스트 설정
///
///
public bool SetCmsRichTbMotMsg(UI.CsmPosRichTextBox Richtb, string sMsgTp, string sMsgFlag, string sSeqNo)
{
try
{
Richtb.Text = "";
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
if (dt == null || dt.Rows.Count <= 0)
{
return false;
}
int iStrtNum = 0;
foreach (DataRow dr in dt.Rows)
{
string tmpStr = string.Empty;
tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG);
//Richtb.AppendText(tmpStr.Trim());
//Richtb.Select(iStrtNum, tmpStr.Trim().Length);
Richtb.AppendText(tmpStr);
Richtb.Select(iStrtNum, tmpStr.Length);
Richtb.SelectionColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_COLOR)); // 백 컬러
int iFontSize = CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE);
if (iFontSize <= 0)
iFontSize = 1;
Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, iFontSize);
//Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE));
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1")
{
Richtb.AppendText("\n");
iStrtNum += 1;
}
//iStrtNum += tmpStr.Trim().Length; // +1;
iStrtNum += tmpStr.Length; // +1;
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
///
/// 라벨 mot 텍스트 설정
///
///
public bool SetLabelMotMsg(Label txtControl, string sMsgTp, string sMsgFlag)
{
try
{
txtControl.Text = "";
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, "");
if (dt == null || dt.Rows.Count <= 0)
{
return false;
}
foreach (DataRow dr in dt.Rows)
{
string tmpStr = string.Empty;
tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG);
txtControl.Text += tmpStr;
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1")
{
txtControl.Text += "\n";
}
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
///
/// 결제 MOT 초기화
///
private void SetMotPayInit()
{
try
{
foreach (Control control in pnlCardMot.Controls)
{
if (control is UI.CsmButton)
{
if (control.Text != "∧" && control.Text != " ∨")
{
control.Text = "";
control.Tag = "";
control.Visible = true;
}
}
}
rtbMotPayTxt.Text = "";
picMotPayImg.Image = null;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
public bool SetPlayMotMsg(string sMsgTp, string sMsgFlag, string sSeqNo)
{
try
{
DataTable dtHead = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
if (dtHead != null && dtHead.Rows.Count > 0)
{
// 음성 사용 유무(0:미사용, 1:사용)
if (PosMstManager.GetPosOption(POS_OPTION.OPT309) == "2")
{
DataRow dr = dtHead.Rows[0];
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "01") // 00(없음), 01(WAVE), 02(TTS)
{
string sFilePath = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_NM);
CmUtil.PlaySound(sFilePath);
}
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "02") // 00(없음), 01(WAVE), 02(TTS)
{
CmUtil.SpeakByTTSEngine(m_cPosStatus.Base.Country, CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.TTS_DSCRP), 150);
}
}
}
return true;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
return false;
}
}
///
/// 결제등록 정보 화면 표시
///
public void DisplayPayment()
{
try
{
cFuncPnts.SelectFuncButton("");
cFuncDcs.SelectFuncButton("");
cFuncPays.SelectFuncButton("");
lstPaymentList.Items.Clear();
// 결제 내역 받아 오기
ArrayList aPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
for (int iRow = 0; iRow < aPayItem.Count; iRow++)
{
Column.TR_PAYMENT.DATA cItem = (Column.TR_PAYMENT.DATA)aPayItem[iRow];
// 결제내역 리스트 표시
// 취소내역 표시 제외
if (cItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
//if (cItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
ListViewItem lvData = new ListViewItem(iRow.ToString());
lvData.SubItems.Add(cItem.OCCUR_ENTRY_20);
//// 결제수단 화면표시 여부
//if (cItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.PAY)
//{
// //lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.PAY_AMT));
// lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.AMT_ENTRY_01));
//}
lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.AMT_ENTRY_01) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName);
lstPaymentList.Items.Add(lvData);
// 결제 기능버튼 선택 처리
string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cItem.PAY_WAY_CD, cItem.PAY_DTL_CD_01);
if (sMenuKey != "")
{
cFuncPnts.SelectDispButton(sMenuKey, 0);
cFuncDcs.SelectDispButton(sMenuKey, 0);
cFuncPays.SelectDispButton(sMenuKey, 0);
// 제휴카드(통합) 할인 처리(2017.08.29) -- START
if (sMenuKey == PosKey.MENU_KEY.SKT || sMenuKey == PosKey.MENU_KEY.KT || sMenuKey == PosKey.MENU_KEY.LGT
//#20180413 웰컴카드 신규기능 추가 start,phj
|| sMenuKey == PosKey.MENU_KEY.WELCOMECARD_DC
//#20180413 웰컴카드 신규기능 추가 end,phj
|| sMenuKey == PosKey.MENU_KEY.OLIBANK || sMenuKey == PosKey.MENU_KEY.BLUE_MEMBERS || sMenuKey == PosKey.MENU_KEY.RED_MEMBERS)
{
cFuncPnts.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0);
cFuncDcs.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0);
cFuncPays.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0);
}
// 제휴카드(통합) 할인 처리(2017.08.29) -- END
}
}
if (lstPaymentList.Items.Count > 0)
{
lstPaymentList.Visible = true;
lstPaymentList.Items[lstPaymentList.Items.Count - 1].EnsureVisible();
}
// 해피포인트 등록 내역
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
//기존
//lblHappyPoint.Visible = false;
//변경
lblHappyPoint.Visible = true;
lblHappyPoint.Text = "";
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
{
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA))
{
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
/*
//*****************************************************************************
//5%기본대상금액계산
//*****************************************************************************
// 해피포인트 기본적립 대상 금액 획득
m_cTrnStatus.Head.AftSavePoint = cEtcItem.AMT_ENTRY_08 = m_cDataService.GetPluTagetAmount(PosKey.MENU_KEY.HAPPY_POINT);
// 캠페인(해피포인트 적립) 설정 처리
ICampaignUs CampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
CampaingMain.ExecuteCampaignHappyPointSave(PosConst.CAMPAIGN_PAY_KEY.HP_SAVE, null);
// 적립예정포인트
cEtcItem.ETC_AMT = (long)CmUtil.MathRounds(CmUtil.MathAmtPercent(cEtcItem.AMT_ENTRY_08, m_cPosStatus.Mst.HpyPntAccumRate), PosConst.MATH_ROUND.CEILING, 0);
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
{
if (m_cTrnStatus.Head.AftSaveAddInfo.Substring(25).StartsWith("N") == true) cEtcItem.ETC_AMT = 0;
}
*/
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
//if (cEtcItem.HP_CUST_NAME.Length > 2)
// lblHappyPoint.Text = " [ " + cEtcItem.HP_CUST_NAME.Substring(0, 1) + "*" + cEtcItem.HP_CUST_NAME.Substring(2) + " ]" + "\n\r";
//else
//#20180821 해피포인트 고객이름 마스킹 start
if (cEtcItem.HP_CUST_NAME != "") { cEtcItem.HP_CUST_NAME = m_cDataCommon.NameMasking(cEtcItem.HP_CUST_NAME); }
//#20180821 해피포인트 고객이름 마스킹 end
lblHappyPoint.Text = " [ " + cEtcItem.HP_CUST_NAME + " ]" + "\n\r";
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0228) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_03) + "\n\r"; // 누적포인트
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0229) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04) + "\n\r"; // 가용포인트
if (cEtcItem.HP_EXT_POINT > 0)
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0164) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.HP_EXT_POINT) + "\n\r"; // 소멸예정
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
//기존
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_08) + "\n\r"; // 대상금액
//변경
/*
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
{
double dAddSavePnt = 0;
dAddSavePnt = m_cDataService.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.Substring(10, 15)); //추가적립대상금액
dAddSavePnt = cEtcItem.AMT_ENTRY_08 + dAddSavePnt; //기본적립금액 + 추가적립대상금액
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(dAddSavePnt) + "\n\r"; // 대상금액
}
else
{
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_08) + "\n\r"; // 대상금액
}
*/
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
// 적립예정포인트에 추가적립예정포인트도 합산하여 표시(2017.06.19)
double nAddSavePnt = 0;
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
{
nAddSavePnt = m_cDataService.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.Substring(28, 7));
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
//cEtcItem.ETC_AMT = nAddSavePnt;
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
}
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
//기존
//1000원 미만일 경우 적립예정 포인트 미표시(2017.09.08)
if (cEtcItem.AMT_ENTRY_08 >= 1000)
//변경
//if (cEtcItem.AMT_ENTRY_08 >= 1000 || cEtcItem.AMT_ENTRY_08 == 0)
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
{
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0613) + ": " + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(cEtcItem.ETC_AMT, nAddSavePnt)) + "\n\r"; // 적립예정
}
//lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0613) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.ETC_AMT) + "\n\r"; // 적립예정
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0013) + ": " +
(cEtcItem.HP_PASSWORD_YN == "Y" ? MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0629) : MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0861)) + "\n\r"; // 비밀번호
lblHappyPoint.Visible = true;
// 결제 기능버튼 선택 처리
string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01);
if (sMenuKey != "") cFuncPnts.SelectDispButton(sMenuKey, 0);
break;
}
else if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)
{
string sName = cEtcItem.OCCUR_ENTRY_20.Trim();
lblHappyPoint.Text = " [ " + sName + " ]" + "\n\r";
//lblHappyPoint.Text = " [ OKCASHBACK ]" + "\n\r";
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0228) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_03) + "\n\r"; // 누적포인트
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0229) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04) + "\n\r"; // 가용포인트
lblHappyPoint.Visible = true;
// 결제 기능버튼 선택 처리
string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01);
if (sMenuKey != "") cFuncPnts.SelectDispButton(sMenuKey, 0);
break;
}
}
//#20170828 해피포인트 적립 제외 버튼 추가 phj, start
if (m_cTrnStatus.Head.HP_EXCLUDE_YN == "1")
{
// 해피포인트 적립제외를 선택 시 해당 컴포넌트 선택 상태로 변경
cFuncPnts.SelectDispButton(PosKey.MENU_KEY.HAPPY_SAVE_EXCLUDE, 0);
}
//#20170828 해피포인트 적립 제외 버튼 추가 phj, end
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
{
// 총수량, 총매출액
txtPayQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " "
+ m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
// 총 할인 금액
txtPayDiscountAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
txtPayVatSvc.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName + "/ "
+ m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
if (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.ChangeCashAmt > 0)
{
//결제 거스름
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
//결제 받은 금액
txtPayRecvAmt.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
//결제 거스름 금액
txtPayNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
else
{
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
//받은금액 표시
txtPayRecvAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RecvedPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
// 순매출액 표시 처리
txtPayNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RemainPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
}
}
else
{
// 총수량, 총매출액
txtPayQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
// 총 할인 금액
//txtPayDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
// m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? -1 : 1));
txtPayDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt);
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
{
txtPayVatSvc.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) + "/ " +
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt);
}
if (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.ChangeCashAmt > 0)
{
//결제 거스름
//lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
//결제 받은 금액
txtPayRecvAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt));
//결제 거스름 금액
txtPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt);
}
else
{
//받은금액 표시
txtPayRecvAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RecvedPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
// 순매출액 표시 처리
txtPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RemainPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
}
}
if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1")
|| (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING))
{
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0135);
BtnPayMain.BackColor = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
if (BtnPayMain.ForeColor != Color.White) BtnPayMain.ForeColor = BtnPayMain.BackColor;
}
else
{
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045);
BtnPayMain.BackColor = Color.FromArgb(74, 97, 118);
}
m_cCustDisp.DisplaySaleItemList(false, true, 0); // 고객화면 표시
// 캠페인 적용 내역 표시
lstCampaignList.Items.Clear();
ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
foreach (Column.TR_PLU.DATA cPluItem in alPluItem)
{
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") continue;
//string sCampaingName = "";
if (cPluItem.CPI_DC_AMT > 0 && cPluItem.alTrSaleCpi != null)
{
foreach (Column.TR_SALE_CPI_RSLT.DATA cTrPluCpi in cPluItem.alTrSaleCpi)
{
if (cTrPluCpi.DC_SUM_AMT > 0)
{
string sCampaingName = cCampaingMain.GetCampaignName(cTrPluCpi.CPI_CD, 0);
if (sCampaingName == "") continue;
bool bExistCampaign = false;
for (int i = 0; i < lstCampaignList.Items.Count; i++)
{
if (sCampaingName == lstCampaignList.Items[i].SubItems[1].Text)
{
bExistCampaign = true;
break;
}
}
if (bExistCampaign == false)
{
ListViewItem lvData = new ListViewItem(lstCampaignList.Items.Count.ToString());
lvData.SubItems.Add(sCampaingName);
//lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(0));
lstCampaignList.Items.Add(lvData);
}
}
}
}
}
if ( lstCampaignList.Items.Count > 0)
{
lblCampaignList.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0400);
lblCampaignList.Visible = true;
lstCampaignList.Visible = true;
}
else
{
lblCampaignList.Visible = false;
lstCampaignList.Visible = false;
}
//#16577 결제창 내부 봉투 추가 기능 도입 start
if (PosMstManager.GetPosOption(POS_OPTION.OPT555) == "1")
{
//캠페인 정보 미표시
lblCampaignList.Visible = false;
lstCampaignList.Visible = false;
PnlAddBag.Visible = true;
}
else
{
PnlAddBag.Visible = false;
}
//#16577 결제창 내부 봉투 추가 기능 도입 end
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 결제 취소
///
///
///
private void BtnCanc_Click(object sender, EventArgs e)
{
string sRet;
string sCardInfo = "", sPassWord = "";
try
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
//#Rhee, 20180221 미주 상품 결제취소시 메인화면으로 가기 추가 Start
if(m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS))
{
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.PAY_WAIT;
}
//#Rhee, 20180221 미주 상품 결제취소시 메인화면으로 가기 추가 End
int iListIndex = 0;
if (lstPaymentList.Items.Count > 0)
{
#region
// 미선택 null 예외처리
if (lstPaymentList.FocusedItem == null) lstPaymentList.Items[lstPaymentList.Items.Count - 1].Focused = true;
iListIndex = lstPaymentList.FocusedItem.Index;
int iRow = CmUtil.IntParse(lstPaymentList.Items[iListIndex].SubItems[0].Text);
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return;
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CPI_PAY_ITEM)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0622);
return;
}
// SKT할인 인 경우, T페이 통합결제 여부 확인 후 T페이 통합결제 ITEM으로 취소 처리
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT
&& string.IsNullOrWhiteSpace(cPayItem.OCCUR_ENTRY_15) == false)
{
#region
string[] aRet = new string[1];
IPaymentUs cTPayService = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.TPAY);
sRet = cTPayService.SearchPayment(new string[] { PosConst.TPAY_SEARCH_TYPE.TPAY_ITEM, cPayItem.OCCUR_ENTRY_15 }, ref aRet);
if (sRet == UserCom.RST_OK)
{
iRow = CmUtil.IntParse(aRet[0]);
cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
}
#endregion
}
//Cat단말기 승인이면 처리! 또는 X-CHARGE
if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.CAT_TERMINAL || cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.X_CHARGE)
{
sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString(), "" });
}
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 Start, srlee
//else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM && cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
else if (((cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM)
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HPGIFT_CARD))
&& cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 End, srlee
{
#region
// 카드 입력 받기!
sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" });
if (sCardInfo == "") return;
sPassWord = sCardInfo.Substring(0, 20).Trim();
sCardInfo = sCardInfo.Substring(20);
if (CmUtil.MidH(sCardInfo, 0, 2) == "00")
{
cPayItem.CanFiller1 = sCardInfo;
sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString(), sCardInfo });
}
#endregion
}
else
{
#region
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY)
{
#region
// 카드 입력 받기!
sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "Y" });
if (sCardInfo == "") return;
sPassWord = sCardInfo.Substring(0, 20).Trim();
sCardInfo = sCardInfo.Substring(20);
// T페이
cPayItem.CanFiller2 = sPassWord; // 비밀번호
cPayItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1); // 입력구분
cPayItem.CanFiller1 = sCardInfo.Substring(1); // 카드번호
#endregion
}
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- START
else if ((cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY) // 스마일페이
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY) // T페이
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.OKCASHBACK_POINT) // 캐시백
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.SAMSUNG_POINT) // 삼성포인트
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT) // 해피기프트
//|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC_PAY)
//|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
)
{
#region
// OLD
//else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT // 제휴할인(통신사,제휴카드)
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY) // 스마일페이
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY) // T페이
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.OKCASHBACK_POINT) // 캐시백
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.SAMSUNG_POINT) // 삼성포인트
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT) // 해피기프트
// //|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC_PAY)
// //|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
// )
//{
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- END
// 카드 입력 받기!
sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" });
if (sCardInfo == "") return;
sPassWord = sCardInfo.Substring(0, 20).Trim();
sCardInfo = sCardInfo.Substring(20);
cPayItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1);
cPayItem.CanFiller1 = sCardInfo.Substring(1);
#endregion
}
sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString() });
//=============================================
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
//=============================================
#region (2017.11.01) 해피포인트 제휴할인 선리딩 처리
if (m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "")
{
if (cPayItem.PAY_WAY_CD == "03")
{
m_cPosStatus.Sale.strMobileUnityCardNo = "";
if (m_cPosStatus.Sale.strPriorReading_Title[0] == "SKT" || m_cPosStatus.Sale.strPriorReading_Title[0] == "KT" ||
//#20180413 웰컴카드 신규기능 추가 start,phj
m_cPosStatus.Sale.strPriorReading_Title[0] == "MC" ||
//#20180413 웰컴카드 신규기능 추가 end,phj
m_cPosStatus.Sale.strPriorReading_Title[0] == "LGT")
{
if (m_cPosStatus.Sale.strPriorReading_Title[1] != "")
{
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strPriorReading_Title[1];
m_cPosStatus.Sale.strPriorReading_Title[1] = "";
}
else
{
m_cPosStatus.Sale.strPriorReading_Title[0] = "";
}
}
else
{
m_cPosStatus.Sale.strPriorReading_Title[1] = "";
}
}
}
#endregion
#endregion
}
#endregion
}
else
{
for (int iRow = 0; iRow < alEtcItem.Count; iRow++)
{
#region
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[iRow];
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
if (cEtcItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.CAT_TERMINAL)
{
sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString(), "" });
}
else if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE))
{
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- START
//if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)
//{
// // 카드 입력 받기!
// sCardInfo = m_cPayCancel.SetPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.OCCUR_ENTRY_01, cEtcItem.ETC_AMT.ToString(), cEtcItem.OCCUR_ENTRY_20, cEtcItem.OCCUR_ENTRY_05, cEtcItem.ETC_DTL_CD_01, "N" });
// if (sCardInfo == "") return;
// sPassWord = sCardInfo.Substring(0, 20).Trim();
// sCardInfo = sCardInfo.Substring(20);
// cEtcItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1);
// cEtcItem.CanFiller1 = sCardInfo.Substring(1);
//}
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- END
sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString() });
//=============================================
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
//=============================================
#region (2017.11.01) 해피포인트 제휴할인 선리딩 처리
if (m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "")
{
if (cEtcItem.ETC_WAY_CD == "80")
{
m_cPosStatus.Sale.strHappyPointCardNo = "";
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
m_cPosStatus.Sale.strEmpInfo = "";
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
if (m_cPosStatus.Sale.strPriorReading_Title[0] == "HPC")
{
m_cPosStatus.Sale.strPriorReading_Title[0] = "";
}
if (m_cPosStatus.Sale.strPriorReading_Title[1] == "HPC")
{
m_cPosStatus.Sale.strPriorReading_Title[1] = "";
}
}
}
#endregion
}
#endregion
}
}
DisplayItem(0, false);
DisplayPayment();
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
//여전법 대응!
//////////////////////////////////////////////////////////////////////////////////
CmUtil.ZeroFillClear(ref sCardInfo);
//////////////////////////////////////////////////////////////////////////////////
}
}
private void lblHappyPoint_Click(object sender, EventArgs e)
{
string sRet;
string sCardInfo = "", sPassWord = "";
try
{
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
for (int iRow = 0; iRow < alEtcItem.Count; iRow++)
{
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[iRow];
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA)
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE))
{
if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0406)) == true)
{
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)
{
if (cEtcItem.OCCUR_ENTRY_08 != ItemConst.PAY_APP_DIV.CAT_TERMINAL)
{
// 카드 입력 받기!
sCardInfo = m_cPayCancel.SetPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.OCCUR_ENTRY_01, cEtcItem.ETC_AMT.ToString(), cEtcItem.OCCUR_ENTRY_20, cEtcItem.OCCUR_ENTRY_05, cEtcItem.ETC_DTL_CD_01, "N" });
if (sCardInfo == "") return;
sPassWord = sCardInfo.Substring(0, 20).Trim();
sCardInfo = sCardInfo.Substring(20);
cEtcItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1);
cEtcItem.CanFiller1 = sCardInfo.Substring(1);
}
}
sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString() });
DisplayItem(0, false);
DisplayPayment();
}
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
//여전법 대응!
//////////////////////////////////////////////////////////////////////////////////
CmUtil.ZeroFillClear(ref sCardInfo);
//////////////////////////////////////////////////////////////////////////////////
}
}
///
/// 결제 수단 반품 처리
///
///
///
public string ReturnPay(int iRow)
{
string sPassWord = "";
string sRet = UserCom.RST_ERR;
try
{
ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return sRet;
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM)
{
if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
{
// 카드 입력 받기!
string sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" });
if (sCardInfo == "") return sRet;
sPassWord = sCardInfo.Substring(0, 20).Trim();
sCardInfo = sCardInfo.Substring(20);
if (CmUtil.MidH(sCardInfo, 0, 2) == "00")
{
cPayItem.CanFiller1 = sCardInfo;
sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString(), sCardInfo });
}
}
else
{
sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString() });
}
}
else
{
sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString() });
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return sRet;
}
/////
///// 결제 취소
/////
/////
/////
//private void BtnCanc_Click(object sender, EventArgs e)
//{
// string sRet;
// try
// {
// m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
// int iListIndex = 0;
// if (lstPaymentList.Items.Count > 0)
// {
// // 미선택 null 예외처리
// if (lstPaymentList.FocusedItem == null) lstPaymentList.Items[lstPaymentList.Items.Count - 1].Focused = true;
// iListIndex = lstPaymentList.FocusedItem.Index;
// int iRow = CmUtil.IntParse(lstPaymentList.Items[iListIndex].SubItems[0].Text);
// ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
// Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
// if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return;
// // 결제 수단 취소
// //m_cPayCanCom.CancelPayment(new string[] { clPayItem.PAY_WAY_CD, clPayItem.PAY_DTL_CD_01, iRow.ToString() });
// switch (cPayItem.PAY_WAY_CD)
// {
// case ItemConst.TR_ITEM_ID.CREDITCARD_ITEM:
// {
// IPaymentUs m_cPayCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CREDITCARD);
// if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
// {
// //카드 입력 받기!
// string sCardInfo = WinPay.ShowForm(new string[] { FormManager.FORM_INPUT_CARD, "", cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20 });
// if(CmUtil.MidH(sCardInfo,0,2) == "00")
// {
// sRet = m_cPayCard.CancelPayment(new string[] { iRow.ToString(), sCardInfo });
// }
// }
// else
// {
// sRet = m_cPayCard.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.MOBILE_COM_POINT: //제휴 통신사 할인 취소
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KTF || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_LGT)
// {
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMOBILECOM);
// sRet = cMobileComPoint.CancelPayment(new string[] { iRow.ToString() });
// }
// else
// {
// IPaymentUs cMemberPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMEMBERUSE);
// sRet = cMemberPointUse.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.CASH_ITEM:
// {
// IPaymentUs m_cPayCash = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CASH);
// sRet = m_cPayCash.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.COUPON_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.COUPON.INCARD)
// {
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYCOUPON);
// sRet = cMobileComPoint.CancelPayment(new string[] { iRow.ToString() });
// }
// else
// {
// IPaymentUs m_cCouponDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.COUPONDC);
// sRet = m_cCouponDC.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.MOBILECON_ITEM:
// {
// IPaymentUs m_cMobileCoupon= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MOBILECOUPON);
// sRet = m_cMobileCoupon.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.EMP_DC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SEVERANCE)
// {
// IPaymentUs m_cSeveranceDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC);
// sRet = m_cSeveranceDC.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
// {
// IPaymentUs m_cSPCEmployeeDC= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEDC);
// sRet = m_cSPCEmployeeDC.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SAMSUNGCARD)
// {
// WinManager.ConfirmMessage("카드 결제 내역을 취소 하세요.");
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.POINT_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT)
// {
// IPaymentUs cHappyPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINTUSE);
// sRet = cHappyPointUse.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.USER_DC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.USER_DC.IN_EMP_DC)
// {
// // 입점건물직원할인 취소
// IPaymentUs ciNStorDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.iNStorDC);
// sRet = ciNStorDC.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.PAYETC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
// {
// // 식권취소
// IPaymentUs cMealTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MEALTICKET);
// sRet = cMealTicket.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER)
// {
// // 잔액교환권 취소
// IPaymentUs cExchangeTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.EXCHANGETICKET);
// sRet = cExchangeTicket.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.GIFT_ITEM :
// {
// // 상품권 취소
// IPaymentUs cGift= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.GIFT);
// sRet = cGift.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.CREDIT_ITEM:
// {
// // 외상 취소
// IPaymentUs cSaleOnCustomer = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SALEONCUSTOMER);
// sRet = cSaleOnCustomer.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.FOREIGNEX_ITEM:
// {
// // 외화 취소
// IPaymentUs cForeign = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.FOREIGN);
// sRet = cForeign.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.PPCARD_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.PP_CARD)
// {
// // 선불카드 취소
// IPaymentUs cPrepaidCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.PREPAIDCARD);
// sRet = cPrepaidCard.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT)
// {
// // 해피 기프트 사용 취소
// IPaymentUs cHappyGiftUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HAPPYGIFTUSE);
// sRet = cHappyGiftUse.CancelPayment(new string[] { iRow.ToString(), "1" });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.EMP_PAY_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.SPC)
// {
// // SPC 임직원 결제 취소
// IPaymentUs cSPCEmployeeUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEUSE);
// sRet = cSPCEmployeeUse.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.SEVERANCE)
// {
// // 세브란스 직원 결제 취소
// IPaymentUs cSeverancePay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC);
// sRet = cSeverancePay.CancelPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.OURHOME)
// {
// // 아워홈 직원 결제 취소
// IPaymentUs cOurHome= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.OURHOME);
// sRet = cOurHome.CancelPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.PAY_ITEM:
// {
// // 알리페이 취소
// IPaymentUs cAlipay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.ALIPAY );
// sRet = cAlipay.CancelPayment(new string[] { iRow.ToString() });
// break;
// }
// default:
// {
// break;
// }
// }
// }
// else
// {
// ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
// for (int nRow = 0; nRow < alEtcItem.Count; nRow++ )
// {
// Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[nRow];
// if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
// if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
// {
// // 해피포인트 적립 취소
// IPaymentUs cHappyPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT);
// sRet = cHappyPoint.CancelPayment(new string[] { nRow.ToString() });
// break;
// }
// }
// }
// DisplayPayment();
// m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
// }
// catch (Exception ex)
// {
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
//}
/////
///// 결제 수단 반품 처리
/////
/////
/////
//public string ReturnPay(int iRow)
//{
// string sRet = UserCom.RST_ERR;
// try
// {
// ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
// Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
// if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return sRet;
// switch (cPayItem.PAY_WAY_CD)
// {
// case ItemConst.TR_ITEM_ID.CREDITCARD_ITEM:
// {
// IPaymentUs m_cPayCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CREDITCARD);
// if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
// {
// //카드 입력 받기!
// string sCardInfo = WinPay.ShowForm(new string[] { FormManager.FORM_INPUT_CARD, "", cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20 });
// if (CmUtil.MidH(sCardInfo, 0, 2) == "00")
// {
// sRet = m_cPayCard.RefundPayment(new string[] { iRow.ToString(), sCardInfo });
// }
// }
// else
// {
// sRet = m_cPayCard.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.MOBILE_COM_POINT: //제휴 통신사 할인 취소
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KTF || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_LGT)
// {
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMOBILECOM);
// sRet = cMobileComPoint.RefundPayment(new string[] { iRow.ToString() });
// }
// else
// {
// IPaymentUs cMemberPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMEMBERUSE);
// sRet = cMemberPointUse.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.CASH_ITEM:
// {
// IPaymentUs m_cPayCash = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CASH);
// sRet = m_cPayCash.RefundPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.COUPON_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.COUPON.INCARD)
// {
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYCOUPON);
// sRet = cMobileComPoint.RefundPayment(new string[] { iRow.ToString() });
// }
// else
// {
// IPaymentUs m_cCouponDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.COUPONDC);
// sRet = m_cCouponDC.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.MOBILECON_ITEM:
// {
// IPaymentUs m_cMobileCoupon = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MOBILECOUPON);
// sRet = m_cMobileCoupon.RefundPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.EMP_DC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SEVERANCE)
// {
// IPaymentUs m_cSeveranceDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC);
// sRet = m_cSeveranceDC.RefundPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
// {
// IPaymentUs m_cSPCEmployeeDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEDC);
// sRet = m_cSPCEmployeeDC.RefundPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SAMSUNGCARD)
// {
// WinManager.ConfirmMessage("카드 결제 내역을 취소 하세요.");
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.POINT_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT)
// {
// IPaymentUs cHappyPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINTUSE);
// sRet = cHappyPointUse.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.USER_DC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.USER_DC.IN_EMP_DC)
// {
// // 입점건물직원할인 취소
// IPaymentUs ciNStorDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.iNStorDC);
// sRet = ciNStorDC.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.PAYETC_ITEM:
// {
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
// {
// // 식권취소
// IPaymentUs cMealTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MEALTICKET);
// sRet = cMealTicket.RefundPayment(new string[] { iRow.ToString() });
// }
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER)
// {
// // 잔액교환권 취소
// IPaymentUs cExchangeTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.EXCHANGETICKET);
// sRet = cExchangeTicket.RefundPayment(new string[] { iRow.ToString() });
// }
// break;
// }
// case ItemConst.TR_ITEM_ID.GIFT_ITEM:
// {
// // 상품권 취소
// IPaymentUs cGift = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.GIFT);
// sRet = cGift.RefundPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.CREDIT_ITEM:
// {
// // 외상 취소
// IPaymentUs cSaleOnCustomer = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SALEONCUSTOMER);
// sRet = cSaleOnCustomer.RefundPayment(new string[] { iRow.ToString() });
// break;
// }
// case ItemConst.TR_ITEM_ID.RESERVATION_ITEM:
// {
// // 외상 취소
// IPaymentUs cReservPay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.RESERVED_PAY);
// sRet = cReservPay.RefundPayment(new string[] { iRow.ToString() });
// break;
// }
// default:
// {
// break;
// }
// }
// }
// catch (Exception ex)
// {
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
// }
// return sRet;
//}
private void tmrCustCount_Tick(object sender, EventArgs e)
{
tmrCustCount.Enabled = false;
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_END)
{
this.SaleMainExit();
return;
}
else
{
m_cPosStatus.Sale.ScreenSaverTime = ""; // 화면보호기 대기시간 설정
if (PosMstManager.GetPosOption(POS_OPTION.OPT203) == "1")
{
//string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_SERVER });
//string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_ETC_SERVER_REG });
lblTableInfo_Click(null, null);
}
// 고객수 입력
if (PosMstManager.GetPosOption(POS_OPTION.OPT004) == "3")
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "1") //결제 고객
{
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_AGE, "PAY" });
if (sRet != UserCom.RST_ERR)
{
m_cTrnStatus.Head.PayGndrDiv = CmUtil.MidH(sRet, 0, 1);
m_cTrnStatus.Head.PayAge = CmUtil.LongParse(CmUtil.MidH(sRet, 1, 2));
}
}
else if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "2") //상세고객수
{
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_AGE, "" });
}
else if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "3") //고객수
{
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_USER_INPUT_DATA, PosConst.FRM_INPUT_DATA.GUEST_CNT });
if (sRet != UserCom.RST_ERR)
{
m_cTrnStatus.Head.CustCnt = CmUtil.IntParse(sRet);
}
}
else
{
//미사용
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
}
private void rtbMotSale_Click(object sender, EventArgs e)
{
DisplayInit(true, false);
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
private void btnItemGridUpDown_Click(object sender, EventArgs e)
{
try
{
#if true //grayber@20171213 부가메뉴 등록중 일때 동작 개선 start
// 부가메뉴 등록중일때 스클롤 버튼으로 부가메뉴가 닫히지 않도록 처리
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0022);
return;
}
#endif //grayber@20171213 부가메뉴 등록중 일때 동작 개선 end
// 선불카드모드에서 선불카드 등록패널 사라지지 않게 수정(2017.06.22) - 중국만 적용
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.CN)
{
if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
&& m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
{
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
}
else
{
pnlSetMenu.Visible = false;
pnlSubMenu.Visible = false;
}
if ((UI.CsmButton)sender == btnItemGridUp)
{
SaleItemGrid.ButtonUpProc();
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
}
else if ((UI.CsmButton)sender == btnItemGridTop)
{
SaleItemGrid.ButtonTopProc();
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
}
else if ((UI.CsmButton)sender == btnItemGridDown)
{
SaleItemGrid.ButtonDownProc();
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
}
else if ((UI.CsmButton)sender == btnItemGridBottom)
{
SaleItemGrid.ButtonBottomProc();
// 상품 등록내역 고객용 화면 표시
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void picCampaign_Click(object sender, EventArgs e)
{
picCampaign.Visible = false;
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
private void padInPut_Click(object sender, EventArgs e)
{
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
private void lblIFStatus_Click(object sender, EventArgs e)
{
try
{
string sMenuKey = string.Empty;
if ((Cosmos.UI.CsmLabel)sender == lblIFStatus1) // 해피오더
{
sMenuKey = "";
}
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus2) // 빚은몰
{
sMenuKey = PosKey.MENU_KEY.WEB_BIZEUN_MALL;
}
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus3) // 이지웰
{
sMenuKey = PosKey.MENU_KEY.WEB_EZWELL;
}
if (WinBasic.CheckMenuKeyAuth(sMenuKey) == false) return; // 기능키 판매원 권한 체크
//string sMngAuth = PosMstManager.GetMstPicAuth(m_cPosStatus.Base.CashierNo + sMenuKey);
//switch (sMngAuth)
//{
// case PosConst.MNG_AUTH_DIV.NON_PERMISSION:
// WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0308), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0505), false);
// return;
// case PosConst.MNG_AUTH_DIV.PERMISSION:
// break;
// case PosConst.MNG_AUTH_DIV.SUPERVISOR:
// if (WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_ADMIN }) == UserCom.RST_ERR) return;
// //string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_CASHIER_INPUT, "Supervisor" });
// //if (sRet != UserCom.RST_OK)
// //{
// // return;
// //}
// break;
//}
if ((Cosmos.UI.CsmLabel)sender == lblIFStatus1) // 해피오더
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
{
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 start
// 상품 등록 중일 경우 빠져 나간다.
//변경
ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
if (alSaleItem.Count > 0)
{
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021));
return;
}
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 end
tmrSaleTimer.Stop();
//#20180615 해피오더 팝업 수정 start
//기존
//WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_POPUP, "NORMAL" });
//변경
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" });
//#20180615 해피오더 팝업 수정 end
tmrSaleTimer.Start();
}
}
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus2) // 빚은몰
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT036) == "1")
{
WinBasic.ShowWebPos(PosKey.MENU_KEY.WEB_BIZEUN_MALL, true);
//WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_BIZEUN, PosKey.MENU_KEY.WEB_BIZEUN_MALL });
}
}
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus3) // 이지웰
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT037) == "1")
{
WinBasic.ShowWebPos(PosKey.MENU_KEY.WEB_EZWELL);
//WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_EZWELW, PosKey.MENU_KEY.WEB_EZWELL });
}
}
else if ((Cosmos.UI.CsmLabel)sender == lblOwnerPart) // 점주알바WEB
{
WinBasic.ShowWebPos(PosKey.MENU_KEY.OWNER_WEB);
//ShowOwnerPartWeb(PosKey.MENU_KEY.OWNER_WEB);
}
else if ((Cosmos.UI.CsmLabel)sender == lblAnniv) // 기념일배송
{
lblAnniv.Tag = "";
lblAnniv.BackColor = Color.FromArgb(34, 34, 34);
//디비업데이트
m_cDataCommon.UpdateEtcNoticeProcess("05", null);
WinBasic.ShowWebPos(PosKey.MENU_KEY.REMB_ORDER_PRINT);
//ShowOwnerPartWeb(PosKey.MENU_KEY.REMB_ORDER_PRINT);
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#region SLIDE 메뉴 함수
///
/// SLIDE 메뉴
///
///
private void MenuSlideList()
{
try
{
m_alMenuHead = new ArrayList();
m_alMenuProc = new ArrayList();
DataTable dtFuncKey = null;
// SLIDE메뉴 들어갈 시에도 권한체크(2017.07.07)
// 키 그룹 판매원 권한 체크
if (WinBasic.CheckMenuKeyAuth(m_sPosMenuKeyIn) == false) return;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//헤더 로드
dtFuncKey = m_cDataCommon.SeletFuncKey(m_sPosMenuKeyIn);
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
//return;
}
else
{
foreach (DataRow dr in dtFuncKey.Rows)
{
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY.DATA.FUNC_NM); // 기능명
m_alMenuHead.Add(new string[] { m_sPosMenuKeyIn, sPosName });
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (m_SlideMenuKey == PosKey.MENU_KEY.FOREIGNERS_RESPONSE)
{
dtFuncKey = m_cDataCommon.SeletCommonCode(PosConst.COMMON_CODE_GROUP.Z0017, "");
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
return;
}
else
{
foreach (DataRow dr in dtFuncKey.Rows)
{
string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.DISP_SEQ); // 표시순번
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CD_NM); // 기능명
string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CMM_CD); // 기능키
//if (CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01) == "1")
m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장
}
}
}
else if (m_sPosMenuKeyIn == PosKey.MENU_KEY.TOP_MENU_WEB)
{
dtFuncKey = m_cDataCommon.SeletMstWebLinkMst("");
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
return;
}
else
{
int seqIndex = 0;
foreach (DataRow dr in dtFuncKey.Rows)
{
//string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.DISP_SEQ); // 표시순번
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.MENU_NM); // 기능명
string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.FUNC_ID); // 기능키
//if (CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.DIV) == "2")
//{
seqIndex = seqIndex + 1;
string sDispSeq = Convert.ToString(seqIndex); // 표시순번
m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장
//}
}
}
}
else
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 판매기본 기능키 로딩
dtFuncKey = m_cDataCommon.SeletFuncKeyGroup(m_sPosMenuKeyIn);
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
{
return;
}
else
{
foreach (DataRow dr in dtFuncKey.Rows)
{
string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM); // 기능명
string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능키
m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장
}
}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// SLIDE 메뉴 컨트롤 초기화
///
private void SlideInitControl()
{
try
{
// 이미지 로딩 처리
//picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_SIZE_S);
//this.Location = new Point(216, 173);
//this.Size = new Size(788, 402);
//FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT);
// 메뉴 타이틀 출력
foreach (string[] aMenu in m_alMenuHead)
{
if (aMenu[0] == m_sPosMenuKeyIn)
{
//lblTitle.Text = aMenu[1];
break;
}
}
m_nTopPos = 0;
SlideMenuDisplay(); //화면에 메뉴 표시
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// SLIDE 화면에 메뉴 표시
///
private void SlideMenuDisplay()
{
try
{
int nMax = 0;
// 메뉴 상세 초기화
foreach (object obj in m_htMenuControls.Values)
{
Cosmos.UI.CsmLabel btnCtl = (Cosmos.UI.CsmLabel)obj;
btnCtl.Text = "";
btnCtl.Tag = "";
// btnCtl.Visible = false;
}
//0:메뉴항목, 1:위치, 2:표시텍스트, 3:기능키값
foreach (string[] aMenu in m_alMenuProc)
{
if (aMenu[0] == m_sPosMenuKeyIn)
{
nMax = m_htMenuControls.Count;
int nPos = int.Parse(aMenu[1]); // 표시위치
if (nPos > m_nTopPos && nPos <= m_nTopPos + nMax)
{
Cosmos.UI.CsmLabel btnCtl = (Cosmos.UI.CsmLabel)m_htMenuControls[(nPos - 1) % nMax];
btnCtl.Text = aMenu[2];
btnCtl.Tag = aMenu[3];
//btnCtl.Visible = true;
}
}
}
SlideSetNavigationBtn(m_alMenuProc.Count);
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 네비게이션 표시 변경
///
///
private void SlideSetNavigationBtn(int nMax)
{
try
{
if (m_nTopPos == 0)
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DEFAULT);
//btnUp.Text = "■";
else
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DIM);
//btnUp.Text = "◀";
if (m_nTopPos + 7 < nMax)
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DIM);
//btnDown.Text = "▶";
else
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DEFAULT);
//btnDown.Text = "■";
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void SlideSetMenuBtn()
{
try
{
#region 메뉴버튼
// 메뉴버튼
m_htMenuControls = new Hashtable();
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu01);
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu02);
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu03);
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu04);
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu05);
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu06);
//m_htMenuControls.Add(m_htMenuControls.Count, btnMenu07);
picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG);
btnMenu01.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
btnMenu02.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
btnMenu03.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
btnMenu04.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
btnMenu05.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
btnMenu06.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG);
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DEFAULT);
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DEFAULT);
//picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath + @"Btn\", "popup_bg.png");
#endregion
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 기능 버튼 입력 처리
///
///
///
private void btnSlideFuncProc_Click(object sender, EventArgs e)
{
try
{
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString());
if (((Cosmos.UI.CsmLabel)sender) == btnUp)
{
int nMax = m_htMenuControls.Count;
if (m_nTopPos > 0)
{
m_nTopPos -= nMax;
SlideMenuDisplay();
}
}
else if (((Cosmos.UI.CsmLabel)sender) == btnDown)
{
int nMax = m_htMenuControls.Count;
foreach (string[] aMenu in m_alMenuProc)
{
if (aMenu[0] == m_sPosMenuKeyIn)
{
if (int.Parse(aMenu[1]) > m_nTopPos + nMax)
{
m_nTopPos += nMax;
SlideMenuDisplay();
break;
}
}
}
}
else
{
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void btnMenu_Click(object sender, EventArgs e)
{
try
{
tmrSaleTimer.Enabled = false;
if (((Cosmos.UI.CsmLabel)sender).Tag.ToString() != "")
{
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString());
m_SlideMenuKey = ((Cosmos.UI.CsmLabel)sender).Tag.ToString();
if (m_SlideMenuKey != PosKey.MENU_KEY.FOREIGNERS_RESPONSE)
{
this.pnlMenuSlide.Visible = false;
}
if (m_sPosMenuKeyIn == PosKey.MENU_KEY.TOP_MENU_WEB)
{
string sMenuKey = ((Cosmos.UI.CsmLabel)sender).Tag.ToString();
//WinBasic.ShowWebPos(((Cosmos.UI.CsmLabel)sender).Tag.ToString());
if (sMenuKey == PosKey.MENU_KEY.WEB_BIZEUN_MALL)
{
WinBasic.ShowWebPos(sMenuKey, true);
}
else
{
WinBasic.ShowWebPos(sMenuKey);
}
}
else
{
if (m_SlideMenuKey == PosKey.MENU_KEY.FOREIGNERS_RESPONSE)
{
MenuSlideList();
SlideInitControl();
}
else
{
// 외국인 대응에 대한 경우에만 직접 보여준다.
if (m_SlideMenuKey == "001" || m_SlideMenuKey == "002" || m_SlideMenuKey == "003")
{
WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_FOREIGNERS_RESPONSE, m_SlideMenuKey });
}
else
{
WinSale.ExecuteBinessRun(m_SlideMenuKey);
}
}
//WinSale.ExecuteBinessRun(((Cosmos.UI.CsmLabel)sender).Tag.ToString());
}
//WinSale.ExecuteBinessRun(((Cosmos.UI.CsmLabel)sender).Tag.ToString());
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
finally
{
tmrSaleTimer.Enabled = true;
}
}
private void btnSlidePage_MouseDown(object sender, MouseEventArgs e)
{
try
{
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString());
if (((Cosmos.UI.CsmLabel)sender) == btnUp)
{
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_PRESS);
}
if (((Cosmos.UI.CsmLabel)sender) == btnDown)
{
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_PRESS);
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void btnSlidePage_MouseUp(object sender, MouseEventArgs e)
{
SlideSetNavigationBtn(m_alMenuProc.Count);
}
private void btnMenu_MouseUp(object sender, MouseEventArgs e)
{
((Cosmos.UI.CsmLabel)sender).Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
}
private void btnMenu_MouseDown(object sender, MouseEventArgs e)
{
((Cosmos.UI.CsmLabel)sender).Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_PRESS);
}
#endregion SLIDE 메뉴 함수
///
/// 간편로그인 호출
///
///
///
private void lblCashier_Click(object sender, EventArgs e)
{
try
{
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
{
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.SIMPLE_LOG_ON });
if (sRet != UserCom.RST_ERR && sRet !="")
{
lblCashier.Text = m_cPosStatus.Base.CashierName;
}
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void lblTemperature_Click(object sender, EventArgs e)
{
try
{
if (pnlTempInfo.Visible != true)
{
pnlTempInfo.Visible = true;
}
else
{
pnlTempInfo.Visible = false;
}
if (m_cPosStatus.Temp.Temperature1 != null && m_cPosStatus.Temp.Temperature1 != "")
{
#region 온도정보 색상
// 우선 순위 : 미수신 > 알람 > 경고
//- 녹색(정상) : 알람-N, 경고-N, 미수신-N
//- 회색(미수신) : 미수신-Y 미수신이 Y이면 알람, 경고는 체크 하지 않음
//- 적색(경고) : 미수신-N, 알람-Y 알람이 Y이면 경고는 체크 하지 않음
//- 황색(알람) : 미수신-N, 알람-N, 경고-Y
// [센서ID|온도계명|측정온도|알람YN|경고YN|미수신YN|최종수신시간]
// 첫번째 온도 정보
if (m_cPosStatus.Temp.Alarm1 == "N" && m_cPosStatus.Temp.Warning1 == "N" && m_cPosStatus.Temp.receiveYN1 == "N")
{
// 녹색
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
lblTemp1.ForeColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN1 == "Y")
{
// 회색
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
lblTemp1.ForeColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN1 == "N")
{
if (m_cPosStatus.Temp.Alarm1 == "Y")
{
// 레드
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
lblTemp1.ForeColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm1 == "N")
{
// 황색
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
lblTemp1.ForeColor = Color.DarkOrange;
}
}
}
}
else
{
lblTemp1.ForeColor = Color.Black;
lblTemp1.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657);
}
if (m_cPosStatus.Temp.Temperature2 != null && m_cPosStatus.Temp.Temperature2 != "")
{
// 두번째 온도 정보
if (m_cPosStatus.Temp.Alarm2 == "N" && m_cPosStatus.Temp.Warning2 == "N" && m_cPosStatus.Temp.receiveYN2 == "N")
{
// 녹색
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
lblTemp2.ForeColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN2 == "Y")
{
// 회색
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
lblTemp2.ForeColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN2 == "N")
{
if (m_cPosStatus.Temp.Alarm2 == "Y")
{
// 레드
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
lblTemp2.ForeColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm2 == "N")
{
// 황색
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
lblTemp2.ForeColor = Color.DarkOrange;
}
}
}
}
else
{
lblTemp2.ForeColor = Color.Black;
lblTemp2.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657);
}
if (m_cPosStatus.Temp.Temperature3 != null && m_cPosStatus.Temp.Temperature3 != "")
{
// 세번째 온도 정보
if (m_cPosStatus.Temp.Alarm3 == "N" && m_cPosStatus.Temp.Warning3 == "N" && m_cPosStatus.Temp.receiveYN3 == "N")
{
// 녹색
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
lblTemp3.ForeColor = Color.Green;
}
else
{
if (m_cPosStatus.Temp.receiveYN3 == "Y")
{
// 회색
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
lblTemp3.ForeColor = Color.DarkGray;
}
else if (m_cPosStatus.Temp.receiveYN3 == "N")
{
if (m_cPosStatus.Temp.Alarm3 == "Y")
{
// 레드
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
lblTemp3.ForeColor = Color.Red;
}
else if (m_cPosStatus.Temp.Alarm3 == "N")
{
// 황색
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
lblTemp3.ForeColor = Color.DarkOrange;
}
}
}
}
else
{
lblTemp3.ForeColor = Color.Black;
lblTemp3.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657);
}
#endregion 온도정보 색상
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 디바이스 정보 클릭
///
///
///
private void lblDeviceState_Click(object sender, EventArgs e)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
// 주변장치 상태 관리 화면
string sRet = WinSale.ShowForm(new string[] { FormManager.FORM_DEVICE_STATUS_SEARCH, PosKey.MENU_KEY.DEVICE_STATUS_SEARCH });
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 온도정보 클릭
///
///
///
private void TempInfo_Click(object sender, EventArgs e)
{
try
{
if (pnlTempInfo.Visible != true)
{
pnlTempInfo.Visible = true;
}
else
{
pnlTempInfo.Visible = false;
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 프로그램 버전 더블클릭(원격 웹사이트)
///
///
///
private void lblPgmVersion_DoubleClick(object sender, EventArgs e)
{
try
{
IDataServiceUs m_cWebBiz = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.WEB_POS);
string sUrl = string.Empty;
sUrl = (string)m_cWebBiz.GetData(new string[] { PosKey.MENU_KEY.REMOTE_URL });
if (sUrl == null || sUrl == "") return;
if (sUrl.StartsWith("2") == true) // 1: WEB POS, 2:WEB LINK
{
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo("IExplore.exe");
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
startInfo.Arguments = CmUtil.MidH(sUrl, 31, 100).Trim() + CmUtil.MidH(sUrl, 131, 100).Trim();
System.Diagnostics.Process.Start(startInfo);
}
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
return;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return;
}
///
/// 네트워크 온오프 체크
///
private void OnLinecheck()
{
try
{
//NW ON/OFF
if (CmUtil.IsNetConnection() == 1)
{
if (picWeb.Tag.ToString() != "ON")
{
picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON);
picWeb.Tag = "ON";
lblWeb.Tag = "0";
lblWeb.Text = "WEB";
lblWeb.ForeColor = Color.White;
}
lblOffLine.Visible = false;
}
else
{
if (picWeb.Tag.ToString() != "OFF")
{
picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON_ERROR);
picWeb.Tag = "OFF";
}
lblOffLine.Visible = true;
//// WEB 글자색 변경!
//if (lblWeb.ForeColor == Color.White)
//{
// lblWeb.ForeColor = CmUtil.GetRainbowColor(lblWeb.Tag.ToString());
// if (lblWeb.Tag.ToString() == "7") lblWeb.Tag = "0";
// lblWeb.Tag = (CmUtil.IntParse(lblWeb.Tag.ToString()) + 1).ToString();
// lblWeb.Text = "OFF LINE";
//}
//else
//{
// lblWeb.ForeColor = Color.White;
// lblWeb.Text = "WEB";
//}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 할인상세 내역 표시
///
///
///
private void txtPayDiscountAmt_Click(object sender, EventArgs e)
{
try
{
if (m_cTrnStatus.Head.TotDcAmt == 0) return;
WinBasic.ShowForm(new string[] { FormManager.FORM_DISCOUNT_LIST });
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// 상품등록 내역 조회
///
///
///
private void txtPayQtySaleAmt_Click(object sender, EventArgs e)
{
try
{
WinBasic.ShowForm(new string[] { FormManager.FORM_SALEPLU_LIST });
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
private void MenuSlide_Click(object sender, EventArgs e)
{
try
{
if (pnlMenuSlide.Visible != true)
{
pnlMenuSlide.Visible = true;
pnlMenuSlide.BringToFront();
}
else
{
pnlMenuSlide.Visible = false;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#region 상단 일자 시간 표시
private delegate void SetDatetimeCallback();
///
/// 일자시간 표시
///
///
///
private void tmrDateTime_Tick(object sender, EventArgs e)
{
try
{
tmrDateTime.Stop();
SetDateTime();
tmrDateTime.Start();
//---------------------------------------------------------------------
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리를 위한 상태바 표시 처리
//---------------------------------------------------------------------
// - 이전의 tmrSaleTimer 이벤트가 중간중간 멈추는 경우가 생겨서
// 이쪽 tmrDateTime 이벤트로 이동함
//---------------------------------------------------------------------
#region 해피포인트 제휴할인 선리딩 처리를 위한 상태바 표시 처리
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
lblPriorReading2.BackColor = Color.FromArgb(34, 34, 34);
#region 첫번째 레이블
if (m_cPosStatus.Sale.strPriorReading_Title[0] != null && m_cPosStatus.Sale.strPriorReading_Title[0] != "")
{
lblPriorReading1.Text = m_cPosStatus.Sale.strPriorReading_Title[0];
lblPriorReading2.Text = "";
if (lblPriorReading1.Text == "HPC")
{
lblPriorReading1.BackColor = Color.FromArgb(217, 151, 149);
lblPriorReading1.ForeColor = Color.White;
}
else if (lblPriorReading1.Text != "")
{
lblPriorReading1.BackColor = Color.FromArgb(51, 153, 255);
lblPriorReading1.ForeColor = Color.White;
}
else
{
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
}
}
else
{
lblPriorReading1.Text = "";
lblPriorReading2.Text = "";
}
#endregion
#region 두번째 레이블
if (m_cPosStatus.Sale.strPriorReading_Title[1] != null && m_cPosStatus.Sale.strPriorReading_Title[1] != "")
{
lblPriorReading1.Text = m_cPosStatus.Sale.strPriorReading_Title[0];
lblPriorReading2.Text = m_cPosStatus.Sale.strPriorReading_Title[1];
if (lblPriorReading1.Text == "HPC")
{
lblPriorReading1.BackColor = Color.FromArgb(217, 151, 149);
lblPriorReading1.ForeColor = Color.White;
}
else if (lblPriorReading1.Text != "")
{
lblPriorReading1.BackColor = Color.FromArgb(51, 153, 255);
lblPriorReading1.ForeColor = Color.White;
}
else
{
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
}
if (lblPriorReading2.Text == "HPC")
{
lblPriorReading2.BackColor = Color.FromArgb(217, 151, 149);
lblPriorReading2.ForeColor = Color.White;
}
else if (lblPriorReading2.Text != "")
{
lblPriorReading2.BackColor = Color.FromArgb(51, 153, 255);
lblPriorReading2.ForeColor = Color.White;
}
else if (lblPriorReading2.Text == "")
{
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
}
}
else
{
lblPriorReading2.Text = "";
}
#endregion
#endregion
if(m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "" || pnlAllianceCard.Visible == true)
{
if(pnlPayMainBack.Visible == false)
{
if(AllianceCardTime.Year == DateTime.Now.Year)
{
TimeSpan Ti = DateTime.Now - AllianceCardTime;
if (Ti.Seconds > 3)
{
pnlAllianceCard.Visible = false;
AllianceCardTime = new DateTime();
}
}
}
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
//적용시 주석 해제
if (pnlBuyHistMot.Visible == true)
{
TimeSpan Ti = DateTime.Now - BuyHistTime;
if (Ti.Seconds > 3)
{
pnlBuyHistMot.Visible = false;
BuyHistTime = new DateTime();
}
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#15058 해피오더 버튼 변경_20180612 start,phj
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
{
if (bSaleMain == true)
{
NewHPOrdDisplay();
}
if (bSaleMain == false)
{
iCount = iCount + 1;
if (iCount >= 60)
{
iCount = 0;
bSaleMain = true;
}
}
}
//#15058 해피오더 버튼 변경_20180612 end,phj
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
//기존
/*
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
{
iInventoryDispCnt = iInventoryDispCnt + 1;
if (bInventoryDispStat == true)
{
HappyOrderInventoryAlram();
if (iInventoryDispCnt % 60 == 0)
{
HappyOrderInventoryAlram_StatChange(false);
}
}
else
{
if (iInventoryDispCnt == 0 || iInventoryDispCnt >= 60 * 10)
{
HappyOrderInventoryAlram();
}
}
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
*/
//변경
//--------------------------------------------------
//레드마인: #16368
//요청일자: 2018/08/22
//요청자 : SPC 안병석 과장
//내용 : 1. 알람 표시시간
// [기존] 제한없음
// [변경] 오후2시이후부터 표시
// 2. 알람 자동 표시 시간
// [기존] 닫기버튼 클릭 시 10분마다 자동 표시
// [변경] 매시간 30분마다 자동 표시 후 5분간 표시
// 단, 닫기 버튼 클릭 시 알람 닫기
//--------------------------------------------------
//if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
//{
// if (Int32.Parse(DateTime.Now.ToString("HH")) >= 14)
// {
// if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
// {
// iInventoryDispCnt = iInventoryDispCnt + 1;
// if (bInventoryDispStat == true)
// {
// HappyOrderInventoryAlram();
// if (iInventoryDispCnt % (60 * 5) == 0)
// {
// HappyOrderInventoryAlram_StatChange(false);
// }
// }
// else
// {
// if (iInventoryDispCnt == 0 || iInventoryDispCnt >= 60 * 25)
// {
// HappyOrderInventoryAlram();
// }
// }
// }
// }
//}
if ((CmUtil.IntParse(DateTime.Now.ToString("HH")) >= 14) &&
((CmUtil.IntParse(DateTime.Now.ToString("mm")) >= 0 && CmUtil.IntParse(DateTime.Now.ToString("mm")) <= 5) ||
(CmUtil.IntParse(DateTime.Now.ToString("mm")) >= 30 && CmUtil.IntParse(DateTime.Now.ToString("mm")) <= 35)))
{
if (bInventoryCancel == false)
{
HappyOrderInventoryAlram();
}
}
else
{
bInventoryCancel = false;
lb_HPOInventoryAlram.Visible = false;
lb_HPOInventoryAlram2.Visible = false;
Pnl_HPOInventoryAlram.Visible = false;
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
///
/// Date 처리
///
///
private void SetDateTime()
{
try
{
if (this.lblDateTime.InvokeRequired)
{
SetDatetimeCallback d = new SetDatetimeCallback(SetDateTime);
this.Invoke(d);
}
else
{
//#20171011 영업일, 시스템일시 위치 변경 start
//기존
/*
this.lblDateTime.Text = m_cPosStatus.Global.DateToCulture(DateTime.Now.ToString("yyyy-MM-dd")) + " " + DateTime.Now.ToString("HH:mm:ss");
*/
//변경
string WeekDays = WeekDay(DateTime.Now);
string WeekDaySaleDate = WeekDay(Convert.ToDateTime(m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate)));
this.lblDateTime.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0242) + " : {0}" + "({1})",
m_cPosStatus.Base.SaleDate == "" ? m_cPosStatus.Global.DateToCulture("20000101") : m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate), WeekDaySaleDate);
lblSaleDate.Text = string.Format(m_cPosStatus.Global.DateToCulture(DateTime.Now.ToString("yyyyMMdd")) + "({0})" + " " + DateTime.Now.ToString("HH:mm:ss"), WeekDays);
//#20171011 영업일, 시스템일시 위치 변경 end
}
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.ToString());
}
}
private string WeekDay(DateTime dateTime)
{
string tempWeekDay = "";
var dt = dateTime.DayOfWeek;
switch (dt)
{
case DayOfWeek.Monday: //월
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1063);
break;
case DayOfWeek.Tuesday: //화
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1064);
break;
case DayOfWeek.Wednesday: //수
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1065);
break;
case DayOfWeek.Thursday: //목
tempWeekDay = MessageManager.GetLabelMessage((POS_MESSAGE.LABEL.MSG_1066));
break;
case DayOfWeek.Friday: //금
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1067);
break;
case DayOfWeek.Saturday: //토
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1068);
break;
case DayOfWeek.Sunday: //일
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1062);
break;
}
return tempWeekDay;
}
#endregion
#region 백그라운드 프로그램 적용 확인 메시지
///
/// 백그라운드 프로그램 적용 확인 메시지
///
private void POSProgramApplyCheck()
{
string sRet = UserCom.RST_ERR;
try
{
// 프로그램 적용을 위한 재기동 여부 체크
if (m_cBackgroundDown.PGMReBootCheck() == true)
{
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0281) });
}
if (sRet == UserCom.RST_OK)
{
// 재기동!
m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART;
SaleMainExit();
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region lblSaleStatus_Click(판매화면 내리기)
private void lblSaleStatus_Click(object sender, EventArgs e)
{
try
{
m_cPosStatus.Sale.ScreenSaverTime = "";
this.WindowState = FormWindowState.Minimized;
Form fMainForm = (Form)FormManager.GetForm(FormManager.FORM_POS_MAIN);
if (fMainForm != null) fMainForm.Top = 2048;
Form fTableForm = (Form)FormManager.GetForm(FormManager.FORM_TBL_REG);
if (fTableForm != null) fTableForm.Top = 2048;
FormManager.m_HideFormIndex = 1;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region lblTableInfo_Click(테이블 담당자(판매원) 변경
private void lblTableInfo_Click(object sender, EventArgs e)
{
try
{
if (m_cPosStatus.Base.PosType != PosConst.POS_TYPE.DEFERRED_PAYMENT) return;
// 테이블 담당자 입력(변경)
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_SERVER });
if (sRet != UserCom.RST_ERR)
{
lblTableInfo.Text = "[" + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm + "]" + m_cTrnStatus.Head.OrderPicNm;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region 텍스트 박스 포커스 처리
private void TxtInPutFocus()
{
try
{
txtInPut.Focus();
}
catch { }
}
private void lstCampaignList_Click(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void SaleItemGrid_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnMenuFix_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnMenu_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnFlavourMenu_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSetMenu_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSubMenuCommGrp_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSubMenuCommDtl_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void lblWeb_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSubMenuDtl_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSubMenuGrp_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnMenuMClass_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnMenuMClassFix_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnSubMenuExit_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnFuncSale_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void btnFuncItem_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
private void pnlMotSale_Enter(object sender, EventArgs e)
{
TxtInPutFocus();
}
#endregion
///
/// Pos Sale 버젼 (클라이언트)표시
/// girak.kim; 20173.08.30.001
///
private void GetClientPOSVersion()
{
try
{
lblRealVer.Text = WinBasic.ClientPOSVersion.ToString();
}
catch (Exception ex)
{
lblRealVer.Text = "0.0.0.0";
}
}
//*****************************************************************************
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
//-----------------------------------------------------------------------------
// - 만약 결제화면(pnlCardMot)이 표시될 경우
// - 우선 해피포인트(옵션) 값이 설정되어 있을 경우
// <- 전역변수 : m_cPosStatus.Sale.strHappyPointCardNoOption
// '결제' 버튼 클릭 -> 포인트할인결제 화면에서 -> '해피포인트사용' 버튼이 클릭된 상태
// = '해피포인트 사용' 화면을 표시한다.
//*****************************************************************************
#region 해피포인트 제휴할인 선리딩 처리
private void pnlCardMot_VisibleChanged(object sender, EventArgs e)
{
//========================================
// 만약 결제화면(pnlCardMot)이 표시될 경우
//========================================
if (pnlCardMot.Visible == true)
{
//---------------------------------------------------------------------------------------------
// 만약, 선릉진선 해피포인트 사용 창 결제버튼 클릭 시 자동으로 띄우는 기능이 설정되어 있을 경우
// '해피포인트 사용' 화면을 표시한다.
//---------------------------------------------------------------------------------------------
#region '해피포인트 사용' 화면을 표시한다.
if (PosMstManager.GetPosOption(POS_OPTION.OPT511) == "1")
{
// 해피포인트 사용(00078) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT_USE, "3");
}
#endregion
//------------------------------------------------------
// 만약 해피포인트(옵션) 값이 설정되어 있지 않고,
// 해피포인트 또는 제휴할인 카드 값이 설정되어 있을 경우
// '해피포인트' 및 '제휴할인 카드' 화면을 표시한다.
//------------------------------------------------------
#region '해피포인트' 및 '제휴할인 카드' 화면을 표시한다.
else
{
#region 만약 해피포인트 값이 설정되어 있을 경우 해피포인트 화면을 표시한다.
if (m_cPosStatus.Sale.strHappyPointCardNo != "")
{
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
//기존
// 해피포인트(00058) 화면 표시 -----
//PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
//변경
#region SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시
if (m_cPosStatus.Sale.strEmpInfo == "3A")
{
// SPC임직원할인(결제) - 상품에 적용하지 않음
DataTable dtFuncKeyArr1 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY);
// SPC임직원할인(할인) - 상품에 적용
DataTable dtFuncKeyArr2 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC);
if (dtFuncKeyArr1 == null || dtFuncKeyArr1.Rows.Count <= 0)
{
if (dtFuncKeyArr2 == null || dtFuncKeyArr2.Rows.Count <= 0)
{
// SPC임직원할인(결제), SPC임직원할인(할인) 둘다 기능키가 배치되어 있지 않은 경우
// 해피포인트(00058) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
}
else
{
// SPC임직원할인(할인) 기능키가 배치되어 있는 경우
// 임직원할인(00064) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC, "2");
}
}
else
{
// SPC임직원할인(결제) 기능키가 배치되어 있는 경우
// 임직원할인(00281) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY, "2");
}
}
else
{
// SPC임직원이 아닌 경우
// 해피포인트(00058) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
}
#endregion SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
}
#endregion
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 start
// 1. 해피포인트 등록-> 제휴할인 적용(선리딩방식) 첫번째.
// 2. 이 함수 타면서 두번째.
bool bMobileDcCheck = false;
ArrayList alPays = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
for (int iRow = 0; iRow < alPays.Count; iRow++)
{
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPays[iRow];
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT)
{
bMobileDcCheck = true;
break;
}
}
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 end
#region 만약 제휴할인 카드 값이 설정되어 있을 경우 제휴할인 카드 화면을 표시한다.
if (m_cPosStatus.Sale.strMobileUnityCardNo != "")
{
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 start
//기존
/*
// 제휴할인 카드(00292) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2");
*/
//변경
if (bMobileDcCheck == false)
{
// 제휴할인 카드(00292) 화면 표시 -----
PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2");
}
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 end
}
#endregion
}
#endregion
}
}
#endregion
//*****************************************************************************
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리를 위한 클리어 함수
//-----------------------------------------------------------------------------
// - 해피포인트 제휴할인 선리딩 처리를 위한
// 관련 전역변수들을 클리어 해주는 함수이다.
// - 만약 새로운 한 건의 판매 프로세스가 시작될 경우
// 해피포인트 및 제휴할인 선리딩 처리를 위한
// 전역변수들을 클리어한다.
//*****************************************************************************
#region 해피포인트 제휴할인 선리딩 처리를 위한 클리어 함수
public void SubPriorReadingVarClear(bool blnDiv)
{
// 만약 파라미터 값이 'true'일 경우 -----
if (blnDiv == true)
{
// 전역변수 클리어 -----
m_cPosStatus.Sale.strHappyPointCardNo = ""; // 해피포인트 카드 번호
m_cPosStatus.Sale.strMobileUnityCardNo = ""; // 제휴할인 카드 번호
// 해피포인트 옵션 처리 사용 유무 확인 -----
if (PosMstManager.GetPosOption(POS_OPTION.OPT511) == "1") { }
// 상태바 클리어 -----
m_cPosStatus.Sale.strPriorReading_Title = new string[2]; // 선리딩 내역 클리어
lblPriorReading1.Text = ""; // 상태바 내용
lblPriorReading2.Text = "";
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 start
#region 모바일쿠폰 해피기프트카드 자동인식 기능
m_cPosStatus.Sale.strMobileCpnNo = "";
m_cPosStatus.Sale.strHappyGiftCardNo = "";
#endregion
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 end
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
m_cPosStatus.Sale.strEmpInfo = "";
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
}
}
#endregion
//*** MoonSeokWoo 2017.12.12 Add
public void AllianceCardInit(bool TranMode,string TitleName,bool HPCGbn)
{
lblAllianceCardName.Text = TitleName;
if (HPCGbn == true) lblAllianceCardName.ForeColor = Color.FromArgb(217, 151, 149);
else lblAllianceCardName.ForeColor = Color.FromArgb(51, 153, 255);
if (TranMode == true) lblAllianceCardTitle.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0742);
else lblAllianceCardTitle.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0743);
pnlAllianceCard.Visible = true;
//#20180413 웰컴카드 신규기능 추가 start,phj
pnlAllianceCard.BringToFront();
//#20180413 웰컴카드 신규기능 추가 end,phj
AllianceCardTime = DateTime.Now;
}
//*** MoonSeokWoo 2017.12.12 End
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
///
/// 해피포인트 고개번호 조회
///
///
///
private string SchHappyPointMembInfo(string sInPutType, string sInCardNo)
{
string sSchMembNo = "";
try
{
m_sInPutType = "";
m_sInMaskData = "";
m_sInEncData = "";
m_sServiceCode = "";
m_sAppCardNo = "";
m_sInPutType = sInPutType;
m_sAppCardNo = sInCardNo;
// 해피포인트 카드만 자동등록 처리
if (sInCardNo.StartsWith(PosConst.HP_CARD_PRIFIX) == false) return sSchMembNo;
IPaymentExpUs m_cHappyPoint = (IPaymentExpUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT);
//암호화
EncryptedCardNo(m_sAppCardNo, ref m_sInEncData, ref m_sInMaskData);
// 해피 포인트 적립카드 조회
string[] saRecvdData = null;
string sRet = m_cHappyPoint.SearchPayment(new string[] { sInPutType, m_sInMaskData, m_sInEncData, "1", "", m_sAppCardNo }, ref saRecvdData);
if (sRet != UserCom.RST_OK) return sSchMembNo;
//m_sInEncData = sInEncData;
// 조회 데이터 획득
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { });
int nNowPos = 0;
string[] aIrtRsp = new string[Column.POINT_ADD_INFO_SEARCH.LEN.Length];
ItemColumn.ParseMessage(Column.POINT_ADD_INFO_SEARCH.LEN, Column.POINT_ADD_INFO_SEARCH.TYPE, Encoding.Default.GetBytes(cEtcItem.HP_ADD_INFO_SCH), ref nNowPos, ref aIrtRsp);
// 고객정보 중에서 첫번째 카드 선택
string sMemInfo = aIrtRsp[Column.POINT_ADD_INFO_SEARCH.SEQ.pointMEMINFO];
if (sMemInfo != "" && CmUtil.IntParse(sMemInfo.Substring(0, 1)) > 0)
{
sSchMembNo = CmUtil.MidH(sMemInfo, 45, 35).Trim(); // 해피포인트 고객번호
}
}
catch (Exception ex)
{
return sSchMembNo;
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return sSchMembNo;
}
///
/// 카드 번호 암호화
///
///
///
///
///
private string EncryptedCardNo(string sInData, ref string sCardData, ref string sCardNo)
{
string sEncData = sInData;
try
{
sEncData = m_cDeviceICReader.GetEncryptedCardNo(sInData).Trim();
if (CmUtil.MidH(sEncData, 0, 2) == "00")
{
sCardData = CmUtil.MidH(sEncData, 2, 512).Trim();
sCardNo = CmUtil.MidH(sEncData, 514, sEncData.Length - 514).Trim();
}
else
{
//암호화 처리 실패!
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "Fail =>" + sInData);
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return sEncData;
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
#region 고객 구매이력 정보 버튼 입력 처리
///
/// 고객 구매이력 정보 버튼 입력 처리
///
///
///
private void btnBuyList_Click(object sender, EventArgs e)
{
try
{
if (((Cosmos.UI.CsmButton)sender) == btnBuyListCls)
{
pnlBuyHist.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
pnlBuyHistMot.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
}
else if (((Cosmos.UI.CsmButton)sender) == btnCpnSend)
{
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180508
//[쿠폰발송] 버튼 클릭시 '쿠폰발송 기능은 추후 오픈 예정입니다.' 팝업 출력
//#20180605 해피쿠폰 발송 해당 옵션 체크 기능 제외 start
/*
if (PosMstManager.GetPosOption(POS_OPTION.OPT513) != "1")
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0785);
return;
}
*/
//#20180605 해피쿠폰 발송 해당 옵션 체크 기능 제외 end
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180508
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
if (m_cPosStatus.Mst.HpyCokStorYn != "1")
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0786);
return;
}
if (m_cPosStatus.Mst.CpnSendYn != "1")
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0787);
return;
}
if (m_cPosStatus.Sale.sRegularYN != "Y")
{
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0788);
return;
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180502
//기능키 추가 후 권한 체크 기능 적용
if (WinBasic.CheckMenuKeyAuth(PosKey.MENU_KEY.HPYCPN_SEND) == false) return; // 기능키 판매원 권한 체크
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180502
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180528
//쿠폰 발송 횟수 제한 기능
//저장된 쿠폰 발송 횟수 가져오기
string sCpnSendCnt = m_cDataCommon.CpnSendCntSearch();
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
//저장되지 않은 쿠폰 발송 횟수 가져오기
int iCpnSendCnt = 0;
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM); // 기타 내역 받아 오기
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
{
if (cEtcItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
//해피쿠폰 발송
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.HAPPYCPN_SEND)
{
iCpnSendCnt = iCpnSendCnt + 1;
}
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
//기존
//if (CmUtil.IntParse(m_cPosStatus.Mst.CpnSendLimitCnt) <= CmUtil.IntParse(sCpnSendCnt))
//변경
if (CmUtil.IntParse(m_cPosStatus.Mst.CpnSendLimitCnt) <= CmUtil.IntParse(sCpnSendCnt) + iCpnSendCnt)
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
{
WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0789), m_cPosStatus.Mst.CpnSendLimitCnt));
//WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0789);
return;
}
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180528
WinPay.ShowForm(new string[] { FormManager.FORM_CPN_SEND, m_sInPutType, m_sInMaskData, m_sInEncData, m_sServiceCode, m_sAppCardNo});
}
else if (((Cosmos.UI.CsmButton)sender) == btnHpCok)
{
pnlBuyHist.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
pnlBuyHistMot.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
#region 고객 구매이력 정보 라벨 입력 처리
///
/// 고객 구매이력 정보 버튼 입력 처리
///
///
///
private void lblBuyList_Click(object sender, EventArgs e)
{
try
{
pnlBuyHist.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
pnlBuyHistMot.Visible = false;
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
}
#endregion
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
//#15058 해피오더 버튼 변경_20180612 start,phj
#region 해피오더 신규주문 건 표시 상단 패널
private void NewHPOrdDisplay()
{
//#20180605 해피오더 개선 start - 20180618
#region 기존
/*
try
{
int iNewOrdCnt = 0;
iNewOrdCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0"));
if (iNewOrdCnt > 99) { iNewOrdCnt = 99; }
if (iNewOrdCnt > 0)
{
//NewHPOrd_Disp.Width = lblIFStatus1.Width;
//NewHPOrd_Disp.Left = lblIFStatus1.Left;
//NewHPOrd_Disp.Top = 0;// lblIFStatus1.Top;
//NewHPOrd_Disp.Height = 50; // lblIFStatus1.Height;
PnlNewHPOrd_Disp.Width = lblIFStatus1.Width;
PnlNewHPOrd_Disp.Left = lblIFStatus1.Left;
PnlNewHPOrd_Disp.Top = 0;// lblIFStatus1.Top;
PnlNewHPOrd_Disp.Height = 50; // lblIFStatus1.Height;
NewHPOrd_Disp.Visible = true;
NewHPOrd_Disp2.Visible = true;
NewHPOrd_Disp.Left = 0;
NewHPOrd_Disp.Top = 0;
NewHPOrd_Disp.Width = PnlNewHPOrd_Disp.Width - (PnlNewHPOrd_Disp.Width / 3);
NewHPOrd_Disp.Height = 50;
NewHPOrd_Disp2.Left = NewHPOrd_Disp.Width;
NewHPOrd_Disp2.Top = 0;
NewHPOrd_Disp2.Width = PnlNewHPOrd_Disp.Width - NewHPOrd_Disp.Width;
NewHPOrd_Disp2.Height = 50;
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0)
{
NewHPOrd_Disp.Text = "";
NewHPOrd_Disp2.Text = "";
}
else
{
string sStr = "";
string sClose = "";
int iStrtNum = 0;
NewHPOrd_Disp.Text = "";
NewHPOrd_Disp.ReadOnly = true;
NewHPOrd_Disp.SelectionFont = new Font(m_cPosStatus.Base.FONT, 16, FontStyle.Bold);
NewHPOrd_Disp.SelectionAlignment = HorizontalAlignment.Right;
sStr = "해피오더 신규 (" + iNewOrdCnt.ToString() + ")";
NewHPOrd_Disp.AppendText(sStr);
NewHPOrd_Disp.Select(iStrtNum, sStr.Length);
NewHPOrd_Disp.SelectionColor = Color.Yellow;
//sClose = " [닫기]";
//NewHPOrd_Disp.AppendText(sClose);
//NewHPOrd_Disp.Select(sStr.Length, sClose.Length);
//NewHPOrd_Disp.SelectionColor = Color.Black;
NewHPOrd_Disp.ReadOnly = true;
NewHPOrd_Disp.BringToFront();
NewHPOrd_Disp2.Text = "";
NewHPOrd_Disp2.SelectionFont = new Font(m_cPosStatus.Base.FONT, 16, FontStyle.Bold);
NewHPOrd_Disp2.SelectionAlignment = HorizontalAlignment.Left;
sClose = " [닫기]";
NewHPOrd_Disp2.AppendText(sClose);
NewHPOrd_Disp2.Select(0, sClose.Length);
NewHPOrd_Disp2.SelectionColor = Color.Black;
NewHPOrd_Disp2.ReadOnly = true;
NewHPOrd_Disp2.BringToFront();
}
//NewHPOrd_Disp.Visible = true;
PnlNewHPOrd_Disp.Visible = true;
}
else
{
NewHPOrd_Disp.Visible = false;
NewHPOrd_Disp2.Visible = false;
//NewHPOrd_Disp.Visible = false;
PnlNewHPOrd_Disp.Visible = false;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
*/
#endregion
#region 변경
try
{
// 해피오더 신규주문(일반주문건수 + 배달주문건수 + 예약주문건수)
int iNewOrdCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0"));
if (iNewOrdCnt > 99) { iNewOrdCnt = 99; }
if (iNewOrdCnt > 0)
{
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0)
{
NewHPOrd_Disp.Text = "";
NewHPOrd_Disp2.Text = "";
}
else
{
PnlNewHPOrd_Disp.BorderStyle = BorderStyle.None;
PnlNewHPOrd_Disp.BackColor = Color.Red;
NewHPOrd_Disp.Text = "";
NewHPOrd_Disp.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
NewHPOrd_Disp.TextAlign = ContentAlignment.MiddleCenter;
NewHPOrd_Disp.BorderStyle = BorderStyle.None;
NewHPOrd_Disp.AutoSize = true;
NewHPOrd_Disp.ForeColor = Color.Yellow;
NewHPOrd_Disp.BackColor = Color.Red;
NewHPOrd_Disp.Text = "해피오더 신규(" + iNewOrdCnt.ToString() + ")";
NewHPOrd_Disp.BringToFront();
NewHPOrd_Disp2.Text = "";
NewHPOrd_Disp2.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
NewHPOrd_Disp2.TextAlign = ContentAlignment.MiddleCenter;
NewHPOrd_Disp2.BorderStyle = BorderStyle.None;
NewHPOrd_Disp2.AutoSize = true;
NewHPOrd_Disp2.ForeColor = Color.Black;
NewHPOrd_Disp2.BackColor = Color.Red;
NewHPOrd_Disp2.Text = "[닫기]";
NewHPOrd_Disp2.BringToFront();
int iWidth = NewHPOrd_Disp.Width + NewHPOrd_Disp2.Width;
NewHPOrd_Disp.Left = (PnlNewHPOrd_Disp.Width - iWidth) / 2;
NewHPOrd_Disp2.Left = NewHPOrd_Disp.Left + NewHPOrd_Disp.Width;
int iFill = 3;
NewHPOrd_Disp.Top = ((PnlNewHPOrd_Disp.Height - NewHPOrd_Disp.Height) / 2) - iFill;
NewHPOrd_Disp2.Top = NewHPOrd_Disp.Top;
}
NewHPOrd_Disp.Visible = true;
NewHPOrd_Disp2.Visible = true;
PnlNewHPOrd_Disp.Visible = true;
}
else
{
NewHPOrd_Disp.Visible = false;
NewHPOrd_Disp2.Visible = false;
PnlNewHPOrd_Disp.Visible = false;
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
#endregion
//#20180605 해피오더 개선 end - 20180618
}
private void NewHPOrd_Disp_Click(object sender, EventArgs e)
{
try
{
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 start
//변경
// 상품 등록 중일 경우 빠져 나간다.
ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
if (alSaleItem.Count > 0)
{
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021));
return;
}
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 end
iCount = 0;
bSaleMain = false;
NewHPOrd_Disp.Visible = false;
NewHPOrd_Disp2.Visible = false;
PnlNewHPOrd_Disp.Visible = false;
//#20180615 해피오더 팝업 수정 start
//기존
//WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "" });
//변경
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" });
//#20180615 해피오더 팝업 수정 end
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
}
private void NewHPOrd_Disp2_Click(object sender, EventArgs e)
{
try
{
iCount = 0;
bSaleMain = false;
NewHPOrd_Disp.Visible = false;
NewHPOrd_Disp2.Visible = false;
PnlNewHPOrd_Disp.Visible = false;
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
}
#endregion
//#15058 해피오더 버튼 변경_20180612 end,phj
//#15525 고객구매이력 수정 요청 start
//VIP 여부 안내 표시
#region VIP 여부 안내표시 클릭시 안보이게 처리
private void picVip_Click(object sender, EventArgs e)
{
pnlBuyHistVip.Visible = false;
}
#endregion VIP 여부 안내표시 클릭시 안보이게 처리
private void picVip_Paint(object sender, PaintEventArgs e)
{
/*
Image myBitmapTemp;
// Create a Bitmap object from an image file.
Bitmap myBitmap = new Bitmap(BaseCom.NxImgPath + "crown12.png");
// Draw myBitmap to the screen.
//e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width, myBitmap.Height);
// Get the color of a background pixel.
Color backColor = myBitmap.GetPixel(5, 5);
// Make backColor transparent for myBitmap.
myBitmap.MakeTransparent(backColor);
myBitmapTemp = (Image)myBitmap;
// Draw the transparent bitmap to the screen.
e.Graphics.DrawImage(myBitmapTemp, 0, 0, myBitmap.Width, myBitmap.Height);
*/
}
//#15525 고객구매이력 수정 요청 end
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
#region 해피오더 추가재고 실시간 알람 (10분마다 1분동안 보임)
private void HappyOrderInventoryAlram()
{
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) != "1") return;
try
{
// Y: 미등록 재고존재 / N: 미등록 재고없음
if (m_cPosStatus.Sale.HappyOrderInventoryYN == "Y")
{
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0)
{
lb_HPOInventoryAlram.Text = "";
lb_HPOInventoryAlram2.Text = "";
}
else
{
Pnl_HPOInventoryAlram.BorderStyle = BorderStyle.None;
Pnl_HPOInventoryAlram.BackColor = Color.Red;
lb_HPOInventoryAlram.Text = "";
lb_HPOInventoryAlram.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
lb_HPOInventoryAlram.TextAlign = ContentAlignment.MiddleCenter;
lb_HPOInventoryAlram.BorderStyle = BorderStyle.None;
lb_HPOInventoryAlram.AutoSize = true;
lb_HPOInventoryAlram.ForeColor = Color.Yellow;
lb_HPOInventoryAlram.BackColor = Color.Red;
lb_HPOInventoryAlram.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1179); //20180821
lb_HPOInventoryAlram.BringToFront();
lb_HPOInventoryAlram2.Text = "";
lb_HPOInventoryAlram2.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
lb_HPOInventoryAlram2.TextAlign = ContentAlignment.MiddleCenter;
lb_HPOInventoryAlram2.BorderStyle = BorderStyle.None;
lb_HPOInventoryAlram2.AutoSize = true;
lb_HPOInventoryAlram2.ForeColor = Color.Black;
lb_HPOInventoryAlram2.BackColor = Color.Red;
lb_HPOInventoryAlram2.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1180); //20180821
lb_HPOInventoryAlram2.BringToFront();
int iWidth = lb_HPOInventoryAlram.Width + lb_HPOInventoryAlram2.Width;
lb_HPOInventoryAlram.Left = (Pnl_HPOInventoryAlram.Width - iWidth) / 2;
lb_HPOInventoryAlram2.Left = lb_HPOInventoryAlram.Left + lb_HPOInventoryAlram.Width;
int iFill = 3;
lb_HPOInventoryAlram.Top = ((Pnl_HPOInventoryAlram.Height - lb_HPOInventoryAlram.Height) / 2) - iFill;
lb_HPOInventoryAlram2.Top = lb_HPOInventoryAlram.Top;
}
HappyOrderInventoryAlram_StatChange(true);
}
else
{
HappyOrderInventoryAlram_StatChange(false);
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
}
#endregion
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
#region 해피오더 추가재고 실시간 알람 클릭
private void lb_HPOInventoryAlram_Click(object sender, EventArgs e)
{
try
{
HappyOrderInventoryAlram_StatChange(false);
if (sender.GetType().Equals(typeof(Cosmos.UI.CsmLabel)))
{
if (((Cosmos.UI.CsmLabel)sender).Name == "lb_HPOInventoryAlram")
{
WinBasic.ShowWebPos(PosKey.MENU_KEY.HPO_INVENTORY_ALRAM);
}
}
else if (sender.GetType().Equals(typeof(System.Windows.Forms.Panel)))
{
if (((System.Windows.Forms.Panel)sender).Name == "Pnl_HPOInventoryAlram")
{
WinBasic.ShowWebPos(PosKey.MENU_KEY.HPO_INVENTORY_ALRAM);
}
}
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
}
#endregion 해피오더 추가재고 실시간 알람 클릭
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
#region 해피오더 추가재고 실시간 알람 초기화
private void HappyOrderInventoryAlram_StatChange(bool bStat)
{
try
{
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
//기존
/*
if (bStat == true)
{
bInventoryDispStat = true;
lb_HPOInventoryAlram.Visible = true;
lb_HPOInventoryAlram2.Visible = true;
Pnl_HPOInventoryAlram.Visible = true;
}
else
{
iInventoryDispCnt = 0;
bInventoryDispStat = false;
lb_HPOInventoryAlram.Visible = false;
lb_HPOInventoryAlram2.Visible = false;
Pnl_HPOInventoryAlram.Visible = false;
}
*/
//변경
if (bStat == true)
{
lb_HPOInventoryAlram.Visible = true;
lb_HPOInventoryAlram2.Visible = true;
Pnl_HPOInventoryAlram.Visible = true;
}
else
{
bInventoryCancel = true;
lb_HPOInventoryAlram.Visible = false;
lb_HPOInventoryAlram2.Visible = false;
Pnl_HPOInventoryAlram.Visible = false;
}
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
"HappyOrderInventoryAlram [" + bStat + "]" + ex.Message);
}
}
#endregion 해피오더 추가재고 실시간 알람 초기화
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
//#16577 결제창 내부 봉투 추가 기능 도입 start
private void BtnAddBag_Click(object sender, EventArgs e)
{
try
{
string sRet = UserCom.RST_ERR;
//#16577 결제창 내부 봉투 추가 기능 도입 start, 20180920
DataTable dtData = new DataTable();
//#16577 결제창 내부 봉투 추가 기능 도입 end, 20180920
//bool bRet = true;
// 결제 건이 있는지 체크
// 결제 내역 받아 오기
ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
{
// 취소시 제외
if (cPayItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
// 결제 건
if (cPayItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.PAY)
{
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0801));
return;
}
}
//봉투창 표시
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_ADD_BAG });
if (sRet == UserCom.RST_ERR)
{
return;
}
//봉투 선택 한 경우 입력 처리
if (sRet != UserCom.RST_ERR)
{
string[] aParam = sRet.Split(new string[] { "^" }, StringSplitOptions.None);
if (aParam.Length > 0)
{
for (int iRow = 0; iRow < aParam.Length; iRow++)
{
if (string.IsNullOrEmpty(aParam[iRow]) == false)
{
// 상품 등록 처리
m_cSaleMainProc.RegisterPluItem("", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + CmUtil.RPadH(m_cPosStatus.Base.SubShopNo, 10) + aParam[iRow], "");
}
}
}
//#16577 결제창 내부 봉투 추가 기능 도입 start, 20180920
// 상품 판매가 계산
m_cPluService.ItemAmountExeccute(true, true);
DisplayItem(1, false);
//#16577 결제창 내부 봉투 추가 기능 도입 end, 20180920
}
//결제등록 정보 화면 표시
DisplayPayment();
/*
if (bRet == false)
{
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0803));
}
else
{
//WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0802));
}
*/
}
catch (Exception ex)
{
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
ex.Message);
}
}
//#16577 결제창 내부 봉투 추가 기능 도입 end
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
#region 해피포인트 임직원 여부 조회
///
/// 해피포인트 임직원 여부 조회
///
///
///
private string SchHappyPointEmpInfo(string sInPutType, string sInCardNo)
{
string sSchEmpInfo = "";
try
{
m_sInPutType = "";
m_sInMaskData = "";
m_sInEncData = "";
m_sServiceCode = "";
m_sAppCardNo = "";
m_sInPutType = sInPutType;
m_sAppCardNo = sInCardNo;
// 해피포인트 카드만 자동등록 처리
if (sInCardNo.StartsWith(PosConst.HP_CARD_PRIFIX) == false) return sSchEmpInfo;
IPaymentExpUs m_cHappyPoint = (IPaymentExpUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT);
//암호화
EncryptedCardNo(m_sAppCardNo, ref m_sInEncData, ref m_sInMaskData);
// 해피 포인트 적립카드 조회
string[] saRecvdData = null;
string sRet = m_cHappyPoint.SearchPayment(new string[] { sInPutType, m_sInMaskData, m_sInEncData, "1", "", m_sAppCardNo }, ref saRecvdData);
if (sRet != UserCom.RST_OK) return sSchEmpInfo;
//m_sInEncData = sInEncData;
// 조회 데이터 획득
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { });
int nNowPos = 0;
string[] aIrtRsp = new string[Column.POINT_ADD_INFO_SEARCH.LEN.Length];
ItemColumn.ParseMessage(Column.POINT_ADD_INFO_SEARCH.LEN, Column.POINT_ADD_INFO_SEARCH.TYPE, Encoding.Default.GetBytes(cEtcItem.HP_ADD_INFO_SCH), ref nNowPos, ref aIrtRsp);
// 고객정보 중에서 첫번째 카드 선택
sSchEmpInfo = aIrtRsp[Column.POINT_ADD_INFO_SEARCH.SEQ.pointCARDGBCD].Trim();
}
catch (Exception ex)
{
return sSchEmpInfo;
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
}
return sSchEmpInfo;
}
#endregion 해피포인트 임직원 여부 조회
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
}
}