12062 lines
649 KiB
C#
12062 lines
649 KiB
C#
|
using System;
|
|||
|
using System.Data;
|
|||
|
using System.Drawing;
|
|||
|
using System.Windows.Forms;
|
|||
|
using System.Collections;
|
|||
|
using System.Runtime.InteropServices;
|
|||
|
using System.Threading;
|
|||
|
using System.IO;
|
|||
|
|
|||
|
using Cosmos.BaseFrame;
|
|||
|
using Cosmos.UserFrame;
|
|||
|
using Cosmos.ServiceProvider;
|
|||
|
using Cosmos.Common;
|
|||
|
using Cosmos.CommonManager;
|
|||
|
using Cosmos.UI;
|
|||
|
using System.Diagnostics;
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
using System.Text;
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|||
|
|
|||
|
//using Cosmos.Service;
|
|||
|
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|||
|
using System.Drawing.Drawing2D;
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|||
|
|
|||
|
//************************************************************************************************
|
|||
|
// 변경 이력 : 해피포인트 제휴할인 선리딩 처리
|
|||
|
//------------------------------------------------------------------------------------------------
|
|||
|
// - 작 업 자 : 서광원B
|
|||
|
// - 작업일자 : 2017.11.01
|
|||
|
// - 작업내용1 : 매출등록화면에서 상품등록 후
|
|||
|
// 해피포인트 카드 혹은 제휴할인 카드를 리딩했을때
|
|||
|
// 정상적인 카드일 경우 각각의 번호를 저장한다.
|
|||
|
// 이후 '결제' 버튼 클릭 -> 포인트할인결제 화면에서 -> '해피포인트' 버튼 클릭시
|
|||
|
// 저장되어 있던 해피포인트 번호 표시후 조회까지 진행한다.
|
|||
|
// '제휴할인(통합)' 버튼 클릭시에도 동일한 처리를 수행한다.
|
|||
|
// - 작업내용2 : 만약 해피포인트 옵션이 설정되어 있을 경우
|
|||
|
// '결제' 버튼 클릭시 해피포인트 사용 화면을 바로 표시한다.
|
|||
|
// 추가로 만약 해피포인트 카드가 리딩되었다면 조회까지 진행한다.
|
|||
|
//************************************************************************************************
|
|||
|
|
|||
|
//************************************************************************************************
|
|||
|
// 변경 이력 : 바코드 중복 처리
|
|||
|
//------------------------------------------------------------------------------------------------
|
|||
|
// - 작 업 자 : 서광원B
|
|||
|
// - 작업일자 : 2017.11.10
|
|||
|
// - 작업분류 : 2017.10.28 정보운영 판매 바코드 인식
|
|||
|
// - 요청사항 : 1.상품마스터에는 바코드 복수 등록이 가능하나, 판매POS는 복수로 적용불가함.
|
|||
|
// - 바코드가 키값으로 되어 있어 중복적용이 불가능한 구조 개선 필요
|
|||
|
// 2.1개의 상품에 바코드 정보가 여러 개인 경우 제품선택화면에서 사용자가
|
|||
|
// 상품선택할 수 있도록 기능 개선
|
|||
|
// - 작업내용 : 상품마스터테이블(MST_ITEM), 상품바코드테이블(MST_ITEM_BAR_CD)을 대상으로
|
|||
|
// 만약 1개의 상품을 리딩했는데, 마침 상품바코드테이블에 데이터가 2개 이상일 경우
|
|||
|
// 새로 생성한 상품 선택 화면(frmMultiItem) 에서 사용자가 원하는 상품을 선택할 수 있도록 한다.
|
|||
|
// cf) 상품코드와 상품명을 리턴하는 쿼리 함수(SeletItemMstNmoScanCode) 추가
|
|||
|
//************************************************************************************************
|
|||
|
namespace Cosmos.Win
|
|||
|
{
|
|||
|
public partial class frmSaleMain : Form, IFormSaleMainUs
|
|||
|
{
|
|||
|
private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
|
|||
|
private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object(객체)
|
|||
|
private PosStatus m_cPosStatus = null; // 기본정보 참조
|
|||
|
private TranStatus m_cTrnStatus = null; // 거래정보 참조
|
|||
|
private DeviceStatus m_cDevStatus = null; // 장치저보 참조
|
|||
|
private PosOLEDevice.DelegateOlePos delegatePos;
|
|||
|
|
|||
|
private IDataProcessUs m_cDataService = null; // 거래데이터 합계금액 계산 및 관리
|
|||
|
private ISalePluItemUs m_cPluService = null; // 판매 등록 관리
|
|||
|
private ICustDisplayUs m_cCustDisp = null; // 고객디스플레이 관리
|
|||
|
private IMasterUs m_cMaster = null; // 마스터 관리
|
|||
|
private ICampaignUs m_cCampaingMain = null; // 캠페인 관리
|
|||
|
private IDataCommonUs m_cDataCommon = null; // POS 공통함수 인터페이스
|
|||
|
private IPaymentUs m_cPayCancel = null; // 결제 취소 공통
|
|||
|
private ITableUs m_cTableSvr = null; // 테이블 관리
|
|||
|
private IWatcherBack m_cBackgroundDown = null;
|
|||
|
|
|||
|
private IDataServiceUs m_cPosNoticeCom = null; // 공지사항 공통
|
|||
|
private SaleMainProcess m_cSaleMainProc = null; // 판매화면 기능 관리
|
|||
|
|
|||
|
private ISvr2Tran m_cSvr2Tran = null; // 서버시간 동기화
|
|||
|
|
|||
|
//17.05.18 dkshin 쇼킹박스 추가
|
|||
|
private ISaleCompleteUs m_cSaleService = null;
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
private IICReaderUs m_cDeviceICReader = null;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 입력구분
|
|||
|
/// </summary>
|
|||
|
private string m_sInPutType = "";
|
|||
|
/// <summary>
|
|||
|
/// 마스킹데이터
|
|||
|
/// </summary>
|
|||
|
private string m_sInMaskData = "";
|
|||
|
/// <summary>
|
|||
|
/// 카드데이터(암호화)
|
|||
|
/// </summary>
|
|||
|
private string m_sInEncData = "";
|
|||
|
/// <summary>
|
|||
|
/// 서비스코드
|
|||
|
/// </summary>
|
|||
|
private string m_sServiceCode = "";
|
|||
|
/// <summary>
|
|||
|
/// 승인카드번호
|
|||
|
/// </summary>
|
|||
|
private string m_sAppCardNo = "";
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|||
|
|
|||
|
private int m_nTimeSyncFlag = 0;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 부가메뉴선택유형(1:단일선택, 2:멀티선택)
|
|||
|
/// </summary>
|
|||
|
string m_sSubMenuGrpSelType = "";
|
|||
|
/// <summary>
|
|||
|
/// 화면 초기화 여부
|
|||
|
/// </summary>
|
|||
|
private bool m_bFormInint = false;
|
|||
|
/// <summary>
|
|||
|
/// 상품키 구성 마스터
|
|||
|
/// </summary>
|
|||
|
//private DataTable m_dtMstItemKeyCompnt;
|
|||
|
|
|||
|
private ArrayList m_alMotDtl = new ArrayList(); // 결제 수단 정보 MOT 배열
|
|||
|
private int iMaxPage; // 결제 수단 정보 MOT 최대 페이지 수
|
|||
|
private int iNowPage; // 결제 수단 정보 MOT 현재 페이지
|
|||
|
private readonly string MotbtnName = "BtnMotPay"; // 결제 수단 기본 버튼명
|
|||
|
|
|||
|
private Hashtable m_htMenuControls; // 상단 SLIDE 메뉴버튼 컨트롤 정보
|
|||
|
private ArrayList m_alMenuHead = new ArrayList(); // 상단 SLIDE 메뉴타이틀정의 배열
|
|||
|
private ArrayList m_alMenuProc = new ArrayList(); // 상단 SLIDE 메뉴정의 배열
|
|||
|
|
|||
|
private string m_SlideMenuKey = string.Empty; // 슬라이드 메뉴키
|
|||
|
|
|||
|
#region 해피포인트 선리딩 처리를 위한 변수
|
|||
|
DataTable gdtFuncKey = new DataTable(); // 해피포인트 및 제휴할인 카드를 선리딩할 수 있는지 여부 확인을 위한 테이블
|
|||
|
string strDispPriorReading = ""; // 선리딩된 내역을 상태바에 표시하기 위한 스트링 변수
|
|||
|
#endregion
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 메뉴상단표시위치
|
|||
|
/// </summary>
|
|||
|
private int m_nTopPos = 0;
|
|||
|
private string m_sPosMenuKeyIn = "";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// frmSaleMain 호출자 설정
|
|||
|
/// </summary>
|
|||
|
private string m_sSaleMainCaller = "";
|
|||
|
public string SetSaleMainCaller { set { m_sSaleMainCaller = value; } }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 상품키 구성마스터
|
|||
|
/// </summary>
|
|||
|
DataTable m_dtMstItemKeyCompnt = new DataTable();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 마스터 배치 다운로드 시간
|
|||
|
/// </summary>
|
|||
|
private string m_sMstBatchDownDate = "";
|
|||
|
|
|||
|
private bool AllianceCardTranMode = false; //false 취소 , true 등록
|
|||
|
private DateTime AllianceCardTime = new DateTime();
|
|||
|
|
|||
|
private bool AllianceCardVisibleFlag2 = false;
|
|||
|
public int AllianceCardVisibleCnt2 = 0;
|
|||
|
|
|||
|
private string m_sPluItemCode = string.Empty; // 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|||
|
private DateTime BuyHistTime = new DateTime();
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
|
|||
|
//#20180605 해피오더 개선 start
|
|||
|
|
|||
|
//즉시주문, 예약주문 알림
|
|||
|
//즉시픽업
|
|||
|
private int m_nTimeSync_HpOrd_Direct = 0;
|
|||
|
//즉시배달
|
|||
|
private int m_nTimeSync_HpOrd_Reserv = 0;
|
|||
|
|
|||
|
//#20180605 해피오더 개선 end
|
|||
|
|
|||
|
//#15058 해피오더 버튼 변경_20180612 start,phj
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 1분 카운트
|
|||
|
/// </summary>
|
|||
|
private int iCount = 0;
|
|||
|
/// <summary>
|
|||
|
/// 해피오더 신규버튼 (true: 활성화, false: 비활성화)
|
|||
|
/// </summary>
|
|||
|
private bool bSaleMain = true;
|
|||
|
|
|||
|
//#15058 해피오더 버튼 변경_20180612 end,phj
|
|||
|
|
|||
|
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
|
|||
|
//기존
|
|||
|
/*
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
|
|||
|
/// <summary>
|
|||
|
/// 해피오더 실시간 재고 알림 디스플레이 상태 (true : 디스플레이 false: 미디스플레이)
|
|||
|
/// </summary>
|
|||
|
private bool bInventoryDispStat = false;
|
|||
|
/// <summary>
|
|||
|
/// 특별한 액션이 없을 때 (1분동안보여줌)
|
|||
|
/// </summary>
|
|||
|
private int iInventoryDispCnt = -1;
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
|
|||
|
*/
|
|||
|
|
|||
|
//변경
|
|||
|
/// <summary>
|
|||
|
/// true: 닫기, false: 열기
|
|||
|
/// </summary>
|
|||
|
private bool bInventoryCancel = false;
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
|
|||
|
|
|||
|
|
|||
|
#region 생성자, 폼로딩
|
|||
|
/// <summary>
|
|||
|
/// 생성자
|
|||
|
/// </summary>
|
|||
|
public frmSaleMain()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
|
|||
|
base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true);
|
|||
|
//this.UpdateStyles();
|
|||
|
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|||
|
this.picPayBack.Paint += new System.Windows.Forms.PaintEventHandler(this.picPayBack_Gradient);
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|||
|
|
|||
|
m_cPosStatus = (PosStatus)StateObject.POS; //POS 기본정보
|
|||
|
m_cTrnStatus = (TranStatus)StateObject.TRAN; //POS 거래정보
|
|||
|
m_cDevStatus = (DeviceStatus)StateObject.DEVICE;
|
|||
|
|
|||
|
m_cDataService = (IDataProcessUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_SERVICE);
|
|||
|
m_cPluService = (ISalePluItemUs)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.SALE_PLU_ITEM);
|
|||
|
m_cCustDisp = (ICustDisplayUs)sManager.InitServiceInstance(ServiceLists.ASV_CUSTDISPLAY.DLL, ServiceLists.ASV_CUSTDISPLAY.CUST_DISPLAY);
|
|||
|
m_cMaster = (IMasterUs)sManager.InitServiceInstance(ServiceLists.ASV_MASTER.DLL, ServiceLists.ASV_MASTER.POS_MASTER);
|
|||
|
m_cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|||
|
m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
|
|||
|
m_cPayCancel = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.PAYMENTCANCEL);
|
|||
|
m_cTableSvr = (ITableUs)sManager.InitServiceInstance(ServiceLists.BSV_TABLE.DLL, ServiceLists.BSV_TABLE.TABLE_SERVICE);
|
|||
|
m_cPosNoticeCom = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.POS_NOTICE_COM);
|
|||
|
m_cSvr2Tran = (ISvr2Tran)sManager.InitServiceInstance(ServiceLists.BSV_SALE.DLL, ServiceLists.BSV_SALE.SVR2TRAN);
|
|||
|
// 백그라운드 다운 데몬 기동
|
|||
|
m_cBackgroundDown = (IWatcherBack)sManager.InitServiceInstance(ServiceLists.AGENT_BACKGROUND_DOWN.DLL, ServiceLists.AGENT_BACKGROUND_DOWN.BACKGROUND_DOWN_MAIN);
|
|||
|
|
|||
|
//17.05.18 dkshin 쇼킹박스 추가
|
|||
|
m_cSaleService = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE);
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
m_cDeviceICReader = (IICReaderUs)sManager.InitServiceInstance(ServiceLists.AGENT_OLEDEVICE.DLL, ServiceLists.AGENT_OLEDEVICE.DEVICE_ICREADER);
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|||
|
|
|||
|
m_cSaleMainProc = new SaleMainProcess();
|
|||
|
|
|||
|
//OLE 입력 델리게이트 생성
|
|||
|
delegatePos = new PosOLEDevice.DelegateOlePos(OnDeviceEvent);
|
|||
|
|
|||
|
|
|||
|
#region 초기화 관련 설정들은 Form 생성 전 한 번만 호출되도록 생성자 쪽으로 이동(CHOCY-20160707)
|
|||
|
//// 세트 할인 마스터 로딩
|
|||
|
//m_cPluService.LoadSetMenuDisMaster();
|
|||
|
//// 캠페인 마스터 로딩
|
|||
|
//m_cCampaingMain.LoadCampaignCondition(new string[] { });
|
|||
|
|
|||
|
//// 그리드 초기화
|
|||
|
//InitializeGrid();
|
|||
|
|
|||
|
////// 컨트롤 초기화
|
|||
|
//InitControl();
|
|||
|
|
|||
|
////// 메뉴 버튼 초기화 및 로드
|
|||
|
//LoadMenuMaster();
|
|||
|
|
|||
|
////// 기능키 버튼 초기화 및 로드
|
|||
|
//LoadFuncMaster();
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|||
|
#region picPayBack Paint 이벤트
|
|||
|
private void picPayBack_Gradient(object sender, PaintEventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//picPayBack 그라데이션 처리
|
|||
|
#region picPayBack 그라데이션 처리
|
|||
|
Color startColor = Color.FromArgb(138, 147, 165);
|
|||
|
Color middleColor1 = Color.FromArgb(138, 147, 165);
|
|||
|
Color middleColor2 = Color.FromArgb(33, 44, 56);
|
|||
|
Color endColor = Color.FromArgb(33, 44, 56);
|
|||
|
|
|||
|
LinearGradientBrush br = new LinearGradientBrush(this.picPayBack.ClientRectangle,
|
|||
|
System.Drawing.Color.FromArgb(255, 255, 255),
|
|||
|
System.Drawing.Color.Black,
|
|||
|
0,
|
|||
|
false);
|
|||
|
|
|||
|
ColorBlend cb = new ColorBlend();
|
|||
|
//그라데이션 시작 위치 설정
|
|||
|
cb.Positions = new[] { 0, 1 / 10f, 1 / 2f, 1 };
|
|||
|
//그라데이션 시작 위치별 색상 설정
|
|||
|
cb.Colors = new[] { startColor, middleColor1, middleColor2, endColor };
|
|||
|
//그라데이션 처리 회전 각도
|
|||
|
br.RotateTransform(90);
|
|||
|
br.InterpolationColors = cb;
|
|||
|
|
|||
|
e.Graphics.FillRectangle(br, this.picPayBack.ClientRectangle);
|
|||
|
#endregion picPayBack 그라데이션 처리
|
|||
|
|
|||
|
//하단 정보 박스 테두리 색상 변경
|
|||
|
#region 하단 정보 박스 테두리 색상 변경
|
|||
|
Pen p = new Pen(Color.Black);
|
|||
|
Graphics g = e.Graphics;
|
|||
|
int variance = 1;
|
|||
|
//해피포인트 정보
|
|||
|
g.DrawRectangle(p, new Rectangle(lblHappyPoint.Location.X - variance, lblHappyPoint.Location.Y - variance, lblHappyPoint.Width + variance, lblHappyPoint.Height + variance));
|
|||
|
//금액 정보
|
|||
|
g.DrawRectangle(p, new Rectangle(lblPayAmtBack.Location.X - variance, lblPayAmtBack.Location.Y - variance, lblPayAmtBack.Width + variance, lblPayAmtBack.Height + variance));
|
|||
|
//결제 정보
|
|||
|
g.DrawRectangle(p, new Rectangle(lstPaymentList.Location.X, lstPaymentList.Location.Y - variance, lstPaymentList.Width, lstPaymentList.Height + variance));
|
|||
|
#endregion 하단 정보 박스 테두리 색상 변경
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
#endregion picPayBack Paint 이벤트
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|||
|
|
|||
|
private void frmSaleMain_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "");
|
|||
|
|
|||
|
#region 초기화 관련 설정들은 Form 생성 전 한 번만 호출되도록 생성자 쪽으로 이동(CHOCY-20160707)
|
|||
|
// 세트 할인 마스터 로딩
|
|||
|
m_cPluService.LoadSetMenuDisMaster();
|
|||
|
// 캠페인 마스터 로딩
|
|||
|
m_sMstBatchDownDate = m_cPosStatus.Base.MstBatchDownDate;
|
|||
|
m_cCampaingMain.LoadCampaignCondition(new string[] { });
|
|||
|
|
|||
|
// 그리드 초기화
|
|||
|
InitializeGrid();
|
|||
|
|
|||
|
// 컨트롤 초기화
|
|||
|
InitControl();
|
|||
|
|
|||
|
// 메뉴 버튼 초기화 및 로드
|
|||
|
LoadMenuMaster();
|
|||
|
|
|||
|
// 기능키 버튼 초기화 및 로드
|
|||
|
LoadFuncMaster();
|
|||
|
|
|||
|
// 컨트롤 CLEAR
|
|||
|
ClearControl();
|
|||
|
|
|||
|
// 프로그램 버전정보 표시
|
|||
|
lblPgmVersion.Text = string.Format("VER:{0}", m_cPosStatus.Ver.ProgramVer == "" ? "2016011000001" : m_cPosStatus.Ver.ProgramVer);
|
|||
|
|
|||
|
if (m_cPosStatus.Base.MstDownDate.Trim() != "") lblDBVersion.Text = "MST:" + m_cPosStatus.Base.MstDownDate;
|
|||
|
|
|||
|
//#20171011 영업일, 시스템일시 위치 변경 start
|
|||
|
//개점일자 표시
|
|||
|
//lblSaleDate.Text = string.Format("SaleDate : {0}", m_cPosStatus.Base.SaleDate == "" ? m_cPosStatus.Global.DateToCulture("20000101") : m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate));
|
|||
|
//#20171011 영업일, 시스템일시 위치 변경 end
|
|||
|
|
|||
|
// 판매모드 초기화
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
|
|||
|
|
|||
|
InitializeGrid();
|
|||
|
// 판매화면 초기화
|
|||
|
DisplayInit(false, true);
|
|||
|
WinSale.SetTradType(lblSaleStatus, pnlTopBg, ItemConst.TRAN_DIV.NORMAL, ItemConst.TRAN_KIND.NORMAL.SALE);
|
|||
|
SetOwnPartDiv(false);
|
|||
|
|
|||
|
GetClientPOSVersion();//실행파일 버젼 표시; girak.kim; 2017.08.30.001
|
|||
|
#endregion
|
|||
|
|
|||
|
PosOLEDevice.SetEventHandle(delegatePos);
|
|||
|
|
|||
|
//if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT)
|
|||
|
if (m_sSaleMainCaller == PosConst.SAL_MAIN_FORM_CALLER_TYPE.TABLE_SVC)
|
|||
|
{
|
|||
|
switch (m_cPosStatus.Sale.EtcOperateMode)
|
|||
|
{
|
|||
|
case PosConst.ETC_OPERATION_MODE.NORMAL:
|
|||
|
case PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY:
|
|||
|
// 테이블 서비스에서 호출 되었을 경우 처리
|
|||
|
m_cPosStatus.Sale.TableInfo = CmUtil.RPadH(m_cTrnStatus.Head.OrderFlag, 1) + CmUtil.RPadH(m_cTrnStatus.Head.FloorCd, 4) + CmUtil.RPadH(m_cTrnStatus.Head.TableNo, 4);
|
|||
|
|
|||
|
string ret = m_cTableSvr.SelectMenuOrder();
|
|||
|
if (ret != UserCom.RST_OK)
|
|||
|
{
|
|||
|
WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087);
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END;
|
|||
|
tmrCustCount.Enabled = true;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
if (aSaleItem.Count == 0 && m_cPosStatus.Sale.EtcOperateMode != PosConst.ETC_OPERATION_MODE.NORMAL)
|
|||
|
{
|
|||
|
WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087);
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END;
|
|||
|
tmrCustCount.Enabled = true;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (aSaleItem.Count > 0)
|
|||
|
{
|
|||
|
// 판매중 모드 설정
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
|
|||
|
// 판매화면 초기화
|
|||
|
DisplayInit(true, false);
|
|||
|
// 상품등록 내역 표시
|
|||
|
DisplayItem(0, false);
|
|||
|
|
|||
|
// 판매진행상태 재설정
|
|||
|
m_cPosStatus.Sale.SaleFlow = m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL
|
|||
|
? PosConst.SALE_FLOW.SALE_DOING
|
|||
|
: PosConst.SALE_FLOW.PAY_WAIT;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 상품등록 대기 모드 설정
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
|
|||
|
// 판매화면 초기화
|
|||
|
DisplayInit(true, false);
|
|||
|
}
|
|||
|
|
|||
|
if (m_cTrnStatus.Head.OrderFlag == PosConst.ORDER_TYPE.NORMAL) // 테이블
|
|||
|
{
|
|||
|
if (m_cTrnStatus.Head.OrderPicNm.Trim() == "")
|
|||
|
lblTableInfo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0176) + ": " + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm;
|
|||
|
else
|
|||
|
lblTableInfo.Text = "[" + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm + "]" + m_cTrnStatus.Head.OrderPicNm;
|
|||
|
}
|
|||
|
break;
|
|||
|
case PosConst.ETC_OPERATION_MODE.NO_ORDER_SALE:
|
|||
|
default:
|
|||
|
// 상품등록 대기 모드 설정
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
|
|||
|
// 판매화면 초기화
|
|||
|
DisplayInit(true, false);
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT && m_cTrnStatus.Head.OrderFlag == PosConst.ORDER_TYPE.NORMAL)
|
|||
|
{
|
|||
|
// 고객 수 입력 폼 설정
|
|||
|
tmrCustCount.Enabled = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// lblCustCount
|
|||
|
}
|
|||
|
}
|
|||
|
else if (m_sSaleMainCaller == PosConst.SAL_MAIN_FORM_CALLER_TYPE.HPORD)
|
|||
|
{
|
|||
|
// 해피오더에서 호출 되었을 경우 처리
|
|||
|
ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
if (aSaleItem.Count == 0)
|
|||
|
{
|
|||
|
WinManager.ConfirmMessage(POS_MESSAGE.ERROR.MSG_0087);
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_END;
|
|||
|
tmrCustCount.Enabled = true;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
// 판매중 모드 설정
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
|
|||
|
// 판매화면 초기화
|
|||
|
DisplayInit(true, false);
|
|||
|
// 상품등록 내역 표시
|
|||
|
DisplayItem(0, false);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 그 외에서 호출 되었을 경우 처리
|
|||
|
|
|||
|
// 거래 초기화
|
|||
|
m_cDataService.InitTranHeader();
|
|||
|
m_cDataService.DeleteTranItem();
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ChangeCashAmt = 0;
|
|||
|
|
|||
|
// 더치페이 진행중 초기화!
|
|||
|
m_cPosStatus.Sale.PayingDutchFlag = "";
|
|||
|
|
|||
|
if (m_cPosStatus.Base.TrainingFlag == "1")
|
|||
|
GetTopMsgMode("0");
|
|||
|
else
|
|||
|
GetTopMsgMode("");
|
|||
|
|
|||
|
// 타이머 호출
|
|||
|
tmrSaleTimer.Enabled = true;
|
|||
|
tmrDateTime.Enabled = true;
|
|||
|
|
|||
|
//-------------------------------------------------
|
|||
|
// 만약 판매화면 초기화시
|
|||
|
// 해피포인트 제휴할인 변수 초기화 함수를 호출한다.
|
|||
|
//-------------------------------------------------
|
|||
|
#region 판매화면 초기화시 해피포인트 제휴할인 변수 초기화 함수를 호출한다.
|
|||
|
SubPriorReadingVarClear(true);
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
private void frmSaleMain_FormClosing(object sender, FormClosingEventArgs e)
|
|||
|
{
|
|||
|
lblTopMsgMode.MpStop();
|
|||
|
tmrSaleTimer.Enabled = false;
|
|||
|
tmrDateTime.Enabled = false;
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "");
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 그리드 초기화
|
|||
|
/// <summary>
|
|||
|
/// 그리드 초기화
|
|||
|
/// </summary>
|
|||
|
private void InitializeGrid()
|
|||
|
{
|
|||
|
int[] arGridItemWidth = new int[] { 0 };
|
|||
|
bool[] arGridItemClickEventFlag = new bool[] { true };
|
|||
|
string[] arGridItemText = new string[] { "" };
|
|||
|
StringAlignment[] arHStringAlignment = new StringAlignment[] { StringAlignment.Center };
|
|||
|
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
arGridItemWidth = new int[] { 40, 10, 175, 90, 60, 90, 100, 50, 50 };
|
|||
|
SaleItemGrid.DisplayItemCount = 7;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Base.DesignType == "2") // 2안
|
|||
|
{
|
|||
|
arGridItemWidth = new int[] { 30, 10, 115, 65, 50, 70, 100, 40, 40 };
|
|||
|
SaleItemGrid.DisplayItemCount = 8;
|
|||
|
}
|
|||
|
else // 3안
|
|||
|
{
|
|||
|
arGridItemWidth = new int[] { 30, 10, 115, 63, 40, 67, 75, 40, 30 };
|
|||
|
//arGridItemWidth = new int[] { 30, 10, 80, 70, 50, 70, 90, 40, 30 };
|
|||
|
SaleItemGrid.DisplayItemCount = 8;
|
|||
|
}
|
|||
|
int[] arFontSize = new int[] { 9, 10, 10, 10, 10, 10, 10, 10, 10 };
|
|||
|
|
|||
|
arGridItemText = new string[] { MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0014),
|
|||
|
"",
|
|||
|
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0015),
|
|||
|
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0016),
|
|||
|
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0017),
|
|||
|
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018),
|
|||
|
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0019),
|
|||
|
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0020),
|
|||
|
MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0021)};
|
|||
|
arHStringAlignment = new StringAlignment[] { StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center, StringAlignment.Center };
|
|||
|
arGridItemClickEventFlag = new bool[] { false, false, false, false, false, false, false, false, true };
|
|||
|
|
|||
|
// Set Item Data Grid Information
|
|||
|
//SaleItemGrid.DisplayItemCount = 8;
|
|||
|
SaleItemGrid.GapSize = 0;
|
|||
|
SaleItemGrid.BackColor = Color.White;
|
|||
|
|
|||
|
// Row Item
|
|||
|
GridDataItem cGridDataItem = new GridDataItem();
|
|||
|
cGridDataItem.GridItemBackColor = Color.FromArgb(234, 234, 234);
|
|||
|
cGridDataItem.GridItemBackColorClick = Color.White;
|
|||
|
cGridDataItem.GridItemBackImage = null;
|
|||
|
cGridDataItem.GridItemBackImageClick = null;
|
|||
|
cGridDataItem.GridItemData = new System.Collections.Hashtable();
|
|||
|
|
|||
|
// Set Column
|
|||
|
for (int nLoop = 0; nLoop < arGridItemWidth.Length; nLoop++)
|
|||
|
{
|
|||
|
CsmGridExRowData cGridExRowData = new CsmGridExRowData();
|
|||
|
|
|||
|
cGridExRowData.GridItemWidth = arGridItemWidth[nLoop];
|
|||
|
cGridExRowData.HStringAlignment = arHStringAlignment[nLoop];
|
|||
|
cGridExRowData.VStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.GridItemText = arGridItemText[nLoop];
|
|||
|
cGridExRowData.GridItemValue = arGridItemText[nLoop];
|
|||
|
|
|||
|
//할인 경우 빨강색!
|
|||
|
if (MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018) == arGridItemText[nLoop])
|
|||
|
cGridExRowData.ForeColor = Color.Red;
|
|||
|
else
|
|||
|
cGridExRowData.ForeColor = Color.Black;
|
|||
|
|
|||
|
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
|
|||
|
cGridExRowData.FontSize = arFontSize[nLoop];
|
|||
|
|
|||
|
cGridExRowData.FontStyle = FontStyle.Bold;
|
|||
|
cGridExRowData.ClickEventFlag = arGridItemClickEventFlag[nLoop];
|
|||
|
|
|||
|
//거래 취소 경우 아이콘 삽입!
|
|||
|
if (MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0021) == arGridItemText[nLoop])
|
|||
|
{
|
|||
|
cGridExRowData.GridRowImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.ITEM_GRID_HDR_DEL);
|
|||
|
}
|
|||
|
|
|||
|
// Add Column
|
|||
|
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
|
|||
|
}
|
|||
|
|
|||
|
// Grid Data Header 설정
|
|||
|
SaleItemGrid.SetGridDataHeader(35, cGridDataItem, GRID_EX_ITEM_BORDER_STYLE.BOTTOM, 1, Color.FromArgb(234, 234, 234));
|
|||
|
SaleItemGrid.Invalidate();
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 컨트롤 초기화
|
|||
|
/// <summary>
|
|||
|
/// 폼 컨트롤 초기화
|
|||
|
/// </summary>
|
|||
|
private void InitControl()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
this.SuspendLayout();
|
|||
|
|
|||
|
FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT);
|
|||
|
FormManager.SetFormAllControlColor(this, BaseCom.NxImgPath);
|
|||
|
|
|||
|
//btnMenu.Font = new Font("돋움", btnMenu.Font.Size, btnMenu.Font.Style);
|
|||
|
|
|||
|
lblTopMsgMode.csmMoveFont = new Font(m_cPosStatus.Base.FONT, 21);
|
|||
|
|
|||
|
//폼 크기 설정
|
|||
|
this.Location = new Point(0, 0);
|
|||
|
this.Size = new Size(1024, 768);
|
|||
|
|
|||
|
//picTopBg.BackgroundImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MAIN_TOP_BG);
|
|||
|
picFooterBg.BackgroundImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MAIN_FOOTER_BG);
|
|||
|
|
|||
|
picSaleBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.SALE_BG + m_cPosStatus.Base.DesignType + ".png");
|
|||
|
|
|||
|
//BtnPayCanc.ClickImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BUTTON_PAY_MAIN_FUNC_PRESS);
|
|||
|
//BtnPayMain.ClickImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BUTTON_PAY_MAIN_FUNC_PRESS);
|
|||
|
|
|||
|
picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON);
|
|||
|
picWeb.Tag = "ON";
|
|||
|
lblWeb.Tag = "0";
|
|||
|
|
|||
|
// 라벨 초기화 및 다국어 처리
|
|||
|
lblQtySaleAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.QTY_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0035);
|
|||
|
lblDiscountAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.DC_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0036);
|
|||
|
lblVatSvc.Text = PosConst.SALE_DISP_SPCL_CHAR.VAT_SVC_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0981);
|
|||
|
lblRecvedAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.RECV_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0366);
|
|||
|
//lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
|
|||
|
lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
|
|||
|
btnSubMenuExit.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0040);
|
|||
|
|
|||
|
lblPayQtySaleAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.QTY_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0035);
|
|||
|
lblPayDiscountAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.DC_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0036);
|
|||
|
lblPayRecvAmt.Text = PosConst.SALE_DISP_SPCL_CHAR.RECV_AMT_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0366);
|
|||
|
//lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
|
|||
|
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
|
|||
|
lblPayVatSvc.Text = PosConst.SALE_DISP_SPCL_CHAR.VAT_SVC_CHR + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0981);
|
|||
|
|
|||
|
lblOffLine.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1020);
|
|||
|
|
|||
|
if (string.IsNullOrEmpty(lblOffLine.Text) == true)
|
|||
|
lblOffLine.Text = "The currently offline. Please check your nework.";
|
|||
|
|
|||
|
padInPut.BtnMinusEnable = true;
|
|||
|
padInPut.BtnPlusEnable = true;
|
|||
|
padInPut.BtnQtyEnable = true;
|
|||
|
padInPut.BtnSearchEnable = true;
|
|||
|
|
|||
|
padInPut.QtyBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0017);
|
|||
|
padInPut.ClearBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0817);
|
|||
|
padInPut.SearchBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1018);
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
|
|||
|
csmLabel5.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1123);
|
|||
|
csmLabel6.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1124);
|
|||
|
csmLabel7.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1125);
|
|||
|
csmLabel8.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1126);
|
|||
|
csmLabel9.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1127);
|
|||
|
csmLabel10.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1128);
|
|||
|
csmLabel14.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1129);
|
|||
|
csmLabel15.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1130);
|
|||
|
|
|||
|
pnlBuyHist.Visible = false;
|
|||
|
|
|||
|
|
|||
|
//#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj
|
|||
|
//적용 시 주석처리하고 아래 것으로 변경
|
|||
|
//pnlBuyHistMot.BackColor = Color.FromArgb(20, 92, 180);
|
|||
|
//pnlBuyHistMot.ForeColor = Color.White;
|
|||
|
//lblBuyHistMot.BackColor = Color.FromArgb(20, 92, 180);
|
|||
|
//lblBuyHistMot.ForeColor = Color.White;
|
|||
|
|
|||
|
//적용 시 주석해제
|
|||
|
pnlBuyHistMot.BackColor = Color.FromArgb(255, 255, 128);
|
|||
|
pnlBuyHistMot.ForeColor = Color.Black;
|
|||
|
lblBuyHistMot.BackColor = Color.FromArgb(255, 255, 128);
|
|||
|
lblBuyHistMot.ForeColor = Color.Black;
|
|||
|
//#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|||
|
pnlBuyHistMot.Visible = false;
|
|||
|
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
|
|||
|
{
|
|||
|
//#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj
|
|||
|
//기존
|
|||
|
//FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 645, 50, 12);
|
|||
|
//FormManager.SetControlSize(lblBuyHistMot, 0, 0, 645, 50, 12);
|
|||
|
//변경
|
|||
|
FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 645, 100, 16);
|
|||
|
FormManager.SetControlSize(lblBuyHistMot, 0, 0, 645, 100, 16);
|
|||
|
//#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//#20180524 구매이력조회 상단 패널 사이즈 조정 start,phj
|
|||
|
//기존
|
|||
|
//FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 1024, 50, 12);
|
|||
|
//FormManager.SetControlSize(lblBuyHistMot, 0, 0, 1024, 50, 12);
|
|||
|
//변경
|
|||
|
FormManager.SetControlSize(pnlBuyHistMot, 0, 0, 1024, 100, 16);
|
|||
|
FormManager.SetControlSize(lblBuyHistMot, 0, 0, 1024, 100, 16);
|
|||
|
//#20180524 구매이력조회 상단 패널 사이즈 조정 end,phj
|
|||
|
}
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|||
|
|
|||
|
//#15525 고객구매이력 수정 요청 start
|
|||
|
//VIP 여부 안내 표시
|
|||
|
pnlBuyHistVip.Visible = false;
|
|||
|
FormManager.SetControlSize(pnlBuyHistVip, 311, 99, 402, 400);
|
|||
|
//#15525 고객구매이력 수정 요청 end
|
|||
|
|
|||
|
SetCmsRichTbMotMsg(rtbMotSale, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.SALE_WAIT_MOT, "");
|
|||
|
|
|||
|
InitControlLocation();
|
|||
|
|
|||
|
//시작 MOT 사용 여부
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "0")
|
|||
|
{
|
|||
|
pnlMotSale.Visible = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pnlMotSale.Visible = true;
|
|||
|
}
|
|||
|
|
|||
|
Color clrBtnBack = Color.FromArgb(231, 233, 236); //CmUtil.GetColorToString(m_cPosStatus.Mst.ThemeColor);
|
|||
|
|
|||
|
btnItemGridDown.BackColor = clrBtnBack;
|
|||
|
btnItemGridBottom.BackColor = clrBtnBack;
|
|||
|
btnItemGridTop.BackColor = clrBtnBack;
|
|||
|
btnItemGridUp.BackColor = clrBtnBack;
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
|
|||
|
{
|
|||
|
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), 0, 0, 0);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1009), 0, 0, 0);
|
|||
|
}
|
|||
|
lblIFStatus2.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0464), 0);
|
|||
|
lblIFStatus3.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0465), 0);
|
|||
|
|
|||
|
//if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
|
|||
|
//{
|
|||
|
// lblIFStatus1.Visible = false;
|
|||
|
//}
|
|||
|
|
|||
|
//if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT036), "0") == "0")
|
|||
|
//{
|
|||
|
// lblIFStatus2.Visible = false;
|
|||
|
//}
|
|||
|
|
|||
|
//if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT037), "0") == "0")
|
|||
|
//{
|
|||
|
// lblIFStatus3.Visible = false;
|
|||
|
//}
|
|||
|
|
|||
|
lblAnniv.Text = "";
|
|||
|
lblAnniv.Tag = "";
|
|||
|
|
|||
|
TopMenuLocation();
|
|||
|
|
|||
|
|
|||
|
//===========================================================================================
|
|||
|
// 결제화면
|
|||
|
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|||
|
//기존
|
|||
|
//picPayBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.PAY_BACKGROUND);
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|||
|
|
|||
|
//버튼 초기화
|
|||
|
BtnPayCanc.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0044);
|
|||
|
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045);
|
|||
|
|
|||
|
lblPayStep1.Text = string.Format("STEP 1\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0046));
|
|||
|
lblPayStep2.Text = string.Format("STEP 2\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0047));
|
|||
|
lblPayStep3.Text = string.Format("STEP 3\r\n━\r\n{0}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0048));
|
|||
|
|
|||
|
|
|||
|
picMotPayImg.Parent = pnlCardMot;
|
|||
|
|
|||
|
PayListInit();
|
|||
|
|
|||
|
// 기능기 초기화
|
|||
|
LoadFuncMasterPayment();
|
|||
|
|
|||
|
SetSaleMot();
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
this.ResumeLayout(false);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 상단 표시 메뉴 처리
|
|||
|
/// </summary>
|
|||
|
private void TopMenuLocation()
|
|||
|
{
|
|||
|
int iBasciLocation = 0;
|
|||
|
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
|
|||
|
{
|
|||
|
//800
|
|||
|
iBasciLocation = 220;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//1024
|
|||
|
iBasciLocation = 263;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//온도표시
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT039), "0") != "1")
|
|||
|
{
|
|||
|
pnlIFStatus4.Visible = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pnlIFStatus4.Visible = true;
|
|||
|
|
|||
|
pnlIFStatus4.Location = new Point(iBasciLocation, 25);
|
|||
|
|
|||
|
iBasciLocation = iBasciLocation + pnlIFStatus4.Width;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//#15058 해피오더 버튼 변경_20180612 start,phj
|
|||
|
PnlNewHPOrd_Disp.Visible = false;
|
|||
|
NewHPOrd_Disp2.Visible = false;
|
|||
|
NewHPOrd_Disp.Visible = false;
|
|||
|
//#15058 해피오더 버튼 변경_20180612 end,phj
|
|||
|
|
|||
|
//해피오더
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
|
|||
|
{
|
|||
|
lblIFStatus1.Visible = false;
|
|||
|
|
|||
|
//#15058 해피오더 버튼 변경_20180612 start,phj
|
|||
|
bSaleMain = false;
|
|||
|
//#15058 해피오더 버튼 변경_20180612 end,phj
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if(m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
|
|||
|
{
|
|||
|
lblIFStatus1.Size = new Size(260, 21);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblIFStatus1.Size = new Size(260, 21);
|
|||
|
}
|
|||
|
|
|||
|
lblIFStatus1.Visible = true;
|
|||
|
lblIFStatus1.Location = new Point(iBasciLocation, 25);
|
|||
|
iBasciLocation = iBasciLocation + lblIFStatus1.Width;
|
|||
|
|
|||
|
//#15058 해피오더 버튼 변경_20180612 start,phj
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
|
|||
|
{
|
|||
|
//#20180605 해피오더 개선 start - 20180618
|
|||
|
//기존
|
|||
|
/*
|
|||
|
PnlNewHPOrd_Disp.Size = new Size(260, 21);
|
|||
|
PnlNewHPOrd_Disp.Width = lblIFStatus1.Width;
|
|||
|
PnlNewHPOrd_Disp.Height = 50; //lblIFStatus1.Height;
|
|||
|
PnlNewHPOrd_Disp.Top = 0; //lblIFStatus1.Top;
|
|||
|
PnlNewHPOrd_Disp.Left = lblIFStatus1.Left;
|
|||
|
PnlNewHPOrd_Disp.Location = lblIFStatus1.Location; // new Point(iBasciLocation, 25);
|
|||
|
PnlNewHPOrd_Disp.Visible = false;
|
|||
|
*/
|
|||
|
|
|||
|
//변경
|
|||
|
PnlNewHPOrd_Disp.Size = new Size(260, 21);
|
|||
|
PnlNewHPOrd_Disp.Width = lblIFStatus1.Width;
|
|||
|
PnlNewHPOrd_Disp.Left = lblIFStatus1.Left;
|
|||
|
PnlNewHPOrd_Disp.Top = 0;
|
|||
|
PnlNewHPOrd_Disp.Height = 50;
|
|||
|
|
|||
|
bSaleMain = true;
|
|||
|
//#20180605 해피오더 개선 start - 20180618
|
|||
|
}
|
|||
|
//#15058 해피오더 버튼 변경_20180612 end,phj
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
|
|||
|
//기존
|
|||
|
/*
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
|
|||
|
iInventoryDispCnt = -1;
|
|||
|
bInventoryDispStat = false;
|
|||
|
lb_HPOInventoryAlram.Visible = false;
|
|||
|
lb_HPOInventoryAlram2.Visible = false;
|
|||
|
Pnl_HPOInventoryAlram.Visible = false;
|
|||
|
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
|
|||
|
{
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
|
|||
|
{
|
|||
|
Pnl_HPOInventoryAlram.Location = new Point(iBasciLocation, 25);
|
|||
|
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
|
|||
|
Pnl_HPOInventoryAlram.Width = lblIFStatus1.Width; // lblIFStatus1.Width;
|
|||
|
Pnl_HPOInventoryAlram.Left = lblIFStatus1.Left;
|
|||
|
Pnl_HPOInventoryAlram.Top = 0;
|
|||
|
Pnl_HPOInventoryAlram.Height = 50;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
|
|||
|
Pnl_HPOInventoryAlram.Width = PnlNewHPOrd_Disp.Width;
|
|||
|
Pnl_HPOInventoryAlram.Left = PnlNewHPOrd_Disp.Left + PnlNewHPOrd_Disp.Width;
|
|||
|
Pnl_HPOInventoryAlram.Top = 0;
|
|||
|
Pnl_HPOInventoryAlram.Height = 50;
|
|||
|
}
|
|||
|
}
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
|
|||
|
*/
|
|||
|
|
|||
|
//변경
|
|||
|
bInventoryCancel = false;
|
|||
|
|
|||
|
lb_HPOInventoryAlram.Visible = false;
|
|||
|
lb_HPOInventoryAlram2.Visible = false;
|
|||
|
Pnl_HPOInventoryAlram.Visible = false;
|
|||
|
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
|
|||
|
{
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT035), "0") == "0")
|
|||
|
{
|
|||
|
Pnl_HPOInventoryAlram.Location = new Point(iBasciLocation, 25);
|
|||
|
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
|
|||
|
Pnl_HPOInventoryAlram.Width = lblIFStatus1.Width; // lblIFStatus1.Width;
|
|||
|
Pnl_HPOInventoryAlram.Left = lblIFStatus1.Left;
|
|||
|
Pnl_HPOInventoryAlram.Top = 0;
|
|||
|
Pnl_HPOInventoryAlram.Height = 50;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Pnl_HPOInventoryAlram.Size = new Size(260, 21);
|
|||
|
Pnl_HPOInventoryAlram.Width = PnlNewHPOrd_Disp.Width;
|
|||
|
Pnl_HPOInventoryAlram.Left = PnlNewHPOrd_Disp.Left + PnlNewHPOrd_Disp.Width;
|
|||
|
Pnl_HPOInventoryAlram.Top = 0;
|
|||
|
Pnl_HPOInventoryAlram.Height = 50;
|
|||
|
}
|
|||
|
}
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
|
|||
|
|
|||
|
|
|||
|
//빚은몰
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT036), "0") == "0")
|
|||
|
{
|
|||
|
lblIFStatus2.Visible = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblIFStatus2.Visible = true;
|
|||
|
|
|||
|
lblIFStatus2.Location = new Point(iBasciLocation, 25);
|
|||
|
|
|||
|
iBasciLocation = iBasciLocation + lblIFStatus2.Width;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//이지웰
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT037), "0") == "0")
|
|||
|
{
|
|||
|
lblIFStatus3.Visible = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblIFStatus3.Visible = true;
|
|||
|
|
|||
|
lblIFStatus3.Location = new Point(iBasciLocation, 25);
|
|||
|
|
|||
|
iBasciLocation = iBasciLocation + lblIFStatus3.Width;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//점주 알바 점수 표시
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT019), "1") == "1")
|
|||
|
{
|
|||
|
lblOwnerPart.Visible = true;
|
|||
|
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR)
|
|||
|
{
|
|||
|
lblOwnerPart.Size = new Size(182, 21);
|
|||
|
lblOwnerPart.Text = string.Format("{0}:0{2}/{1}:0{2}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0733), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblOwnerPart.Size = new Size(95, 21);
|
|||
|
lblOwnerPart.Text = string.Format("{0}:0{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
|
|||
|
}
|
|||
|
|
|||
|
lblOwnerPart.Location = new Point(iBasciLocation, 25);
|
|||
|
iBasciLocation = iBasciLocation + lblOwnerPart.Width;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblOwnerPart.Visible = false;
|
|||
|
lblOwnerPart.Text = "";
|
|||
|
}
|
|||
|
|
|||
|
//기념일 배송
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0")
|
|||
|
{
|
|||
|
lblAnniv.Text = string.Format("{0}:0", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742));
|
|||
|
lblAnniv.Visible = true;
|
|||
|
|
|||
|
lblAnniv.Location = new Point(iBasciLocation, 25);
|
|||
|
iBasciLocation = iBasciLocation + lblAnniv.Width;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblAnniv.Visible = false;
|
|||
|
lblAnniv.Text = "";
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 상단 메세지 설정(연습모드, 긴급메세지)
|
|||
|
/// </summary>
|
|||
|
/// <param name="sType"></param>
|
|||
|
private void GetTopMsgMode(string sType)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (sType == "0")
|
|||
|
{
|
|||
|
if (lblTopMsgMode.MpStatus() == false)
|
|||
|
{
|
|||
|
|
|||
|
lblTopMsgMode.MpIntervalMove(20);
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
|
|||
|
FormManager.SetControlSize(lblTopMsgMode, 95, 0, 645, 50, 21);
|
|||
|
else
|
|||
|
FormManager.SetControlSize(lblTopMsgMode, 125, 0, 820, 50, 21);
|
|||
|
|
|||
|
|
|||
|
// 연습모드 설정
|
|||
|
Cosmos.UI.CsmPosMovePanel.MovePanelInfo cMoveInfo = new Cosmos.UI.CsmPosMovePanel.MovePanelInfo();
|
|||
|
|
|||
|
cMoveInfo.BackColor = Color.Red;
|
|||
|
cMoveInfo.ForeColor = Color.Yellow;
|
|||
|
cMoveInfo.MoveKind = "4"; //0:좌->우, 1:우->좌, 4:깜박임
|
|||
|
cMoveInfo.MoveText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0402);
|
|||
|
|
|||
|
lblTopMsgMode.MpAdd(cMoveInfo);
|
|||
|
lblTopMsgMode.Visible = true;
|
|||
|
lblTopMsgMode.MpStart();
|
|||
|
}
|
|||
|
}
|
|||
|
else if (sType == "1")
|
|||
|
{
|
|||
|
EmgNoticeProcess();
|
|||
|
|
|||
|
// 백그라운드 프로그램 적용 확인 메시지
|
|||
|
POSProgramApplyCheck();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//중지
|
|||
|
lblTopMsgMode.MpStop();
|
|||
|
lblTopMsgMode.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region 점주알바점수, 유해상품, 입고등록, 배송정보, 기념일배송 처리
|
|||
|
/// <summary>
|
|||
|
/// 점주알바점수, 유해상품, 입고등록, 배송정보, 기념일배송 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sType"></param>
|
|||
|
private void SelectEtcNoticeCom()
|
|||
|
{
|
|||
|
string[] aOutParam = new string[] { "0", "0" };
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
string sDpsStr = string.Empty;
|
|||
|
|
|||
|
if (lblOwnerPart.Visible == true)
|
|||
|
{
|
|||
|
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
|
|||
|
{
|
|||
|
sDpsStr = string.Format("{0}:#1{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sDpsStr = string.Format("{0}:#1{2}/{1}:#2{2}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0733), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0732), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0734));
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//01 - 점주알바모드
|
|||
|
if (m_cDataCommon.GetEtcNoticeProcess("01", ref aOutParam) == false)
|
|||
|
{
|
|||
|
aOutParam = new string[] { "0", "0" };
|
|||
|
}
|
|||
|
|
|||
|
lblOwnerPart.Text = sDpsStr.Replace("#1", aOutParam[0]).Replace("#2", aOutParam[1]);
|
|||
|
}
|
|||
|
|
|||
|
//02 - 유해상품
|
|||
|
//03 - 입고등록 확인
|
|||
|
//04 - 배송정보
|
|||
|
//05 - 기념일 배송
|
|||
|
m_cDataCommon.GetEtcNoticeProcess("02", ref aOutParam);
|
|||
|
|
|||
|
|
|||
|
//기념일 배송
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0")
|
|||
|
{
|
|||
|
m_cDataCommon.GetEtcNoticeProcess("05", ref aOutParam);
|
|||
|
|
|||
|
if (aOutParam == null || aOutParam[0] == "0")
|
|||
|
{
|
|||
|
lblAnniv.Text = string.Format("{0}:0", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742));
|
|||
|
lblAnniv.Tag = "";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblAnniv.Text = string.Format("{0}:{1}", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0742), aOutParam[0]);
|
|||
|
lblAnniv.Tag = "1";
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
///// <summary>
|
|||
|
///// 점주 알바 웹 호출
|
|||
|
///// </summary>
|
|||
|
//private void ShowOwnerPartWeb(string sKeyCode)
|
|||
|
//{
|
|||
|
// try
|
|||
|
// {
|
|||
|
// //WEB 링크 조회
|
|||
|
|
|||
|
// IDataServiceUs cWebBiz = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.WEB_POS);
|
|||
|
|
|||
|
// if (cWebBiz != null)
|
|||
|
// {
|
|||
|
|
|||
|
// string sUrl = string.Empty;
|
|||
|
|
|||
|
// sUrl = (string)cWebBiz.GetData(new string[] { sKeyCode });
|
|||
|
|
|||
|
// if (sUrl != UserCom.ERROR && sUrl != null)
|
|||
|
// {
|
|||
|
// System.Diagnostics.Process.Start("iexplore.exe", CmUtil.MidH(sUrl, 31, CmUtil.LenH(sUrl)));
|
|||
|
// }
|
|||
|
// }
|
|||
|
|
|||
|
|
|||
|
// }
|
|||
|
// catch (Exception ex)
|
|||
|
// {
|
|||
|
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
// }
|
|||
|
//}
|
|||
|
|
|||
|
#endregion 점주알바점수, 유해상품, 입고등록, 배송정보, 기념일배송 처리
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 판매 화면 MOT
|
|||
|
/// </summary>
|
|||
|
private void SetSaleMot()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//시작 MOT 사용 유무!
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "1")
|
|||
|
{
|
|||
|
|
|||
|
pnlMotSale.BackgroundImage = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, m_cPosStatus.ScnMst.WaitImg);
|
|||
|
if (pnlMotSale.BackgroundImage != null)
|
|||
|
CmUtil.FileCopy(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + m_cPosStatus.ScnMst.WaitImg, BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + ImageManager.SALE_MOT_WAIT, false);
|
|||
|
else
|
|||
|
pnlMotSale.BackgroundImage = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, ImageManager.SALE_MOT_WAIT);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 폼 컨트롤 초기화
|
|||
|
/// </summary>
|
|||
|
private void ClearControl()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
lblStoreNm.Text = CmUtil.GetDataRowStr(PosMstManager.GetMstStore(), PosMst.MST_STORE.DATA.STORNM); //점포명
|
|||
|
lblPosNo.Text = "POS " + m_cPosStatus.Base.PosNo;
|
|||
|
lblTranNo.Text = m_cPosStatus.Base.TradeNo;
|
|||
|
lblCashier.Text = m_cPosStatus.Base.CashierName;
|
|||
|
lblEtc.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0038);
|
|||
|
lblWeb.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0039);
|
|||
|
lblTableInfo.Text = string.Empty;
|
|||
|
|
|||
|
txtQtySaleAmt.Text = "0";
|
|||
|
txtDiscountAmt.Text = "0";
|
|||
|
txtRecvedAmt.Text = "0";
|
|||
|
txtNetSaleAmt.Text = "0";
|
|||
|
txtVatSvc.Text = "0";
|
|||
|
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
pnlFlavour.Visible = false;
|
|||
|
|
|||
|
picCampaign.Visible = false;
|
|||
|
|
|||
|
//===========================================================================================
|
|||
|
// 결제화면
|
|||
|
rtbMotMain.Text = "";
|
|||
|
txtPayQtySaleAmt.Text = "0";
|
|||
|
txtPayDiscountAmt.Text = "0";
|
|||
|
txtPayNetSaleAmt.Text = "0";
|
|||
|
txtPayRecvAmt.Text = "0";
|
|||
|
txtPayVatSvc.Text = "0";
|
|||
|
|
|||
|
SlideSetMenuBtn();
|
|||
|
pnlMenuSlide.Location = new Point(0, 50);
|
|||
|
pnlMenuSlide.Visible = false;
|
|||
|
|
|||
|
picTempInfo.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG);
|
|||
|
pnlTempInfo.Location = new Point(0, 50);
|
|||
|
pnlTempInfo.Visible = false;
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 시안별 컨트롤 위치 설정
|
|||
|
/// </summary>
|
|||
|
private void InitControlLocation()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//FormManager.SetControlSize(pnlSaleMainBack, 0, 50, 1024, 698);
|
|||
|
FormManager.SetControlSize(picSaleBack, 0, 50, 1024, 698);
|
|||
|
FormManager.SetControlSize(pnlPayMainBack, 0, 1025, 1024, 696);
|
|||
|
FormManager.SetControlSize(picPayBack, 0, 0, 1024, 696);
|
|||
|
|
|||
|
FormManager.SetControlSize(lblTopMsgMode, 127, 0, 903, 50);
|
|||
|
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴
|
|||
|
|
|||
|
FormManager.SetControlSize(pnlMenuLClass, 0, 329, 712, 57); // 메뉴키 대분류
|
|||
|
FormManager.SetControlSize(btnMenuLClassUp, 0, 0, 60, 57);
|
|||
|
FormManager.SetControlSize(btnMenuLClass, 61, 0, 590, 57); // 메뉴키 대분류
|
|||
|
FormManager.SetControlSize(btnMenuLClassDn, 652, 0, 60, 57);
|
|||
|
btnMenuLClass.SetFuncButtonCount(1, 5); // 버튼갯수 설정
|
|||
|
|
|||
|
FormManager.SetControlSize(pnlMenuMClass, 0, 386, 142, 360); // 메뉴키 중분류
|
|||
|
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
|
|||
|
if (nMFixCnt == 0)
|
|||
|
{
|
|||
|
btnMenuMClassFix.Visible = false;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 0, 0, 142, 360); // 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 142, 72 * nMFixCnt); // 메뉴키 중분류
|
|||
|
btnMenuMClassFix.SetFuncButtonCount(nMFixCnt, 2); // 버튼갯수 설정
|
|||
|
btnMenuMClassFix.Visible = true;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 0, (72 * nMFixCnt) + 1, 142, 360 - (72 * nMFixCnt));// 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(5 - nMFixCnt, 2); // 버튼갯수 설정
|
|||
|
}
|
|||
|
|
|||
|
//FormManager.SetControlSize(btnMenuMClass, 0, 386, 142, 360); // 메뉴키 중분류
|
|||
|
//btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정
|
|||
|
|
|||
|
FormManager.SetControlSize(pnlSubMenu, 0, 329, 712, 417); // 부가메뉴
|
|||
|
FormManager.SetControlSize(btnSubMenuGrp, 1, 0, 109, 370); // 부가메뉴-그룹
|
|||
|
FormManager.SetControlSize(btnSubMenuExit, 1, 371, 109, 47); // 부가메뉴-종료
|
|||
|
FormManager.SetControlSize(btnSubMenuDtl, 111, 0, 600, 417); // 부가메뉴-상품
|
|||
|
FormManager.SetControlSize(pnlSetMenu, 0, 329, 712, 417); // 세트메뉴
|
|||
|
FormManager.SetControlSize(lblSetMenuTitle, 2, 2, 708, 29); // 세트메뉴-타이틀
|
|||
|
FormManager.SetControlSize(btnSetMenu, 2, 35, 708, 380); // 세트메뉴-상품
|
|||
|
FormManager.SetControlSize(pnlFlavour, 0, 329, 712, 417); // 플레이버
|
|||
|
|
|||
|
FormManager.SetControlSize(lblItemGrid, 0, 50, 711, 278); // 상품그리드 BACK
|
|||
|
FormManager.SetControlSize(SaleItemGrid, 0, 50, 665, 278); // 상품그리드
|
|||
|
FormManager.SetControlSize(txtInPut, 716, 331, 302, 49); // 입력박스
|
|||
|
FormManager.SetControlSize(padInPut, 712, 385, 309, 361); // 키패드
|
|||
|
padInPut.DesignType = DesignType.Design_A;
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
FormManager.SetControlSize(pnlBuyHist, 712, 327, 309, 419); // 고객 구매이력 정보
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|||
|
|
|||
|
FormManager.SetControlSize(btnFuncItem, 0, 768, 322, 247); // 기능(오른쪽)
|
|||
|
|
|||
|
FormManager.SetControlSize(btnItemGridTop, 668, 50, 43, 68); // 상품그리드 TOP
|
|||
|
FormManager.SetControlSize(btnItemGridUp, 668, 120, 43, 68); // 상품그리드 UP
|
|||
|
FormManager.SetControlSize(btnItemGridDown, 668, 190, 43, 68); // 상품그리드 DOWN
|
|||
|
FormManager.SetControlSize(btnItemGridBottom, 668, 260, 43, 68); // 상품그리드 BOTTOM
|
|||
|
|
|||
|
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
|
|||
|
//기존
|
|||
|
FormManager.SetControlSize(pnlMotSale, 0, 50, 712, 278); // 판매대기 MOT
|
|||
|
//변경
|
|||
|
//FormManager.SetControlSize(pnlMotSale, 0, 329, 712, 417); // 판매대기 MOT
|
|||
|
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
|
|||
|
FormManager.SetControlSize(rtbMotSale, 4, 135, 700, 136); // 판매대기 MOT
|
|||
|
|
|||
|
FormManager.SetControlSize(picCampaign, 712, 51, 311, 110); // 캠페인 이미지
|
|||
|
|
|||
|
// 포함 여부에 따라 부가세 표시
|
|||
|
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnFuncSale, 712, 182, 312, 144); // 기능(왼쪽)
|
|||
|
|
|||
|
FormManager.SetControlSize(lblAmtBack, 712, 51, 312, 131); // 금액배경(잔상제거용)
|
|||
|
FormManager.SetControlSize(lblQtySaleAmt, 716, 51, 131, 24); // 수량총금액(24)
|
|||
|
FormManager.SetControlSize(lblDiscountAmt, 716, 75, 131, 24); // 할인금액
|
|||
|
FormManager.SetControlSize(lblVatSvc, 716, 99, 131, 24); // 봉사료,부가세
|
|||
|
FormManager.SetControlSize(lblRecvedAmt, 716, 123, 131, 24); // 받은금액
|
|||
|
FormManager.SetControlSize(lblNetSaleAmt, 716, 149, 131, 28); // 받을금액(27)
|
|||
|
FormManager.SetControlSize(txtQtySaleAmt, 847, 51, 177, 24); // 수량총금액
|
|||
|
FormManager.SetControlSize(txtDiscountAmt, 847, 75, 177, 24); // 할인금액
|
|||
|
FormManager.SetControlSize(txtVatSvc, 847, 99, 177, 24); // 봉사료,부가세
|
|||
|
FormManager.SetControlSize(txtRecvedAmt, 847, 123, 177, 24); // 받을금액
|
|||
|
FormManager.SetControlSize(txtNetSaleAmt, 847, 149, 180, 28); // 받을금액
|
|||
|
|
|||
|
lblVatSvc.Visible = true;
|
|||
|
txtVatSvc.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnFuncSale, 712, 162, 312, 164); // 기능(왼쪽)
|
|||
|
|
|||
|
FormManager.SetControlSize(lblAmtBack, 712, 51, 311, 110); // 금액배경(잔상제거용)
|
|||
|
FormManager.SetControlSize(lblQtySaleAmt, 716, 55, 131, 24); // 수량총금액(24)
|
|||
|
FormManager.SetControlSize(lblDiscountAmt, 716, 79, 131, 24); // 할인금액
|
|||
|
FormManager.SetControlSize(lblRecvedAmt, 716, 103, 131, 24); // 받은금액
|
|||
|
FormManager.SetControlSize(lblNetSaleAmt, 716, 127, 131, 29); // 받을금액(27)
|
|||
|
FormManager.SetControlSize(txtQtySaleAmt, 847, 55, 177, 24); // 수량총금액
|
|||
|
FormManager.SetControlSize(txtDiscountAmt, 847, 79, 177, 24); // 할인금액
|
|||
|
FormManager.SetControlSize(txtRecvedAmt, 847, 103, 177, 24); // 받을금액
|
|||
|
FormManager.SetControlSize(txtNetSaleAmt, 847, 127, 180, 29); // 받을금액
|
|||
|
|
|||
|
lblVatSvc.Visible = false;
|
|||
|
txtVatSvc.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
lblAmtBack.BackColor = Color.FromArgb(204, 204, 204); // 금액배경(잔상제거용)
|
|||
|
lblQtySaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 수량총금액
|
|||
|
lblDiscountAmt.BackColor = Color.FromArgb(204, 204, 204); // 할인금액
|
|||
|
lblVatSvc.BackColor = Color.FromArgb(204, 204, 204); // 봉사료,부가세
|
|||
|
lblRecvedAmt.BackColor = Color.FromArgb(204, 204, 204);
|
|||
|
lblNetSaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 받을금액
|
|||
|
txtQtySaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 수량총금액
|
|||
|
txtDiscountAmt.BackColor = Color.FromArgb(204, 204, 204); // 할인금액
|
|||
|
txtVatSvc.BackColor = Color.FromArgb(204, 204, 204); // 봉사료,부가세
|
|||
|
txtRecvedAmt.BackColor = Color.FromArgb(204, 204, 204);
|
|||
|
txtNetSaleAmt.BackColor = Color.FromArgb(204, 204, 204); // 받을금액
|
|||
|
|
|||
|
lblQtySaleAmt.ForeColor = Color.Black; // 수량총금액
|
|||
|
lblDiscountAmt.ForeColor = Color.Black; // 할인금액
|
|||
|
|
|||
|
lblVatSvc.ForeColor = Color.Black; // 봉사료,부가세
|
|||
|
|
|||
|
lblRecvedAmt.ForeColor = Color.Black; //Color.FromArgb(128, 128, 255);
|
|||
|
lblNetSaleAmt.ForeColor = Color.Brown; // 받을금액
|
|||
|
txtQtySaleAmt.ForeColor = Color.Black; // 수량총금액
|
|||
|
txtDiscountAmt.ForeColor = Color.Black; // 할인금액
|
|||
|
txtVatSvc.ForeColor = Color.Black; // 봉사료,부가세
|
|||
|
txtRecvedAmt.ForeColor = Color.Black; //Color.FromArgb(128, 128, 255);
|
|||
|
txtNetSaleAmt.ForeColor = Color.Brown; // 받을금액
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Base.DesignType == "2") // 2안
|
|||
|
{
|
|||
|
FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴
|
|||
|
|
|||
|
FormManager.SetControlSize(pnlMenuLClass, 0, 50, 100, 90); // 메뉴키 대분류
|
|||
|
FormManager.SetControlSize(btnMenuLClass, 0, 0, 100, 90); // 메뉴키 대분류
|
|||
|
btnMenuLClass.SetFuncButtonCount(2, 1); // 버튼갯수 설정
|
|||
|
|
|||
|
FormManager.SetControlSize(pnlMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
|
|||
|
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
|
|||
|
if (nMFixCnt == 0)
|
|||
|
{
|
|||
|
btnMenuMClassFix.Visible = false;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
|
|||
|
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
|
|||
|
btnMenuMClassFix.Visible = true;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
|
|||
|
}
|
|||
|
|
|||
|
//FormManager.SetControlSize(btnMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
|
|||
|
//btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
|
|||
|
|
|||
|
FormManager.SetControlSize(pnlSubMenu, 523, 141, 500, 355); // 부가메뉴
|
|||
|
FormManager.SetControlSize(btnSubMenuGrp, 1, 1, 110, 303); // 부가메뉴-그룹
|
|||
|
FormManager.SetControlSize(btnSubMenuExit, 1, 305, 110, 49); // 부가메뉴-종료
|
|||
|
FormManager.SetControlSize(btnSubMenuDtl, 112, 1, 387, 353); // 부가메뉴-상품
|
|||
|
FormManager.SetControlSize(pnlSetMenu, 523, 141, 500, 355); // 세트메뉴
|
|||
|
FormManager.SetControlSize(lblSetMenuTitle, 2, 3, 496, 29); // 세트메뉴-타이틀
|
|||
|
FormManager.SetControlSize(btnSetMenu, 2, 35, 496, 318); // 세트메뉴-상품
|
|||
|
FormManager.SetControlSize(pnlFlavour, 0, 497, 1024, 249); // 플레이버
|
|||
|
|
|||
|
FormManager.SetControlSize(lblItemGrid, 0, 141, 522, 356); // 상품그리드 BACK
|
|||
|
FormManager.SetControlSize(SaleItemGrid, 0, 141, 522, 315); // 상품그리드
|
|||
|
FormManager.SetControlSize(txtInPut, 381, 502, 314, 24); // 입력박스
|
|||
|
FormManager.SetControlSize(padInPut, 376, 531, 324, 215); // 키패드
|
|||
|
padInPut.DesignType = DesignType.Design_B;
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
FormManager.SetControlSize(pnlBuyHist, 376, 498, 324, 248); // 고객 구매이력 정보
|
|||
|
//csmLabel5.Border
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|||
|
|
|||
|
FormManager.SetControlSize(btnFuncSale, 0, 637, 375, 109); // 기능(왼쪽)
|
|||
|
FormManager.SetControlSize(btnFuncItem, 701, 497, 322, 248); // 기능(오른쪽)
|
|||
|
|
|||
|
FormManager.SetControlSize(btnItemGridTop, 2, 457, 129, 40); // 상품그리드 TOP
|
|||
|
FormManager.SetControlSize(btnItemGridUp, 132, 457, 129, 40); // 상품그리드 UP
|
|||
|
FormManager.SetControlSize(btnItemGridDown, 262, 457, 129, 40); // 상품그리드 DOWN
|
|||
|
FormManager.SetControlSize(btnItemGridBottom, 392, 457, 130, 40); // 상품그리드 BOTTOM
|
|||
|
|
|||
|
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
|
|||
|
//기존
|
|||
|
FormManager.SetControlSize(pnlMotSale, 0, 141, 522, 356); // 판매대기 MOT
|
|||
|
//변경
|
|||
|
//FormManager.SetControlSize(pnlMotSale, 502, 141, 522, 356); // 판매대기 MOT
|
|||
|
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
|
|||
|
FormManager.SetControlSize(rtbMotSale, 4, 239, 509, 110); // 판매대기 MOT
|
|||
|
|
|||
|
//FormManager.SetControlSize(picCampaign, 1, 498, 375, 138); // 캠페인 이미지
|
|||
|
FormManager.SetControlSize(picCampaign, 1, 498, 375, 247); // 캠페인 이미지
|
|||
|
|
|||
|
// 포함 여부에 따라 부가세 표시
|
|||
|
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
|
|||
|
{
|
|||
|
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
|
|||
|
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 25); // 수량총금액
|
|||
|
FormManager.SetControlSize(lblDiscountAmt, 10, 525, 150, 25); // 할인금액
|
|||
|
FormManager.SetControlSize(lblVatSvc, 10, 550, 150, 25); // 봉사료,부가세
|
|||
|
FormManager.SetControlSize(lblRecvedAmt, 10, 575, 150, 25);
|
|||
|
FormManager.SetControlSize(lblNetSaleAmt, 10, 600, 150, 35); // 받을금액
|
|||
|
|
|||
|
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 25); // 수량총금액
|
|||
|
FormManager.SetControlSize(txtDiscountAmt, 170, 525, 200, 25); // 할인금액
|
|||
|
FormManager.SetControlSize(txtVatSvc, 170, 550, 200, 25); // 봉사료,부가세
|
|||
|
FormManager.SetControlSize(txtRecvedAmt, 170, 575, 200, 25);
|
|||
|
FormManager.SetControlSize(txtNetSaleAmt, 170, 600, 202, 35); // 받을금액
|
|||
|
|
|||
|
lblVatSvc.Visible = true;
|
|||
|
txtVatSvc.Visible = true;
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
|
|||
|
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 30); // 수량총금액
|
|||
|
FormManager.SetControlSize(lblDiscountAmt, 10, 530, 150, 30); // 할인금액
|
|||
|
FormManager.SetControlSize(lblRecvedAmt, 10, 560, 150, 30); // 받은금액
|
|||
|
FormManager.SetControlSize(lblNetSaleAmt, 10, 590, 150, 40); // 받을금액
|
|||
|
|
|||
|
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 30); // 수량총금액
|
|||
|
FormManager.SetControlSize(txtDiscountAmt, 170, 530, 200, 30); // 할인금액
|
|||
|
FormManager.SetControlSize(txtRecvedAmt, 170, 560, 200, 30); // 받은금액
|
|||
|
FormManager.SetControlSize(txtNetSaleAmt, 170, 590, 202, 40); // 받을금액
|
|||
|
|
|||
|
lblVatSvc.Visible = false;
|
|||
|
txtVatSvc.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
//FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
|
|||
|
//FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액
|
|||
|
//FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35);
|
|||
|
//FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액
|
|||
|
//FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
|
|||
|
//FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액
|
|||
|
//FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35);
|
|||
|
//FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액
|
|||
|
|
|||
|
lblAmtBack.BackColor = Color.FromArgb(68, 68, 68); // 금액배경(잔상제거용)
|
|||
|
lblQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
|
|||
|
lblDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
|
|||
|
lblVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
|
|||
|
lblRecvedAmt.BackColor = Color.FromArgb(68, 68, 68);
|
|||
|
lblNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
|
|||
|
txtQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
|
|||
|
txtDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
|
|||
|
txtVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
|
|||
|
txtRecvedAmt.BackColor = Color.FromArgb(68, 68, 68); //
|
|||
|
txtNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
|
|||
|
|
|||
|
lblQtySaleAmt.ForeColor = Color.White; // 수량총금액
|
|||
|
lblDiscountAmt.ForeColor = Color.White; // 할인금액
|
|||
|
|
|||
|
lblVatSvc.ForeColor = Color.White; // 봉사료,부가세
|
|||
|
|
|||
|
lblRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255); //
|
|||
|
lblNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
|
|||
|
txtQtySaleAmt.ForeColor = Color.White; // 수량총금액
|
|||
|
txtDiscountAmt.ForeColor = Color.White; // 할인금액
|
|||
|
txtVatSvc.ForeColor = Color.White; // 봉사료,부가세
|
|||
|
txtRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255);
|
|||
|
txtNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(pnlMenuSlide, 0, 56, 1024, 90); // 상단 메뉴
|
|||
|
|
|||
|
FormManager.SetControlSize(pnlMenuLClass, 0, 50, 100, 90); // 메뉴키 대분류
|
|||
|
FormManager.SetControlSize(btnMenuLClass, 0, 0, 100, 90); // 메뉴키 대분류
|
|||
|
btnMenuLClass.SetFuncButtonCount(2, 1); // 버튼갯수 설정
|
|||
|
|
|||
|
FormManager.SetControlSize(pnlMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
|
|||
|
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
|
|||
|
if (nMFixCnt == 0)
|
|||
|
{
|
|||
|
btnMenuMClassFix.Visible = false;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
|
|||
|
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
|
|||
|
btnMenuMClassFix.Visible = true;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
|
|||
|
}
|
|||
|
//FormManager.SetControlSize(btnMenuMClass, 100, 50, 924, 90); // 메뉴키 중분류
|
|||
|
//btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
|
|||
|
|
|||
|
FormManager.SetControlSize(pnlSubMenu, 481, 141, 542, 355); // 부가메뉴
|
|||
|
FormManager.SetControlSize(btnSubMenuGrp, 2, 0, 109, 303); // 부가메뉴-그룹
|
|||
|
FormManager.SetControlSize(btnSubMenuExit, 2, 305, 109, 47); // 부가메뉴-종료
|
|||
|
FormManager.SetControlSize(btnSubMenuDtl, 112, 0, 429, 352); // 부가메뉴-상품
|
|||
|
FormManager.SetControlSize(pnlSetMenu, 481, 141, 542, 355); // 세트메뉴
|
|||
|
FormManager.SetControlSize(lblSetMenuTitle, 2, 3, 538, 29); // 세트메뉴-타이틀
|
|||
|
FormManager.SetControlSize(btnSetMenu, 2, 35, 538, 318); // 세트메뉴-상품
|
|||
|
FormManager.SetControlSize(pnlFlavour, 0, 497, 1024, 249); // 플레이버
|
|||
|
|
|||
|
FormManager.SetControlSize(lblItemGrid, 0, 141, 480, 356); // 상품그리드 BACK
|
|||
|
FormManager.SetControlSize(SaleItemGrid, 0, 141, 480, 315); // 상품그리드
|
|||
|
FormManager.SetControlSize(btnSubMenuCommGrp, 481, 141, 95, 356); // 부가메뉴
|
|||
|
FormManager.SetControlSize(btnSubMenuCommDtl, 576, 141, 96, 356); // 부가메뉴
|
|||
|
//FormManager.SetControlSize(btnSubMenuCommDtl, 481, 141, 189, 356); // 부가메뉴
|
|||
|
FormManager.SetControlSize(txtInPut, 381, 502, 314, 24); // 입력박스
|
|||
|
FormManager.SetControlSize(padInPut, 376, 531, 324, 215); // 키패드
|
|||
|
padInPut.DesignType = DesignType.Design_C;
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
FormManager.SetControlSize(pnlBuyHist, 376, 498, 324, 248); // 고객 구매이력 정보
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|||
|
|
|||
|
FormManager.SetControlSize(btnFuncSale, 0, 637, 375, 109); // 기능(왼쪽)
|
|||
|
FormManager.SetControlSize(btnFuncItem, 701, 497, 322, 248); // 기능(오른쪽)
|
|||
|
|
|||
|
FormManager.SetControlSize(btnItemGridTop, 2, 457, 119, 40); // 상품그리드 TOP
|
|||
|
FormManager.SetControlSize(btnItemGridUp, 122, 457, 119, 40); // 상품그리드 UP
|
|||
|
FormManager.SetControlSize(btnItemGridDown, 242, 457, 119, 40); // 상품그리드 DOWN
|
|||
|
FormManager.SetControlSize(btnItemGridBottom, 362, 457, 118, 40); // 상품그리드 BOTTOM
|
|||
|
|
|||
|
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
|
|||
|
//기존
|
|||
|
FormManager.SetControlSize(pnlMotSale, 0, 141, 480, 356); // 판매대기 MOT
|
|||
|
//변경
|
|||
|
//FormManager.SetControlSize(pnlMotSale, 481, 141, 542, 355); // 판매대기 MOT
|
|||
|
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
|
|||
|
FormManager.SetControlSize(rtbMotSale, 4, 239, 472, 110); // 판매대기 MOT
|
|||
|
|
|||
|
//FormManager.SetControlSize(picCampaign, 1, 498, 375, 138); // 캠페인 이미지
|
|||
|
FormManager.SetControlSize(picCampaign, 1, 498, 375, 247); // 캠페인 이미지
|
|||
|
|
|||
|
// 포함 여부에 따라 부가세 표시
|
|||
|
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
|
|||
|
{
|
|||
|
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
|
|||
|
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 25); // 수량총금액
|
|||
|
FormManager.SetControlSize(lblDiscountAmt, 10, 525, 150, 25); // 할인금액
|
|||
|
FormManager.SetControlSize(lblVatSvc, 10, 550, 150, 25); // 봉사료,부가세
|
|||
|
FormManager.SetControlSize(lblRecvedAmt, 10, 575, 150, 25);
|
|||
|
FormManager.SetControlSize(lblNetSaleAmt, 10, 600, 150, 35); // 받을금액
|
|||
|
|
|||
|
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 25); // 수량총금액
|
|||
|
FormManager.SetControlSize(txtDiscountAmt, 170, 525, 200, 25); // 할인금액
|
|||
|
FormManager.SetControlSize(txtVatSvc, 170, 550, 200, 25); // 봉사료,부가세
|
|||
|
FormManager.SetControlSize(txtRecvedAmt, 170, 575, 200, 25);
|
|||
|
FormManager.SetControlSize(txtNetSaleAmt, 170, 600, 202, 35); // 받을금액
|
|||
|
|
|||
|
lblVatSvc.Visible = true;
|
|||
|
txtVatSvc.Visible = true;
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
|
|||
|
FormManager.SetControlSize(lblQtySaleAmt, 10, 500, 150, 30); // 수량총금액
|
|||
|
FormManager.SetControlSize(lblDiscountAmt, 10, 530, 150, 30); // 할인금액
|
|||
|
FormManager.SetControlSize(lblRecvedAmt, 10, 560, 150, 30); // 받은금액
|
|||
|
FormManager.SetControlSize(lblNetSaleAmt, 10, 590, 150, 40); // 받을금액
|
|||
|
|
|||
|
FormManager.SetControlSize(txtQtySaleAmt, 170, 500, 200, 30); // 수량총금액
|
|||
|
FormManager.SetControlSize(txtDiscountAmt, 170, 530, 200, 30); // 할인금액
|
|||
|
FormManager.SetControlSize(txtRecvedAmt, 170, 560, 200, 30); // 받은금액
|
|||
|
FormManager.SetControlSize(txtNetSaleAmt, 170, 590, 202, 40); // 받을금액
|
|||
|
|
|||
|
lblVatSvc.Visible = false;
|
|||
|
txtVatSvc.Visible = false;
|
|||
|
}
|
|||
|
//FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
|
|||
|
//FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
|
|||
|
//FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액
|
|||
|
//FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35);
|
|||
|
//FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액
|
|||
|
//FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
|
|||
|
//FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액
|
|||
|
//FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35);
|
|||
|
//FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액
|
|||
|
|
|||
|
//// 포함 여부에 따라 부가세 표시
|
|||
|
//if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
|
|||
|
//{
|
|||
|
// FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
|
|||
|
// FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
|
|||
|
// FormManager.SetControlSize(lblDiscountAmt, 18, 524, 146, 30); // 할인금액
|
|||
|
// FormManager.SetControlSize(lblVatSvc, 18, 547, 146, 30); // 봉사료,부가세
|
|||
|
// FormManager.SetControlSize(lblRecvedAmt, 18, 571, 146, 35);
|
|||
|
// FormManager.SetControlSize(lblNetSaleAmt, 18, 598, 146, 35); // 받을금액
|
|||
|
// FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
|
|||
|
// FormManager.SetControlSize(txtDiscountAmt, 176, 524, 194, 30); // 할인금액
|
|||
|
// FormManager.SetControlSize(txtVatSvc, 176, 547, 194, 30); // 봉사료,부가세
|
|||
|
// FormManager.SetControlSize(txtRecvedAmt, 173, 571, 200, 35);
|
|||
|
// FormManager.SetControlSize(txtNetSaleAmt, 173, 598, 200, 35); // 받을금액
|
|||
|
|
|||
|
// lblVatSvc.Visible = true;
|
|||
|
// txtVatSvc.Visible = true;
|
|||
|
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// FormManager.SetControlSize(lblAmtBack, 1, 498, 375, 138); // 금액배경(잔상제거용)
|
|||
|
// FormManager.SetControlSize(lblQtySaleAmt, 18, 500, 146, 30); // 수량총금액
|
|||
|
// FormManager.SetControlSize(lblDiscountAmt, 18, 530, 146, 30); // 할인금액
|
|||
|
// FormManager.SetControlSize(lblRecvedAmt, 18, 560, 146, 35);
|
|||
|
// FormManager.SetControlSize(lblNetSaleAmt, 18, 595, 146, 35); // 받을금액
|
|||
|
// FormManager.SetControlSize(txtQtySaleAmt, 176, 500, 194, 30); // 수량총금액
|
|||
|
// FormManager.SetControlSize(txtDiscountAmt, 176, 530, 194, 30); // 할인금액
|
|||
|
// FormManager.SetControlSize(txtRecvedAmt, 173, 560, 200, 35);
|
|||
|
// FormManager.SetControlSize(txtNetSaleAmt, 173, 595, 200, 35); // 받을금액
|
|||
|
|
|||
|
// lblVatSvc.Visible = false;
|
|||
|
// txtVatSvc.Visible = false;
|
|||
|
//}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
lblAmtBack.BackColor = Color.FromArgb(68, 68, 68); // 금액배경(잔상제거용)
|
|||
|
lblQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
|
|||
|
lblDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
|
|||
|
lblVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
|
|||
|
lblRecvedAmt.BackColor = Color.FromArgb(68, 68, 68);
|
|||
|
lblNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
|
|||
|
txtQtySaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 수량총금액
|
|||
|
txtDiscountAmt.BackColor = Color.FromArgb(68, 68, 68); // 할인금액
|
|||
|
txtVatSvc.BackColor = Color.FromArgb(68, 68, 68); // 봉사료,부가세
|
|||
|
txtRecvedAmt.BackColor = Color.FromArgb(68, 68, 68); //
|
|||
|
txtNetSaleAmt.BackColor = Color.FromArgb(68, 68, 68); // 받을금액
|
|||
|
|
|||
|
lblQtySaleAmt.ForeColor = Color.White; // 수량총금액
|
|||
|
lblDiscountAmt.ForeColor = Color.White; // 할인금액
|
|||
|
lblVatSvc.ForeColor = Color.White; // 봉사료,부가세
|
|||
|
lblRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255); //
|
|||
|
lblNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
|
|||
|
txtQtySaleAmt.ForeColor = Color.White; // 수량총금액
|
|||
|
txtDiscountAmt.ForeColor = Color.White; // 할인금액
|
|||
|
txtVatSvc.ForeColor = Color.White; // 봉사료,부가세
|
|||
|
txtRecvedAmt.ForeColor = Color.White; //Color.FromArgb(128, 128, 255);
|
|||
|
txtNetSaleAmt.ForeColor = Color.FromArgb(247, 202, 12); // 받을금액
|
|||
|
}
|
|||
|
|
|||
|
// 포함 여부에 따라 부가세 표시
|
|||
|
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
|
|||
|
{
|
|||
|
FormManager.SetControlSize(lblPayQtySaleAmt, 220, 545, 123, 21);
|
|||
|
FormManager.SetControlSize(lblPayDiscountAmt, 220, 570, 123, 21);
|
|||
|
FormManager.SetControlSize(lblPayVatSvc, 220, 595, 123, 21);
|
|||
|
FormManager.SetControlSize(lblPayRecvAmt, 220, 620, 123, 21);
|
|||
|
FormManager.SetControlSize(lblPayNetSaleAmt, 220, 645, 123, 30);
|
|||
|
|
|||
|
FormManager.SetControlSize(txtPayQtySaleAmt, 335, 545, 190, 21);
|
|||
|
FormManager.SetControlSize(txtPayDiscountAmt, 345, 570, 180, 21);
|
|||
|
FormManager.SetControlSize(txtPayVatSvc, 345, 595, 180, 21);
|
|||
|
FormManager.SetControlSize(txtPayRecvAmt, 345, 620, 180, 21);
|
|||
|
FormManager.SetControlSize(txtPayNetSaleAmt, 345, 645, 182, 30);
|
|||
|
|
|||
|
lblPayVatSvc.Visible = true;
|
|||
|
txtPayVatSvc.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
//FormManager.SetControlSize(lblPayQtySaleAmt, 233, 550, 120, 21);
|
|||
|
//FormManager.SetControlSize(lblPayDiscountAmt, 232, 579, 120, 21);
|
|||
|
//FormManager.SetControlSize(lblPayRecvAmt, 228, 612, 123, 21);
|
|||
|
//FormManager.SetControlSize(lblPayNetSaleAmt, 229, 646, 123, 21);
|
|||
|
|
|||
|
//FormManager.SetControlSize(txtPayQtySaleAmt, 354, 550, 165, 21);
|
|||
|
//FormManager.SetControlSize(txtPayDiscountAmt, 357, 579, 162, 21);
|
|||
|
//FormManager.SetControlSize(txtPayRecvAmt, 355, 604, 168, 34);
|
|||
|
//FormManager.SetControlSize(txtPayNetSaleAmt, 356, 638, 168, 34);
|
|||
|
|
|||
|
FormManager.SetControlSize(lblPayQtySaleAmt, 220, 550, 123, 21);
|
|||
|
FormManager.SetControlSize(lblPayDiscountAmt, 220, 580, 123, 21);
|
|||
|
FormManager.SetControlSize(lblPayRecvAmt, 220, 610, 123, 21);
|
|||
|
FormManager.SetControlSize(lblPayNetSaleAmt, 220, 640, 123, 30);
|
|||
|
|
|||
|
FormManager.SetControlSize(txtPayQtySaleAmt, 335, 550, 190, 21);
|
|||
|
FormManager.SetControlSize(txtPayDiscountAmt, 345, 580, 180, 21);
|
|||
|
FormManager.SetControlSize(txtPayRecvAmt, 345, 610, 180, 21);
|
|||
|
FormManager.SetControlSize(txtPayNetSaleAmt, 345, 640, 182, 30);
|
|||
|
|
|||
|
lblPayVatSvc.Visible = false;
|
|||
|
txtPayVatSvc.Visible = false;
|
|||
|
|
|||
|
//*** MoonSeokWoo 2017.12.12 Add
|
|||
|
pnlPayMainBack.Visible = false;
|
|||
|
//*** MoonSeokWoo 2017.12.12 End
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 메뉴 컨트롤 초기화 및 메뉴 마스터 로딩
|
|||
|
|
|||
|
private void btnMenuLClassUp_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if ((UI.CsmButton)sender == btnMenuLClassUp)
|
|||
|
{
|
|||
|
btnMenuLClass.FuncUpDown("UP");
|
|||
|
//if (btnMenuLClass.FuncUpDown("UP") == true)
|
|||
|
//{
|
|||
|
// btnMenuLClassUp.Text = "<";
|
|||
|
// btnMenuLClassDn.Text = ">";
|
|||
|
//}
|
|||
|
//else
|
|||
|
// btnMenuLClassUp.Text = "■";
|
|||
|
}
|
|||
|
else if ((UI.CsmButton)sender == btnMenuLClassDn)
|
|||
|
{
|
|||
|
btnMenuLClass.FuncUpDown("DN");
|
|||
|
//if (btnMenuLClass.FuncUpDown("DN") == true)
|
|||
|
//{
|
|||
|
// btnMenuLClassDn.Text = ">";
|
|||
|
// btnMenuLClassUp.Text = "<";
|
|||
|
//}
|
|||
|
//else
|
|||
|
// btnMenuLClassDn.Text = "■";
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 메뉴 컨트롤 초기화 및 메뉴 마스터 로딩
|
|||
|
/// </summary>
|
|||
|
/// <returns>성공/실패</returns>
|
|||
|
public bool LoadMenuMaster()
|
|||
|
{
|
|||
|
string sFirstLCode = ""; // 첫번째 그룹
|
|||
|
try
|
|||
|
{
|
|||
|
// 상품키 구성 마스터 로딩
|
|||
|
DataRow drItemKeyCompnt = PosMstManager.GetMstScreen();
|
|||
|
m_dtMstItemKeyCompnt = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_COMPNT.TABLE_NAME);
|
|||
|
if (m_dtMstItemKeyCompnt == null || m_dtMstItemKeyCompnt.Rows.Count <= 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0056); // 상품키 구성 마스터가 없습니다
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
drItemKeyCompnt = m_dtMstItemKeyCompnt.Rows[0];
|
|||
|
foreach (DataRow dr in m_dtMstItemKeyCompnt.Rows)
|
|||
|
{
|
|||
|
if (m_cPosStatus.Base.StoreNo == CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD)) drItemKeyCompnt = dr;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 메뉴 대분류 로딩
|
|||
|
DataTable dtLClass = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_L_CLSS.TABLE_NAME);
|
|||
|
if (dtLClass == null || dtLClass.Rows.Count <= 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0057); // 메뉴 대분류 마스터가 없습니다
|
|||
|
}
|
|||
|
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
btnMenuLClass.VisibleUpDown = false;
|
|||
|
|
|||
|
btnMenuLClassUp.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR));
|
|||
|
btnMenuLClassUp.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
|
|||
|
btnMenuLClassUp.Visible = true;
|
|||
|
btnMenuLClassDn.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR));
|
|||
|
btnMenuLClassDn.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
|
|||
|
btnMenuLClassDn.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
btnMenuLClass.VisibleUpDown = false;
|
|||
|
btnMenuLClassUp.Visible = false;
|
|||
|
btnMenuLClassDn.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
pnlMenuLClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR));
|
|||
|
|
|||
|
btnMenuLClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR));
|
|||
|
btnMenuLClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
|
|||
|
btnMenuLClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_COLOR));
|
|||
|
btnMenuLClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_SEL_FONT_COLOR));
|
|||
|
btnMenuLClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR));
|
|||
|
btnMenuLClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR));
|
|||
|
btnMenuLClass.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
|
|||
|
if (dtLClass != null)
|
|||
|
{
|
|||
|
int nL_CLSS_SEQ = 0;
|
|||
|
foreach (DataRow dr in dtLClass.Rows)
|
|||
|
{
|
|||
|
nL_CLSS_SEQ++;
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
cMenuInfo.sGroupCode = "00"; // 분류코드
|
|||
|
cMenuInfo.nSeqNo = nL_CLSS_SEQ; //CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.SEQ); // 표시순번
|
|||
|
// 대분류키값 = 본부키구분(1) + 서브점포코드 + 대분류 코드
|
|||
|
cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.HQ_KEY_DIV), 1)
|
|||
|
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.SUB_SHOP_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_CD); // 코드
|
|||
|
|
|||
|
string sCOMPLEX_SHOP_STOR_NM = "";
|
|||
|
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
|
|||
|
{
|
|||
|
sCOMPLEX_SHOP_STOR_NM = CmUtil.GetDataRowStr(dr, PosMst.MST_COMPLEX_SHOP_STOR.DATA.COMPLEX_SHOP_STOR_NM);
|
|||
|
}
|
|||
|
if (sCOMPLEX_SHOP_STOR_NM == "")
|
|||
|
cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_NM); // 명
|
|||
|
else
|
|||
|
cMenuInfo.sFuncText = sCOMPLEX_SHOP_STOR_NM + PosConst.CRLF + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_L_CLSS.DATA.L_CLSS_NM); // 명
|
|||
|
|
|||
|
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_COLOR)); // 백 컬러
|
|||
|
cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.L_CLSS_KEY_BASIC_FONT_COLOR)); // 명 컬러
|
|||
|
cMenuInfo.fFontSize = 10; // 명 폰트 사이즈
|
|||
|
cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
btnMenuLClass.AddFuncButtonInfo(cMenuInfo);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 메뉴 중분류 로딩
|
|||
|
DataTable dtMClass = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY_CLSS.TABLE_NAME);
|
|||
|
if (dtMClass == null || dtMClass.Rows.Count <= 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0058); // 메뉴 중분류 마스터가 없습니다
|
|||
|
}
|
|||
|
pnlMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
|
|||
|
|
|||
|
btnMenuMClassFix.VisibleUpDown = false;
|
|||
|
btnMenuMClassFix.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
|
|||
|
btnMenuMClassFix.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
|
|||
|
btnMenuMClassFix.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
|
|||
|
btnMenuMClassFix.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
|
|||
|
btnMenuMClassFix.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
|
|||
|
btnMenuMClassFix.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
|
|||
|
|
|||
|
btnMenuMClassFix.FontSizeUpDown = 10;
|
|||
|
btnMenuMClassFix.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
|
|||
|
if (dtMClass != null)
|
|||
|
{
|
|||
|
foreach (DataRow dr in dtMClass.Rows)
|
|||
|
{
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) != "1") continue;
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
|
|||
|
{
|
|||
|
foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows)
|
|||
|
{
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) == CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD))
|
|||
|
{
|
|||
|
drItemKeyCompnt = drCompnt;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD); // 서브점포코드+분류코드
|
|||
|
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ); // 표시순번
|
|||
|
// 중분류키값 = (서브점포+대분류)(20)+고정여부+중분류순번
|
|||
|
cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD), 20)
|
|||
|
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ);
|
|||
|
cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.ITEM_GRP_NM); // 명
|
|||
|
|
|||
|
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.BACKGR_COLOR)); // 백 컬러
|
|||
|
cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); // 명 컬러
|
|||
|
cMenuInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FONT_SIZE); // 명 폰트 사이즈
|
|||
|
cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
btnMenuMClassFix.AddFuncButtonInfo(cMenuInfo);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
btnMenuMClass.VisibleUpDown = true;
|
|||
|
btnMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
|
|||
|
btnMenuMClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
|
|||
|
btnMenuMClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
|
|||
|
btnMenuMClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
|
|||
|
btnMenuMClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
|
|||
|
btnMenuMClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
|
|||
|
btnMenuMClass.UpDownSeqUsed = false;
|
|||
|
btnMenuMClass.FontSizeUpDown = 10;
|
|||
|
btnMenuMClass.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
|
|||
|
if (dtMClass != null)
|
|||
|
{
|
|||
|
foreach (DataRow dr in dtMClass.Rows)
|
|||
|
{
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) == "1") continue;
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
|
|||
|
{
|
|||
|
foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows)
|
|||
|
{
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) == CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD))
|
|||
|
{
|
|||
|
drItemKeyCompnt = drCompnt;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cMenuInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD); // 서브점포코드+분류코드
|
|||
|
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ); // 표시순번
|
|||
|
// 중분류키값 = (서브점포+대분류)(20)+고정여부+중분류순번
|
|||
|
cMenuInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.L_CLSS_CD), 20)
|
|||
|
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.GRP_SEQ);
|
|||
|
cMenuInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.ITEM_GRP_NM); // 명
|
|||
|
|
|||
|
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.BACKGR_COLOR)); // 백 컬러
|
|||
|
cMenuInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR)); // 명 컬러
|
|||
|
cMenuInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY_CLSS.DATA.FONT_SIZE); // 명 폰트 사이즈
|
|||
|
cMenuInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
btnMenuMClass.AddFuncButtonInfo(cMenuInfo);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 즐겨찾기 로딩
|
|||
|
DataTable dtMemuFix = m_cPluService.SearchMenuMaster(PosMst.MST_BOOKMK.TABLE_NAME);
|
|||
|
if (dtMemuFix == null || dtMemuFix.Rows.Count <= 0)
|
|||
|
{
|
|||
|
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 즐겨찾기 마스터가 없습니다
|
|||
|
}
|
|||
|
|
|||
|
int nMenuFixRows = 2, nMenuFixCols = 5;
|
|||
|
SetMenuRowColCnt(CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY), ref nMenuFixRows, ref nMenuFixCols);
|
|||
|
|
|||
|
if (CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_USE_YN) != "1"
|
|||
|
|| CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY) == 0) nMenuFixRows = 0;
|
|||
|
|
|||
|
btnMenuFix.Visible = (nMenuFixRows == 0) ? false : true;
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
FormManager.SetControlSize(pnlMenu, 143, 386, 568, 360);
|
|||
|
pnlMenu.BackColor = CmUtil.GetColorToString("223223223");
|
|||
|
|
|||
|
FormManager.SetControlSize(btnMenuFix, 0, 0, 568, 72 * nMenuFixRows - 1);
|
|||
|
FormManager.SetControlSize(btnMenu, 0, (72 * nMenuFixRows), 568, 360 - (72 * nMenuFixRows));
|
|||
|
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Base.DesignType == "2") // 2안
|
|||
|
{
|
|||
|
FormManager.SetControlSize(pnlMenu, 523, 141, 500, 356);
|
|||
|
pnlMenu.BackColor = CmUtil.GetColorToString("223223223");
|
|||
|
|
|||
|
FormManager.SetControlSize(btnMenuFix, 0, 0, 500, 58 * nMenuFixRows - 1);
|
|||
|
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 500, 355 - (58 * nMenuFixRows));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(pnlMenu, 673, 141, 350, 356);
|
|||
|
pnlMenu.BackColor = CmUtil.GetColorToString("223223223");
|
|||
|
|
|||
|
FormManager.SetControlSize(btnMenuFix, 0, 0, 350, 58 * nMenuFixRows - 1);
|
|||
|
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 350, 355 - (58 * nMenuFixRows));
|
|||
|
}
|
|||
|
|
|||
|
btnMenuFix.SetMenuButtonCount(nMenuFixRows, nMenuFixCols); // 메뉴버튼갯수 설정
|
|||
|
btnMenuFix.BackColor = CmUtil.GetColorToString("223223223");
|
|||
|
btnMenuFix.VisibleUpDown = false;
|
|||
|
btnMenuFix.BackColorUpDown = Color.White;
|
|||
|
btnMenuFix.ForeColorUpDown = Color.Black;
|
|||
|
|
|||
|
string sUseMenuImage = PosMstManager.GetPosOption(POS_OPTION.OPT105); // 메뉴 이미지 사용여부
|
|||
|
|
|||
|
btnMenuFix.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
|
|||
|
// 메뉴정보 설정
|
|||
|
if (dtMemuFix != null)
|
|||
|
{
|
|||
|
foreach (DataRow dr in dtMemuFix.Rows)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
|
|||
|
|
|||
|
cMenuInfo.sClassCode = "00"; // 대분류코드
|
|||
|
cMenuInfo.sGroupCode = "0000"; // 중분류코드
|
|||
|
|
|||
|
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.SEQ); // 표시순번
|
|||
|
// 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드
|
|||
|
string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUBPRC_MENU_POPUP_YN), 1)
|
|||
|
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD), 10)
|
|||
|
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD);
|
|||
|
cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드
|
|||
|
cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 메뉴 명
|
|||
|
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
|
|||
|
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT)); // 메뉴 가격
|
|||
|
else
|
|||
|
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT)); // 메뉴 가격
|
|||
|
|
|||
|
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.BACKGR_COLOR)); // 버튼 백 컬러
|
|||
|
cMenuInfo.cForeColorName = Color.Black; // 메뉴명 컬러
|
|||
|
cMenuInfo.cForeColorPrice = Color.Red; // 메뉴가격 컬러
|
|||
|
cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈
|
|||
|
cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈
|
|||
|
cMenuInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.BTN_SIZE); // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
cMenuInfo.cMenuImage = "";
|
|||
|
if (sUseMenuImage != "0")
|
|||
|
{
|
|||
|
//MoonSeokWoo 대표코드로 변경.
|
|||
|
|
|||
|
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 start
|
|||
|
//기존
|
|||
|
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
|
|||
|
//변경
|
|||
|
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD) + ".PNG";
|
|||
|
if (File.Exists(cMenuInfo.cMenuImage) == false)
|
|||
|
{
|
|||
|
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
|
|||
|
}
|
|||
|
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 end
|
|||
|
|
|||
|
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG";
|
|||
|
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG";
|
|||
|
//if (File.Exists(cMenuInfo.cMenuImage) == false)
|
|||
|
// cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim();
|
|||
|
|
|||
|
//cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim());
|
|||
|
}
|
|||
|
|
|||
|
btnMenuFix.AddMenuButtonInfo(cMenuInfo);
|
|||
|
}
|
|||
|
}
|
|||
|
btnMenuFix.DisplayMenuButton("00", "0000");
|
|||
|
|
|||
|
// 메뉴 기본 로딩
|
|||
|
DataTable dtMemu = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_KEY.TABLE_NAME);
|
|||
|
if (dtMemu == null || dtMemu.Rows.Count <= 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다
|
|||
|
}
|
|||
|
|
|||
|
btnMenu.BackColor = CmUtil.GetColorToString("223223223");
|
|||
|
btnMenu.VisibleUpDown = true;
|
|||
|
btnMenu.BackColorUpDown = Color.White;
|
|||
|
btnMenu.ForeColorUpDown = Color.Black;
|
|||
|
|
|||
|
btnMenu.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
|
|||
|
if (dtMemu != null)
|
|||
|
{
|
|||
|
//#20171018 메뉴명 폰트 색상 변경 기능 start
|
|||
|
string sFontColor = "";
|
|||
|
//#20171018 메뉴명 폰트 색상 변경 기능 end
|
|||
|
|
|||
|
// 메뉴정보 설정
|
|||
|
foreach (DataRow dr in dtMemu.Rows)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
|
|||
|
|
|||
|
cMenuInfo.sClassCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.L_CLSS_CD); // 대분류
|
|||
|
cMenuInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.FIX_YN) + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.GRP_SEQ); // 중분류코드
|
|||
|
|
|||
|
cMenuInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.SEQ); // 표시순번
|
|||
|
// 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드
|
|||
|
string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUBPRC_MENU_POPUP_YN), 1)
|
|||
|
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.SUB_STOR_CD), 10)
|
|||
|
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD);
|
|||
|
cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드
|
|||
|
cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 메뉴 명
|
|||
|
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
|
|||
|
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT)); // 메뉴 가격
|
|||
|
else
|
|||
|
cMenuInfo.sMenuPrice = m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT)); // 메뉴 가격
|
|||
|
|
|||
|
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.BACKGR_COLOR)); // 버튼 백 컬러
|
|||
|
|
|||
|
//#20171018 메뉴명 폰트 색상 변경 기능 start
|
|||
|
//기존
|
|||
|
//cMenuInfo.cForeColorName = Color.FromArgb(51, 51, 51); // 메뉴명 컬러
|
|||
|
//변경
|
|||
|
|
|||
|
sFontColor = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.FONT_COLOR).Trim();
|
|||
|
if (sFontColor != "")
|
|||
|
{
|
|||
|
cMenuInfo.cForeColorName = CmUtil.GetColorToString(sFontColor); // 메뉴명 컬러
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cMenuInfo.cForeColorName = Color.FromArgb(51, 51, 51); // 메뉴명 컬러
|
|||
|
}
|
|||
|
|
|||
|
//#20171018 메뉴명 폰트 색상 변경 기능 end
|
|||
|
|
|||
|
cMenuInfo.cForeColorPrice = Color.Red; //Color.FromArgb(102, 102, 102); // 메뉴가격 컬러
|
|||
|
cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈
|
|||
|
cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_KEY.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈
|
|||
|
cMenuInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_KEY.DATA.BTN_SIZE); // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
cMenuInfo.cMenuImage = "";
|
|||
|
if (sUseMenuImage != "0")
|
|||
|
{
|
|||
|
//MoonSeokWoo 대표코드로 변경.
|
|||
|
|
|||
|
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 start
|
|||
|
//기존
|
|||
|
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
|
|||
|
//변경
|
|||
|
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD) + ".PNG";
|
|||
|
if (File.Exists(cMenuInfo.cMenuImage) == false)
|
|||
|
{
|
|||
|
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.RPST_ITEM_CD) + ".PNG";
|
|||
|
}
|
|||
|
//#20180123 상품코드 이미지 없는 경우 대표상품코드 이미지로 표시 end
|
|||
|
|
|||
|
//cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_KEY.DATA.ITEM_CD) + ".PNG";
|
|||
|
//if (File.Exists(cMenuInfo.cMenuImage) == false)
|
|||
|
// cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim();
|
|||
|
|
|||
|
//cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim());
|
|||
|
}
|
|||
|
btnMenu.AddMenuButtonInfo(cMenuInfo);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
sFirstLCode = btnMenuLClass.DisplayFuncButton("00"); // 대분류 버튼 표시
|
|||
|
btnMenuLClass_FuncClickHandler(btnMenuLClass, sFirstLCode); // 첫번째 대분류 선택 처리(메뉴 버튼 그리기)
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 메뉴 대분류 선택
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
private void btnMenuLClass_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
string sHQ_KEY_DIV = "", sLClassCode = "", sMClassCode = "";
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
//충전, 판매 거래 경우
|
|||
|
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
// 대분류 선택 효과
|
|||
|
btnMenuLClass.SelectFuncButton(sFuncCode);
|
|||
|
if (sFuncCode != "")
|
|||
|
{
|
|||
|
// 대분류키값 = 본부키구분(1) + 서브점포코드 + 대분류 코드
|
|||
|
sHQ_KEY_DIV = sFuncCode.Substring(0, 1);
|
|||
|
sLClassCode = sFuncCode.Substring(1);
|
|||
|
}
|
|||
|
|
|||
|
// 중분류 위치 조정
|
|||
|
int nMFixCnt = CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2;
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
if (sHQ_KEY_DIV != "1" || nMFixCnt == 0)
|
|||
|
{
|
|||
|
btnMenuMClassFix.Visible = false;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 0, 0, 142, 360); // 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(5, 2); // 버튼갯수 설정
|
|||
|
btnMenuMClass.SetUpDownPosition(5, 2);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 142, 72 * nMFixCnt); // 메뉴키 중분류
|
|||
|
btnMenuMClassFix.SetFuncButtonCount(nMFixCnt, 2); // 버튼갯수 설정
|
|||
|
btnMenuMClassFix.Visible = true;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 0, (72 * nMFixCnt) + 1, 142, 360 - (72 * nMFixCnt));// 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(5 - nMFixCnt, 2); // 버튼갯수 설정
|
|||
|
btnMenuMClass.SetUpDownPosition(5 - nMFixCnt, 2);
|
|||
|
}
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Base.DesignType == "2") // 2안
|
|||
|
{
|
|||
|
if (sHQ_KEY_DIV != "1" || nMFixCnt == 0)
|
|||
|
{
|
|||
|
btnMenuMClassFix.Visible = false;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
|
|||
|
btnMenuMClass.SetUpDownPosition(2, 10);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
|
|||
|
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
|
|||
|
btnMenuMClassFix.Visible = true;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
|
|||
|
btnMenuMClass.SetUpDownPosition(2, 10 - nMFixCnt);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (sHQ_KEY_DIV != "1" || nMFixCnt == 0)
|
|||
|
{
|
|||
|
btnMenuMClassFix.Visible = false;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 0, 0, 924, 90); // 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(2, 10); // 버튼갯수 설정
|
|||
|
btnMenuMClass.SetUpDownPosition(2, 10);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnMenuMClassFix, 0, 0, 92 * nMFixCnt, 90); // 메뉴키 중분류
|
|||
|
btnMenuMClassFix.SetFuncButtonCount(2, nMFixCnt); // 버튼갯수 설정
|
|||
|
btnMenuMClassFix.Visible = true;
|
|||
|
FormManager.SetControlSize(btnMenuMClass, 1 + (92 * nMFixCnt), 0, 923 - (92 * nMFixCnt), 90); // 메뉴키 중분류
|
|||
|
btnMenuMClass.SetFuncButtonCount(2, 10 - nMFixCnt); // 버튼갯수 설정
|
|||
|
btnMenuMClass.SetUpDownPosition(2, 10 - nMFixCnt);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 복합매장 중분류 구성
|
|||
|
DataRow drItemKeyCompnt = PosMstManager.GetMstScreen();
|
|||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
if (m_cPosStatus.Mst.ComplexShopType == "2") // 0:단독매장,1:복합매장구성점포,2:복합매장점포
|
|||
|
{
|
|||
|
foreach (DataRow drCompnt in m_dtMstItemKeyCompnt.Rows)
|
|||
|
{
|
|||
|
if (sLClassCode.StartsWith(CmUtil.GetDataRowStr(drCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SUB_STOR_CD)))
|
|||
|
{
|
|||
|
drItemKeyCompnt = drCompnt;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
pnlMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
|
|||
|
|
|||
|
btnMenuMClassFix.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
|
|||
|
btnMenuMClassFix.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
|
|||
|
btnMenuMClassFix.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
|
|||
|
btnMenuMClassFix.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
|
|||
|
btnMenuMClassFix.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
|
|||
|
btnMenuMClassFix.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
|
|||
|
|
|||
|
btnMenuMClass.BackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
|
|||
|
btnMenuMClass.ForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
|
|||
|
btnMenuMClass.SelectedBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_COLOR));
|
|||
|
btnMenuMClass.SelectedForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_SEL_FONT_COLOR));
|
|||
|
btnMenuMClass.BackColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_COLOR));
|
|||
|
btnMenuMClass.ForeColorUpDown = CmUtil.GetColorToString(CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.ITEM_KEY_BASIC_FONT_COLOR));
|
|||
|
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
int nMenuFixRows = 2, nMenuFixCols = 5;
|
|||
|
SetMenuRowColCnt(CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_ITEM_KEY_ARRAY), ref nMenuFixRows, ref nMenuFixCols);
|
|||
|
|
|||
|
if (CmUtil.GetDataRowStr(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.BOOKMK_USE_YN) != "1") nMenuFixRows = 0;
|
|||
|
|
|||
|
btnMenuFix.Visible = (nMenuFixRows == 0) ? false : true;
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnMenuFix, 0, 0, 568, 72 * nMenuFixRows - 1);
|
|||
|
FormManager.SetControlSize(btnMenu, 0, (72 * nMenuFixRows), 568, 360 - (72 * nMenuFixRows));
|
|||
|
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Base.DesignType == "2") // 2안
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnMenuFix, 0, 0, 500, 58 * nMenuFixRows - 1);
|
|||
|
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 500, 355 - (58 * nMenuFixRows));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
FormManager.SetControlSize(btnMenuFix, 0, 0, 350, 58 * nMenuFixRows - 1);
|
|||
|
FormManager.SetControlSize(btnMenu, 0, (58 * nMenuFixRows), 350, 355 - (58 * nMenuFixRows));
|
|||
|
}
|
|||
|
btnMenuFix.SetMenuButtonCount(nMenuFixRows, nMenuFixCols); // 메뉴버튼갯수 설정
|
|||
|
}
|
|||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|||
|
// 중분류 표시
|
|||
|
if (sHQ_KEY_DIV == "1" && CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2 > 0)
|
|||
|
{
|
|||
|
sMClassCode = btnMenuMClassFix.DisplayFuncButton(sLClassCode);
|
|||
|
btnMenuMClass.DisplayFuncButton(sLClassCode);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
btnMenuMClassFix.DisplayFuncButton(sLClassCode);
|
|||
|
sMClassCode = btnMenuMClass.DisplayFuncButton(sLClassCode);
|
|||
|
}
|
|||
|
|
|||
|
// 본부키구분(sHQ_KEY_DIV) 값에 따른 메뉴키 컨트롤 갯수 설정 필요
|
|||
|
int nKeyLayout = 0;
|
|||
|
if (sHQ_KEY_DIV == "1") // 본부키
|
|||
|
nKeyLayout = CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.HQ_ITEMKEY_LAYOUT);
|
|||
|
else
|
|||
|
nKeyLayout = CmUtil.GetDataRowInt(drItemKeyCompnt, PosMst.MST_ITEM_KEY_COMPNT.DATA.SHOP_ITEMKEY_LAYOUT);
|
|||
|
|
|||
|
// 메뉴버튼갯수 설정
|
|||
|
int nRow = 0, nCol = 0;
|
|||
|
SetMenuRowColCnt(nKeyLayout, ref nRow, ref nCol);
|
|||
|
btnMenu.SetMenuButtonCount(nRow, nCol);
|
|||
|
|
|||
|
// 해당 중분류의 첫번째 메뉴키 그룹 표시
|
|||
|
if (sHQ_KEY_DIV == "1" && CmUtil.IntParse(m_cPosStatus.ScnMst.FixItemClssCnt) / 2 > 0)
|
|||
|
btnMenuMClass_FuncClickHandler(btnMenuMClassFix, sMClassCode);
|
|||
|
else
|
|||
|
btnMenuMClass_FuncClickHandler(btnMenuMClass, sMClassCode);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 메뉴 중분류 선택
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
private void btnMenuMClass_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
string sLClassCode = "", sMClassCode = "";
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
//충전, 판매 거래 경우
|
|||
|
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
}
|
|||
|
if (sender != null && (CsmFunc)sender == btnMenuMClassFix)
|
|||
|
{
|
|||
|
btnMenuMClassFix.SelectFuncButton(sFuncCode); // 중분류 선택 효과
|
|||
|
btnMenuMClass.SelectFuncButton("");
|
|||
|
btnMenuMClass.Tag = "FIX";
|
|||
|
}
|
|||
|
if (sender != null && (CsmFunc)sender == btnMenuMClass)
|
|||
|
{
|
|||
|
btnMenuMClassFix.SelectFuncButton("");
|
|||
|
btnMenuMClass.SelectFuncButton(sFuncCode); // 중분류 선택 효과
|
|||
|
btnMenuMClass.Tag = "";
|
|||
|
}
|
|||
|
|
|||
|
if (sFuncCode != "")
|
|||
|
{
|
|||
|
// 중분류키값 = 서브점포+대분류)(20)+고정여부+중분류순번
|
|||
|
sLClassCode = sFuncCode.Substring(0, 20).Trim();
|
|||
|
sMClassCode = sFuncCode.Substring(20);
|
|||
|
}
|
|||
|
|
|||
|
// 메뉴 표시
|
|||
|
btnMenu.DisplayMenuButton(sLClassCode, sMClassCode);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 메뉴 중분류 업다운 버튼 입력 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sUpDown"></param>
|
|||
|
private void btnMenuMClass_UpDownClick(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
string sLClassCode = "", sMClassCode = "";
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
//충전, 판매 거래 경우
|
|||
|
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
}
|
|||
|
if (btnMenuMClass.Tag == null || btnMenuMClass.Tag.ToString() == "")
|
|||
|
{
|
|||
|
btnMenuMClass.SelectFuncButton(sFuncCode); // 중분류 선택 효과
|
|||
|
|
|||
|
if (sFuncCode != "")
|
|||
|
{
|
|||
|
// 중분류키값 = 서브점포+대분류)(20)+고정여부+중분류순번
|
|||
|
sLClassCode = sFuncCode.Substring(0, 20).Trim();
|
|||
|
sMClassCode = sFuncCode.Substring(20);
|
|||
|
}
|
|||
|
// 메뉴 표시
|
|||
|
btnMenu.DisplayMenuButton(sLClassCode, sMClassCode);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 메뉴 선택
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sMenuCode"></param>
|
|||
|
private void btnMenu_MenuClickHandler(object sender, string sMenuCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
if (sMenuCode == "") return;
|
|||
|
|
|||
|
string sInPutValue = txtInPut.Text;
|
|||
|
|
|||
|
// 메뉴 키 값 = 부가메뉴팝업여부(1) + 서버점포코드(10) + 메뉴코드
|
|||
|
m_cTrnStatus.Sale.SubMenuPopUpYn = sMenuCode.Substring(0, 1);
|
|||
|
m_cTrnStatus.Sale.SubStoreCode = sMenuCode.Substring(1, 10).Trim();
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) DisplayInit(true, false);
|
|||
|
|
|||
|
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:전체상품합산)
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2" && sInPutValue == "")
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
for (int i = 0; i < alTrPluItem.Count; i++)
|
|||
|
{
|
|||
|
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
|
|||
|
|
|||
|
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
|
|||
|
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
|
|||
|
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
|
|||
|
if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
|
|||
|
|
|||
|
if (cPluItem.SUB_SHOP_CD != sMenuCode.Substring(1, 10).Trim() || cPluItem.ITEM_PLU_CD != sMenuCode.Substring(11)) continue;
|
|||
|
|
|||
|
if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
|
|||
|
if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
|
|||
|
if (cPluItem.SALE_QTY >= 99999) continue;
|
|||
|
//#20170825 오픈 상품은 무조건 새 row로 입력 start
|
|||
|
if (cPluItem.OPEN_ITEM_DIV == "1") continue;
|
|||
|
//#20170825 오픈 상품은 무조건 새 row로 입력 end
|
|||
|
|
|||
|
// 수량 증가 처리
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
|
|||
|
|
|||
|
SaleItemGrid.SelectIndexItem(i);
|
|||
|
m_cCustDisp.DisplaySaleItemList(true, true, i);
|
|||
|
txtInPut.Text = "";
|
|||
|
|
|||
|
//// 부가메뉴 등록
|
|||
|
//if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|||
|
// && m_cTrnStatus.Sale.SubMenuPopUpYn == "1")
|
|||
|
//{
|
|||
|
// // 부가메뉴 화면 표시
|
|||
|
// if (LoadSubMenuDisplay(cPluItem.SUB_SHOP_CD, cPluItem.M_CLSS) == true)
|
|||
|
// {
|
|||
|
// //20160911 SBSEO 추가 부가 메뉴일때도 부모코드 입력!
|
|||
|
// m_cTrnStatus.Sale.SubMenuMainCode = cPluItem.ITEM_PLU_CD;
|
|||
|
// }
|
|||
|
//}
|
|||
|
|
|||
|
//// 플레이버 등록
|
|||
|
//if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|||
|
// && cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR_OWN)
|
|||
|
//{
|
|||
|
// if (cPluItem.FLAVOUR_QTY <= 2)
|
|||
|
// {
|
|||
|
// // 플레이버 화면 표시
|
|||
|
// LoadFlavourMaster(m_cTrnStatus.Sale.SubStoreCode);
|
|||
|
// }
|
|||
|
//}
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
bool bRet = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, sInPutValue, "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMenuCode.Substring(1));
|
|||
|
if (bRet == true)
|
|||
|
{
|
|||
|
string sSUB_SHOP_CD = "", sM_CLSS = "";
|
|||
|
if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|||
|
&& (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT
|
|||
|
|| m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT))
|
|||
|
{
|
|||
|
if (SaleItemGrid.SelectedIndex >= 0)
|
|||
|
{
|
|||
|
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM); // 상품 아이템
|
|||
|
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[SaleItemGrid.SelectedIndex]; // 상품 정보
|
|||
|
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL)
|
|||
|
{
|
|||
|
sSUB_SHOP_CD = cPluItem.SUB_SHOP_CD;
|
|||
|
sM_CLSS = cPluItem.M_CLSS;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
LoadCommonSubMenuDisplay(sSUB_SHOP_CD, sM_CLSS);
|
|||
|
}
|
|||
|
|
|||
|
txtInPut.Text = "";
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 메뉴 컨트롤 배치 갯수 설정
|
|||
|
/// </summary>
|
|||
|
private void SetMenuRowColCnt(int nKeyLayout, ref int nRow, ref int nCol)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
// 메뉴버튼갯수 설정
|
|||
|
switch (nKeyLayout)
|
|||
|
{
|
|||
|
case 1:
|
|||
|
nRow = 5; nCol = 5;
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
nRow = 5; nCol = 4;
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
nRow = 5; nCol = 3;
|
|||
|
break;
|
|||
|
case 4:
|
|||
|
nRow = 4; nCol = 5;
|
|||
|
break;
|
|||
|
case 5:
|
|||
|
nRow = 4; nCol = 4;
|
|||
|
break;
|
|||
|
case 6:
|
|||
|
nRow = 4; nCol = 3;
|
|||
|
break;
|
|||
|
case 7:
|
|||
|
nRow = 3; nCol = 5;
|
|||
|
break;
|
|||
|
case 8:
|
|||
|
nRow = 3; nCol = 4;
|
|||
|
break;
|
|||
|
case 9:
|
|||
|
nRow = 3; nCol = 3;
|
|||
|
break;
|
|||
|
case 10:
|
|||
|
nRow = 2; nCol = 5;
|
|||
|
break;
|
|||
|
case 11:
|
|||
|
nRow = 2; nCol = 4;
|
|||
|
break;
|
|||
|
case 12:
|
|||
|
nRow = 2; nCol = 3;
|
|||
|
break;
|
|||
|
case 13:
|
|||
|
nRow = 1; nCol = 5;
|
|||
|
break;
|
|||
|
case 14:
|
|||
|
nRow = 1; nCol = 4;
|
|||
|
break;
|
|||
|
case 15:
|
|||
|
nRow = 1; nCol = 3;
|
|||
|
break;
|
|||
|
|
|||
|
default:
|
|||
|
nRow = 5; nCol = 5;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 부가메뉴 초기화 및 부가메뉴 마스터 로딩
|
|||
|
/// <summary>
|
|||
|
/// 공통 부가메뉴 초기화 및 부가메뉴 마스터 로딩
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public bool LoadCommonSubMenuDisplay(string sSubStoreCode, string sItemCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
// 3안 => 부가메뉴 항시 표시 일때 사용
|
|||
|
if (m_cPosStatus.Base.DesignType != "3") return true;
|
|||
|
|
|||
|
DataTable dtSubGrpKey = null;
|
|||
|
if (sSubStoreCode != "")
|
|||
|
{
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 부가메뉴 그룹 로딩
|
|||
|
dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, sItemCode);
|
|||
|
if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0)
|
|||
|
{
|
|||
|
dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
btnSubMenuCommGrp.SetFuncButtonCount(6, 1); // 버튼갯수 설정
|
|||
|
btnSubMenuCommGrp.VisibleUpDown = true;
|
|||
|
btnSubMenuCommGrp.ClearFuncButtonInfo(); // 설정된 정보 초기화
|
|||
|
btnSubMenuCommGrp.BackColorUpDown = Color.FromArgb(204, 210, 217);
|
|||
|
btnSubMenuCommGrp.FontSizeUpDown = 12;
|
|||
|
btnSubMenuCommGrp.SelectedBackColor = Color.FromArgb(95, 104, 116);
|
|||
|
btnSubMenuCommGrp.SelectedForeColor = Color.FromArgb(255, 255, 255);
|
|||
|
|
|||
|
if (dtSubGrpKey != null && dtSubGrpKey.Rows.Count > 0)
|
|||
|
{
|
|||
|
foreach (DataRow dr in dtSubGrpKey.Rows)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU.DATA.SEQ_NO);
|
|||
|
nSeq += (int)((nSeq - 1)/ 5);
|
|||
|
|
|||
|
cFuncInfo.sGroupCode = "00"; // 분류코드
|
|||
|
cFuncInfo.nSeqNo = nSeq; // 표시순번
|
|||
|
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SEL_TYPE), 1) + CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_CD); // 기능코드
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_NM); // 기능 명
|
|||
|
|
|||
|
cFuncInfo.cBackColor = Color.FromArgb(214, 219, 255); // 백 컬러
|
|||
|
cFuncInfo.cForeColor = Color.Black; // 명 컬러
|
|||
|
cFuncInfo.fFontSize = 12; // 명 폰트 사이즈
|
|||
|
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
btnSubMenuCommGrp.AddFuncButtonInfo(cFuncInfo);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
DataTable dtSubDtl = null;
|
|||
|
if (sSubStoreCode != "")
|
|||
|
{
|
|||
|
// 부가메뉴 그룹 상세 로딩
|
|||
|
dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, sItemCode);
|
|||
|
if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0)
|
|||
|
{
|
|||
|
dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
btnSubMenuCommDtl.SetFuncButtonCount(6, 1); // 버튼갯수 설정
|
|||
|
btnSubMenuCommDtl.VisibleUpDown = true;
|
|||
|
btnSubMenuCommDtl.ClearFuncButtonInfo(); // 설정된 정보 초기화
|
|||
|
btnSubMenuCommDtl.BackColorUpDown = Color.FromArgb(224, 230, 235); // 백 컬러
|
|||
|
btnSubMenuCommDtl.FontSizeUpDown = 12;
|
|||
|
|
|||
|
if (dtSubDtl != null && dtSubDtl.Rows.Count > 0)
|
|||
|
{
|
|||
|
foreach (DataRow dr in dtSubDtl.Rows)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
|
|||
|
nSeq += (int)((nSeq - 1) / 5);
|
|||
|
|
|||
|
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_GRP_CD); // 분류코드
|
|||
|
cFuncInfo.nSeqNo = nSeq; // CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
|
|||
|
|
|||
|
// 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "1")
|
|||
|
{
|
|||
|
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
|
|||
|
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
|
|||
|
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_CD), 20)
|
|||
|
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM), 40)
|
|||
|
+ CmUtil.RPadH("0", 20);
|
|||
|
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM);
|
|||
|
}
|
|||
|
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "2")
|
|||
|
{
|
|||
|
double nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.UP_CHARGE_AMT);
|
|||
|
//if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
|
|||
|
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT); // 메뉴 가격
|
|||
|
//else
|
|||
|
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT); // 메뉴 가격
|
|||
|
|
|||
|
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
|
|||
|
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
|
|||
|
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
|
|||
|
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
|
|||
|
+ CmUtil.RPadH(nMenuPrc.ToString(), 20);
|
|||
|
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
|
|||
|
+ m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
|
|||
|
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
|
|||
|
// + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol
|
|||
|
// + m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
|
|||
|
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
|
|||
|
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
|
|||
|
+ CmUtil.RPadH("0", 20);
|
|||
|
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + "0";
|
|||
|
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + "0";
|
|||
|
}
|
|||
|
|
|||
|
cFuncInfo.cBackColor = Color.FromArgb(224, 230, 235); // 백 컬러
|
|||
|
cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_COLOR)); // 명 컬러
|
|||
|
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
|
|||
|
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
btnSubMenuCommDtl.AddFuncButtonInfo(cFuncInfo);
|
|||
|
}
|
|||
|
}
|
|||
|
// 메뉴 표시
|
|||
|
string sGrpCode = btnSubMenuCommGrp.DisplayFuncButton("00"); // 분류 버튼 표시
|
|||
|
btnSubMenuCommGrp_FuncClickHandler(btnSubMenuCommGrp, sGrpCode); // 첫번째 분류 선택 처리(버튼 그리기)
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void btnSubMenuCommGrp_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (sFuncCode == "")
|
|||
|
{
|
|||
|
btnSubMenuCommGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과
|
|||
|
btnSubMenuCommDtl.DisplayFuncButton(""); // 메뉴 표시
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
btnSubMenuCommGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과
|
|||
|
|
|||
|
m_sSubMenuGrpSelType = sFuncCode.Substring(0, 1);
|
|||
|
// 메뉴 표시
|
|||
|
btnSubMenuCommDtl.DisplayFuncButton(sFuncCode.Substring(1));
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 부가메뉴 초기화 및 부가메뉴 마스터 로딩
|
|||
|
/// </summary>
|
|||
|
/// <param name="sSubStoreCode"></param>
|
|||
|
/// <param name="sItemCode">중분류코드</param>
|
|||
|
/// <returns></returns>
|
|||
|
public bool LoadSubMenuDisplay(string sSubStoreCode, string sItemCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
// 3안 => 부가메뉴 항시 표시 일때 사용
|
|||
|
if (m_cPosStatus.Base.DesignType == "3")
|
|||
|
{
|
|||
|
LoadCommonSubMenuDisplay(sSubStoreCode, sItemCode);
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
pnlFlavour.Visible = false;
|
|||
|
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 부가메뉴 그룹 로딩
|
|||
|
DataTable dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, sItemCode);
|
|||
|
if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0)
|
|||
|
{
|
|||
|
dtSubGrpKey = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
|
|||
|
if (dtSubGrpKey == null || dtSubGrpKey.Rows.Count <= 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0018); // 부가메뉴 그룹 마스터가 없습니다
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
btnSubMenuGrp.SetFuncButtonCount(6, 1); // 버튼갯수 설정
|
|||
|
btnSubMenuGrp.VisibleUpDown = true;
|
|||
|
btnSubMenuGrp.ClearFuncButtonInfo(); // 설정된 정보 초기화
|
|||
|
btnSubMenuGrp.BackColorUpDown = Color.FromArgb(204, 210, 217);
|
|||
|
//btnSubMenuGrp.BackColor = Color.FromArgb(224, 230, 235);
|
|||
|
|
|||
|
|
|||
|
btnSubMenuGrp.SelectedBackColor = Color.FromArgb(95, 104, 116);
|
|||
|
btnSubMenuGrp.SelectedForeColor = Color.FromArgb(255, 255, 255);
|
|||
|
|
|||
|
|
|||
|
foreach (DataRow dr in dtSubGrpKey.Rows)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU.DATA.SEQ_NO);
|
|||
|
nSeq += (int)((nSeq - 1) / 5);
|
|||
|
|
|||
|
cFuncInfo.sGroupCode = "00"; // 분류코드
|
|||
|
cFuncInfo.nSeqNo = nSeq; // 표시순번
|
|||
|
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SEL_TYPE), 1) + CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_CD); // 기능코드
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU.DATA.SUBPRC_MENU_GRP_NM); // 기능 명
|
|||
|
|
|||
|
cFuncInfo.cBackColor = Color.FromArgb(214, 219, 255); // 백 컬러
|
|||
|
cFuncInfo.cForeColor = Color.Black; // 명 컬러
|
|||
|
cFuncInfo.fFontSize = 12; // 명 폰트 사이즈
|
|||
|
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
btnSubMenuGrp.AddFuncButtonInfo(cFuncInfo);
|
|||
|
}
|
|||
|
|
|||
|
// 부가메뉴 그룹 상세 로딩
|
|||
|
DataTable dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, sItemCode);
|
|||
|
if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0)
|
|||
|
{
|
|||
|
dtSubDtl = m_cPluService.SearchMenuMaster(PosMst.MST_SUBPRC_MENU_GRP.TABLE_NAME, sSubStoreCode, PosConst.SUB_MEMO_L_CLSS_COMMON);
|
|||
|
if (dtSubDtl == null || dtSubDtl.Rows.Count <= 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0019); // 부가메뉴 그룹 상세 마스터가 없습니다
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
btnSubMenuDtl.SetFuncButtonCount(6, 4); // 버튼갯수 설정
|
|||
|
btnSubMenuDtl.VisibleUpDown = true;
|
|||
|
btnSubMenuDtl.ClearFuncButtonInfo(); // 설정된 정보 초기화
|
|||
|
btnSubMenuDtl.BackColorUpDown = Color.FromArgb(224, 230, 235); // 백 컬러
|
|||
|
//btnSubMenuDtl.BackColor = Color.FromArgb(224, 230, 235);
|
|||
|
|
|||
|
foreach (DataRow dr in dtSubDtl.Rows)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
int nSeq = CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
|
|||
|
nSeq += (int)((nSeq - 1) / 23);
|
|||
|
|
|||
|
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_GRP_CD); // 분류코드
|
|||
|
cFuncInfo.nSeqNo = nSeq; // CmUtil.GetDataRowInt(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SEQ_NO); // 표시순번
|
|||
|
|
|||
|
// 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "1")
|
|||
|
{
|
|||
|
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
|
|||
|
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
|
|||
|
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_CD), 20)
|
|||
|
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM), 40)
|
|||
|
+ CmUtil.RPadH("0", 20);
|
|||
|
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.LABEL_NM);
|
|||
|
}
|
|||
|
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV) == "2")
|
|||
|
{
|
|||
|
double nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.UP_CHARGE_AMT);
|
|||
|
//if (PosMstManager.GetPosOption(POS_OPTION.OPT005) == "0")
|
|||
|
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_OUT_SALE_AMT); // 메뉴 가격
|
|||
|
//else
|
|||
|
// nMenuPrc = CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM.DATA.TAKE_IN_SALE_AMT); // 메뉴 가격
|
|||
|
|
|||
|
// 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
|
|||
|
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
|
|||
|
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
|
|||
|
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
|
|||
|
+ CmUtil.RPadH(nMenuPrc.ToString(), 20);
|
|||
|
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
|
|||
|
+ m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
|
|||
|
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
|
|||
|
// + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol
|
|||
|
// + m_cPosStatus.Global.NumericTOCurrency(nMenuPrc);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_DIV), 1)
|
|||
|
+ CmUtil.RPadH(sSubStoreCode, 10) + CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.SUBPRC_MENU_KEY_VAL), 20)
|
|||
|
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM), 40)
|
|||
|
+ CmUtil.RPadH("0", 20);
|
|||
|
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + "0";
|
|||
|
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n" + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + "0";
|
|||
|
}
|
|||
|
|
|||
|
cFuncInfo.cBackColor = Color.FromArgb(224, 230, 235); // 백 컬러
|
|||
|
cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_COLOR)); // 명 컬러
|
|||
|
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_SUBPRC_MENU_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
|
|||
|
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
btnSubMenuDtl.AddFuncButtonInfo(cFuncInfo);
|
|||
|
}
|
|||
|
string sGrpCode = btnSubMenuGrp.DisplayFuncButton("00"); // 분류 버튼 표시
|
|||
|
btnSubMenuGrp_FuncClickHandler(btnSubMenuGrp, sGrpCode); // 첫번째 분류 선택 처리(버튼 그리기)
|
|||
|
|
|||
|
pnlSubMenu.Visible = true;
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 부가메뉴 그룹 선택 이벤트 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
private void btnSubMenuGrp_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
btnSubMenuGrp.SelectFuncButton(sFuncCode); // 분류 선택 효과
|
|||
|
|
|||
|
if (sFuncCode == "")
|
|||
|
{
|
|||
|
btnSubMenuDtl.DisplayFuncButton("");
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
m_sSubMenuGrpSelType = sFuncCode.Substring(0, 1);
|
|||
|
// 메뉴 표시
|
|||
|
btnSubMenuDtl.DisplayFuncButton(sFuncCode.Substring(1));
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 부가메뉴 선택 이벤트 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
private void btnSubMenuDtl_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) return;
|
|||
|
if (sFuncCode == "") return;
|
|||
|
|
|||
|
// 메뉴 키 값 = 부가메뉴구분(1) + 서브점포코드(10) + 메뉴코드(20) + 메뉴명(40) + 메뉴가격(20)
|
|||
|
string sMENU_KEY_DIV = CmUtil.MidH(sFuncCode, 0, 1).Trim(); // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
|
|||
|
string sMENU_KEY_CD = CmUtil.MidH(sFuncCode, 1, 30).Trim(); // 서버점포코드(10) + 메뉴코드(20)
|
|||
|
string sMENU_KEY_NM = CmUtil.MidH(sFuncCode, 31, 40).Trim(); // 부가메뉴명
|
|||
|
string sMENU_PRICE = CmUtil.MidH(sFuncCode, 71, 20).Trim(); // 부가메뉴단가
|
|||
|
|
|||
|
// 그리드의 현재 선택 행번호
|
|||
|
int nSelectRow = SaleItemGrid.SelectedIndex;
|
|||
|
string sSelectRow = "";
|
|||
|
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
|
|||
|
{
|
|||
|
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
|
|||
|
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
|
|||
|
// No
|
|||
|
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
|
|||
|
sSelectRow = cGridExRowData.GridItemValue;
|
|||
|
}
|
|||
|
|
|||
|
m_cTrnStatus.Sale.SubMenuKeyDiv = sMENU_KEY_DIV;
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
// 상품 아이템
|
|||
|
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)]; // 상품 정보
|
|||
|
|
|||
|
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL && cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.SET_DETL
|
|||
|
&& cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.OPT_MENU)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0026); // 부가메뉴를 등록 할 수 없는 상품입니다
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
sMENU_KEY_CD = CmUtil.RPadH(cPluItem.SUB_SHOP_CD, 10) + CmUtil.MidH(sFuncCode, 11, 20).Trim();
|
|||
|
|
|||
|
m_cTrnStatus.Sale.SubMenuSelectPos = CmUtil.IntParse(sSelectRow);
|
|||
|
m_cTrnStatus.Sale.SubMenuMainCode = cPluItem.ITEM_PLU_CD;
|
|||
|
m_cTrnStatus.Sale.SubMenuUpSalePrc = m_cDataService.DoubleParse(sMENU_PRICE);
|
|||
|
|
|||
|
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL)
|
|||
|
{
|
|||
|
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:전체상품합산)
|
|||
|
bool bSubMenuQtyAdd = false;
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2" && txtInPut.Text == "")
|
|||
|
{
|
|||
|
for (int i = CmUtil.IntParse(sSelectRow) + 1; i < alPluItem.Count; i++)
|
|||
|
{
|
|||
|
Column.TR_PLU.DATA cSubPluItem = (Column.TR_PLU.DATA)alPluItem[i];
|
|||
|
|
|||
|
if (cSubPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.OPT_MENU) break;
|
|||
|
|
|||
|
if (cSubPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cSubPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
|
|||
|
if (cSubPluItem.SUBPRC_MENU_KEY_DIV != sMENU_KEY_DIV) continue;
|
|||
|
if (cSubPluItem.SUB_SHOP_CD != sMENU_KEY_CD.Substring(0, 10).Trim() || cSubPluItem.ITEM_PLU_CD != sMENU_KEY_CD.Substring(10)) continue;
|
|||
|
|
|||
|
if (cSubPluItem.ITEM_DC_AMT > 0 || cSubPluItem.SUM_DC_AMT > 0 || cSubPluItem.SET_DC_AMT > 0 || cSubPluItem.EXCEP_DC_AMT > 0) continue;
|
|||
|
if (cSubPluItem.SALE_QTY >= 99999) continue;
|
|||
|
|
|||
|
// 수량 증가 처리
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
|
|||
|
SaleItemGrid.SelectIndexItem(i);
|
|||
|
bSubMenuQtyAdd = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 부가메뉴 추가 등록
|
|||
|
if (bSubMenuQtyAdd == false)
|
|||
|
{
|
|||
|
if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
|
|||
|
{
|
|||
|
m_cPluService.SetSubMenuMemoItem(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.SUBMENU + sMENU_KEY_CD);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 부가메뉴 변경 등록
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
|
|||
|
{
|
|||
|
m_cPluService.SetSubMenuMemoItemChange(sSelectRow, sMENU_KEY_CD, sMENU_KEY_NM);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cPluService.SetSubMenuItemChange(sSelectRow, sMENU_KEY_CD, sMENU_KEY_DIV);
|
|||
|
}
|
|||
|
}
|
|||
|
DisplayItem(1, false); // 0:LastItem, 1:OldFocus
|
|||
|
SaleItemGrid.SelectIndexItem(CmUtil.IntParse(sSelectRow));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cTrnStatus.Sale.SubMenuUpSalePrc = m_cDataService.DoubleParse(sMENU_PRICE);
|
|||
|
|
|||
|
if (sMENU_KEY_DIV == "1") // (0:부가상품, 1:부가메모)
|
|||
|
{
|
|||
|
m_cPluService.SetSubMenuMemoItem(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
|
|||
|
DisplayItem(0, false);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.SUBMENU + sMENU_KEY_CD);
|
|||
|
}
|
|||
|
//pnlSubMenu.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT032) == "1" || m_sSubMenuGrpSelType == "1") btnSubMenuExit_Click(null, null);
|
|||
|
|
|||
|
txtInPut.Text = "";
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 부가메뉴 등록 완료
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btnSubMenuExit_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_SET;
|
|||
|
|
|||
|
m_cSaleMainProc.RegisterPluItem("", "", "");
|
|||
|
if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.SALE_DOING_SET_OPT) pnlSubMenu.Visible = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
|
|||
|
|
|||
|
m_cTrnStatus.Sale.SubMenuPopUpYn = "0";
|
|||
|
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
///// <summary>
|
|||
|
///// 부가메뉴 선택 이벤트 처리
|
|||
|
///// </summary>
|
|||
|
///// <param name="sender"></param>
|
|||
|
///// <param name="sFuncCode"></param>
|
|||
|
//private void btnSubMenuDtl_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
//{
|
|||
|
// try
|
|||
|
// {
|
|||
|
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) return;
|
|||
|
// if (sFuncCode == "") return;
|
|||
|
|
|||
|
// // 메뉴 키 값 = 부가메뉴구분(1)+서브점포코드(10) + 메뉴코드(20) + 메뉴명(40)
|
|||
|
// string sMENU_KEY_DIV = sFuncCode.Substring(0, 1).Trim(); // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
|
|||
|
// m_cTrnStatus.Sale.SubStoreCode = sFuncCode.Substring(1, 10).Trim(); // 서브점포코드
|
|||
|
// string sMENU_KEY_CD = sFuncCode.Substring(1, 30).Trim(); // 서버점포코드(10) + 메뉴코드(20)
|
|||
|
// string sMENU_KEY_NM = sFuncCode.Substring(31).Trim(); // 서브메모명
|
|||
|
|
|||
|
// // 그리드의 현재 선택 행번호
|
|||
|
// int nSelectRow = SaleItemGrid.SelectedIndex;
|
|||
|
// string sSelectRow = "";
|
|||
|
// if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
|
|||
|
// {
|
|||
|
// Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
|
|||
|
// GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
|
|||
|
// // No
|
|||
|
// CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
|
|||
|
// sSelectRow = cGridExRowData.GridItemValue;
|
|||
|
// }
|
|||
|
|
|||
|
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_BTN_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
// {
|
|||
|
// // 상품 아이템
|
|||
|
// ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
// for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--)
|
|||
|
// {
|
|||
|
// // 상품 정보
|
|||
|
// Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[i];
|
|||
|
|
|||
|
// if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
|
|||
|
// {
|
|||
|
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0026); // 부가메뉴를 등록 할 수 없는 상품입니다
|
|||
|
// return;
|
|||
|
// }
|
|||
|
|
|||
|
// if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL && cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.SET_DETL) continue;
|
|||
|
|
|||
|
// if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL)
|
|||
|
// {
|
|||
|
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다
|
|||
|
// return;
|
|||
|
// }
|
|||
|
|
|||
|
// if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING)
|
|||
|
// {
|
|||
|
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다
|
|||
|
// return;
|
|||
|
// }
|
|||
|
|
|||
|
// string sOldSaleFlow = m_cPosStatus.Sale.SaleFlow;
|
|||
|
// m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_BTN_OPT;
|
|||
|
|
|||
|
// m_cTrnStatus.Sale.SubMenuSelectPos = i;
|
|||
|
// if (sMENU_KEY_DIV == "1") // 부가메뉴구분(1:속성,2:업차지,3:선택메뉴)
|
|||
|
// {
|
|||
|
// m_cPluService.SetSubMemo(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
|
|||
|
// DisplayItem(1, false);
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
// m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, i.ToString(), PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMENU_KEY_CD);
|
|||
|
|
|||
|
// SaleItemGrid.SelectIndexItem((int)m_cTrnStatus.Sale.SubMenuSelectPos + 1);
|
|||
|
// }
|
|||
|
// m_cPosStatus.Sale.SaleFlow = sOldSaleFlow;
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// if (sMENU_KEY_DIV == "1") // (0:부가상품, 1:부가메모)
|
|||
|
// {
|
|||
|
// m_cPluService.SetSubMemo(sMENU_KEY_CD, sMENU_KEY_NM, txtInPut.Text);
|
|||
|
// DisplayItem(0, false);
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
// m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMENU_KEY_CD);
|
|||
|
// }
|
|||
|
// //pnlSubMenu.Visible = false;
|
|||
|
// }
|
|||
|
|
|||
|
// if (PosMstManager.GetPosOption(POS_OPTION.OPT032) == "1") btnSubMenuExit_Click(null, null);
|
|||
|
// txtInPut.Text = "";
|
|||
|
// }
|
|||
|
// catch (Exception ex)
|
|||
|
// {
|
|||
|
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
// }
|
|||
|
//}
|
|||
|
|
|||
|
///// <summary>
|
|||
|
///// 부가메뉴 등록 완료
|
|||
|
///// </summary>
|
|||
|
///// <param name="sender"></param>
|
|||
|
///// <param name="e"></param>
|
|||
|
//private void btnSubMenuExit_Click(object sender, EventArgs e)
|
|||
|
//{
|
|||
|
// try
|
|||
|
// {
|
|||
|
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
|
|||
|
// {
|
|||
|
// m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING_SET;
|
|||
|
|
|||
|
// m_cSaleMainProc.RegisterPluItem("", "", "");
|
|||
|
// if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.SALE_DOING_SET_OPT) pnlSubMenu.Visible = false;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
|
|||
|
|
|||
|
// m_cTrnStatus.Sale.SubMenuPopUpYn = "0";
|
|||
|
|
|||
|
// pnlSubMenu.Visible = false;
|
|||
|
// }
|
|||
|
|
|||
|
// }
|
|||
|
// catch (Exception ex)
|
|||
|
// {
|
|||
|
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
// }
|
|||
|
//}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 세트메뉴 상품 화면 표시
|
|||
|
/// <summary>
|
|||
|
/// 세트메뉴 상품 화면 표시
|
|||
|
/// </summary>
|
|||
|
/// <param name="sGroupCode"></param>
|
|||
|
/// <param name="sGroupName"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public bool LoadSetMenuDisplay(string sGroupCode, string sGroupName)
|
|||
|
{
|
|||
|
return LoadSetMenuDisplay(sGroupCode, sGroupName, false);
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 세트메뉴 상품 화면 표시
|
|||
|
/// </summary>
|
|||
|
/// <param name="sGroupCode"></param>
|
|||
|
/// <param name="sGroupName"></param>
|
|||
|
/// <param name="bSellGift"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public bool LoadSetMenuDisplay(string sGroupCode, string sGroupName, bool bSellGift)
|
|||
|
{
|
|||
|
bool bMenuExist = false;
|
|||
|
try
|
|||
|
{
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
pnlFlavour.Visible = false;
|
|||
|
|
|||
|
// 세트 그룹 상세 로딩
|
|||
|
btnSetMenu.SetFuncButtonCount(6, 4); // 버튼갯수 설정
|
|||
|
btnSetMenu.VisibleUpDown = true;
|
|||
|
btnSetMenu.ClearFuncButtonInfo(); // 설정된 정보 초기화
|
|||
|
|
|||
|
// 선불카드 판매 - 중국 (별도 입력 처리)
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT046) == "1")
|
|||
|
{
|
|||
|
btnSetMenu.DisplayFuncButton(sGroupCode); // 메뉴 버튼 표시
|
|||
|
|
|||
|
pnlSetMenu.Visible = true;
|
|||
|
return true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (this.m_cSaleMainProc.m_dtSetMenuDetail == null) return false;
|
|||
|
}
|
|||
|
|
|||
|
if (bSellGift == true)
|
|||
|
{
|
|||
|
int nSeq = 1;
|
|||
|
foreach (DataRow dr in this.m_cSaleMainProc.m_dtSetMenuDetail.Rows)
|
|||
|
{
|
|||
|
lblSetMenuTitle.Text = sGroupName;
|
|||
|
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
cFuncInfo.sGroupCode = sGroupCode; // 분류코드
|
|||
|
cFuncInfo.nSeqNo = nSeq; // 표시순번
|
|||
|
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SUB_STOR_CD), 10)
|
|||
|
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.ITEM_CD); // 코드
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM); // 명
|
|||
|
cFuncInfo.fFontSize = 10;
|
|||
|
|
|||
|
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
btnSetMenu.AddFuncButtonInfo(cFuncInfo);
|
|||
|
|
|||
|
nSeq++;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
foreach (DataRow dr in this.m_cSaleMainProc.m_dtSetMenuDetail.Rows)
|
|||
|
{
|
|||
|
lblSetMenuTitle.Text = sGroupName;
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_GRP_CD) == sGroupCode)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
cFuncInfo.sGroupCode = sGroupCode; // 분류코드
|
|||
|
cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_ITEM_SET_GRP.DATA.SEQ_NO); // 표시순번
|
|||
|
cFuncInfo.sFuncCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SUB_STOR_CD), 10)
|
|||
|
+ CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_CD), 20)
|
|||
|
+ CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC); // 코드+업차지금액
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
|
|||
|
+ m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC));
|
|||
|
//cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.SHTCUT_ITEMNM) + "\n"
|
|||
|
// + m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol
|
|||
|
// + m_cPosStatus.Global.NumericTOCurrency(CmUtil.GetDataRowDouble(dr, PosMst.MST_ITEM_SET_GRP.DATA.SET_ITEM_UP_PRC));
|
|||
|
cFuncInfo.cBackColor = Color.LightGray; // 백 컬러
|
|||
|
cFuncInfo.cForeColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM_SET_GRP.DATA.FONT_COLOR)); // 명 컬러
|
|||
|
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_ITEM_SET_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
|
|||
|
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
btnSetMenu.AddFuncButtonInfo(cFuncInfo);
|
|||
|
|
|||
|
bMenuExist = true;
|
|||
|
}
|
|||
|
}
|
|||
|
if (bMenuExist == false) return false;
|
|||
|
}
|
|||
|
btnSetMenu.DisplayFuncButton(sGroupCode); // 메뉴 버튼 표시
|
|||
|
|
|||
|
pnlSetMenu.Visible = true;
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int GetSelectedIndexOnSaleItemGrid()
|
|||
|
{
|
|||
|
return SaleItemGrid.SelectedIndex;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 세트메뉴 선택 이벤트 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
private void btnSetMenu_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (sFuncCode == "") return;
|
|||
|
|
|||
|
// 메뉴 키 값 = 서버점포코드(10) + 메뉴코드
|
|||
|
m_cTrnStatus.Sale.SubStoreCode = sFuncCode.Substring(0, 10).Trim();
|
|||
|
|
|||
|
// 그리드의 현재 선택 행번호
|
|||
|
int nSelectRow = SaleItemGrid.SelectedIndex;
|
|||
|
string sSelectRow = "";
|
|||
|
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
|
|||
|
{
|
|||
|
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
|
|||
|
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
|
|||
|
// No
|
|||
|
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
|
|||
|
sSelectRow = cGridExRowData.GridItemValue;
|
|||
|
}
|
|||
|
|
|||
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.GIFT || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.CHARGESALE.PREPAID)
|
|||
|
{
|
|||
|
//상품권, 선불 카드 판매면...
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sFuncCode);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
|
|||
|
string sMenuCode = sFuncCode.Substring(0, 30).Trim();
|
|||
|
m_cTrnStatus.Sale.SetPluUpSalePrc = m_cDataService.DoubleParse(sFuncCode.Substring(30).Trim());
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
// 상품 아이템
|
|||
|
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
// 상품 정보
|
|||
|
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)];
|
|||
|
|
|||
|
m_cPluService.SetSetMenuItemChange(sSelectRow, sMenuCode.Substring(10), "", m_cTrnStatus.Sale.SetPluUpSalePrc.ToString());
|
|||
|
|
|||
|
DisplayItem(1, false); // 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, sSelectRow, PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sMenuCode);
|
|||
|
}
|
|||
|
}
|
|||
|
txtInPut.Text = "";
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 플레이버 초기화 및 플레이버 마스터 로딩
|
|||
|
/// <summary>
|
|||
|
/// 플레이버 초기화 및 플레이버 마스터 로딩
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public bool LoadFlavourMaster(string sSubStoreCode)
|
|||
|
{
|
|||
|
bool bMenuExist = false;
|
|||
|
int nMaxSeqNo = 0;
|
|||
|
try
|
|||
|
{
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT028) == "0") return false;
|
|||
|
|
|||
|
if (sSubStoreCode == "")
|
|||
|
{
|
|||
|
// 플레이버 화면 숨기기
|
|||
|
pnlFlavour.Visible = false;
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
// 플레이버 로딩
|
|||
|
DataTable dtMemu = m_cPluService.SearchMenuMaster(PosMst.MST_FLAVOUR.TABLE_NAME, sSubStoreCode, "");
|
|||
|
if (dtMemu == null || dtMemu.Rows.Count <= 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0029); // 플레이버 마스터가 없습니다
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
btnFlavourMenu.Location = new Point(1, 3);
|
|||
|
btnFlavourMenu.Size = new Size(pnlFlavour.Width - 2, pnlFlavour.Height - 4);
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
btnFlavourMenu.SetMenuButtonCount(6, 6); // 메뉴버튼갯수 설정
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
btnFlavourMenu.SetMenuButtonCount(4, 9); // 메뉴버튼갯수 설정
|
|||
|
}
|
|||
|
|
|||
|
btnFlavourMenu.VisibleUpDown = true;
|
|||
|
btnFlavourMenu.BackColor = CmUtil.GetColorToString("223223223");
|
|||
|
btnFlavourMenu.BackColorUpDown = Color.White;
|
|||
|
btnFlavourMenu.ForeColorUpDown = Color.Black;
|
|||
|
btnFlavourMenu.ClearMenuButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
// 메뉴정보 설정
|
|||
|
foreach (DataRow dr in dtMemu.Rows)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
|
|||
|
|
|||
|
cMenuInfo.sClassCode = "00"; // 대분류
|
|||
|
cMenuInfo.sGroupCode = "0000"; // 중분류코드
|
|||
|
|
|||
|
int nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FLAVOUR.DATA.ITEM_LOC);
|
|||
|
nSeqNo = nSeqNo + (int)(nSeqNo / 35);
|
|||
|
cMenuInfo.nSeqNo = nSeqNo; // 표시순번
|
|||
|
// 메뉴 키 값 = 서브점포코드(10) + 메뉴코드
|
|||
|
string sMenuCode = CmUtil.RPadH(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.SUB_STOR_CD), 10)
|
|||
|
+ CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.ITEM_CD);
|
|||
|
cMenuInfo.sMenuCode = sMenuCode; // 메뉴 연결코드
|
|||
|
cMenuInfo.sMenuName = CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.SHTCUT_ITEMNM); // 메뉴 명
|
|||
|
cMenuInfo.sMenuPrice = ""; // 메뉴 가격
|
|||
|
|
|||
|
cMenuInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.BTN_COLOR1)); // 버튼 백 컬러
|
|||
|
cMenuInfo.cForeColorName = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.FONT_COLOR)); // 메뉴명 컬러
|
|||
|
cMenuInfo.cForeColorPrice = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.FONT_COLOR)); // 메뉴가격 컬러
|
|||
|
cMenuInfo.fFontSizeName = CmUtil.GetDataRowFloat(dr, PosMst.MST_FLAVOUR.DATA.FONT_SIZE); // 메뉴명 폰트 사이즈
|
|||
|
cMenuInfo.fFontSizePrice = CmUtil.GetDataRowFloat(dr, PosMst.MST_FLAVOUR.DATA.FONT_SIZE); // 메뉴 가격 폰트 사이즈
|
|||
|
cMenuInfo.nButtonSize = 0; // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT107) == "0")
|
|||
|
cMenuInfo.cMenuImage = "";
|
|||
|
else
|
|||
|
{
|
|||
|
cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_FLAVOUR.DATA.ITEM_CD) + ".PNG";
|
|||
|
//if (File.Exists(cMenuInfo.cMenuImage) == false)
|
|||
|
// cMenuInfo.cMenuImage = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG).Trim();
|
|||
|
|
|||
|
//cMenuInfo.cMenuImage = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.ITEM + CmUtil.GetDataRowStr(dr, PosMst.MST_ITEM.DATA.BTN_ITEM_IMG));
|
|||
|
}
|
|||
|
|
|||
|
btnFlavourMenu.AddMenuButtonInfo(cMenuInfo);
|
|||
|
|
|||
|
bMenuExist = true;
|
|||
|
|
|||
|
if ( nMaxSeqNo < nSeqNo) nMaxSeqNo = nSeqNo;
|
|||
|
}
|
|||
|
if (bMenuExist == false) return false;
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 닫기 버튼 생성
|
|||
|
{
|
|||
|
for (int i = 0; i < nMaxSeqNo; i += 35)
|
|||
|
{
|
|||
|
// 닫기 버튼 설정
|
|||
|
Cosmos.UI.CsmMenu.MenuBtnInfo cMenuInfo = new Cosmos.UI.CsmMenu.MenuBtnInfo();
|
|||
|
|
|||
|
cMenuInfo.nSeqNo = i + 35; // 표시순번
|
|||
|
|
|||
|
cMenuInfo.sClassCode = "00"; // 대분류
|
|||
|
cMenuInfo.sGroupCode = "0000"; // 중분류코드
|
|||
|
cMenuInfo.sMenuCode = PosKey.MENU_KEY.ESC_PREVIOUS; // 메뉴 연결코드
|
|||
|
cMenuInfo.sMenuName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0040); // 메뉴 명
|
|||
|
cMenuInfo.sMenuPrice = ""; // 메뉴 가격
|
|||
|
cMenuInfo.cBackColor = Color.White; // 버튼 백 컬러
|
|||
|
cMenuInfo.cForeColorName = Color.Black; // 메뉴명 컬러
|
|||
|
cMenuInfo.cForeColorPrice = Color.Black; // 메뉴가격 컬러
|
|||
|
cMenuInfo.fFontSizeName = 12; // 메뉴명 폰트 사이즈
|
|||
|
cMenuInfo.fFontSizePrice = 12; // 메뉴 가격 폰트 사이즈
|
|||
|
cMenuInfo.nButtonSize = 0; // 메뉴버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
cMenuInfo.cMenuImage = "";
|
|||
|
|
|||
|
btnFlavourMenu.AddMenuButtonInfo(cMenuInfo);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
btnFlavourMenu.DisplayMenuButton("00", "0000");
|
|||
|
|
|||
|
pnlFlavour.Visible = true;
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 플레이버 선택
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sMenuCode"></param>
|
|||
|
private void btnFlavour_MenuClickHandler(object sender, string sMenuCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (sMenuCode == "" || sMenuCode == PosKey.MENU_KEY.ESC_PREVIOUS)
|
|||
|
{
|
|||
|
pnlFlavour.Visible = false;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
txtInPut.Text = "";
|
|||
|
|
|||
|
// 그리드의 현재 선택 행번호
|
|||
|
int nSelectRow = SaleItemGrid.SelectedIndex;
|
|||
|
string sSelectRow = "";
|
|||
|
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
|
|||
|
{
|
|||
|
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
|
|||
|
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
|
|||
|
// No
|
|||
|
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
|
|||
|
sSelectRow = cGridExRowData.GridItemValue;
|
|||
|
}
|
|||
|
if (sSelectRow == "") return;
|
|||
|
|
|||
|
// 상품 아이템
|
|||
|
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--)
|
|||
|
{
|
|||
|
// 상품 정보
|
|||
|
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[i];
|
|||
|
|
|||
|
if ((cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR)) continue;
|
|||
|
|
|||
|
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0030); // 플레이버를 등록 할 수 없는 상품 입니다
|
|||
|
return;
|
|||
|
}
|
|||
|
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1")
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0017); // 취소한 상품 입니다
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0027); // 주문완료 후 변경 할 수 없습니다
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
// 플레이버 등록 가능 상품만 등록
|
|||
|
if ((cPluItem.FLAVOUR_DIV == ItemConst.PLU_FLAVOUR_DIV.FLAVOUR_OWN))
|
|||
|
{
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄, 3:플레이버)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, i.ToString(), PosConst.SALE_PLU_INPUT_TYPE.FLAVOUR + sMenuCode);
|
|||
|
SaleItemGrid.SelectIndexItem(i + 1);
|
|||
|
SaleItemGrid.Refresh();
|
|||
|
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT028) == "2") pnlFlavour.Visible = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0030); // 플레이버를 등록 할 수 없는 상품 입니다
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 기능키 컨트롤 초기화 및 기능키 마스터 로딩
|
|||
|
/// <summary>
|
|||
|
/// 기능키 컨트롤 초기화 및 기능키 마스터 로딩
|
|||
|
/// </summary>
|
|||
|
/// <returns>성공/실패</returns>
|
|||
|
public bool LoadFuncMaster()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 판매기본 기능키 로딩
|
|||
|
DataTable dtFuncKey = m_cPluService.SearchMenuMaster(PosMst.MST_FUNC_KEY_GRP.TABLE_NAME);
|
|||
|
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
|
|||
|
{
|
|||
|
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 기능키 그룹 마스터가 없습니다
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
// 좌측 기능키 초기화
|
|||
|
btnFuncSale.SetFuncButtonCount(2, 4); // 버튼갯수 설정
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
btnFuncSale.BackColor = CmUtil.GetColorToString("116116116");
|
|||
|
btnFuncSale.BackColorUpDown = Color.FromArgb(109, 110, 113);
|
|||
|
btnFuncSale.ForeColorUpDown = Color.White;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
btnFuncSale.BackColor = CmUtil.GetColorToString("202207213");
|
|||
|
btnFuncSale.BackColorUpDown = CmUtil.GetColorToString("225230236");
|
|||
|
}
|
|||
|
if (m_cPosStatus.ScnMst.FuncScrollUseYn == "1")
|
|||
|
{
|
|||
|
btnFuncSale.VisibleUpDown = true;
|
|||
|
btnFuncSale.SetUpDownPosition(1, 4);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
btnFuncSale.VisibleUpDown = false;
|
|||
|
}
|
|||
|
btnFuncSale.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
|
|||
|
// 우측 기능키 초기화
|
|||
|
btnFuncItem.SetFuncButtonCount(3, 4); // 버튼갯수 설정
|
|||
|
btnFuncItem.BackColor = CmUtil.GetColorToString("202207213");
|
|||
|
btnFuncItem.BackColorUpDown = CmUtil.GetColorToString("225230236");
|
|||
|
if (m_cPosStatus.ScnMst.FuncScrollUseYn == "1")
|
|||
|
{
|
|||
|
btnFuncItem.VisibleUpDown = true;
|
|||
|
btnFuncItem.SetUpDownPosition(1, 4);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
btnFuncItem.VisibleUpDown = false;
|
|||
|
}
|
|||
|
btnFuncItem.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
|
|||
|
foreach (DataRow dr in dtFuncKey.Rows)
|
|||
|
{
|
|||
|
if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT)
|
|||
|
{
|
|||
|
// 후불
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.SALE_EXIT) continue;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 선불
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_PRINT
|
|||
|
|| CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_COMPLETED
|
|||
|
|| CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.EDIT_CUST_CNT
|
|||
|
|| CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID) == PosKey.MENU_KEY.ORDER_EXIT) continue;
|
|||
|
}
|
|||
|
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_GRP_ID); // 분류코드
|
|||
|
cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번
|
|||
|
cFuncInfo.sFuncCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능코드
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM).Replace("\n", PosConst.CRLF).Replace("\\n", PosConst.CRLF); // 기능 명
|
|||
|
|
|||
|
string sColor = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR);
|
|||
|
|
|||
|
//2016-10-29 기능키 배경 색상이 없을 때 기본 값으로 하드 코딩 - 요청사항!
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
cFuncInfo.cBackColor = CmUtil.GetColorToString(sColor.Length == 9 ? sColor : "109110113");
|
|||
|
cFuncInfo.cForeColor = Color.White;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cFuncInfo.cBackColor = CmUtil.GetColorToString(sColor.Length == 9 ? sColor : "225230236");
|
|||
|
cFuncInfo.cForeColor = Color.Black;
|
|||
|
}
|
|||
|
|
|||
|
//cFuncInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR)); // 백 컬러
|
|||
|
//if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
// cFuncInfo.cForeColor = Color.White; // 명 컬러
|
|||
|
//else
|
|||
|
// cFuncInfo.cForeColor = Color.Black; // 명 컬러
|
|||
|
|
|||
|
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
|
|||
|
cFuncInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_SIZE); // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
btnFuncSale.AddFuncButtonInfo(cFuncInfo);
|
|||
|
btnFuncItem.AddFuncButtonInfo(cFuncInfo);
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 판매화면 표시
|
|||
|
/// <summary>
|
|||
|
/// 판매화면 초기화
|
|||
|
/// </summary>
|
|||
|
/// <param name="bChgSaleDoing"></param>
|
|||
|
/// <param name="bChgSaleFlow"></param>
|
|||
|
public void DisplayInit(bool bChgSaleDoing, bool bChgSaleFlow)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//if(bChgSaleDoing == true && bChgSaleFlow == true)
|
|||
|
//{
|
|||
|
// SubPriorReadingVarClear(true);
|
|||
|
//}
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
if (bChgSaleDoing == true)
|
|||
|
{
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 판매 개시
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
pnlMotSale.Visible = false;
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
|
|||
|
// 받은금액, 거스름 초기화
|
|||
|
m_cPosStatus.Sale.PayRecvedAmt = 0;
|
|||
|
m_cPosStatus.Sale.ChangeCashAmt = 0;
|
|||
|
// 받을금액 텍스트 초기화
|
|||
|
//lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
|
|||
|
lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
|
|||
|
|
|||
|
// 그리드 초기화
|
|||
|
SaleItemGrid.RemoveAll();
|
|||
|
// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
|
|||
|
DisplayItem(0, false);
|
|||
|
// 고객화면 상품정보 클리어
|
|||
|
m_cCustDisp.ClearSaleItemList();
|
|||
|
}
|
|||
|
|
|||
|
if (bChgSaleFlow == true)
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
|
|||
|
{
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.A_BEFORE_MENU); // 기능 버튼 표시
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.BC_BEFORE_MENU_L); // 기능 버튼 표시
|
|||
|
btnFuncItem.DisplayFuncButton(PosKey.MENU_KEY.BC_BEFORE_MENU_R); // 기능 버튼 표시
|
|||
|
}
|
|||
|
WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", "");
|
|||
|
// 공통부가메뉴 버튼초기화
|
|||
|
LoadCommonSubMenuDisplay(m_cPosStatus.Base.StoreNo, PosConst.SUB_MEMO_L_CLSS_COMMON);
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
// 상품등록 중
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.A_AFTER_MENU); // 기능 버튼 표시
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
btnFuncSale.DisplayFuncButton(PosKey.MENU_KEY.BC_AFTER_MENU_L); // 기능 버튼 표시
|
|||
|
btnFuncItem.DisplayFuncButton(PosKey.MENU_KEY.BC_AFTER_MENU_R); // 기능 버튼 표시
|
|||
|
}
|
|||
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS) WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", "");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
txtInPut.Text = "";
|
|||
|
|
|||
|
txtInPut.Select();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 상품등록 정보 화면 표시
|
|||
|
/// </summary>
|
|||
|
/// <param name="nFocus">0:LastItem, 1:OldFocus</param>
|
|||
|
public void DisplayItem(int nFocus, bool bDispChange)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
this.SuspendLayout();
|
|||
|
|
|||
|
if (bDispChange == true)
|
|||
|
{
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 결제 완료
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
#region
|
|||
|
//시작 MOT 사용 유무!
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT026), "0") == "1")
|
|||
|
{
|
|||
|
pnlMotSale.Visible = true;
|
|||
|
}
|
|||
|
//lblNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
|
|||
|
lblNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
|
|||
|
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
|
|||
|
{
|
|||
|
// 받은금액 표시
|
|||
|
txtRecvedAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.PayRecvedAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
// 순매출액 표시 자리에 거스름 표시
|
|||
|
txtNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 받은금액 표시
|
|||
|
txtRecvedAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.PayRecvedAmt);
|
|||
|
// 순매출액 표시 자리에 거스름 표시
|
|||
|
txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt);
|
|||
|
}
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
pnlBuyHist.Visible = false;
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|||
|
|
|||
|
// 그리드 초기화
|
|||
|
//#20171109 대기화면 위치 변경 및 상품목록 유지 start
|
|||
|
//기존
|
|||
|
SaleItemGrid.RemoveAll();
|
|||
|
//#20171109 대기화면 위치 변경 및 상품목록 유지 end
|
|||
|
// 고객화면 거스름 표시
|
|||
|
m_cCustDisp.SaleCompleteDisplay(m_cPosStatus.Sale.ChangeCashAmt);
|
|||
|
|
|||
|
// 캠페인 마스터 로딩
|
|||
|
m_cCampaingMain.LoadCampaignCondition(new string[] { });
|
|||
|
#endregion
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
|
|||
|
// 그리드의 현재 선택 행번호
|
|||
|
int nOldSelectRow = SaleItemGrid.SelectedIndex;
|
|||
|
|
|||
|
int[] arGridItemWidth;
|
|||
|
if (m_cPosStatus.Base.DesignType == "1") // 1안
|
|||
|
{
|
|||
|
arGridItemWidth = new int[] { 40, 10, 175, 90, 60, 90, 100, 50, 50 };
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Base.DesignType == "2") // 2안
|
|||
|
{
|
|||
|
arGridItemWidth = new int[] { 30, 10, 115, 65, 50, 70, 100, 40, 40 };
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
arGridItemWidth = new int[] { 30, 10, 115, 63, 40, 67, 75, 40, 30 };
|
|||
|
//arGridItemWidth = new int[] { 30, 10, 80, 70, 50, 70, 90, 40, 30 };
|
|||
|
}
|
|||
|
int[] arFontSize = new int[] { 10, 10, 10, 11, 11, 11, 11, 10, 14 };
|
|||
|
|
|||
|
if (SaleItemGrid.GridDataItems.Count > alPluItem.Count)
|
|||
|
{
|
|||
|
while (SaleItemGrid.GridDataItems.Count > alPluItem.Count)
|
|||
|
{
|
|||
|
SaleItemGrid.RemoveAt(SaleItemGrid.GridDataItems.Count - 1);
|
|||
|
}
|
|||
|
}
|
|||
|
// SaleItemGrid.RemoveAll();
|
|||
|
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; //그리드 데이터
|
|||
|
|
|||
|
long nItemNo = 0; // 번호
|
|||
|
for (int iRow = 0; iRow < alPluItem.Count; iRow++)
|
|||
|
{
|
|||
|
Column.TR_PLU.DATA cItem = (Column.TR_PLU.DATA)alPluItem[iRow];
|
|||
|
bool bCancelDiv = false;
|
|||
|
if (cItem.CANCEL_DIV == "1" || cItem.CANCEL_DIV_MAIN == "1") bCancelDiv = true;
|
|||
|
|
|||
|
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 Start
|
|||
|
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS) && cItem.GRP_SEQ != string.Empty)
|
|||
|
{
|
|||
|
m_sPluItemCode = cItem.GRP_SEQ; // "999990001 01"
|
|||
|
}
|
|||
|
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 End
|
|||
|
|
|||
|
// 상품메모 처리
|
|||
|
string itemName = cItem.ITEM_NAME;
|
|||
|
string itemMemo = (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_1) ? "" : cItem.ITEM_MEMO_1)
|
|||
|
+ (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_2) ? "" : " " + cItem.ITEM_MEMO_2)
|
|||
|
+ (string.IsNullOrWhiteSpace(cItem.ITEM_MEMO_3) ? "" : " " + cItem.ITEM_MEMO_3);
|
|||
|
if (cItem.FIRE_KEY) itemMemo = "FIRE KEY";
|
|||
|
if (string.IsNullOrWhiteSpace(itemMemo) == false)
|
|||
|
{
|
|||
|
#region
|
|||
|
using (Control ctrl = new Control())
|
|||
|
{
|
|||
|
using (Font f = new Font(m_cPosStatus.Base.FONT, arFontSize[1], FontStyle.Regular))
|
|||
|
{
|
|||
|
string temp = string.Empty;
|
|||
|
string name = string.Empty;
|
|||
|
|
|||
|
temp = string.Empty;
|
|||
|
name = itemName.Replace("\r\n", " ").Replace("\r", " ").Replace("\n", " ");
|
|||
|
for (var i = 0; i < name.Length; i++)
|
|||
|
{
|
|||
|
temp = name.Substring(0, i + 1);
|
|||
|
SizeF sizeF = ctrl.CreateGraphics().MeasureString(temp, f);
|
|||
|
if (sizeF.Width > arGridItemWidth[2])
|
|||
|
{
|
|||
|
itemName = name.Substring(0, i - 1);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
temp = string.Empty;
|
|||
|
name = itemMemo.Replace("\r\n", " ").Replace("\r", " ").Replace("\n", " ");
|
|||
|
for (var i = 0; i < name.Length; i++)
|
|||
|
{
|
|||
|
temp = name.Substring(0, i + 1);
|
|||
|
SizeF sizeF = ctrl.CreateGraphics().MeasureString(temp, f);
|
|||
|
if (sizeF.Width > arGridItemWidth[2])
|
|||
|
{
|
|||
|
itemMemo = name.Substring(0, i - 1);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
itemName += "\n" + itemMemo;
|
|||
|
}
|
|||
|
|
|||
|
string sEtcName = "";
|
|||
|
|
|||
|
//1. 로스거래인지 체크
|
|||
|
if (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL && m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|||
|
{
|
|||
|
sEtcName = cItem.NONSALES_RSN_NM;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (cItem.CPI_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0829);
|
|||
|
if (cItem.SET_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0830) + cItem.SET_DC_GROUP_CD;
|
|||
|
if (cItem.ITEM_DC_AMT > 0) sEtcName = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0018);
|
|||
|
}
|
|||
|
if (SaleItemGrid.GetItemCount() > iRow) // 이미 그리드에 추가된 상품
|
|||
|
{
|
|||
|
#region
|
|||
|
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[iRow];
|
|||
|
// No
|
|||
|
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
|
|||
|
if (cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
|
|||
|
{
|
|||
|
nItemNo++;
|
|||
|
cGridExRowData.GridItemText = (nItemNo).ToString();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cGridExRowData.GridItemText = "";
|
|||
|
}
|
|||
|
cGridExRowData.GridItemValue = (iRow).ToString();
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
|
|||
|
// 과세구분
|
|||
|
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[1];
|
|||
|
cGridExRowData.GridItemText = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridExRowData.GridItemValue = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
|
|||
|
|
|||
|
// 상품명
|
|||
|
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[2];
|
|||
|
cGridExRowData.GridItemText = itemName; //cItem.ITEM_NAME;
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridExRowData.GridItemValue = cItem.ITEM_PLU_CD;
|
|||
|
|
|||
|
//2018.01.23;미주의 경우 NoTax 상품은 상품명 빨간색으로 표시;girak.kim;Start
|
|||
|
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS))
|
|||
|
{
|
|||
|
if (cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) cGridExRowData.ForeColor = Color.Red;
|
|||
|
else cGridExRowData.ForeColor = Color.Black;
|
|||
|
}
|
|||
|
|
|||
|
//2018.01.23;미주의 경우 NoTax 상품은 상품명 빨간색으로 표시;girak.kim;End
|
|||
|
|
|||
|
// 단가
|
|||
|
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[3];
|
|||
|
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.SALE_PRC);
|
|||
|
cGridExRowData.GridItemValue = cItem.SALE_PRC.ToString();
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
// 수량
|
|||
|
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[4];
|
|||
|
cGridExRowData.GridItemText = cItem.SALE_QTY.ToString();
|
|||
|
cGridExRowData.GridItemValue = cItem.SALE_QTY.ToString();
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridExRowData.ForeColor = Color.Black;
|
|||
|
|
|||
|
// 할인
|
|||
|
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[5];
|
|||
|
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT);
|
|||
|
cGridExRowData.GridItemValue = cItem.TOT_DC_AMT.ToString();
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
// 금액
|
|||
|
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[6];
|
|||
|
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT);
|
|||
|
cGridExRowData.GridItemValue = cItem.BILL_AMT.ToString();
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
// 비고
|
|||
|
cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[7];
|
|||
|
cGridExRowData.GridItemText = sEtcName;
|
|||
|
cGridExRowData.GridItemValue = "";
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
#endregion
|
|||
|
}
|
|||
|
else//상품 클릭하여 그리드에 추가 되는 상품
|
|||
|
{
|
|||
|
#region
|
|||
|
// Row Item
|
|||
|
GridDataItem cGridDataItem = new GridDataItem();
|
|||
|
if (iRow % 2 == 0)
|
|||
|
{
|
|||
|
cGridDataItem.GridItemBackColor = Color.FromArgb(250, 250, 250);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cGridDataItem.GridItemBackColor = Color.FromArgb(255, 255, 255);
|
|||
|
}
|
|||
|
cGridDataItem.GridItemBackColorClick = Color.FromArgb(219, 253, 252);
|
|||
|
cGridDataItem.GridItemBackImage = null;
|
|||
|
cGridDataItem.GridItemBackImageClick = null;
|
|||
|
cGridDataItem.GridItemData = new System.Collections.Hashtable();
|
|||
|
|
|||
|
// No
|
|||
|
CsmGridExRowData cGridExRowData = new CsmGridExRowData();
|
|||
|
cGridExRowData.GridItemWidth = arGridItemWidth[0];
|
|||
|
cGridExRowData.ClickEventFlag = true;
|
|||
|
cGridExRowData.HStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.VStringAlignment = StringAlignment.Center;
|
|||
|
if (cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
|
|||
|
{
|
|||
|
nItemNo++;
|
|||
|
cGridExRowData.GridItemText = (nItemNo).ToString();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cGridExRowData.GridItemText = "";
|
|||
|
}
|
|||
|
|
|||
|
cGridExRowData.GridItemValue = (iRow).ToString();
|
|||
|
cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
|
|||
|
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
|
|||
|
cGridExRowData.FontSize = arFontSize[0];
|
|||
|
cGridExRowData.FontStyle = FontStyle.Regular;
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
|
|||
|
|
|||
|
// 과세구분
|
|||
|
cGridExRowData = new CsmGridExRowData();
|
|||
|
cGridExRowData.GridItemWidth = arGridItemWidth[1];
|
|||
|
cGridExRowData.ClickEventFlag = true;
|
|||
|
cGridExRowData.HStringAlignment = StringAlignment.Near;
|
|||
|
cGridExRowData.VStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.GridItemText = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
|
|||
|
|
|||
|
cGridExRowData.GridItemValue = cItem.ITEM_TAX_DIV == PosConst.ITEM_TAX_DIV.FREE || cItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES ? "*" : "";
|
|||
|
cGridExRowData.ForeColor = Color.Red;
|
|||
|
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
|
|||
|
cGridExRowData.FontSize = arFontSize[1];
|
|||
|
cGridExRowData.FontStyle = FontStyle.Regular;
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// 상품명
|
|||
|
cGridExRowData = new CsmGridExRowData();
|
|||
|
cGridExRowData.GridItemWidth = arGridItemWidth[2];
|
|||
|
cGridExRowData.ClickEventFlag = true;
|
|||
|
cGridExRowData.HStringAlignment = StringAlignment.Near;
|
|||
|
cGridExRowData.VStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.GridItemText = itemName; //cItem.ITEM_NAME;
|
|||
|
cGridExRowData.GridItemValue = cItem.ITEM_PLU_CD;
|
|||
|
cGridExRowData.ForeColor = Color.FromArgb(3, 3, 3);
|
|||
|
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
|
|||
|
cGridExRowData.FontSize = arFontSize[2];
|
|||
|
cGridExRowData.FontStyle = FontStyle.Regular;
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
|
|||
|
|
|||
|
// 단가
|
|||
|
cGridExRowData = new CsmGridExRowData();
|
|||
|
cGridExRowData.GridItemWidth = arGridItemWidth[3];
|
|||
|
cGridExRowData.ClickEventFlag = true;
|
|||
|
cGridExRowData.HStringAlignment = StringAlignment.Far;
|
|||
|
cGridExRowData.VStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.SALE_PRC);
|
|||
|
|
|||
|
cGridExRowData.GridItemValue = cItem.SALE_PRC.ToString();
|
|||
|
cGridExRowData.ForeColor = Color.FromArgb(100, 100, 100);
|
|||
|
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
|
|||
|
cGridExRowData.FontSize = arFontSize[3];
|
|||
|
cGridExRowData.FontStyle = FontStyle.Regular;
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
|
|||
|
|
|||
|
// 수량
|
|||
|
cGridExRowData = new CsmGridExRowData();
|
|||
|
cGridExRowData.GridItemWidth = arGridItemWidth[4];
|
|||
|
cGridExRowData.ClickEventFlag = true;
|
|||
|
cGridExRowData.HStringAlignment = StringAlignment.Far;
|
|||
|
cGridExRowData.VStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.GridItemText = cItem.SALE_QTY.ToString();
|
|||
|
|
|||
|
cGridExRowData.GridItemValue = cItem.SALE_QTY.ToString();
|
|||
|
//#20171107 수량 폰트색 검은색으로 변경 start
|
|||
|
//마지막 상품은 색상이 변경이 안되어 추가 수정.
|
|||
|
//기존
|
|||
|
//cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
|
|||
|
//변경
|
|||
|
cGridExRowData.ForeColor = Color.Black;
|
|||
|
//#20171107 수량 폰트색 검은색으로 변경 end
|
|||
|
|
|||
|
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
|
|||
|
cGridExRowData.FontSize = arFontSize[4];
|
|||
|
cGridExRowData.FontStyle = FontStyle.Regular;
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
|
|||
|
|
|||
|
// 할인
|
|||
|
cGridExRowData = new CsmGridExRowData();
|
|||
|
cGridExRowData.GridItemWidth = arGridItemWidth[5];
|
|||
|
cGridExRowData.ClickEventFlag = true;
|
|||
|
cGridExRowData.HStringAlignment = StringAlignment.Far;
|
|||
|
cGridExRowData.VStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT);
|
|||
|
|
|||
|
cGridExRowData.GridItemValue = cItem.TOT_DC_AMT.ToString();
|
|||
|
cGridExRowData.ForeColor = Color.Red; //Color.FromArgb(155, 155, 156);
|
|||
|
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
|
|||
|
cGridExRowData.FontSize = arFontSize[5];
|
|||
|
cGridExRowData.FontStyle = FontStyle.Regular;
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
|
|||
|
|
|||
|
// 금액
|
|||
|
cGridExRowData = new CsmGridExRowData();
|
|||
|
cGridExRowData.GridItemWidth = arGridItemWidth[6];
|
|||
|
cGridExRowData.ClickEventFlag = true;
|
|||
|
cGridExRowData.HStringAlignment = StringAlignment.Far;
|
|||
|
cGridExRowData.VStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.GridItemText = m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT);
|
|||
|
|
|||
|
cGridExRowData.GridItemValue = cItem.BILL_AMT.ToString();
|
|||
|
cGridExRowData.ForeColor = Color.FromArgb(3, 3, 3);
|
|||
|
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
|
|||
|
cGridExRowData.FontSize = arFontSize[6];
|
|||
|
cGridExRowData.FontStyle = FontStyle.Regular;
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
|
|||
|
|
|||
|
// 비고
|
|||
|
cGridExRowData = new CsmGridExRowData();
|
|||
|
cGridExRowData.GridItemWidth = arGridItemWidth[7];
|
|||
|
cGridExRowData.ClickEventFlag = true;
|
|||
|
cGridExRowData.HStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.VStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.GridItemText = sEtcName;
|
|||
|
|
|||
|
cGridExRowData.GridItemValue = "";
|
|||
|
cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
|
|||
|
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
|
|||
|
cGridExRowData.FontSize = arFontSize[7];
|
|||
|
cGridExRowData.FontStyle = FontStyle.Regular;
|
|||
|
cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
|
|||
|
|
|||
|
// 삭제
|
|||
|
cGridExRowData = new CsmGridExRowData();
|
|||
|
cGridExRowData.GridItemWidth = arGridItemWidth[8];
|
|||
|
cGridExRowData.ClickEventFlag = true;
|
|||
|
cGridExRowData.HStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.VStringAlignment = StringAlignment.Center;
|
|||
|
cGridExRowData.GridRowImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.ITEM_GRID_ROW_DEL);
|
|||
|
cGridExRowData.GridItemText = "X";
|
|||
|
|
|||
|
cGridExRowData.GridItemValue = "";
|
|||
|
cGridExRowData.ForeColor = Color.FromArgb(155, 155, 156);
|
|||
|
cGridExRowData.FontName = m_cPosStatus.Base.FONT;
|
|||
|
cGridExRowData.FontSize = arFontSize[7];
|
|||
|
cGridExRowData.FontStyle = FontStyle.Regular;
|
|||
|
//cGridExRowData.StrikeThrough = bCancelDiv;
|
|||
|
cGridDataItem.GridItemData.Add(cGridDataItem.GridItemData.Count, cGridExRowData);
|
|||
|
|
|||
|
SaleItemGrid.AddDataGridItem(cGridDataItem, GRID_EX_ITEM_BORDER_STYLE.BOTTOM, 1, Color.FromArgb(236, 236, 236));
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}//for end
|
|||
|
//0:LastItem, 1::OldFocus
|
|||
|
if (nFocus == 1)
|
|||
|
{
|
|||
|
if (nOldSelectRow >= SaleItemGrid.GridDataItems.Count) nOldSelectRow = SaleItemGrid.GridDataItems.Count - 1;
|
|||
|
|
|||
|
SaleItemGrid.SelectIndexItem(nOldSelectRow);
|
|||
|
}
|
|||
|
SaleItemGrid.Refresh();
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//// 상품 그리드에 상품 판매 등록 내역 표시 처리.
|
|||
|
//m_dtSaleItemGrid.Clear();
|
|||
|
|
|||
|
//ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
//for (int iRow = 0; iRow < alPluItem.Count; iRow++)
|
|||
|
//{
|
|||
|
// Column.TR_PLU.DATA cItem = (Column.TR_PLU.DATA)alPluItem[iRow];
|
|||
|
// string sCancelDiv = "0";
|
|||
|
// if (cItem.CANCEL_DIV == "1" || cItem.CANCEL_DIV_MAIN == "1") sCancelDiv = "1";
|
|||
|
|
|||
|
// DataRow drRow = m_dtSaleItemGrid.NewRow();
|
|||
|
|
|||
|
// drRow["SEQ_NO"] = iRow + 1;
|
|||
|
// drRow["PLU_NAME"] = cItem.ITEM_NAME;
|
|||
|
// drRow["ITEM_PRICE"] = cItem.SALE_PRC;
|
|||
|
// drRow["ITEM_QTY"] = cItem.SALE_QTY;
|
|||
|
// drRow["DISCOUNT_AMT"] = (sCancelDiv == "1") ? "0" : m_cPosStatus.Global.NumericTOCurrency(cItem.TOT_DC_AMT);
|
|||
|
// drRow["ITEM_AMT"] = (sCancelDiv == "1") ? "0" : m_cPosStatus.Global.NumericTOCurrency(cItem.BILL_AMT);
|
|||
|
// drRow["REMARK"] = "";
|
|||
|
// drRow["CANCEL"] = (sCancelDiv == "1") ? "취소" : "";
|
|||
|
|
|||
|
// m_dtSaleItemGrid.Rows.Add(drRow);
|
|||
|
//}
|
|||
|
//SaleItemGrid.CsmGridDataSource = m_dtSaleItemGrid;
|
|||
|
//SaleItemGrid.CsmGridFirstDisplayedScrollingRowIndex = 0;
|
|||
|
//SaleItemGrid.CsmGridSelectRow(SaleItemGrid.CsmGridRowsCount - 1);
|
|||
|
//SaleItemGrid.Refresh();
|
|||
|
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 상품등록 중
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
|
|||
|
{
|
|||
|
|
|||
|
//로스면 로스 합계표시
|
|||
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|||
|
{
|
|||
|
// 총수량, 총매출액
|
|||
|
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
|
|||
|
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.LossTotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
// 총수량, 총매출액
|
|||
|
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
|
|||
|
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1)) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
|
|||
|
}
|
|||
|
// 총 할인 금액
|
|||
|
txtDiscountAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
|
|||
|
{
|
|||
|
txtVatSvc.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0))
|
|||
|
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName + "/ "
|
|||
|
+ m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
}
|
|||
|
|
|||
|
// 받은금액 표시 처리
|
|||
|
txtRecvedAmt.Text = m_cPosStatus.Global.NumericTOCurrency(0) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
// 순매출액 표시 처리
|
|||
|
txtNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
|
|||
|
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//로스면 로스 합계표시
|
|||
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|||
|
{
|
|||
|
// 총수량, 총매출액
|
|||
|
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
|
|||
|
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
|
|||
|
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.LossTotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 총수량, 총매출액
|
|||
|
txtQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
|
|||
|
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
|
|||
|
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
|
|||
|
}
|
|||
|
// 총 할인 금액
|
|||
|
//txtDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
|
|||
|
// m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? -1 : 1));
|
|||
|
|
|||
|
txtDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt);
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
|
|||
|
{
|
|||
|
txtVatSvc.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) + "/ " +
|
|||
|
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt);
|
|||
|
}
|
|||
|
|
|||
|
// 받은금액 표시 처리
|
|||
|
txtRecvedAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(0);
|
|||
|
// 순매출액 표시 처리
|
|||
|
//txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
|
|||
|
// m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.NetSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
|
|||
|
|
|||
|
txtNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
|
|||
|
m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.NetSaleAmt, CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
|
|||
|
}
|
|||
|
|
|||
|
// 상품 등록내역 고객용 화면 표시
|
|||
|
m_cCustDisp.DisplaySaleItemList(true, true, SaleItemGrid.SelectedIndex);
|
|||
|
|
|||
|
if (m_cTrnStatus.Sale.CampaignFileName != "")
|
|||
|
{
|
|||
|
picCampaign.Image = CmUtil.LoadImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CAMPAIGN + m_cTrnStatus.Sale.CampaignFileName);
|
|||
|
//picCampaign.Visible = picCampaign.Image != null ? true : false;
|
|||
|
}
|
|||
|
else
|
|||
|
picCampaign.Visible = false;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
this.ResumeLayout(true);
|
|||
|
this.Update();
|
|||
|
|
|||
|
if (m_cTrnStatus.Sale.CampaignFileName != "")
|
|||
|
{
|
|||
|
picCampaign.Visible = picCampaign.Image != null ? true : false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 기능 버튼 이벤트 및 기능 업무 처리
|
|||
|
/// <summary>
|
|||
|
/// 기능버튼 선택
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
private void btnFuncSale_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
string DCValue = string.Empty;
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
if(sFuncCode.Equals(PosKey.MENU_KEY.SALE_DC))
|
|||
|
DCValue = txtInPut.Text;
|
|||
|
tmrSaleTimer.Enabled = false;
|
|||
|
if (picCampaign.Visible == true) picCampaign.Visible = false;
|
|||
|
//m_cCustDisp.DisplayCampaign("", "");
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) // 판매대기 모드
|
|||
|
{
|
|||
|
switch (sFuncCode)
|
|||
|
{
|
|||
|
case PosKey.MENU_KEY.SALE_EXIT: // 판매종료
|
|||
|
SaleMainExit();
|
|||
|
return;
|
|||
|
}
|
|||
|
DisplayInit(true, false);
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
if (sFuncCode == PosKey.MENU_KEY.ADD_MENU && pnlSubMenu.Visible == true)
|
|||
|
{
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
tmrSaleTimer.Enabled = true;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
//충전, 판매 거래 경우 안 닫음!
|
|||
|
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false)
|
|||
|
{
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_WAIT && m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY)
|
|||
|
{
|
|||
|
switch (sFuncCode)
|
|||
|
{
|
|||
|
case PosKey.MENU_KEY.SALE_EXIT: // 판매종료
|
|||
|
case PosKey.MENU_KEY.ORDER_COMPLETED: // 주문완료
|
|||
|
SaleMainExit();
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 그리드의 현재 선택 행번호
|
|||
|
int nSelectRow = SaleItemGrid.SelectedIndex;
|
|||
|
string sSelectRow = "";
|
|||
|
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
|
|||
|
{
|
|||
|
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
|
|||
|
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
|
|||
|
// No
|
|||
|
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
|
|||
|
sSelectRow = cGridExRowData.GridItemValue;
|
|||
|
}
|
|||
|
|
|||
|
// 키유효성 체크
|
|||
|
if (m_cDataCommon.FunctionKeyValidity(sFuncCode) == false)
|
|||
|
{
|
|||
|
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0054));
|
|||
|
tmrSaleTimer.Enabled = true;
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
CsmFunc tmpFunc = new CsmFunc();
|
|||
|
if (((Cosmos.UI.CsmFunc)sender) == btnFuncItem) //Right
|
|||
|
tmpFunc = btnFuncItem;
|
|||
|
else if (((Cosmos.UI.CsmFunc)sender) == btnFuncSale) //Left
|
|||
|
tmpFunc = btnFuncSale;
|
|||
|
|
|||
|
// 키 그룹 판매원 권한 체크
|
|||
|
if (WinBasic.CheckMenuKeyAuth(sFuncCode) == false) return;
|
|||
|
|
|||
|
// 키 그룹 체크
|
|||
|
if (m_cDataCommon.FunctionKeySubMenuLoad(sFuncCode) == true)
|
|||
|
{
|
|||
|
if (tmpFunc != null)
|
|||
|
{
|
|||
|
if (sFuncCode == PosKey.MENU_KEY.ESC_PREVIOUS) //이전
|
|||
|
tmpFunc.DisplayPrevButton(); // 기능 버튼 표시
|
|||
|
else
|
|||
|
tmpFunc.DisplayFuncButton(sFuncCode); // 기능 버튼 표시
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (sFuncCode == PosKey.MENU_KEY.ESC_PREVIOUS) //이전
|
|||
|
{
|
|||
|
tmpFunc.DisplayPrevButton(); // 기능 버튼 표시
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 기능 항목 처리
|
|||
|
this.rtbMotMain.Visible = false;
|
|||
|
|
|||
|
//#20171117 통제, 슈퍼바이저 로그인창 여러번 표시 되는 현상 수정 start
|
|||
|
//기존
|
|||
|
//m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "");
|
|||
|
//변경
|
|||
|
//m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "", true);
|
|||
|
//#20171117 통제, 슈퍼바이저 로그인창 여러번 표시 되는 현상 수정 end
|
|||
|
this.rtbMotMain.Visible = true;
|
|||
|
|
|||
|
//----------------------------------------------------------------------------------------------------
|
|||
|
// 만약 판매화면에서 전체취소 버튼 클릭시
|
|||
|
// 해피포인트 제휴할인 변수 초기화 함수를 호출한다.
|
|||
|
//----------------------------------------------------------------------------------------------------
|
|||
|
// (원본) m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Te바xt, sSelectRow.ToString(), "");
|
|||
|
//----------------------------------------------------------------------------------------------------
|
|||
|
#region 판매화면 초기화시 해피포인트 제휴할인 변수 초기화 함수를 호출한다.
|
|||
|
bool blnResult = m_cSaleMainProc.ExecuteSaleMainProcess(sFuncCode, txtInPut.Text, sSelectRow.ToString(), "", true);
|
|||
|
if (blnResult == true)
|
|||
|
{
|
|||
|
if (sFuncCode == PosKey.MENU_KEY.TRADE_STOP) { SubPriorReadingVarClear(true); }
|
|||
|
}
|
|||
|
#endregion
|
|||
|
this.rtbMotMain.Visible = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//DisplayInit(true, false);
|
|||
|
// 상품등록 내역 표시
|
|||
|
//DisplayItem(0, false);
|
|||
|
|
|||
|
SetOwnPartDiv(false);
|
|||
|
WinSale.SetTradType(lblSaleStatus, pnlTopBg, "", "");
|
|||
|
|
|||
|
if (sFuncCode.Equals(PosKey.MENU_KEY.SALE_DC))
|
|||
|
txtInPut.Text = DCValue;
|
|||
|
else
|
|||
|
txtInPut.Text = "";
|
|||
|
TxtInPutFocus();
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
// 테이블 데이터 백업!
|
|||
|
m_cTrnStatus.Head.FloorCd = m_cPosStatus.Sale.SelectFloorCd;
|
|||
|
m_cTrnStatus.Head.TableNo = m_cPosStatus.Sale.SelectTableNo;
|
|||
|
m_cTrnStatus.Head.FloorNm = m_cPosStatus.Sale.SelectFloorNm;
|
|||
|
m_cTrnStatus.Head.TableNm = m_cPosStatus.Sale.SelectTableNm;
|
|||
|
|
|||
|
tmrSaleTimer.Enabled = true;
|
|||
|
|
|||
|
CmUtil.IgnoreMouseClick(this); // 마우스 클릭 무시
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void txtInput_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
padInPut.SetActiveControl = (Control)sender;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 입력박스 이벤트 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sFuncValue"></param>
|
|||
|
private void txtInPut_EditBoxKeyDownEvent(object sender, string sFuncValue)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
tmrSaleTimer.Enabled = false;
|
|||
|
|
|||
|
string sInPutData = txtInPut.Text;
|
|||
|
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
|
|||
|
bool bReturn = true;
|
|||
|
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
|
|||
|
|
|||
|
// 그리드의 현재 선택 행번호
|
|||
|
int nSelectRow = SaleItemGrid.SelectedIndex;
|
|||
|
string sSelectRow = "";
|
|||
|
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
|
|||
|
{
|
|||
|
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
|
|||
|
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow]; // No
|
|||
|
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
|
|||
|
sSelectRow = cGridExRowData.GridItemValue;
|
|||
|
}
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) DisplayInit(true, false);
|
|||
|
|
|||
|
if (sFuncValue == PosKey.MENU_KEY.ENTER)
|
|||
|
{
|
|||
|
|
|||
|
//#2017122 #13238 LG 은평_은평_부가메뉴 입력 안되는 증상 start, phj
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
|
|||
|
{
|
|||
|
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0022));
|
|||
|
txtInPut.Text = "";
|
|||
|
return;
|
|||
|
}
|
|||
|
//#2017122 #13238 LG 은평_은평_부가메뉴 입력 안되는 증상 end, phj
|
|||
|
|
|||
|
|
|||
|
//충전, 판매 거래 경우
|
|||
|
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == true) return;
|
|||
|
if (sInPutData == "") return;
|
|||
|
//17.05.18 dkshin 쇼킹박스 추가
|
|||
|
//if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.LOG.SHOCKING_BOX) == true)
|
|||
|
if (m_cTrnStatus.Head.ShockingBoxStat == "1")
|
|||
|
{
|
|||
|
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0699));
|
|||
|
txtInPut.Text = "";
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "BarCode Sacan : " + sInPutData);
|
|||
|
|
|||
|
//17.05.18 dkshin 쇼킹박스 추가
|
|||
|
//-------------start---------------
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
//m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
|
|||
|
//sInPutData(바코드 데이타)조회 후 m_cTrnStatus.Head.TradeKind가 99(쇼킹박스) 일때 판매화면에 상품 보여주기
|
|||
|
//쇼킹박스는 pc만_ho_20170828
|
|||
|
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC && m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
|
|||
|
{
|
|||
|
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 start
|
|||
|
//기존
|
|||
|
//string sRet = m_cSaleService.PosShockingBoxSearch(sInPutData);
|
|||
|
//if (sRet == UserCom.RST_OK)
|
|||
|
//{
|
|||
|
// if (SaleItemGrid.GridDataItems.Count > 0) //제품선택후 쇼킹박스상품을 불러온경우.
|
|||
|
// {
|
|||
|
// txtInPut.Text = "";
|
|||
|
// return;
|
|||
|
// }
|
|||
|
//
|
|||
|
// //m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.LOG.SHOCKING_BOX;
|
|||
|
// m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.SHOCKING_BOX, "", "", sInPutData);
|
|||
|
//}
|
|||
|
|
|||
|
//변경
|
|||
|
string sTradeKind = string.Empty;
|
|||
|
sTradeKind = m_cSaleService.PosShockingBoxSearch(sInPutData);
|
|||
|
if (sTradeKind == ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX || sTradeKind == ItemConst.TRAN_KIND.LOG.SHOCKING_BOX)
|
|||
|
{
|
|||
|
if (SaleItemGrid.GridDataItems.Count > 0) //제품선택후 쇼킹박스상품을 불러온경우.
|
|||
|
{
|
|||
|
txtInPut.Text = "";
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (sTradeKind == ItemConst.TRAN_KIND.HPO_LOG.LANDOM_BOX)
|
|||
|
{
|
|||
|
// 상품정보출력(해피오더 랜덤박스)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.ITEMINFO_PRINT, "", "", sInPutData);
|
|||
|
}
|
|||
|
else if (sTradeKind == ItemConst.TRAN_KIND.LOG.SHOCKING_BOX)
|
|||
|
{
|
|||
|
// 쇼킹박스
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.SHOCKING_BOX, "", "", sInPutData);
|
|||
|
}
|
|||
|
}
|
|||
|
//#15746 해피오더 '쇼킹박스' 관련 POS 시스템 개발 요청 end
|
|||
|
else
|
|||
|
{
|
|||
|
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:상품별합산)
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
for (int i = 0; i < alTrPluItem.Count; i++)
|
|||
|
{
|
|||
|
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
|
|||
|
|
|||
|
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
|
|||
|
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
|
|||
|
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
|
|||
|
if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
|
|||
|
|
|||
|
if (cPluItem.SUB_SHOP_CD != m_cPosStatus.Base.SubShopNo || cPluItem.ITEM_BAR_CD != sInPutData) continue;
|
|||
|
|
|||
|
if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
|
|||
|
if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
|
|||
|
if (cPluItem.SALE_QTY >= 99999) continue;
|
|||
|
//#20170825 오픈 상품은 무조건 새 row로 입력 start
|
|||
|
if (cPluItem.OPEN_ITEM_DIV == "1") continue;
|
|||
|
//#20170825 오픈 상품은 무조건 새 row로 입력 end
|
|||
|
|
|||
|
// 수량 증가 처리
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
|
|||
|
|
|||
|
SaleItemGrid.SelectIndexItem(i);
|
|||
|
m_cCustDisp.DisplaySaleItemList(true, true, i);
|
|||
|
|
|||
|
txtInPut.Text = "";
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//*****************************************************************************
|
|||
|
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
|
|||
|
//-----------------------------------------------------------------------------
|
|||
|
// - 만약 입력박스에서 해피포인트 카드 및 제휴할인 카드를 리딩했을 때
|
|||
|
// 만약, 해피포인트 카드일 경우 해피포인트 카드번호를 전역변수에 저장한다.
|
|||
|
// (ex. 해피포인트 카드번호 : m_cPosStatus.Sale.strHappyPointCardNo)
|
|||
|
// 만약, 제휴할인 카드일 경우 제휴할인 카드번호를 전역변수에 저장한다.
|
|||
|
// (ex. 제휴할인 카드번호 : m_cPosStatus.Sale.strMobileUnityCardNo)
|
|||
|
//*****************************************************************************
|
|||
|
//*****************************************************************************
|
|||
|
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
|
|||
|
//-----------------------------------------------------------------------------
|
|||
|
// - 만약 입력박스에서 해피포인트 카드 및 제휴할인 카드를 리딩했을 때
|
|||
|
// 만약, 해피포인트 카드일 경우 해피포인트 카드번호를 전역변수에 저장한다.
|
|||
|
// (ex. 해피포인트 카드번호 : m_cPosStatus.Sale.strHappyPointCardNo)
|
|||
|
// 만약, 제휴할인 카드일 경우 제휴할인 카드번호를 전역변수에 저장한다.
|
|||
|
// (ex. 제휴할인 카드번호 : m_cPosStatus.Sale.strMobileUnityCardNo)
|
|||
|
//*****************************************************************************
|
|||
|
#region 해피포인트 제휴할인 선리딩 처리
|
|||
|
if (sInPutData != "" && sInPutData.Length > 15)
|
|||
|
{
|
|||
|
//===================================================================
|
|||
|
// 해피포인트 카드 체크
|
|||
|
//-------------------------------------------------------------------
|
|||
|
// - 만약 입력된 값의 앞의 4자리가
|
|||
|
// 정의된 해피포인트 프리픽스(HP_CARD_PRIFIX) 값과 동일할 경우
|
|||
|
// (ex. public const string HP_CARD_PRIFIX = "8231";)
|
|||
|
// 입력된 값을 전역변수에 저장하여 해피포인트 카드 번호로 사용한다.
|
|||
|
//-------------------------------------------------------------------
|
|||
|
// - frmPointHappyPoint_Load 이벤트에서 처리함
|
|||
|
//===================================================================
|
|||
|
#region 해피포인트 카드 체크
|
|||
|
if (sInPutData.Substring(0, 4) == PosConst.HP_CARD_PRIFIX)
|
|||
|
{
|
|||
|
//-----------------------------------------------------------------
|
|||
|
// 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다.
|
|||
|
// - 다시 사용하기로 했음
|
|||
|
//-----------------------------------------------------------------
|
|||
|
#region 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다.
|
|||
|
//if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
|
|||
|
//{
|
|||
|
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0020); // 판매 대기중에 처리 할수 없는 기능 입니다.
|
|||
|
// DisplayInit(true, false);
|
|||
|
// return;
|
|||
|
//}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 만약 결제 기능키 항목에 해피포인트('00058')이 없을 경우 에러메시지를 표시한다.
|
|||
|
if (gdtFuncKey.Rows.Count != 0)
|
|||
|
{
|
|||
|
DataRow[] _drFuncKey = gdtFuncKey.Select("FUNC_ID = '" + PosKey.MENU_KEY.HAPPY_POINT + "'");
|
|||
|
if (_drFuncKey.Length == 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다
|
|||
|
DisplayInit(true, false);
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//---------------------------------------------------
|
|||
|
// 입력된 해피포인트 카드 번호를 전역변수에 저장한다.
|
|||
|
//---------------------------------------------------
|
|||
|
#region 입력된 해피포인트 카드 번호를 전역변수에 저장한다.
|
|||
|
|
|||
|
//#20180620 해피포인트 선리딩시 '=' 붙이는 기능 제거 start
|
|||
|
//키인으로 입력하면 해피포인트 사용을 못해야 되는제 사용 가능함
|
|||
|
//기존
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
|
|||
|
//기존
|
|||
|
//m_cPosStatus.Sale.strHappyPointCardNo = sInPutData+"=";
|
|||
|
//변경
|
|||
|
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start, 20181025
|
|||
|
//해피포인트 선리딩시 해피포인트 사용이 안되는 증상 수정
|
|||
|
//기존
|
|||
|
//m_cPosStatus.Sale.strHappyPointCardNo = sInPutData;
|
|||
|
//변경
|
|||
|
m_cPosStatus.Sale.strHappyPointCardNo = sInPutData + "=";
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end, 20181025
|
|||
|
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
|
|||
|
//변경
|
|||
|
//m_cPosStatus.Sale.strHappyPointCardNo = sInPutData;// +"=";
|
|||
|
//#20180620 해피포인트 선리딩시 '=' 붙이는 기능 제거 end
|
|||
|
|
|||
|
m_cPosStatus.Sale.strHappyPointCardNo_Title = "HPC";
|
|||
|
#endregion
|
|||
|
|
|||
|
//*** MoonSeokWoo 2017.12.12 Add
|
|||
|
if(pnlPayMainBack.Visible == false)
|
|||
|
AllianceCardInit(true, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0789), true);
|
|||
|
//*** MoonSeokWoo 2017.12.12 End
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
#region 고객 구매이력 정보 표시 및 해피쿠폰 발송
|
|||
|
//결제화면이 표시 안된 경우 해피포인트 조회 -> 고객번호로 POS서버 조회 -> 고객구매이력 표시
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//해당 옵션 사용하지 않고 STR_SEND_CPN_MST 테이블의 사용여부로 판단
|
|||
|
//기존
|
|||
|
/*
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT514) == "1" &&
|
|||
|
pnlPayMainBack.Visible == false &&
|
|||
|
m_cPosStatus.Sale.strHappyPointCardNo != "")
|
|||
|
*/
|
|||
|
//변경
|
|||
|
|
|||
|
// TEST START
|
|||
|
//m_cPosStatus.Mst.BuyHistShowYn = "1";
|
|||
|
// TEST END
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.BuyHistShowYn == "1" &&
|
|||
|
pnlPayMainBack.Visible == false &&
|
|||
|
m_cPosStatus.Sale.strHappyPointCardNo != "")
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
{
|
|||
|
//고객 구매이력 화면 미표시
|
|||
|
pnlBuyHist.Visible = false;
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|||
|
pnlBuyHistMot.Visible = false;
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
|
|||
|
//#15525 고객구매이력 수정 요청 start
|
|||
|
//VIP 여부 안내 표시
|
|||
|
pnlBuyHistVip.Visible = false;
|
|||
|
//#15525 고객구매이력 수정 요청 end
|
|||
|
|
|||
|
//해피포인트 조회 후 고객번호 획득 (고객번호(10) + 전자영수증 수신여부(1) + 단골여부(1) + 기타정보(23))
|
|||
|
string sHppMembNo = SchHappyPointMembInfo(PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP, m_cPosStatus.Sale.strHappyPointCardNo);
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//단골고객여부 전역변수로 변경
|
|||
|
//기존
|
|||
|
//string sRegularYN = "";
|
|||
|
//변경
|
|||
|
m_cPosStatus.Sale.sRegularYN = "";
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
|
|||
|
//해피전문 반영 안되있으면 11자리만 내려옴. (고객번호(10) + 전자영수증 수신여부(1))
|
|||
|
if (sHppMembNo.Length > 11)
|
|||
|
{
|
|||
|
//sHppMembNo = sHppMembNo.Substring(0, 10);
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//단골고객여부 전역변수로 변경
|
|||
|
//기존
|
|||
|
//sRegularYN = sHppMembNo.Substring(11, 1);
|
|||
|
//변경
|
|||
|
m_cPosStatus.Sale.sRegularYN = sHppMembNo.Substring(11, 1);
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
sHppMembNo = sHppMembNo.Substring(0, 10);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//sHppMembNo = "";
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//단골고객여부 전역변수로 변경
|
|||
|
//기존
|
|||
|
//sRegularYN = "";
|
|||
|
//변경
|
|||
|
m_cPosStatus.Sale.sRegularYN = "";
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
}
|
|||
|
|
|||
|
//해피포인트 고객번호가 있는 경우 POS서버로 구매이력정보 수신
|
|||
|
if (sHppMembNo !="")
|
|||
|
{
|
|||
|
//수신 데이터 있는 경우 표시
|
|||
|
string sBuyHistRet = UserCom.RST_ERR;
|
|||
|
string sGetData = "";
|
|||
|
|
|||
|
//초기화
|
|||
|
//m_cPosStatus.Sale.strBuyHist = new string[7];
|
|||
|
for (int i = 0; i < m_cPosStatus.Sale.strBuyHist.Length; i++) { m_cPosStatus.Sale.strBuyHist[i] = ""; }
|
|||
|
|
|||
|
//#20180524 구매이력조회 단골여부 전문추가 start,phj
|
|||
|
//기존
|
|||
|
//POS 서버 조회
|
|||
|
//sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, ref sGetData);
|
|||
|
//변경
|
|||
|
//POS 서버 조회
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180528
|
|||
|
//쿠폰 발송 횟수 제한 기능
|
|||
|
//기존
|
|||
|
//sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, m_cPosStatus.Sale.sRegularYN, ref sGetData);
|
|||
|
//변경
|
|||
|
|
|||
|
//쿠폰 발송 횟수 조회
|
|||
|
//구현
|
|||
|
string sCpnSendCnt = m_cDataCommon.CpnSendCntSearch();
|
|||
|
|
|||
|
//#15525 고객구매이력 수정 요청 start
|
|||
|
//TEST
|
|||
|
//1위: 1006024148, 2위: 1008346700, 31위: 1002325773, 32위: 1005674140, 33099위: 1000616629
|
|||
|
//sHppMembNo = "1008346700";
|
|||
|
//#15525 고객구매이력 수정 요청 end
|
|||
|
|
|||
|
//구매이력 조회
|
|||
|
sBuyHistRet = m_cSvr2Tran.ServerBuyHist(sHppMembNo, m_cPosStatus.Sale.sRegularYN, sCpnSendCnt, ref sGetData);
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180528
|
|||
|
|
|||
|
//#20180524 구매이력조회 단골여부 전문추가 end,phj
|
|||
|
|
|||
|
|
|||
|
if (sBuyHistRet == UserCom.RST_OK)
|
|||
|
{
|
|||
|
//고객 구매이력 데이터 파싱
|
|||
|
// 단골여부 | 최근1개월 | 전월 | 객단가 | 선호제품유형 | 최근구매일 | 최근 케익 구매일 |코드|문구1 | 문구2|
|
|||
|
// Y | 0(0) | 0 | 0 | 완제생크림 , 버터 | 21일전 (05/03)| 21일전 (05/03) |01 |어제 | 케익 |
|
|||
|
|
|||
|
//테스트 start
|
|||
|
//sGetData = "Y|0(0)|0|0|완제생크림 , 버터|21일전 (05/03)|21일전 (05/03)|01|어제|케익|";
|
|||
|
//테스트 end
|
|||
|
|
|||
|
//#15525 고객구매이력 수정 요청 start
|
|||
|
//VIP 여부 안내 표시
|
|||
|
// 단골여부 | 최근1개월 | 전월 | 객단가 | 선호제품유형 | 최근구매일 | 최근 케익 구매일 |코드|문구1 | 문구2| VIP여부|
|
|||
|
// Y | 0(0) | 0 | 0 | 완제생크림 , 버터 | 21일전 (05/03)| 21일전 (05/03) |01 |어제 | 케익 | Y |
|
|||
|
|
|||
|
//테스트 start
|
|||
|
//sGetData = "Y|0(0)|0|0|완제생크림 , 버터|21일전 (05/03)|21일전 (05/03)|01|어제|케익|Y";
|
|||
|
|
|||
|
//#15525 고객구매이력 수정 요청 end
|
|||
|
|
|||
|
m_cPosStatus.Sale.strBuyHist = sGetData.Split('|');
|
|||
|
|
|||
|
string sStrBuyHist3_0 = m_cPosStatus.Sale.strBuyHist[1];
|
|||
|
string sStrBuyHist3_1 = "";
|
|||
|
string sStrBuyHist3_2 = "";
|
|||
|
string sStrBuyHist3_3 = "";
|
|||
|
|
|||
|
int iStrBuyHistPosUp = 0;
|
|||
|
int iStrBuyHistPosDwn = 0;
|
|||
|
int iStrBuyHistPosNon = 0;
|
|||
|
|
|||
|
iStrBuyHistPosUp = sStrBuyHist3_0.LastIndexOf("▲");
|
|||
|
iStrBuyHistPosDwn = sStrBuyHist3_0.LastIndexOf("▼");
|
|||
|
iStrBuyHistPosNon = sStrBuyHist3_0.LastIndexOf("(");
|
|||
|
|
|||
|
|
|||
|
if(iStrBuyHistPosUp > 0)
|
|||
|
{
|
|||
|
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosUp);
|
|||
|
sStrBuyHist3_2 = sStrBuyHist3_0.Substring(iStrBuyHistPosUp, 1);
|
|||
|
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosUp + 1, sStrBuyHist3_0.Length - iStrBuyHistPosUp - 1);
|
|||
|
|
|||
|
lblBuyHist8.ForeColor = Color.Blue;
|
|||
|
}
|
|||
|
else if (iStrBuyHistPosDwn > 0)
|
|||
|
{
|
|||
|
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosDwn);
|
|||
|
sStrBuyHist3_2 = sStrBuyHist3_0.Substring(iStrBuyHistPosDwn, 1);
|
|||
|
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosDwn + 1, sStrBuyHist3_0.Length - iStrBuyHistPosDwn - 1);
|
|||
|
|
|||
|
lblBuyHist8.ForeColor = Color.Red;
|
|||
|
}
|
|||
|
else if (iStrBuyHistPosNon > 0)
|
|||
|
{
|
|||
|
sStrBuyHist3_1 = sStrBuyHist3_0.Substring(0, iStrBuyHistPosNon + 1);
|
|||
|
sStrBuyHist3_2 = " ";
|
|||
|
sStrBuyHist3_3 = sStrBuyHist3_0.Substring(iStrBuyHistPosNon + 1, sStrBuyHist3_0.Length - iStrBuyHistPosNon - 1);
|
|||
|
|
|||
|
lblBuyHist8.ForeColor = Color.FromArgb(51, 51, 51);
|
|||
|
}
|
|||
|
|
|||
|
//고객 구매이력 데이터 표시
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//단골고객여부 전역변수로 변경
|
|||
|
//기존
|
|||
|
//lblBuyHist1.Text = sRegularYN;
|
|||
|
//변경
|
|||
|
lblBuyHist1.Text = m_cPosStatus.Sale.sRegularYN;
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
|
|||
|
lblBuyHist2.Text = sStrBuyHist3_1;
|
|||
|
lblBuyHist3.Text = m_cPosStatus.Sale.strBuyHist[2];
|
|||
|
lblBuyHist4.Text = m_cPosStatus.Sale.strBuyHist[3];
|
|||
|
lblBuyHist5.Text = m_cPosStatus.Sale.strBuyHist[4];
|
|||
|
lblBuyHist6.Text = m_cPosStatus.Sale.strBuyHist[5];
|
|||
|
lblBuyHist7.Text = m_cPosStatus.Sale.strBuyHist[6];
|
|||
|
|
|||
|
lblBuyHist8.Text = sStrBuyHist3_2;
|
|||
|
lblBuyHist9.Text = sStrBuyHist3_3;
|
|||
|
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180508
|
|||
|
//[쿠폰발송] 버튼 클릭시 '쿠폰발송 기능은 추후 오픈 예정입니다.' 팝업 출력
|
|||
|
//기존
|
|||
|
/*
|
|||
|
//단골고객만 쿠폰 발송 버튼 활성화
|
|||
|
if (sRegularYN == "Y" && PosMstManager.GetPosOption(POS_OPTION.OPT513) == "1")
|
|||
|
{
|
|||
|
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
|
|||
|
btnCpnSend.Enabled = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
btnCpnSend.Text = "";
|
|||
|
btnCpnSend.Enabled = false;
|
|||
|
}
|
|||
|
*/
|
|||
|
//변경
|
|||
|
btnCpnSend.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1122);
|
|||
|
btnCpnSend.Enabled = true;
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180508
|
|||
|
|
|||
|
//고객 구매이력 화면 표시
|
|||
|
pnlBuyHist.Visible = true;
|
|||
|
|
|||
|
|
|||
|
//#20180524 구매이력조회 단골여부 전문추가 start,phj
|
|||
|
//기존
|
|||
|
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
////고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|||
|
//string sMsgCode = "";
|
|||
|
//
|
|||
|
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180521
|
|||
|
////기존
|
|||
|
///*
|
|||
|
//if (m_cPosStatus.Sale.strBuyHist.Length > 7)
|
|||
|
//{
|
|||
|
// sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// sMsgCode = "00";
|
|||
|
//}
|
|||
|
//DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
|
|||
|
//if (!(dt == null || dt.Rows.Count == 0))
|
|||
|
//{
|
|||
|
// DataRow dr = dt.Rows[0];
|
|||
|
// lblBuyHistMot.Text = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CD_NM);
|
|||
|
//}
|
|||
|
////적용시 true
|
|||
|
//pnlBuyHistMot.Visible = true;
|
|||
|
//*/
|
|||
|
//
|
|||
|
////변경
|
|||
|
//if (m_cPosStatus.Sale.strBuyHist.Length > 7)
|
|||
|
//{
|
|||
|
// sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
|
|||
|
//}
|
|||
|
//
|
|||
|
//// TEST START
|
|||
|
////sMsgCode = "요즘 방문이 뜸하셨는데, 다시 찾아주셔서 감사드려요";
|
|||
|
////sMsgCode = "요즘 방문이 뜸하셨는데, 다시 찾아주셔서 감사드려요@$다음 방문시 사용 하실 수 있는 XX쿠폰 발송해 드릴께요";
|
|||
|
//// TEST END
|
|||
|
//
|
|||
|
//if (sMsgCode != "")
|
|||
|
//{
|
|||
|
// lblBuyHistMot.Text = sMsgCode.Replace("@", "\r").Replace("$", "\n").ToString();
|
|||
|
// pnlBuyHistMot.Visible = true;
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// pnlBuyHistMot.Visible = false;
|
|||
|
//}
|
|||
|
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180521
|
|||
|
//
|
|||
|
//BuyHistTime = DateTime.Now;
|
|||
|
////#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
|
|||
|
//변경
|
|||
|
string sMsgCode = "";
|
|||
|
string sMsg1 = "";
|
|||
|
string sMsg2 = "";
|
|||
|
if (m_cPosStatus.Sale.strBuyHist.Length > 7)
|
|||
|
{
|
|||
|
sMsgCode = m_cPosStatus.Sale.strBuyHist[7];
|
|||
|
sMsg1 = m_cPosStatus.Sale.strBuyHist[8];
|
|||
|
sMsg2 = m_cPosStatus.Sale.strBuyHist[9];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//#20180528 구매이력조회 상단 MOT 미표시 start,phj
|
|||
|
//기존
|
|||
|
//sMsgCode = "00";
|
|||
|
//변경
|
|||
|
sMsgCode = "99";
|
|||
|
//#20180528 구매이력조회 상단 MOT 미표시 end,phj
|
|||
|
}
|
|||
|
|
|||
|
//#20180528 구매이력조회 상단 MOT 미표시 start,phj
|
|||
|
//기존
|
|||
|
/*
|
|||
|
string sCmmMsg1 = "";
|
|||
|
string sCmmMsg2 = "";
|
|||
|
DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
|
|||
|
if (!(dt == null || dt.Rows.Count == 0))
|
|||
|
{
|
|||
|
DataRow dr = dt.Rows[0];
|
|||
|
sCmmMsg1 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01);
|
|||
|
sCmmMsg2 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_02);
|
|||
|
}
|
|||
|
|
|||
|
sCmmMsg1 = string.Format(sCmmMsg1, sMsg1, sMsg2);
|
|||
|
sCmmMsg2 = string.Format(sCmmMsg2, sMsg1, sMsg2);
|
|||
|
|
|||
|
if (sCmmMsg1 != "" || sCmmMsg2 != "")
|
|||
|
{
|
|||
|
lblBuyHistMot.Text = sCmmMsg1 + "\r" + sCmmMsg2;
|
|||
|
pnlBuyHistMot.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblBuyHistMot.Text = "";
|
|||
|
pnlBuyHistMot.Visible = false;
|
|||
|
}
|
|||
|
*/
|
|||
|
|
|||
|
//변경
|
|||
|
if (sMsgCode == "99")
|
|||
|
{
|
|||
|
lblBuyHistMot.Text = "";
|
|||
|
pnlBuyHistMot.Visible = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
string sCmmMsg1 = "";
|
|||
|
string sCmmMsg2 = "";
|
|||
|
DataTable dt = m_cDataCommon.SeletCommonCode("T0038", sMsgCode);
|
|||
|
if (!(dt == null || dt.Rows.Count == 0))
|
|||
|
{
|
|||
|
DataRow dr = dt.Rows[0];
|
|||
|
sCmmMsg1 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01);
|
|||
|
sCmmMsg2 = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_02);
|
|||
|
}
|
|||
|
|
|||
|
sCmmMsg1 = string.Format(sCmmMsg1, sMsg1, sMsg2);
|
|||
|
sCmmMsg2 = string.Format(sCmmMsg2, sMsg1, sMsg2);
|
|||
|
|
|||
|
if (sCmmMsg1 != "" || sCmmMsg2 != "")
|
|||
|
{
|
|||
|
lblBuyHistMot.Text = sCmmMsg1 + "\r" + sCmmMsg2;
|
|||
|
pnlBuyHistMot.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblBuyHistMot.Text = "";
|
|||
|
pnlBuyHistMot.Visible = false;
|
|||
|
}
|
|||
|
}
|
|||
|
//#20180528 구매이력조회 상단 MOT 미표시 end,phj
|
|||
|
|
|||
|
BuyHistTime = DateTime.Now;
|
|||
|
|
|||
|
//#20180524 구매이력조회 단골여부 전문추가 end,phj
|
|||
|
|
|||
|
|
|||
|
//#15525 고객구매이력 수정 요청 start
|
|||
|
//VIP 여부 안내 표시
|
|||
|
string sVipYN = "N";
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.strBuyHist.Length > 10)
|
|||
|
{
|
|||
|
sVipYN = m_cPosStatus.Sale.strBuyHist[10];
|
|||
|
}
|
|||
|
|
|||
|
if (sVipYN == "Y")
|
|||
|
{
|
|||
|
//#15525 고객구매이력 수정 요청 start, 20180704
|
|||
|
//기존
|
|||
|
/*
|
|||
|
pnlBuyHistVip.Visible = true;
|
|||
|
pnlBuyHistVip.BringToFront();
|
|||
|
*/
|
|||
|
//변경
|
|||
|
WinBasic.ShowForm(new string[] { FormManager.FORM_VIP });
|
|||
|
//#15525 고객구매이력 수정 요청 end, 20180704
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//m_cCustDisp.ScreenVipDisplay(false);
|
|||
|
pnlBuyHistVip.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
//#15525 고객구매이력 수정 요청 end
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//고객 구매이력 데이터 초기화
|
|||
|
//for (int i = 0; i < m_cPosStatus.Sale.strBuyHist.Length; i++) { m_cPosStatus.Sale.strBuyHist[i] = ""; }
|
|||
|
|
|||
|
//고객 구매이력 화면 미표시
|
|||
|
pnlBuyHist.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|||
|
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
|
|||
|
#region SPC임직원 여부 조회
|
|||
|
if (m_cPosStatus.Sale.strHappyPointCardNo != "")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strEmpInfo = SchHappyPointEmpInfo(PosConst.POS_VAN_MASTER.INPUT_TYPE.VAN_SWIP, m_cPosStatus.Sale.strHappyPointCardNo);
|
|||
|
}
|
|||
|
#endregion SPC임직원 여부 조회
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
|
|||
|
|
|||
|
//----------------------------------------
|
|||
|
// 해피포인트 상태바 표시을 위한 배열 설정
|
|||
|
//----------------------------------------
|
|||
|
#region 해피포인트 상태바 표시를 위한 배열 설정
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[0] == null || m_cPosStatus.Sale.strPriorReading_Title[0] == "")
|
|||
|
{
|
|||
|
//--------------------------------------------------------
|
|||
|
// 만약 첫번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
|
|||
|
// -> 첫번째에 해피포인트를 그대로 입력한다.
|
|||
|
//--------------------------------------------------------
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Sale.strPriorReading_Title[1] == null || m_cPosStatus.Sale.strPriorReading_Title[1] == "")
|
|||
|
{
|
|||
|
//--------------------------------------------------------
|
|||
|
// 만약 두번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
|
|||
|
// -> 두번째에 해피포인트를 입력한다.
|
|||
|
// 단, 첫번째로 리딩된 해피포인트가 없을 경우에만 입력한다.
|
|||
|
//--------------------------------------------------------
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//----------------------------------------------------------------
|
|||
|
// 만약 첫번째, 두번째로 리딩한 해피포인트 및 제휴카드가 있을 경우
|
|||
|
// 아무 처리를 안한다.
|
|||
|
//----------------------------------------------------------------
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
// 텍스트 박스 클리어 -----
|
|||
|
txtInPut.Text = "";
|
|||
|
if(pnlPayMainBack.Visible == true)
|
|||
|
{
|
|||
|
#region 만약 해피포인트 값이 설정되어 있을 경우 해피포인트 화면을 표시한다.
|
|||
|
if (m_cPosStatus.Sale.strHappyPointCardNo != "")
|
|||
|
{
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
|
|||
|
//기존
|
|||
|
// 해피포인트(00058) 화면 표시 -----
|
|||
|
//PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
|
|||
|
//변경
|
|||
|
#region SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시
|
|||
|
if (m_cPosStatus.Sale.strEmpInfo == "3A")
|
|||
|
{
|
|||
|
// SPC임직원할인(결제) - 상품에 적용하지 않음
|
|||
|
DataTable dtFuncKeyArr1 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY);
|
|||
|
// SPC임직원할인(할인) - 상품에 적용
|
|||
|
DataTable dtFuncKeyArr2 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC);
|
|||
|
|
|||
|
if (dtFuncKeyArr1 == null || dtFuncKeyArr1.Rows.Count <= 0)
|
|||
|
{
|
|||
|
if (dtFuncKeyArr2 == null || dtFuncKeyArr2.Rows.Count <= 0)
|
|||
|
{
|
|||
|
// SPC임직원할인(결제), SPC임직원할인(할인) 둘다 기능키가 배치되어 있지 않은 경우
|
|||
|
// 해피포인트(00058) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// SPC임직원할인(할인) 기능키가 배치되어 있는 경우
|
|||
|
// 임직원할인(00064) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC, "2");
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// SPC임직원할인(결제) 기능키가 배치되어 있는 경우
|
|||
|
// 임직원할인(00281) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY, "2");
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// SPC임직원이 아닌 경우
|
|||
|
// 해피포인트(00058) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
|
|||
|
}
|
|||
|
#endregion SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//=======================================================================
|
|||
|
// 제휴할인 카드 체크
|
|||
|
//-----------------------------------------------------------------------
|
|||
|
// - 제휴할인 카드 폼에 포함되어 있는
|
|||
|
// 제휴카드 종류 자동 선택(SelectMobileUnityKind) 함수를 이용하여
|
|||
|
// 제휴할인 카드가 맞는지 체크한다.
|
|||
|
// - 만약 제휴할인 카드가 맞을 경우
|
|||
|
// 입력된 값을 전역변수에 저장하여 제휴할인 카드 번호로 사용한다.
|
|||
|
//-----------------------------------------------------------------------
|
|||
|
// - frmPntMobileUnity_Load 이벤트에서 처리함
|
|||
|
// - 오버로딩 함수 : public frmPntMobileUnity(string _strDiv)
|
|||
|
// public bool SelectMobileUnityKind(string _strCardNo)
|
|||
|
//=======================================================================
|
|||
|
#region 제휴할인 카드 체크
|
|||
|
|
|||
|
//-----------------------------------------------------
|
|||
|
// 제휴할인 카드 폼의 제휴카드 종류 자동 선택 함수 호출
|
|||
|
//-----------------------------------------------------
|
|||
|
#region 제휴할인 카드 폼의 제휴카드 종류 자동 선택 함수 호출
|
|||
|
frmPntMobileUnity frmPntMobileUnity = new frmPntMobileUnity("Initial");
|
|||
|
string _strCardDiv = frmPntMobileUnity.SelectMobileUnityKind(sInPutData);
|
|||
|
#endregion
|
|||
|
|
|||
|
if (_strCardDiv != "")
|
|||
|
{
|
|||
|
//-----------------------------------------------------------------
|
|||
|
// 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다.
|
|||
|
// - 다시 사용하기로 했음
|
|||
|
//-----------------------------------------------------------------
|
|||
|
#region 만약 상품이 하나도 등록되지 않았을 경우에 에러메시지를 표시한다.
|
|||
|
//if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
|
|||
|
//{
|
|||
|
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0020); // 판매 대기중에 처리 할수 없는 기능 입니다.
|
|||
|
// DisplayInit(true, false);
|
|||
|
// return;
|
|||
|
//}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 만약 결제 기능키 항목에 제휴할인 카드('00292')이 없을 경우 에러메시지를 표시한다.
|
|||
|
if (gdtFuncKey.Rows.Count != 0)
|
|||
|
{
|
|||
|
DataRow[] _drFuncKey = gdtFuncKey.Select("FUNC_ID = '" + PosKey.MENU_KEY.MOBILE_UNITY + "'");
|
|||
|
if (_drFuncKey.Length == 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0059); // 메뉴키 마스터가 없습니다
|
|||
|
DisplayInit(true, false);
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//--------------------------------------------
|
|||
|
// 입력된 제휴카드 번호를 전역변수에 저장한다.
|
|||
|
//--------------------------------------------
|
|||
|
// - _strCardDiv : SKT, KT, LGT
|
|||
|
//--------------------------------------------
|
|||
|
#region 입력된 제휴카드 번호를 전역변수에 저장한다.
|
|||
|
m_cPosStatus.Sale.strMobileUnityCardNo = sInPutData;
|
|||
|
m_cPosStatus.Sale.strHappyPointCardNo_Title = _strCardDiv;
|
|||
|
#endregion
|
|||
|
|
|||
|
//*** MoonSeokWoo 2017.12.12 Add
|
|||
|
if (pnlPayMainBack.Visible == false)
|
|||
|
AllianceCardInit(true, _strCardDiv, false);
|
|||
|
//*** MoonSeokWoo 2017.12.12 End
|
|||
|
|
|||
|
//--------------------------------------
|
|||
|
// 제휴카드 상태바 표시을 위한 배열 설정
|
|||
|
//--------------------------------------
|
|||
|
#region 제휴카드 상태바 표시를 위한 배열 설정
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[0] == null || m_cPosStatus.Sale.strPriorReading_Title[0] == "")
|
|||
|
{
|
|||
|
//--------------------------------------------------------
|
|||
|
// 만약 첫번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
|
|||
|
// -> 그대로 입력한다.
|
|||
|
//--------------------------------------------------------
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Sale.strPriorReading_Title[1] == null || m_cPosStatus.Sale.strPriorReading_Title[1] == "")
|
|||
|
{
|
|||
|
//-------------------------------------------------------------------
|
|||
|
// 만약 두번째로 리딩된 해피포인트 및 제휴카드가 없을 경우
|
|||
|
// -> 두번째에 해피포인트를 입력한다.
|
|||
|
// 단, 첫번째로 리딩된 제휴카드가 있을 경우 이전 제휴카드를 치환한다.
|
|||
|
//-------------------------------------------------------------------
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//----------------------------------------------------------------
|
|||
|
// 만약 첫번째, 두번째로 리딩한 해피포인트 및 제휴카드가 있을 경우
|
|||
|
// 이전 제휴카드를 치환한다.
|
|||
|
//----------------------------------------------------------------
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[0] != "HPC")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[1] = m_cPosStatus.Sale.strHappyPointCardNo_Title;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
// 텍스트 박스 클리어 -----
|
|||
|
txtInPut.Text = "";
|
|||
|
if (pnlPayMainBack.Visible == true)
|
|||
|
{
|
|||
|
#region '해피포인트' 및 '제휴할인 카드' 화면을 표시한다.
|
|||
|
#region 만약 제휴할인 카드 값이 설정되어 있을 경우 제휴할인 카드 화면을 표시한다.
|
|||
|
if (m_cPosStatus.Sale.strMobileUnityCardNo != "")
|
|||
|
{
|
|||
|
// 제휴할인 카드(00292) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2");
|
|||
|
}
|
|||
|
#endregion
|
|||
|
#endregion
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//*****************************************************************************
|
|||
|
// (2017.11.10) 바코드 중복 처리
|
|||
|
//-----------------------------------------------------------------------------
|
|||
|
// - 만약 입력박스에서 1개의 상품을 리딩했는데
|
|||
|
// 상품바코드테이블(MST_ITEM_BAR_CD)에 2개 이상의 데이터가 존재할 경우
|
|||
|
// 상품선택화면(frmMultiItem)을 표시해서 사용자 1개의 상품을 선택하도록 한다.
|
|||
|
//*****************************************************************************
|
|||
|
#region 바코드 중복 처리
|
|||
|
if (sInPutData != "")
|
|||
|
{
|
|||
|
//#20181102 상품 터치, 바코드 스캔시 동일 상품인 경우 수량 증가 안되는 증상 수정 start
|
|||
|
//기존
|
|||
|
#region 기존
|
|||
|
DataTable dtDataInfo = m_cDataCommon.SeletItemMstNmToScanCode("0000007", sInPutData);
|
|||
|
if (dtDataInfo != null && dtDataInfo.Rows.Count > 1)
|
|||
|
{
|
|||
|
frmMultiItem fForm = new frmMultiItem(dtDataInfo);
|
|||
|
if (DialogResult.OK == fForm.ShowDialog())
|
|||
|
{
|
|||
|
// 사용자가 선택한 매장코드 설정 -----
|
|||
|
string _strStorCD = fForm.strStorCD;
|
|||
|
|
|||
|
// 사용자가 선택한 상품코드 설정 -----
|
|||
|
string _strSelectItemCD = fForm.strSelectItemCD;
|
|||
|
|
|||
|
//-------------------------
|
|||
|
// EtcData=0:수입력 값 설정
|
|||
|
//-------------------------
|
|||
|
#region EtcData=0:수입력 값 설정
|
|||
|
sInPutData = _strStorCD + " " + _strSelectItemCD;
|
|||
|
|
|||
|
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
|
|||
|
//기존
|
|||
|
/*
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sInPutData);
|
|||
|
*/
|
|||
|
//변경
|
|||
|
//상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + sInPutData);
|
|||
|
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
|
|||
|
#endregion
|
|||
|
}
|
|||
|
else { return; }
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//-------------------------------------------------
|
|||
|
// 만약 중복상품이 아닐경우에는
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
//-------------------------------------------------
|
|||
|
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
|
|||
|
//기존
|
|||
|
//m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
|
|||
|
//변경
|
|||
|
bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
|
|||
|
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
|
|||
|
}
|
|||
|
#endregion 기존
|
|||
|
//변경
|
|||
|
#region 변경
|
|||
|
//DataTable dtDataInfo = m_cDataCommon.SeletItemMstNmToScanCode("0000007", sInPutData);
|
|||
|
//if (dtDataInfo != null && dtDataInfo.Rows.Count > 1)
|
|||
|
//{
|
|||
|
// frmMultiItem fForm = new frmMultiItem(dtDataInfo);
|
|||
|
// if (DialogResult.OK == fForm.ShowDialog())
|
|||
|
// {
|
|||
|
// // 사용자가 선택한 매장코드 설정 -----
|
|||
|
// string _strStorCD = fForm.strStorCD;
|
|||
|
|
|||
|
// // 사용자가 선택한 상품코드 설정 -----
|
|||
|
// string _strSelectItemCD = fForm.strSelectItemCD;
|
|||
|
|
|||
|
// //-------------------------
|
|||
|
// // EtcData=0:수입력 값 설정
|
|||
|
// //-------------------------
|
|||
|
// #region EtcData=0:수입력 값 설정
|
|||
|
|
|||
|
// string sSchData = _strStorCD + " " + _strSelectItemCD;
|
|||
|
|
|||
|
// if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
|
|||
|
// {
|
|||
|
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
// {
|
|||
|
// ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
// for (int i = 0; i < alTrPluItem.Count; i++)
|
|||
|
// {
|
|||
|
// Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
|
|||
|
|
|||
|
// if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
|
|||
|
// if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
|
|||
|
// if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
|
|||
|
// if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
|
|||
|
|
|||
|
// if (cPluItem.SUB_SHOP_CD != sSchData.Substring(0, 10).Trim() || cPluItem.ITEM_PLU_CD != sSchData.Substring(10)) continue;
|
|||
|
|
|||
|
// if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
|
|||
|
// if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
|
|||
|
// if (cPluItem.SALE_QTY >= 99999) continue;
|
|||
|
// //#20170825 오픈 상품은 무조건 새 row로 입력 start
|
|||
|
// if (cPluItem.OPEN_ITEM_DIV == "1") continue;
|
|||
|
// //#20170825 오픈 상품은 무조건 새 row로 입력 end
|
|||
|
|
|||
|
// // 수량 증가 처리
|
|||
|
// bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
|
|||
|
|
|||
|
// SaleItemGrid.SelectIndexItem(i);
|
|||
|
// m_cCustDisp.DisplaySaleItemList(true, true, i);
|
|||
|
// txtInPut.Text = "";
|
|||
|
|
|||
|
// return;
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
|
|||
|
// #endregion
|
|||
|
// }
|
|||
|
// else { return; }
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// if (dtDataInfo != null && dtDataInfo.Rows.Count == 1)
|
|||
|
// {
|
|||
|
// string sSchData = dtDataInfo.Rows[0]["STOR_CD"].ToString() + " " + dtDataInfo.Rows[0]["ITEM_CD"].ToString();
|
|||
|
|
|||
|
// if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
|
|||
|
// {
|
|||
|
// if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
// {
|
|||
|
// ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
// for (int i = 0; i < alTrPluItem.Count; i++)
|
|||
|
// {
|
|||
|
// Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
|
|||
|
|
|||
|
// if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
|
|||
|
// if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
|
|||
|
// if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
|
|||
|
// if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
|
|||
|
|
|||
|
// if (cPluItem.SUB_SHOP_CD != sSchData.Substring(0, 10).Trim() || cPluItem.ITEM_PLU_CD != sSchData.Substring(10)) continue;
|
|||
|
|
|||
|
// if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
|
|||
|
// if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
|
|||
|
// if (cPluItem.SALE_QTY >= 99999) continue;
|
|||
|
// //#20170825 오픈 상품은 무조건 새 row로 입력 start
|
|||
|
// if (cPluItem.OPEN_ITEM_DIV == "1") continue;
|
|||
|
// //#20170825 오픈 상품은 무조건 새 row로 입력 end
|
|||
|
|
|||
|
// // 수량 증가 처리
|
|||
|
// bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
|
|||
|
|
|||
|
// SaleItemGrid.SelectIndexItem(i);
|
|||
|
// m_cCustDisp.DisplaySaleItemList(true, true, i);
|
|||
|
// txtInPut.Text = "";
|
|||
|
|
|||
|
// return;
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
|
|||
|
// }
|
|||
|
// //-------------------------------------------------
|
|||
|
// // 만약 중복상품이 아닐경우에는
|
|||
|
// // 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
// //-------------------------------------------------
|
|||
|
|
|||
|
// //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
|
|||
|
// //기존
|
|||
|
// //m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
|
|||
|
// //변경
|
|||
|
// bReturn = m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
|
|||
|
// //#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
|
|||
|
//}
|
|||
|
#endregion 변경
|
|||
|
//#20181102 상품 터치, 바코드 스캔시 동일 상품인 경우 수량 증가 안되는 증상 수정 end
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 start
|
|||
|
#region 모바일쿠폰 해피기프트카드 자동인식 기능
|
|||
|
//결제창에서만 동작 하도록 처리
|
|||
|
if (pnlPayMainBack.Visible == true)
|
|||
|
{
|
|||
|
#region 모바일쿠폰 PREFIX 체크
|
|||
|
//모바일쿠폰 prefix 체크
|
|||
|
if (sInPutData.Length >= 6 && sInPutData != "")
|
|||
|
{
|
|||
|
// PreFix 검색
|
|||
|
DataTable dtVanInfo = m_cDataCommon.SeletPrefixToPayTypeInfo(sInPutData);
|
|||
|
if (dtVanInfo != null && dtVanInfo.Rows.Count > 0)
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strMobileCpnNo = sInPutData;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion 모바일쿠폰 PREFIX 체크
|
|||
|
|
|||
|
#region 해피기프트 prefix 체크
|
|||
|
//해피기프트 prefix 체크
|
|||
|
if (sInPutData.Length >= 6 && sInPutData != "")
|
|||
|
{
|
|||
|
IPaymentUs m_cHappyGiftCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HPGIFTCARD);
|
|||
|
string[] aRet = new string[10];
|
|||
|
string ret = m_cHappyGiftCard.SearchPayment(new string[] { PosConst.HPGIFTCARD_SEARCH_TYPE.PREFIX, sInPutData }, ref aRet);
|
|||
|
|
|||
|
if (ret == UserCom.RST_OK)
|
|||
|
{
|
|||
|
//해피기프트(구)
|
|||
|
if (aRet[0].Trim() == "C" && aRet[2] == "98")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strHappyGiftCardNo = sInPutData;
|
|||
|
}
|
|||
|
|
|||
|
//해피기프트(신)
|
|||
|
if (aRet[0].Trim() == "N")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strHappyGiftCardNo = sInPutData;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
#endregion 해피기프트 prefix 체크
|
|||
|
|
|||
|
#region 모바일쿠폰인 경우 모바일결제(00073) 화면 표시
|
|||
|
//모바일쿠폰인 경우 모바일결제(00073) 화면 표시
|
|||
|
if (m_cPosStatus.Sale.strMobileCpnNo != "")
|
|||
|
{
|
|||
|
PayComFuncion(PosKey.MENU_KEY.MOBILE_COUPON, "3");
|
|||
|
}
|
|||
|
#endregion 모바일쿠폰인 경우 모바일결제(00073) 화면 표시
|
|||
|
|
|||
|
#region 해피기프트인 경우 해피기프트(00291) 화면 표시
|
|||
|
//해피기프트인 경우 해피기프트(00291) 화면 표시
|
|||
|
if (m_cPosStatus.Sale.strHappyGiftCardNo != "")
|
|||
|
{
|
|||
|
PayComFuncion(PosKey.MENU_KEY.HPGIFTCARD, "3");
|
|||
|
}
|
|||
|
#endregion 해피기프트인 경우 해피기프트(00291) 화면 표시
|
|||
|
}
|
|||
|
#endregion
|
|||
|
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 end
|
|||
|
|
|||
|
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start
|
|||
|
#region 해피오더 주문내역 바코드 리딩 시 자동 완료처리
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT553), "0") == "1")
|
|||
|
{
|
|||
|
if (pnlPayMainBack.Visible != true)
|
|||
|
{
|
|||
|
if (bReturn == false)
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0021); // 판매 등록 중에 처리 할수 없는 기능 입니다.
|
|||
|
txtInPut.Text = "";
|
|||
|
//DisplayInit(true, false);
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 start - 20180829
|
|||
|
if (sInPutData.Length == 15 && sInPutData.StartsWith("999"))
|
|||
|
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end - 20180829
|
|||
|
{
|
|||
|
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "00", "C", sInPutData });
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
//#16401 해피오더)주문내역 바코드 리딩 시 자동 완료처리 end
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 수량합산 모드이면 수량 합산 처리(0:미합산, 1:최종상품합산, 2:상품별합산)
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT031) == "2")
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
ArrayList alTrPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
for (int i = 0; i < alTrPluItem.Count; i++)
|
|||
|
{
|
|||
|
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alTrPluItem[i];
|
|||
|
|
|||
|
if (cPluItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) continue;
|
|||
|
if (cPluItem.ITEM_DIV != ItemConst.PLU_ITEM_DIV.NORMAL) continue;
|
|||
|
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) continue;
|
|||
|
if (cPluItem.NOTAX_DIV == PosConst.ITEM_NOTAX_DIV.YES) continue;
|
|||
|
|
|||
|
if (cPluItem.SUB_SHOP_CD != m_cPosStatus.Base.SubShopNo || cPluItem.ITEM_BAR_CD != sInPutData) continue;
|
|||
|
|
|||
|
if (cPluItem.ITEM_DC_AMT > 0 || cPluItem.SUM_DC_AMT > 0) continue;
|
|||
|
if (cPluItem.SET_DC_AMT > 0 || cPluItem.EXCEP_DC_AMT > 0) continue;
|
|||
|
if (cPluItem.SALE_QTY >= 99999) continue;
|
|||
|
//#20170825 오픈 상품은 무조건 새 row로 입력 start
|
|||
|
if (cPluItem.OPEN_ITEM_DIV == "1") continue;
|
|||
|
//#20170825 오픈 상품은 무조건 새 row로 입력 end
|
|||
|
|
|||
|
// 수량 증가 처리
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.QTY_PLUS, "", i.ToString(), "");
|
|||
|
|
|||
|
SaleItemGrid.SelectIndexItem(i);
|
|||
|
m_cCustDisp.DisplaySaleItemList(true, true, i);
|
|||
|
|
|||
|
txtInPut.Text = "";
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, "", "", PosConst.SALE_PLU_INPUT_TYPE.KEY_IN + sInPutData);
|
|||
|
}
|
|||
|
|
|||
|
//-------------end-----------------
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 기능 항목 처리
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(sFuncValue, sInPutData, sSelectRow, "");
|
|||
|
|
|||
|
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 Start
|
|||
|
if (m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS) && m_sPluItemCode != string.Empty)
|
|||
|
{
|
|||
|
// 메뉴 표시
|
|||
|
btnMenuMClass_FuncClickHandler(btnMenuMClass, m_sPluItemCode);
|
|||
|
m_sPluItemCode = string.Empty;
|
|||
|
}
|
|||
|
//#Rhee, 20180209 미국 상품검색 후 상품 추가시 상품의 중분류로 이동 End
|
|||
|
}
|
|||
|
|
|||
|
txtInPut.Text = "";
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
tmrSaleTimer.Enabled = true;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 그리드 헤더 거래 취소
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
private void SaleItemGrid_GridHeaderClickEvent(object sender)
|
|||
|
{
|
|||
|
|
|||
|
tmrSaleTimer.Enabled = false;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.SaleFlow != PosConst.SALE_FLOW.PAY_WAIT)
|
|||
|
{
|
|||
|
|
|||
|
//if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0261)) == true )
|
|||
|
//{
|
|||
|
// 기능 항목 처리(지정취소)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.TRADE_STOP, "", "", "");
|
|||
|
|
|||
|
////// 거래 완료 후 초기화 처리
|
|||
|
//DisplayInit(false, true);
|
|||
|
////// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
|
|||
|
//DisplayItem(0, true);
|
|||
|
//}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
tmrSaleTimer.Enabled = true;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 그리드 상품 클릭(지정취소)
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
private void SaleItemGrid_GridItemClickEvent(object sender, int nCellIndex)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
txtInPut.Text = "";
|
|||
|
tmrSaleTimer.Enabled = false;
|
|||
|
|
|||
|
// 그리드의 현재 선택 행번호
|
|||
|
int nSelectRow = SaleItemGrid.SelectedIndex;
|
|||
|
string sSelectRow = "";
|
|||
|
if (nSelectRow >= 0 && SaleItemGrid.GetItemCount() > 0)
|
|||
|
{
|
|||
|
Hashtable htSaleItemGrid = SaleItemGrid.GridDataItems; // 그리드 데이터
|
|||
|
GridDataItem cGridDataItem = (GridDataItem)htSaleItemGrid[nSelectRow];
|
|||
|
// No
|
|||
|
CsmGridExRowData cGridExRowData = (CsmGridExRowData)cGridDataItem.GridItemData[0];
|
|||
|
sSelectRow = cGridExRowData.GridItemValue;
|
|||
|
}
|
|||
|
if (sSelectRow == "") return;
|
|||
|
|
|||
|
// 상품 등록내역 고객용 화면 표시
|
|||
|
m_cCustDisp.DisplaySaleItemSelect(nSelectRow);
|
|||
|
|
|||
|
if (nCellIndex == 8)
|
|||
|
{
|
|||
|
if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|||
|
&& m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
}
|
|||
|
// 기능 항목 처리(지정취소)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.CANCEL_ITEM, "", sSelectRow, "");
|
|||
|
}
|
|||
|
else if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|||
|
&& m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
// 상품 아이템
|
|||
|
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
Column.TR_PLU.DATA cPluItem = (Column.TR_PLU.DATA)alPluItem[CmUtil.IntParse(sSelectRow)]; // 상품 정보
|
|||
|
|
|||
|
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN)
|
|||
|
{
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
|
|||
|
if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL) LoadCommonSubMenuDisplay(cPluItem.SUB_SHOP_CD, cPluItem.M_CLSS);
|
|||
|
}
|
|||
|
else if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.OPT_MENU)
|
|||
|
{
|
|||
|
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") return;
|
|||
|
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) return;
|
|||
|
|
|||
|
for (int i = CmUtil.IntParse(sSelectRow); i >= 0; i--)
|
|||
|
{
|
|||
|
// 상품 정보
|
|||
|
Column.TR_PLU.DATA cPluSubItem = (Column.TR_PLU.DATA)alPluItem[i];
|
|||
|
|
|||
|
if (cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_MAIN) break;
|
|||
|
|
|||
|
if (cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.NORMAL || cPluSubItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL)
|
|||
|
{
|
|||
|
if (cPluSubItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL || cPluSubItem.CANCEL_DIV_MAIN == PosConst.CANCEL_DIV.CANCEL) break;
|
|||
|
if (cPluSubItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) break;
|
|||
|
|
|||
|
LoadSubMenuDisplay(cPluSubItem.SUB_SHOP_CD, cPluSubItem.M_CLSS);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else if (cPluItem.ITEM_DIV == ItemConst.PLU_ITEM_DIV.SET_DETL)
|
|||
|
{
|
|||
|
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") return;
|
|||
|
if (cPluItem.ORDER_OK_FLAG != PosConst.PLU_ORDER_OK_FLAG.ORDER_ING) return;
|
|||
|
if (cPluItem.SET_PLU_SET_GROUP_CODE == "") return;
|
|||
|
|
|||
|
// 세트메뉴 그룹 상세 로딩
|
|||
|
m_cSaleMainProc.m_dtSetMenuDetail = m_cPluService.SearchMenuMaster(PosMst.MST_ITEM_SET_GRP.TABLE_NAME_CHANGE, cPluItem.SUB_SHOP_CD, cPluItem.SET_PLU_SET_GROUP_CODE);
|
|||
|
|
|||
|
LoadSetMenuDisplay(cPluItem.SET_PLU_SET_GROUP_CODE, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0497));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
tmrSaleTimer.Enabled = false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 판매화면 종료 처리
|
|||
|
/// </summary>
|
|||
|
public void SaleMainExit()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|||
|
if (m_cPosStatus.Base.DmbIf == "1" &&
|
|||
|
PosMstManager.GetPosOption(POS_OPTION.OPT554) == "1" &&
|
|||
|
m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT &&
|
|||
|
m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL)
|
|||
|
{
|
|||
|
// 디지털메뉴보드 I/F
|
|||
|
IDataServiceUs cDigitalMenuBoard = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.DMB_IF);
|
|||
|
|
|||
|
// 판매완료
|
|||
|
cDigitalMenuBoard.Execute(new string[] { ItemConst.DT_IRT_ID.SALE_END });
|
|||
|
}
|
|||
|
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3" &&
|
|||
|
PosMstManager.GetPosOption(POS_OPTION.OPT554) == "1" &&
|
|||
|
m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT &&
|
|||
|
m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.NORMAL)
|
|||
|
{
|
|||
|
// 고객화면 상품정보 클리어
|
|||
|
m_cCustDisp.ClearSaleItemList();
|
|||
|
|
|||
|
}
|
|||
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|||
|
|
|||
|
tmrSaleTimer.Enabled = false;
|
|||
|
|
|||
|
this.DialogResult = DialogResult.Cancel;
|
|||
|
this.Close();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 상단 기타 업무 및 WEB 기능 호출
|
|||
|
/// <summary>
|
|||
|
/// 상단 기타 업무 및 WEB 기능 호출
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void lblEtc_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
|
|||
|
if ((UI.CsmLabel)sender == lblEtc)
|
|||
|
{
|
|||
|
//ETC 메뉴
|
|||
|
//WinSale.ExecuteBinessRun(PosKey.MENU_KEY.TOP_MENU_ETC);
|
|||
|
if (pnlMenuSlide.Visible != true)
|
|||
|
{
|
|||
|
m_SlideMenuKey = "";
|
|||
|
m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_ETC;
|
|||
|
pnlMenuSlide.Visible = true;
|
|||
|
MenuSlideList();
|
|||
|
SlideInitControl();
|
|||
|
pnlMenuSlide.BringToFront();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pnlMenuSlide.Visible = false;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//WEB 메뉴
|
|||
|
//WinSale.ExecuteBinessRun(PosKey.MENU_KEY.TOP_MENU_WEB);
|
|||
|
|
|||
|
if (pnlMenuSlide.Visible != true)
|
|||
|
{
|
|||
|
m_SlideMenuKey = "";
|
|||
|
m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_WEB;
|
|||
|
pnlMenuSlide.Visible = true;
|
|||
|
MenuSlideList();
|
|||
|
SlideInitControl();
|
|||
|
pnlMenuSlide.BringToFront();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pnlMenuSlide.Visible = false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
txtInPut.Text = "";
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 웹 호출
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void picWeb_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
|
|||
|
|
|||
|
if (pnlMenuSlide.Visible != true)
|
|||
|
{
|
|||
|
m_sPosMenuKeyIn = PosKey.MENU_KEY.TOP_MENU_WEB;
|
|||
|
pnlMenuSlide.Visible = true;
|
|||
|
MenuSlideList();
|
|||
|
SlideInitControl();
|
|||
|
pnlMenuSlide.BringToFront();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pnlMenuSlide.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
txtInPut.Text = "";
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 점주/알바 모드 클릭
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btnAdmin_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
SetOwnPartDiv(true);
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 점주/알바 모드 셋팅
|
|||
|
/// </summary>
|
|||
|
/// <param name="bOwnPartDivChange"></param>
|
|||
|
private void SetOwnPartDiv(bool bOwnPartDivChange)
|
|||
|
{
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
if (bOwnPartDivChange == true)
|
|||
|
{
|
|||
|
if (m_cPosStatus.Base.OwnPartDiv == PosConst.OWN_PART_DIV.PART_DIV)
|
|||
|
{
|
|||
|
m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.OWN_DIV;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.PART_DIV;
|
|||
|
}
|
|||
|
|
|||
|
//전송데이터 저장
|
|||
|
m_cDataCommon.SaveServerRequestTransactionData(PosConst.RE_TRANSACTIONDATA.OWNER_MODE, new string[] { m_cPosStatus.Base.OwnPartDiv });
|
|||
|
}
|
|||
|
|
|||
|
if (m_cPosStatus.Base.OwnPartDiv == PosConst.OWN_PART_DIV.PART_DIV)
|
|||
|
{
|
|||
|
btnAdmin.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0033);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cPosStatus.Base.OwnPartDiv = PosConst.OWN_PART_DIV.OWN_DIV;
|
|||
|
btnAdmin.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0034);
|
|||
|
}
|
|||
|
////전송데이터 저장
|
|||
|
//m_cDataCommon.SaveServerRequestTransactionData(PosConst.RE_TRANSACTIONDATA.OWNER_MODE, new string[] { m_cPosStatus.Base.OwnPartDiv });
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 판매화면 타이머
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void tmrSaleTimer_Tick(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
tmrSaleTimer.Enabled = false;
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
|
|||
|
{
|
|||
|
if (Form.ActiveForm == this)
|
|||
|
{
|
|||
|
// Add, 2017.02.15, 영수증프린터로 주방 주문서/메시지 출력 처리
|
|||
|
//m_cSaleMainProc.KtchOrderSheetToBillPrint();
|
|||
|
|
|||
|
// 화면보호기 처리
|
|||
|
if (m_cCustDisp.ScreenSaverDisplay() == true)
|
|||
|
{
|
|||
|
//스크린세이버 기능(0: 사용안함. 1:사용함, 2:사용함(LOGOFF))
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT013) == "2")
|
|||
|
{
|
|||
|
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.SIMPLE_LOG_ON });
|
|||
|
if (sRet == UserCom.RST_ERR)
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMQUIT;
|
|||
|
SaleMainExit();
|
|||
|
return;
|
|||
|
}
|
|||
|
lblCashier.Text = m_cPosStatus.Base.CashierName;
|
|||
|
}
|
|||
|
}
|
|||
|
SetOwnPartDiv(false);
|
|||
|
|
|||
|
if (m_sMstBatchDownDate != m_cPosStatus.Base.MstBatchDownDate)
|
|||
|
{
|
|||
|
// 캠페인 마스터 로딩
|
|||
|
m_sMstBatchDownDate = m_cPosStatus.Base.MstBatchDownDate;
|
|||
|
m_cCampaingMain.LoadCampaignCondition(new string[] { });
|
|||
|
}
|
|||
|
|
|||
|
SelectBrPopUp(); // BR 팝업 업무 조회
|
|||
|
|
|||
|
//긴급공지 체크(10초마다)
|
|||
|
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 10 == 0)
|
|||
|
{
|
|||
|
GetTopMsgMode("1");
|
|||
|
if (m_cPosStatus.Sale.SysShutDown != "") return;
|
|||
|
}
|
|||
|
|
|||
|
// 해피오더 주문접수 알람
|
|||
|
|
|||
|
//#20170913 해피오더 알림 팝업 여부 옵션 처리 start
|
|||
|
//기존
|
|||
|
//if (m_cPosStatus.Sale.HappyOrderAlarm == true)
|
|||
|
//변경
|
|||
|
if ((m_cPosStatus.Sale.HappyOrderAlarm == true) && (PosMstManager.GetPosOption(POS_OPTION.OPT510) == "1"))
|
|||
|
//#20170913 해피오더 알림 팝업 여부 옵션 처리 end
|
|||
|
{
|
|||
|
// 상품등록 대기 일 때만 해피오더 주문접수 알림창 강제 POP-UP
|
|||
|
m_cPosStatus.Sale.HappyOrderAlarm = false;
|
|||
|
|
|||
|
//#20180615 해피오더 팝업 수정 start
|
|||
|
//기존
|
|||
|
//WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_POPUP, "ALARM" });
|
|||
|
//변경
|
|||
|
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" });
|
|||
|
//#20180615 해피오더 팝업 수정 end
|
|||
|
}
|
|||
|
|
|||
|
//기타 공지 1분마다
|
|||
|
if (DateTime.Now.ToString("ss") == "00")
|
|||
|
{
|
|||
|
SelectEtcNoticeCom();
|
|||
|
//if (m_cPosStatus.Sale.SysShutDown != "") return;
|
|||
|
}
|
|||
|
|
|||
|
//#20180605 해피오더 개선 start
|
|||
|
|
|||
|
//즉시주문, 예약주문 알림
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT510) == "1")
|
|||
|
{
|
|||
|
// 즉시주문 30초 마다 표시
|
|||
|
|
|||
|
//#20180605 해피오더 개선 start - 20180618
|
|||
|
//기존
|
|||
|
//if (m_nTimeSync_HpOrd_Direct >= 30)
|
|||
|
//변경
|
|||
|
if (m_nTimeSync_HpOrd_Direct >= 30 || m_cPosStatus.Sale.bPayCompleteYN == true)
|
|||
|
//#20180605 해피오더 개선 end - 20180618
|
|||
|
{
|
|||
|
// Count 초기화
|
|||
|
m_nTimeSync_HpOrd_Direct = 0;
|
|||
|
|
|||
|
//#20180605 해피오더 개선 start - 20180618
|
|||
|
m_cPosStatus.Sale.bPayCompleteYN = false;
|
|||
|
//#20180605 해피오더 개선 end - 20180618
|
|||
|
|
|||
|
|
|||
|
//주문접수 건이 1건 이상인 경우
|
|||
|
int DirectCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDirectCnt, "0")) +
|
|||
|
int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservCnt, "0"));
|
|||
|
|
|||
|
//DirectCnt = 10; //TEST DELETE
|
|||
|
if (DirectCnt >= 1)
|
|||
|
{
|
|||
|
//해피오더 리스트 팝업(Y:당일픽업, A:즉시주문, B:예약주문)
|
|||
|
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "A" });
|
|||
|
|
|||
|
//해피오더 리스트 팝업 종료 후 해피오더 주문건수 재조회 후 건수 갱신
|
|||
|
m_cSvr2Tran.HappyOrderCntChk();
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_nTimeSync_HpOrd_Direct++;
|
|||
|
}
|
|||
|
|
|||
|
// 예약주문 30분 마다 표시
|
|||
|
if (m_nTimeSync_HpOrd_Reserv >= 60 * 30)
|
|||
|
{
|
|||
|
// Count 초기화
|
|||
|
m_nTimeSync_HpOrd_Reserv = 0;
|
|||
|
//주문접수 건이 1건 이상인 경우
|
|||
|
int ReservCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0")) -
|
|||
|
int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDirectCnt, "0")) -
|
|||
|
int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservCnt, "0"));
|
|||
|
if (ReservCnt >= 1)
|
|||
|
{
|
|||
|
//해피오더 리스트 팝업(Y:당일픽업, A:즉시주문, B:예약주문)
|
|||
|
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "B" });
|
|||
|
|
|||
|
//해피오더 리스트 팝업 종료 후 해피오더 주문건수 재조회 후 건수 갱신
|
|||
|
m_cSvr2Tran.HappyOrderCntChk();
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_nTimeSync_HpOrd_Reserv++;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//#20180605 해피오더 개선 end
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 서버 시간 동기화 05분 마다(2017.07.12)
|
|||
|
if (DateTime.Now.ToString("ss") == "00")
|
|||
|
{
|
|||
|
m_nTimeSyncFlag++;
|
|||
|
if (m_nTimeSyncFlag == 5)
|
|||
|
{
|
|||
|
string sRet = m_cSvr2Tran.ServerSysDateTime();
|
|||
|
m_cPosStatus.Base.OlePosNetworkStatus = sRet;
|
|||
|
m_nTimeSyncFlag = 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 시간 표시
|
|||
|
//lblDateTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|||
|
lblCashier.Text = m_cPosStatus.Base.CashierName;
|
|||
|
lblTranNo.Text = m_cPosStatus.Base.TradeNo;
|
|||
|
|
|||
|
// 해피오더 주문알림 처리
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
|
|||
|
{
|
|||
|
//// 해피오더 신규주문
|
|||
|
//int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderRegCnt, "0"));
|
|||
|
//// 해피오더 배달미처리
|
|||
|
//int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0"))
|
|||
|
// + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0"))
|
|||
|
// + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0"));
|
|||
|
//lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), iCnt01, iCnt02);
|
|||
|
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC)
|
|||
|
{
|
|||
|
// 해피오더 신규주문(일반주문건수 + 배달주문건수 + 예약주문건수)
|
|||
|
int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0"));
|
|||
|
if (iCnt01 > 99) iCnt01 = 99;
|
|||
|
// 해피오더 픽업미처리
|
|||
|
int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderProductReadyCnt, "0")) + int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderPickupWaitCnt, "0"));
|
|||
|
if (iCnt02 > 99) iCnt02 = 99;
|
|||
|
// 해피오더 배달미처리
|
|||
|
//#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 start
|
|||
|
//기존
|
|||
|
/*
|
|||
|
int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0"))
|
|||
|
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0"))
|
|||
|
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0"));
|
|||
|
*/
|
|||
|
//변경
|
|||
|
int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRequestCnt, "0"))
|
|||
|
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryRegCnt, "0"))
|
|||
|
|
|||
|
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 start
|
|||
|
//기존
|
|||
|
//+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryingCnt, "0"))
|
|||
|
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 end
|
|||
|
|
|||
|
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 start
|
|||
|
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryProductReadyCnt, "0"))
|
|||
|
//#20180910 배달의 상품준비가 픽업 건들으로 집계되는 현상 수정 end
|
|||
|
|
|||
|
+ int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryDirectCnt, "0"));
|
|||
|
//#20180328 직접배달 처리 후 배달완료시 매출 생성 안되는 증상 수정 end
|
|||
|
|
|||
|
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0459), iCnt01, iCnt02, iCnt03);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 해피오더 일반
|
|||
|
int iCnt01 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderRegCnt, "0"));
|
|||
|
if (iCnt01 > 99) iCnt01 = 99;
|
|||
|
// 해피오더 배달
|
|||
|
int iCnt02 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderDeliveryOrderRegCnt, "0"));
|
|||
|
if (iCnt02 > 99) iCnt02 = 99;
|
|||
|
// 해피오더 예약
|
|||
|
int iCnt03 = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderReservedRegCnt, "0"));
|
|||
|
if (iCnt03 > 99) iCnt03 = 99;
|
|||
|
|
|||
|
lblIFStatus1.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1009), iCnt01, iCnt02, iCnt03);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 빚은몰 주문알림 처리
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT036) == "1")
|
|||
|
{
|
|||
|
lblIFStatus2.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0464), CmUtil.IntParse(m_cPosStatus.Sale.BizeunOrderCnt));
|
|||
|
}
|
|||
|
|
|||
|
// 이지웰 주문알림 처리
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT037) == "1")
|
|||
|
{
|
|||
|
lblIFStatus3.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0465), CmUtil.IntParse(m_cPosStatus.Sale.EzwelOrderCnt));
|
|||
|
}
|
|||
|
|
|||
|
// 온도정보 갱신
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT039), "0") == "1")
|
|||
|
{
|
|||
|
#region 온도정보 색상
|
|||
|
// 우선 순위 : 미수신 > 알람 > 경고
|
|||
|
//- 녹색(정상) : 알람-N, 경고-N, 미수신-N
|
|||
|
//- 회색(미수신) : 미수신-Y 미수신이 Y이면 알람, 경고는 체크 하지 않음
|
|||
|
//- 적색(알람) : 미수신-N, 알람-Y 알람이 Y이면 경고는 체크 하지 않음
|
|||
|
//- 황색(경고) : 미수신-N, 알람-N, 경고-Y
|
|||
|
// [센서ID|온도계명|측정온도|알람YN|경고YN|미수신YN|최종수신시간]
|
|||
|
|
|||
|
lblTemperature01.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature1, "-");
|
|||
|
lblTemperature02.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature2, "-");
|
|||
|
lblTemperature03.Text = CmUtil.IsNull(m_cPosStatus.Temp.Temperature3, "-");
|
|||
|
|
|||
|
// 첫번째 온도 정보
|
|||
|
if (m_cPosStatus.Temp.Alarm1 == "N" && m_cPosStatus.Temp.Warning1 == "N" && m_cPosStatus.Temp.receiveYN1 == "N")
|
|||
|
{
|
|||
|
// 녹색
|
|||
|
lblTemperature01.BackColor = Color.Green;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.receiveYN1 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature1) == true)
|
|||
|
{
|
|||
|
// 회색
|
|||
|
lblTemperature01.BackColor = Color.DarkGray;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.receiveYN1 == "N")
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.Alarm1 == "Y")
|
|||
|
{
|
|||
|
// 레드
|
|||
|
lblTemperature01.BackColor = Color.Red;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.Alarm1 == "N")
|
|||
|
{
|
|||
|
// 황색
|
|||
|
lblTemperature01.BackColor = Color.DarkOrange;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 두번째 온도 정보
|
|||
|
if (m_cPosStatus.Temp.Alarm2 == "N" && m_cPosStatus.Temp.Warning2 == "N" && m_cPosStatus.Temp.receiveYN2 == "N")
|
|||
|
{
|
|||
|
// 녹색
|
|||
|
lblTemperature02.BackColor = Color.Green;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.receiveYN2 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature2) == true)
|
|||
|
{
|
|||
|
// 회색
|
|||
|
lblTemperature02.BackColor = Color.DarkGray;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.receiveYN2 == "N")
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.Alarm2 == "Y")
|
|||
|
{
|
|||
|
// 레드
|
|||
|
lblTemperature02.BackColor = Color.Red;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.Alarm2 == "N")
|
|||
|
{
|
|||
|
// 황색
|
|||
|
lblTemperature02.BackColor = Color.DarkOrange;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 세번째 온도 정보
|
|||
|
if (m_cPosStatus.Temp.Alarm3 == "N" && m_cPosStatus.Temp.Warning3 == "N" && m_cPosStatus.Temp.receiveYN3 == "N")
|
|||
|
{
|
|||
|
// 녹색
|
|||
|
lblTemperature03.BackColor = Color.Green;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.receiveYN3 == "Y" || CmUtil.IsNull(m_cPosStatus.Temp.Temperature3) == true)
|
|||
|
{
|
|||
|
// 회색
|
|||
|
lblTemperature03.BackColor = Color.DarkGray;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.receiveYN3 == "N")
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.Alarm3 == "Y")
|
|||
|
{
|
|||
|
// 레드
|
|||
|
lblTemperature03.BackColor = Color.Red;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.Alarm3 == "N")
|
|||
|
{
|
|||
|
// 황색
|
|||
|
lblTemperature03.BackColor = Color.DarkOrange;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion 온도정보 색상
|
|||
|
}
|
|||
|
|
|||
|
//기념일 배송
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT020), "0") != "0")
|
|||
|
{
|
|||
|
if (lblAnniv.Tag.ToString().Equals("1"))
|
|||
|
{
|
|||
|
if (lblAnniv.BackColor == Color.FromArgb(34, 34, 34))
|
|||
|
{
|
|||
|
lblAnniv.BackColor = Color.Red;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblAnniv.BackColor = Color.FromArgb(34, 34, 34);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// 주변장치 상태 표시
|
|||
|
lblDeviceState.ForeColor = m_cDataCommon.GS_DeviceStatus();
|
|||
|
|
|||
|
//if (DateTime.Now.ToString("ss") == "10")
|
|||
|
//{
|
|||
|
//네트워크 온오프 체크
|
|||
|
OnLinecheck();
|
|||
|
//}
|
|||
|
|
|||
|
//if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
|
|||
|
// SelectBrPopUp();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.SysShutDown == "") tmrSaleTimer.Enabled = true;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region SelectBrPopUp(BR팝업 업무 조회)
|
|||
|
/// <summary>
|
|||
|
/// BR팝업 업무 조회
|
|||
|
/// </summary>
|
|||
|
private void SelectBrPopUp()
|
|||
|
{
|
|||
|
DataTable dt = null;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
if (m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.BR)
|
|||
|
{
|
|||
|
dt = m_cDataCommon.GetBrPopUpBizMst();
|
|||
|
|
|||
|
if (dt == null || dt.Rows.Count == 0)
|
|||
|
{
|
|||
|
//처리 없음!
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
foreach (DataRow dr in dt.Rows)
|
|||
|
{
|
|||
|
string sRet = "";
|
|||
|
|
|||
|
if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0016))
|
|||
|
{
|
|||
|
//BR) 품질관리 집중시간
|
|||
|
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.CONFIRM, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "T", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0128) });
|
|||
|
}
|
|||
|
else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0015))
|
|||
|
{
|
|||
|
//TO-BE 처리 없음!
|
|||
|
|
|||
|
}
|
|||
|
else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0018))
|
|||
|
{
|
|||
|
//DD) 재고율정보 알림
|
|||
|
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.QUESTION, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "F", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0131) });
|
|||
|
if (sRet == UserCom.RST_OK)
|
|||
|
{
|
|||
|
WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_LINK, PosKey.MENU_KEY.PRODUCE_REG });
|
|||
|
}
|
|||
|
}
|
|||
|
else if (dr["CMM_GRP_CD"].Equals(PosConst.COMMON_CODE_GROUP.Z0019))
|
|||
|
{
|
|||
|
//DD) 주말 행사정보 팝업
|
|||
|
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_POPUP_COM, PosConst.MSG_BOX_TYPE.QUESTION, dr["SHOW_MSG1"].ToString(), dr["SHOW_MSG2"].ToString(), dr["SHOW_MSG3"].ToString(), "F", "0", "", MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0392) });
|
|||
|
|
|||
|
if (sRet != UserCom.RST_OK)
|
|||
|
{
|
|||
|
//주말 행사 정보 추후 WEB POS 확정되면 처리해야함!
|
|||
|
//WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_LINK, "" });
|
|||
|
}
|
|||
|
}
|
|||
|
m_cDataCommon.BrPopupUpdate(dr);
|
|||
|
}
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 디바이스 처리
|
|||
|
/// <summary>
|
|||
|
/// DeviceEvent 관련
|
|||
|
/// </summary>
|
|||
|
/// <param name="sDevice"></param>
|
|||
|
/// <param name="sData1"></param>
|
|||
|
/// <param name="sData2"></param>
|
|||
|
/// <param name="sData3"></param>
|
|||
|
public void OnDeviceEvent(string sDevice, string sData1, string sData2, string sData3)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
switch (sDevice)
|
|||
|
{
|
|||
|
case PosConst.OPOS_DEVICE.SCANNER:
|
|||
|
this.Invoke(new EventHandler(OnScannerEvent));
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 스캐너 이벤트 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="source"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void OnScannerEvent(object source, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
string sScanCode = m_cDevStatus.Scanner.DataLabel;
|
|||
|
|
|||
|
// 상품 등록 처리(EtcData=0:수입력, 1:메뉴, 2:스켄)
|
|||
|
m_cSaleMainProc.ExecuteSaleMainProcess(PosKey.MENU_KEY.REGISTER_PLU_ITEM, txtInPut.Text, "", PosConst.SALE_PLU_INPUT_TYPE.SCANNER + sScanCode);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 긴급 공지사항 처리
|
|||
|
/// <summary>
|
|||
|
/// 긴급공지 처리 프로세스
|
|||
|
/// </summary>
|
|||
|
private void EmgNoticeProcess()
|
|||
|
{
|
|||
|
|
|||
|
DataTable dt = null;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
// 긴급 공지 설정
|
|||
|
if (lblTopMsgMode.MpStatus() == false)
|
|||
|
{
|
|||
|
//내역 조회
|
|||
|
dt = (DataTable)m_cPosNoticeCom.GetData(new string[] { PosMst.MST_EMG_NOTE.TABLE_NAME, ItemConst.NOTE_MSG_DIV.ROL, "", "" });
|
|||
|
|
|||
|
if (dt == null || dt.Rows.Count == 0)
|
|||
|
{
|
|||
|
//처리 없음!
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
foreach (DataRow dr in dt.Rows)
|
|||
|
{
|
|||
|
//변수 담기
|
|||
|
Cosmos.UI.CsmPosMovePanel.MovePanelInfo cMoveInfo = new Cosmos.UI.CsmPosMovePanel.MovePanelInfo();
|
|||
|
|
|||
|
cMoveInfo.BackColor = Color.Red;
|
|||
|
cMoveInfo.ForeColor = Color.Yellow;
|
|||
|
cMoveInfo.MoveKind = "1"; //0:좌->우, 1:우->좌, 4:깜박임
|
|||
|
cMoveInfo.MoveText = CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS).Replace("\n", "");
|
|||
|
cMoveInfo.ResvCode = string.Format("{0}^{1}^{2}^{3}", CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_TYPE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.POS_EXEC_TYPE));
|
|||
|
|
|||
|
lblTopMsgMode.MpAdd(cMoveInfo);
|
|||
|
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.READ_YN) == "0")
|
|||
|
{
|
|||
|
//DB 업데이트
|
|||
|
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
|
|||
|
}
|
|||
|
}
|
|||
|
lblTopMsgMode.MpIntervalMove(5); //타이머 시간 설정: 최초 디폴트 10
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
|
|||
|
FormManager.SetControlSize(lblTopMsgMode, 95, 0, 705, 50, 21);
|
|||
|
else
|
|||
|
FormManager.SetControlSize(lblTopMsgMode, 125, 0, 898, 50, 21);
|
|||
|
|
|||
|
//시작
|
|||
|
lblTopMsgMode.Visible = true;
|
|||
|
lblTopMsgMode.MpStart();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//팝업 공지 체크
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
|
|||
|
{
|
|||
|
dt = (DataTable)m_cPosNoticeCom.GetData(new string[] { PosMst.MST_EMG_NOTE.TABLE_NAME, ItemConst.NOTE_MSG_DIV.POP, "", "" });
|
|||
|
if (dt == null || dt.Rows.Count == 0)
|
|||
|
{
|
|||
|
//처리 없음!
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
foreach (DataRow dr in dt.Rows)
|
|||
|
{
|
|||
|
string sRet = "";
|
|||
|
|
|||
|
//즉시 적용 체크
|
|||
|
string sMsgType = CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_TYPE);
|
|||
|
|
|||
|
if (sMsgType == "1") //1:마스터, 2:프로그램
|
|||
|
{
|
|||
|
|
|||
|
//프로그램 이면 다운로드 완료 확인!
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.DOWN_YN) == "1") //다운로드 완료 확인
|
|||
|
{
|
|||
|
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) });
|
|||
|
|
|||
|
if (sRet == UserCom.RST_OK)
|
|||
|
{
|
|||
|
//2.읽은 DB UPDATE
|
|||
|
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
|
|||
|
|
|||
|
// 재기동!
|
|||
|
m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART;
|
|||
|
SaleMainExit();
|
|||
|
break;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.SHOW);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
// 경과 시간 체크!
|
|||
|
if (CmUtil.LongParse(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.FNSH_HOUR)) >= CmUtil.LongParse(DateTime.Now.ToString("yyyyMMddHHmmss")))
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
////마스터면....
|
|||
|
//if (sMsgType == "1")
|
|||
|
//{
|
|||
|
// sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) });
|
|||
|
// if (sRet == UserCom.RST_OK)
|
|||
|
// {
|
|||
|
// //2.읽은 DB UPDATE
|
|||
|
// UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
|
|||
|
|
|||
|
// // 재기동!
|
|||
|
// m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART;
|
|||
|
// SaleMainExit();
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.SHOW);
|
|||
|
// }
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.CONFIRM, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS) });
|
|||
|
|
|||
|
//1-2.즉시 적용 않일때
|
|||
|
//WinManager.ConfirmMessage(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CONTENTS).Replace("\n", ""));
|
|||
|
//2.읽은 DB UPDATE
|
|||
|
UpdateNotice(CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.START_DT), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_CODE), CmUtil.GetDataRowStr(dr, PosMst.MST_EMG_NOTE.DATA.MSG_DIV), PosConst.MST_EMG_NOTE_READ_FLAG.FINSH);
|
|||
|
//}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 공지사항 업데이트
|
|||
|
/// </summary>
|
|||
|
/// <param name="sMsgCd"></param>
|
|||
|
/// <param name="sMsgDiv"></param>
|
|||
|
private void UpdateNotice(string sStartDt, string sMsgCd, string sMsgDiv, string sReadFlag)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
string sRet = m_cPosNoticeCom.Execute(new string[] { sStartDt, sMsgCd, sMsgDiv, sReadFlag });
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 클릭 이벤트
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sCode"></param>
|
|||
|
private void lblTopMsgMode_MpClickHandler(object sender, string sCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//현업 요청으로 클릭하면 안보이기!
|
|||
|
if (m_cPosStatus.Base.TrainingFlag != "1" && lblTopMsgMode.Visible == true)
|
|||
|
{
|
|||
|
//연습모드가 아니고
|
|||
|
lblTopMsgMode.Visible = false;
|
|||
|
//lblTopMsgMode.MpStop();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 클릭이벤트
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void lblTopMsgMode_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
lblTopMsgMode_MpClickHandler(null, null);
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
|
|||
|
#endregion 긴급 공지사항 처리
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 판매,결제 모드 변경
|
|||
|
/// </summary>
|
|||
|
/// <param name="bSaleMode">true:판매모드, false:결제모드</param>
|
|||
|
/// <remarks>
|
|||
|
/// 결제모드 전환 시 lstPaymentsList.Visiable = false 처리 하여
|
|||
|
/// 화면잔상을 제거, 결제 추가 시 lstPaymentsList.Visiable = ture 처리 한다.
|
|||
|
/// </remarks>
|
|||
|
public void ChangeSalePayMode(bool bSaleMode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (bSaleMode == true)
|
|||
|
{
|
|||
|
// 결제화면 숨기기
|
|||
|
pnlCardMot.Visible = false;
|
|||
|
pnlPayMainBack.Visible = false;
|
|||
|
//pnlPayMainBack.Top = 770;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (pnlAllianceCard.Visible == true) pnlAllianceCard.Visible = false;
|
|||
|
//System.Threading.Thread.Sleep(100);
|
|||
|
|
|||
|
// 결제화면 화면 표시
|
|||
|
pnlCardMot.Visible = false;
|
|||
|
pnlPayMainBack.Visible = false;
|
|||
|
pnlPayMainBack.Top = 50;
|
|||
|
|
|||
|
if (m_cTrnStatus.Head.TradeKind.StartsWith(ItemConst.TRAN_KIND.CHARGESALE.DELIMITER) == false) //상품권,선불카드 판매시 비활성화 안함!
|
|||
|
{
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
pnlFlavour.Visible = false;
|
|||
|
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|||
|
//기존
|
|||
|
//lstPaymentList.Visible = false;
|
|||
|
//변경
|
|||
|
lstPaymentList.Visible = true;
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|||
|
|
|||
|
cFuncPnts.SelectFuncButton("");
|
|||
|
cFuncDcs.SelectFuncButton("");
|
|||
|
cFuncPays.SelectFuncButton("");
|
|||
|
|
|||
|
//기타 기능
|
|||
|
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_1);
|
|||
|
|
|||
|
//TTS 결제 금액 사용 유무
|
|||
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT309), "1") == "1")
|
|||
|
{
|
|||
|
CmUtil.SpeakByTTSEngine(m_cPosStatus.Base.Country, string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0239), m_cTrnStatus.Sale.NetSaleAmt), 150);
|
|||
|
}
|
|||
|
//*** MoonSeokWoo 2017.11.20 Edit
|
|||
|
else if(CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT309), "1") == "2")
|
|||
|
{
|
|||
|
SetPlayMotMsg(PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, "");
|
|||
|
}
|
|||
|
//*** MoonSeokWoo 2017.11.20 End
|
|||
|
|
|||
|
DisplayPayment();
|
|||
|
|
|||
|
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, "");
|
|||
|
|
|||
|
//lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
|
|||
|
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
|
|||
|
|
|||
|
// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
|
|||
|
DisplayItem(1, false);
|
|||
|
|
|||
|
pnlPayMainBack.Visible = true;
|
|||
|
pnlPayMainBack.BringToFront();
|
|||
|
pnlCardMot.Visible = true;
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
public void ChangeShowPayBtn(bool bShowPayBtn)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
// 결제화면 (이전 및 결제취소 버튼 숨기기기 처리)
|
|||
|
if (bShowPayBtn == false)
|
|||
|
{
|
|||
|
BtnPayMain.ForeColor = BtnPayMain.BackColor;
|
|||
|
BtnPayCanc.ForeColor = BtnPayCanc.BackColor;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
BtnPayMain.ForeColor = Color.White;
|
|||
|
BtnPayCanc.ForeColor = Color.White;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 등록 리스트 초기화
|
|||
|
/// </summary>
|
|||
|
private void PayListInit()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
lstPaymentList.Columns.Clear();
|
|||
|
lstPaymentList.Columns.Add("PAY_NO", 0, HorizontalAlignment.Left);
|
|||
|
lstPaymentList.Columns.Add("PAY_NM", 160, HorizontalAlignment.Left);
|
|||
|
lstPaymentList.Columns.Add("PAY_AMT", 110, HorizontalAlignment.Right);
|
|||
|
lstPaymentList.FullRowSelect = true;
|
|||
|
lstPaymentList.Scrollable = true;
|
|||
|
|
|||
|
// 캠페인 등록 리스트 표시
|
|||
|
lstCampaignList.Columns.Clear();
|
|||
|
lstCampaignList.Columns.Add("CAMPAIGN_NO", 0, HorizontalAlignment.Left);
|
|||
|
lstCampaignList.Columns.Add("CAMPAIGN_NM", 177, HorizontalAlignment.Left);
|
|||
|
lstCampaignList.FullRowSelect = true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
///// <summary>
|
|||
|
///// TTS 음성 호출
|
|||
|
///// </summary>
|
|||
|
//private void TheradTTS()
|
|||
|
//{
|
|||
|
// Thread t = new Thread(new ThreadStart(TTSForPayAmt));
|
|||
|
// t.Start();
|
|||
|
//}
|
|||
|
|
|||
|
///// <summary>
|
|||
|
///// 결제 금액 TTS 처리
|
|||
|
///// </summary>
|
|||
|
//private void TTSForPayAmt()
|
|||
|
//{
|
|||
|
// try
|
|||
|
// {
|
|||
|
// string stmp = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0239), m_cTrnStatus.Sale.NetSaleAmt);
|
|||
|
|
|||
|
// CmUtil.SpeakByTTSEngine(PosConst.TTS_VOICE_NAME.VOICE_ko_KR, stmp, 150);
|
|||
|
// }
|
|||
|
// catch (Exception ex)
|
|||
|
// {
|
|||
|
// UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
// }
|
|||
|
|
|||
|
//}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 포인트 카드 기능키
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
private void cFuncPnts_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
//if (m_cPosStatus.Sale.DutchPayFlg == "2")
|
|||
|
//{
|
|||
|
// WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0286));
|
|||
|
// return;
|
|||
|
//}
|
|||
|
|
|||
|
|
|||
|
//cFuncPnts.SelectFuncButton(sFuncCode);
|
|||
|
|
|||
|
//LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_1);
|
|||
|
PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_1);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 제휴 할인 기능키
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
private void cFuncDcs_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//if (m_cPosStatus.Sale.DutchPayFlg == "2")
|
|||
|
//{
|
|||
|
// WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0286));
|
|||
|
// return;
|
|||
|
//}
|
|||
|
|
|||
|
//cFuncDcs.SelectFuncButton(sFuncCode);
|
|||
|
|
|||
|
//LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_2);
|
|||
|
PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_2);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 기능키
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
private void cFuncPays_FuncClickHandler(object sender, string sFuncCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
// -------------------------------------------------------------------------------------------
|
|||
|
// 세브란스 직원식 상품 체크
|
|||
|
// -------------------------------------------------------------------------------------------
|
|||
|
string sRet = UserCom.RST_ERR;
|
|||
|
sRet = m_cSaleMainProc.SeveranceiTemCheck(sFuncCode);
|
|||
|
if (sRet != UserCom.RST_OK) return;
|
|||
|
// -------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
//cFuncPays.SelectFuncButton(sFuncCode);
|
|||
|
|
|||
|
//LoadMotPayHdr(PosConst.MOT_MSG_TYPE.PAY_STEP_3);
|
|||
|
|
|||
|
|
|||
|
PayComFuncion(sFuncCode, PosConst.MOT_MSG_TYPE.PAY_STEP_3);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 MOT 버튼 클릭
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void BtnMotPay_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (((UI.CsmButton)sender).Text == "") return;
|
|||
|
|
|||
|
//결제화면 전환시 부모 패널 Visible 가 false 이기 때문에 1개인 경우 자동 클릭이 안되서 null 체크함!
|
|||
|
if (BtnMotPay02.Visible == false && e != null)
|
|||
|
{
|
|||
|
SetBtnMotPay();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
if (((UI.CsmButton)sender) == BtnMotPayUp)
|
|||
|
{
|
|||
|
if (iNowPage == 1) return;
|
|||
|
iNowPage -= 1;
|
|||
|
SetBtnMotPay();
|
|||
|
}
|
|||
|
else if (((UI.CsmButton)sender) == BtnMotPayDown)
|
|||
|
{
|
|||
|
if (iNowPage == iMaxPage) return;
|
|||
|
iNowPage += 1;
|
|||
|
SetBtnMotPay();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
string sTmp;
|
|||
|
|
|||
|
BtnMotPay01.Text = ((UI.CsmButton)sender).Text;
|
|||
|
BtnMotPay01.Tag = ((UI.CsmButton)sender).Tag;
|
|||
|
|
|||
|
|
|||
|
sTmp = BtnMotPay01.Tag.ToString();
|
|||
|
|
|||
|
|
|||
|
string[] aParam = sTmp.Split(new string[] { "^" }, StringSplitOptions.None);
|
|||
|
|
|||
|
string sCnntId = aParam[0];
|
|||
|
string sMsgFlg = aParam[1];
|
|||
|
string sSeqNo = aParam[2];
|
|||
|
string sImgPath = aParam[3];
|
|||
|
|
|||
|
picMotPayImg.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, sImgPath.Trim());
|
|||
|
|
|||
|
SetRichTbMotMsg(rtbMotPayTxt, sCnntId, sMsgFlg, sSeqNo);
|
|||
|
|
|||
|
BtnMotPay02.Visible = false;
|
|||
|
BtnMotPay03.Visible = false;
|
|||
|
BtnMotPay04.Visible = false;
|
|||
|
BtnMotPay05.Visible = false;
|
|||
|
|
|||
|
|
|||
|
BtnMotPayUp.Enabled = true;
|
|||
|
BtnMotPayDown.Enabled = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 리치텍스트 박스 포커스 방지
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void rtbMotDtl_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
if (sender is UI.CsmPosRichTextBox) DisplayInit(true, false);
|
|||
|
this.txtInPut.Focus();
|
|||
|
|
|||
|
}
|
|||
|
catch { }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 종료키
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void cBtnMain_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1")
|
|||
|
|| (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING))
|
|||
|
{
|
|||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 결제 완료 처리
|
|||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
BtnPayMain.Text = "";
|
|||
|
BtnPayCanc.ForeColor = BtnPayCanc.BackColor;
|
|||
|
|
|||
|
// 거래 완료 처리
|
|||
|
m_cSaleMainProc.ExecuteSaleComplete();
|
|||
|
|
|||
|
// 판매대기 == 결제 완료 ==> 판매화면 판매대기 상태로 전환
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
|
|||
|
{
|
|||
|
ChangeSalePayMode(true);
|
|||
|
|
|||
|
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045);
|
|||
|
BtnPayMain.BackColor = Color.FromArgb(74, 97, 118);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0135);
|
|||
|
}
|
|||
|
BtnPayCanc.ForeColor = Color.White;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
//1.포인트 조회 체크
|
|||
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|||
|
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
|
|||
|
{
|
|||
|
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|||
|
|
|||
|
if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|
|||
|
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA)
|
|||
|
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE))
|
|||
|
{
|
|||
|
//해피 포인트가 조회되어 있어 판매등록으로 갈 수 없습니다. 등록된 해피포인트를 취소하세요.
|
|||
|
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0275));
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//결제 수단 등록 체크 --> 추후엔 취소 처리까지 고려~
|
|||
|
//2.결제 체크
|
|||
|
ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
|
|||
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alPayItem)
|
|||
|
{
|
|||
|
|
|||
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.UNDECIDED.RESERVATION_COMPLETE)
|
|||
|
{
|
|||
|
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.NORMAL && !(cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.RESERVATION_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.RESERVATION.RESERVATION_PAY))
|
|||
|
{
|
|||
|
//결제가 등록되어 있어 판매등록으로 갈 수 없습니다. 등록된 결제를 취소 하세요.
|
|||
|
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0276));
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.NORMAL)
|
|||
|
{
|
|||
|
//결제가 등록되어 있어 판매등록으로 갈 수 없습니다. 등록된 결제를 취소 하세요.
|
|||
|
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0276));
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
bool bReservationCancel = false;
|
|||
|
|
|||
|
if (m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.UNDECIDED.RESERVATION_COMPLETE)
|
|||
|
{
|
|||
|
if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0641)) == false)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
bReservationCancel = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
// 판매모드 변경
|
|||
|
//m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
|
|||
|
if (m_cPosStatus.Sale.EtcOperateMode == PosConst.ETC_OPERATION_MODE.TABLE_GROUP_PAY)
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.PAY_WAIT;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_DOING;
|
|||
|
}
|
|||
|
|
|||
|
// 사은품 캠페인 취소 처리
|
|||
|
ICampaignUs cCampaignMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|||
|
cCampaignMain.CancelCampaignPayment("", PosConst.SALE_PLU_INPUT_TYPE.FREEGIFT); //사은품 캠페인 등록 취소
|
|||
|
cCampaignMain.ExecuteCampaignPluHappyPoint("", false, "", "", "", ""); // 상품 캠페인 계산
|
|||
|
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.DutchPayFlg == "1")
|
|||
|
{
|
|||
|
|
|||
|
//더치 페이 상품이면 아이템 원복!
|
|||
|
ArrayList aSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
|
|||
|
for (int iRow = 0; iRow < aSaleItem.Count; iRow++)
|
|||
|
{
|
|||
|
Column.TR_PLU.DATA cSaleItem = (Column.TR_PLU.DATA)aSaleItem[iRow];
|
|||
|
|
|||
|
if (cSaleItem.DUTCH_PAY_CAN_DIV == "0" || cSaleItem.DUTCH_PAY_MAIN_CAN_DIV == "0")
|
|||
|
{
|
|||
|
cSaleItem.CANCEL_DIV = cSaleItem.DUTCH_PAY_CAN_DIV;
|
|||
|
cSaleItem.CANCEL_DIV_MAIN = cSaleItem.DUTCH_PAY_MAIN_CAN_DIV;
|
|||
|
cSaleItem.DUTCH_PAY_CAN_DIV = "";
|
|||
|
cSaleItem.DUTCH_PAY_MAIN_CAN_DIV = "";
|
|||
|
cSaleItem.SALE_QTY = cSaleItem.DUTCH_PAY_TOTQTY;
|
|||
|
cSaleItem.DUTCH_PAY_TOTQTY = 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
m_cPluService.ItemAmountExeccute(true, true);
|
|||
|
|
|||
|
DisplayInit(true, true);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
if (bReservationCancel == true)
|
|||
|
{
|
|||
|
m_cTrnStatus.Head.TradeKind = ItemConst.TRAN_KIND.LOG.STOP;
|
|||
|
|
|||
|
// 보류 후 거래 중지라면 로그 남기기!
|
|||
|
if (m_cTrnStatus.Head.HoldStat != "")
|
|||
|
m_cTrnStatus.Head.HoldStat = ItemConst.HOLD_STAT_CD.CANCEL;
|
|||
|
|
|||
|
// 테이블 거래 완료 처리
|
|||
|
string sRet = m_cTableSvr.CompleteSaleOrder();
|
|||
|
|
|||
|
ISaleCompleteUs m_cSaleComplete = (ISaleCompleteUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.SALE_COMPLETE);
|
|||
|
|
|||
|
// 거래 완료 처리
|
|||
|
sRet = m_cSaleComplete.PosSaleExecute(new string[] { });
|
|||
|
if (sRet != UserCom.RST_OK) return;
|
|||
|
|
|||
|
// 판매상태 변경
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.SALE_WAIT;
|
|||
|
|
|||
|
//// 거래 완료 후 초기화 처리
|
|||
|
DisplayInit(true, true);
|
|||
|
//// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
|
|||
|
DisplayItem(0, true);
|
|||
|
|
|||
|
ChangeSalePayMode(true);
|
|||
|
|
|||
|
if (m_cPosStatus.Base.PosType == PosConst.POS_TYPE.DEFERRED_PAYMENT)
|
|||
|
{
|
|||
|
SaleMainExit();
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 상품등록 내역 화면 표시(0:LastItem, 1::OldFocus)
|
|||
|
DisplayItem(1, false);
|
|||
|
|
|||
|
ChangeSalePayMode(true);
|
|||
|
}
|
|||
|
|
|||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 메인(상품등록 화면 이동)
|
|||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
if (m_cPosStatus.Sale.PayingDutchFlag == "1")
|
|||
|
{
|
|||
|
|
|||
|
m_cSaleMainProc.DutchPay("", "1");
|
|||
|
//WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0284));
|
|||
|
//return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//더치페이 관련 함수들 초기화!
|
|||
|
m_cPosStatus.Sale.DutchPayFlg = "";
|
|||
|
m_cTrnStatus.Head.AmtDutchPayYn = "";
|
|||
|
m_cPosStatus.Sale.PayingDutchFlag = "";
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
private void lblStep1_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_1);
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
|
|||
|
private void lblStep2_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_2);
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
|
|||
|
private void lblStep3_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
SetPaySetpDisp(PosConst.MOT_MSG_TYPE.PAY_STEP_3);
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
|
|||
|
#region 기능키 컨트롤 초기화 및 기능키 마스터 로딩
|
|||
|
/// <summary>
|
|||
|
/// 기능키 컨트롤 초기화 및 기능키 마스터 로딩
|
|||
|
/// </summary>
|
|||
|
/// <returns>성공/실패</returns>
|
|||
|
public bool LoadFuncMasterPayment()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
int iPntCnt = 0;
|
|||
|
int iDcCnt = 0;
|
|||
|
int iPayCnt = 0;
|
|||
|
|
|||
|
cFuncPnts.VisibleUpDown = false;
|
|||
|
cFuncPnts.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
|
|||
|
cFuncDcs.VisibleUpDown = false;
|
|||
|
cFuncDcs.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
|
|||
|
cFuncPays.VisibleUpDown = false;
|
|||
|
cFuncPays.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
|
|||
|
|
|||
|
// 선택 컬러 지정!
|
|||
|
Color clrTheme = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
|
|||
|
|
|||
|
cFuncPnts.SelectedBackColor = clrTheme;
|
|||
|
cFuncPnts.SelectedForeColor = Color.WhiteSmoke;
|
|||
|
cFuncPnts.BackColor = Color.FromArgb(159, 159, 159);
|
|||
|
cFuncPnts.BorderColor = Color.FromArgb(159, 159, 159);
|
|||
|
cFuncPnts.BorderLineSize = 1;
|
|||
|
cFuncDcs.SelectedBackColor = clrTheme;
|
|||
|
cFuncDcs.SelectedForeColor = Color.WhiteSmoke;
|
|||
|
cFuncDcs.BackColor = Color.FromArgb(159, 159, 159);
|
|||
|
cFuncDcs.BorderColor = Color.FromArgb(159, 159, 159);
|
|||
|
cFuncDcs.BorderLineSize = 1;
|
|||
|
cFuncPays.SelectedBackColor = clrTheme;
|
|||
|
cFuncPays.SelectedForeColor = Color.WhiteSmoke;
|
|||
|
cFuncPays.BackColor = Color.FromArgb(159, 159, 159);
|
|||
|
cFuncPays.BorderColor = Color.FromArgb(159, 159, 159);
|
|||
|
cFuncPays.BorderLineSize = 1;
|
|||
|
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 판매기본 기능키 로딩
|
|||
|
DataTable dtFuncKey = m_cDataCommon.SeletFuncKeyGroup("");
|
|||
|
#region 해피포인트 및 제휴카드 선리딩 처리 가능 여부 확인을 위한 전역테이블 변수에 저장한다.
|
|||
|
gdtFuncKey = dtFuncKey;
|
|||
|
#endregion
|
|||
|
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
|
|||
|
{
|
|||
|
// WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0000); // 기능키 그룹 마스터가 없습니다
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
foreach (DataRow dr in dtFuncKey.Rows)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|||
|
|
|||
|
cFuncInfo.sGroupCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_GRP_ID); // 분류코드
|
|||
|
cFuncInfo.nSeqNo = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번
|
|||
|
cFuncInfo.sFuncCode = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능코드
|
|||
|
cFuncInfo.sFuncText = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM).Replace("\n", PosConst.CRLF).Replace("\\n", PosConst.CRLF); // 기능 명
|
|||
|
|
|||
|
cFuncInfo.cBackColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_COLOR)); // 백 컬러
|
|||
|
cFuncInfo.cForeColor = Color.Black; //Color.White; // 명 컬러
|
|||
|
cFuncInfo.fFontSize = CmUtil.GetDataRowFloat(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FONT_SIZE); // 명 폰트 사이즈
|
|||
|
cFuncInfo.nButtonSize = CmUtil.GetDataRowInt(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_BTN_SIZE); // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|||
|
|
|||
|
if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_POINT_MENU)
|
|||
|
{
|
|||
|
cFuncInfo.nSeqNo = iPntCnt + 1;
|
|||
|
cFuncPnts.AddFuncButtonInfo(cFuncInfo);
|
|||
|
iPntCnt += 1;
|
|||
|
iPntCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0);
|
|||
|
}
|
|||
|
else if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_DC_MENU)
|
|||
|
{
|
|||
|
cFuncInfo.nSeqNo = iDcCnt + 1;
|
|||
|
cFuncDcs.AddFuncButtonInfo(cFuncInfo);
|
|||
|
iDcCnt += 1;
|
|||
|
iDcCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0);
|
|||
|
}
|
|||
|
else if (cFuncInfo.sGroupCode == PosKey.MENU_KEY.PAY_PAY_MENU)
|
|||
|
{
|
|||
|
cFuncInfo.nSeqNo = iPayCnt + 1;
|
|||
|
cFuncPays.AddFuncButtonInfo(cFuncInfo);
|
|||
|
iPayCnt += 1;
|
|||
|
iPayCnt += (cFuncInfo.nButtonSize == 1 || cFuncInfo.nButtonSize == 3) ? 1 : ((cFuncInfo.nButtonSize > 3) ? cFuncInfo.nButtonSize - 2 : 0);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 포인트
|
|||
|
cFuncPnts.SetFuncButtonCount(1, iPntCnt); // 버튼갯수 설정
|
|||
|
cFuncPnts.DisplayFuncButton(PosKey.MENU_KEY.PAY_POINT_MENU); // 기능 버튼 표시
|
|||
|
// 할인
|
|||
|
cFuncDcs.SetFuncButtonCount(1, iDcCnt); // 버튼갯수 설정
|
|||
|
cFuncDcs.DisplayFuncButton(PosKey.MENU_KEY.PAY_DC_MENU); // 기능 버튼 표시
|
|||
|
// 결제
|
|||
|
cFuncPays.SetFuncButtonCount(1, iPayCnt); // 버튼갯수 설정
|
|||
|
cFuncPays.DisplayFuncButton(PosKey.MENU_KEY.PAY_PAY_MENU); // 기능 버튼 표시
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion 기능키 컨트롤 초기화 및 기능키 마스터 로딩
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 바로가기 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
/// <param name="iStep"></param>
|
|||
|
private void PayComFuncion(string sFuncCode, string sStep)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1") ||
|
|||
|
(m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING))
|
|||
|
{
|
|||
|
//#20171227 인천공항 포스연동 start, phj - #20180313
|
|||
|
//0원 상품등록 하고 결제완료 시점에 대기번호 화면 오픈 -> 인천공항포스에서 일괄취소 -> 자사포스 기능키 또는 결제완료 버튼 누를 때
|
|||
|
//대기번호화면을 닫으면 모드가 PosConst.SALE_FLOW.PAY_DOING 변경되어 아래 팝업이 뜨므로
|
|||
|
//인천공항 포스로 상품,결제 재전송 할 수 없기 때문없다.
|
|||
|
//인천공항 기능키 누를 때는 팝업 뜨지 않도록 수정!
|
|||
|
|
|||
|
//기존
|
|||
|
//WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0569);
|
|||
|
//return;
|
|||
|
|
|||
|
//변경
|
|||
|
if (sFuncCode != PosKey.MENU_KEY.INCHEON_AIRPORT)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0569);
|
|||
|
return;
|
|||
|
}
|
|||
|
//#20171227 인천공항 포스연동 end, phj - #20180313
|
|||
|
}
|
|||
|
|
|||
|
BtnPayMain.ForeColor = BtnPayMain.BackColor;
|
|||
|
BtnPayCanc.ForeColor = BtnPayCanc.BackColor;
|
|||
|
tmrSaleTimer.Enabled = false;
|
|||
|
|
|||
|
//키유효성 체크
|
|||
|
if (m_cDataCommon.FunctionKeyValidity(sFuncCode) == false)
|
|||
|
{
|
|||
|
WinManager.ConfirmMessage("(" + sFuncCode + ") " + MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0054));
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
m_cPosStatus.Sale.SaleMainPayStep = sStep;
|
|||
|
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
|
|||
|
//기존
|
|||
|
//SetPaySetpDisp(sStep);
|
|||
|
//변경
|
|||
|
SetPaySetpDisp(sStep, sFuncCode);
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
|
|||
|
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, sFuncCode, "");
|
|||
|
|
|||
|
//this.rtbMotMain.Visible = false;
|
|||
|
m_cSaleMainProc.PayMainProc(sFuncCode, "");
|
|||
|
//this.rtbMotMain.Visible = true;
|
|||
|
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//선택된 STEP MOT 표시
|
|||
|
SetPaySetpDisp(sStep);
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
|
|||
|
//#20170828 해피포인트 적립 제외 버튼 추가 phj, start
|
|||
|
//if (m_cTrnStatus.Head.HP_EXCLUDE_YN == "1") cFuncPnts.SelectDispButton(PosKey.MENU_KEY.HAPPY_SAVE_EXCLUDE, 0);
|
|||
|
//#20170828 해피포인트 적립 제외 버튼 추가 phj, end
|
|||
|
|
|||
|
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, PosKey.MENU_KEY.PAY_MAIN_MENU, "");
|
|||
|
|
|||
|
//판매대기 == 결제 완료 ==> 판매화면 상품등록 대기 상태로 전환
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT) ChangeSalePayMode(true);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
BtnPayMain.ForeColor = Color.White;
|
|||
|
BtnPayCanc.ForeColor = Color.White;
|
|||
|
tmrSaleTimer.Enabled = true;
|
|||
|
|
|||
|
CmUtil.IgnoreMouseClick(this); // 마우스 클릭 무시
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 상단 MOT 호출 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sFuncCode"></param>
|
|||
|
public void SetTopMot(string sFuncCode)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
SetRichTbMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, sFuncCode, "");
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 스텝별 색상 변경
|
|||
|
/// </summary>
|
|||
|
/// <param name="sStep"></param>
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
|
|||
|
//기존
|
|||
|
//private void SetPaySetpDisp(string sStep)
|
|||
|
//변경
|
|||
|
private void SetPaySetpDisp(string sStep, string sPosMenuKey = "")
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
Color cBasic = Color.FromArgb(51, 51, 51);
|
|||
|
Color cSelect = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor); //Color.FromArgb(31, 180, 236);
|
|||
|
Color cNormalBox = Color.FromArgb(159, 159, 159);
|
|||
|
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
|
|||
|
//기존
|
|||
|
//LoadMotPayHdr(sStep);
|
|||
|
//변경
|
|||
|
LoadMotPayHdr(sStep, sPosMenuKey);
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
|
|||
|
for (int i = 1; i < 4; i++)
|
|||
|
{
|
|||
|
Panel pnl = null;
|
|||
|
|
|||
|
|
|||
|
if (i == 1)
|
|||
|
{
|
|||
|
if (sStep == i.ToString())
|
|||
|
{
|
|||
|
|
|||
|
lblPayStep1.ForeColor = cSelect;
|
|||
|
pnlStep1.BackColor = cSelect;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblPayStep1.ForeColor = cBasic;
|
|||
|
pnlStep1.BackColor = cNormalBox;
|
|||
|
}
|
|||
|
pnl = pnlStep1;
|
|||
|
|
|||
|
}
|
|||
|
else if (i == 2)
|
|||
|
{
|
|||
|
if (sStep == i.ToString())
|
|||
|
{
|
|||
|
lblPayStep2.ForeColor = cSelect;
|
|||
|
pnlStep2.BackColor = cSelect;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblPayStep2.ForeColor = cBasic;
|
|||
|
pnlStep2.BackColor = cNormalBox;
|
|||
|
}
|
|||
|
pnl = pnlStep2;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (sStep == i.ToString())
|
|||
|
{
|
|||
|
lblPayStep3.ForeColor = cSelect;
|
|||
|
pnlStep3.BackColor = cSelect;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblPayStep3.ForeColor = cBasic;
|
|||
|
pnlStep3.BackColor = cNormalBox;
|
|||
|
}
|
|||
|
pnl = pnlStep3;
|
|||
|
}
|
|||
|
|
|||
|
//foreach (Control control in pnl.Controls)
|
|||
|
//{
|
|||
|
// if (control is UI.CsmLabel)
|
|||
|
// {
|
|||
|
// if (sStep == i.ToString())
|
|||
|
// {
|
|||
|
// control.BackColor = Color.BlueViolet;
|
|||
|
// control.ForeColor = Color.White;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// control.BackColor = Color.White;
|
|||
|
// control.ForeColor = Color.Black;
|
|||
|
// }
|
|||
|
// }
|
|||
|
//}
|
|||
|
}
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 MOT 헤더 로드
|
|||
|
/// </summary>
|
|||
|
/// <param name="iStep"></param>
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
|
|||
|
//기존
|
|||
|
//private void LoadMotPayHdr(string sStep)
|
|||
|
//변경
|
|||
|
private void LoadMotPayHdr(string sStep, string sPosMenuKey)
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
{
|
|||
|
//헤더 로드
|
|||
|
|
|||
|
m_alMotDtl.Clear();
|
|||
|
|
|||
|
int iPage = 1;
|
|||
|
int iSeq = 1;
|
|||
|
|
|||
|
SetMotPayInit();
|
|||
|
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
|
|||
|
//기존
|
|||
|
//DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sStep, "", "");
|
|||
|
//변경
|
|||
|
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sStep, sPosMenuKey, "");
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
if (dt == null || dt.Rows.Count <= 0)
|
|||
|
{
|
|||
|
//SetMotPayInit();
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//배열 담기
|
|||
|
foreach (DataRow dr in dt.Rows)
|
|||
|
{
|
|||
|
|
|||
|
if (iSeq == 6)
|
|||
|
{
|
|||
|
iPage += 1;
|
|||
|
iSeq = 1;
|
|||
|
}
|
|||
|
|
|||
|
// 페이지 번호, 버튼명, 명, 태그 값
|
|||
|
m_alMotDtl.Add(new string[] { iPage.ToString(), string.Format("{0}{1:00}",MotbtnName,iSeq), CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MOT_NM),
|
|||
|
string.Format("{0}^{1}^{2}^{3}",CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MSG_TYPE),CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.CNNT_ID)
|
|||
|
,CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SEQ_NO),CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.IMG_NM))
|
|||
|
});
|
|||
|
|
|||
|
iSeq += 1;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// 보여주기
|
|||
|
iNowPage = 1;
|
|||
|
iMaxPage = iPage;
|
|||
|
|
|||
|
SetBtnMotPay();
|
|||
|
|
|||
|
if (dt.Rows.Count == 1)
|
|||
|
BtnMotPay_Click(BtnMotPay01, null);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 MOT 버튼 셋팅
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public bool SetBtnMotPay()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
SetMotPayInit();
|
|||
|
|
|||
|
if (m_alMotDtl == null || iMaxPage == 0)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
int iStrtNum = 1;
|
|||
|
|
|||
|
foreach (string[] atmp in m_alMotDtl)
|
|||
|
{
|
|||
|
|
|||
|
if (atmp[0] == iNowPage.ToString())
|
|||
|
{
|
|||
|
Cosmos.UI.CsmButton btnCtl = (Cosmos.UI.CsmButton)pnlCardMot.Controls[atmp[1]];
|
|||
|
|
|||
|
if (btnCtl != null)
|
|||
|
{
|
|||
|
|
|||
|
btnCtl.Text = atmp[2];
|
|||
|
btnCtl.Tag = atmp[3];
|
|||
|
}
|
|||
|
}
|
|||
|
iStrtNum += 1;
|
|||
|
}
|
|||
|
|
|||
|
if (iNowPage == 1)
|
|||
|
{
|
|||
|
BtnMotPayUp.Enabled = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
BtnMotPayUp.Enabled = true;
|
|||
|
}
|
|||
|
|
|||
|
if (iMaxPage == iNowPage)
|
|||
|
{
|
|||
|
BtnMotPayDown.Enabled = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
BtnMotPayDown.Enabled = true;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return true;
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 리치박스 MOT 텍스트 설정
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public bool SetRichTbMotMsg(RichTextBox Richtb, string sMsgTp, string sMsgFlag, string sSeqNo)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
Richtb.Text = "";
|
|||
|
|
|||
|
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
|
|||
|
if (dt == null || dt.Rows.Count <= 0)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
int iStrtNum = 0;
|
|||
|
|
|||
|
foreach (DataRow dr in dt.Rows)
|
|||
|
{
|
|||
|
|
|||
|
string tmpStr = string.Empty;
|
|||
|
|
|||
|
tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG);
|
|||
|
|
|||
|
//Richtb.AppendText(tmpStr.Trim());
|
|||
|
//Richtb.Select(iStrtNum, tmpStr.Trim().Length);
|
|||
|
|
|||
|
Richtb.AppendText(tmpStr);
|
|||
|
Richtb.Select(iStrtNum, tmpStr.Length);
|
|||
|
|
|||
|
Richtb.SelectionColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_COLOR)); // 백 컬러
|
|||
|
|
|||
|
int iFontSize = CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE);
|
|||
|
|
|||
|
if (iFontSize <= 0)
|
|||
|
iFontSize = 1;
|
|||
|
|
|||
|
Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, iFontSize);
|
|||
|
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1")
|
|||
|
{
|
|||
|
Richtb.AppendText("\n");
|
|||
|
iStrtNum += 1;
|
|||
|
}
|
|||
|
|
|||
|
//iStrtNum += tmpStr.Trim().Length; // +1;
|
|||
|
iStrtNum += tmpStr.Length; // +1;
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 코스모스 리치박스 MOT 텍스트 설정
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public bool SetCmsRichTbMotMsg(UI.CsmPosRichTextBox Richtb, string sMsgTp, string sMsgFlag, string sSeqNo)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
Richtb.Text = "";
|
|||
|
|
|||
|
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
|
|||
|
if (dt == null || dt.Rows.Count <= 0)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
int iStrtNum = 0;
|
|||
|
|
|||
|
foreach (DataRow dr in dt.Rows)
|
|||
|
{
|
|||
|
|
|||
|
string tmpStr = string.Empty;
|
|||
|
|
|||
|
tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG);
|
|||
|
|
|||
|
//Richtb.AppendText(tmpStr.Trim());
|
|||
|
//Richtb.Select(iStrtNum, tmpStr.Trim().Length);
|
|||
|
Richtb.AppendText(tmpStr);
|
|||
|
Richtb.Select(iStrtNum, tmpStr.Length);
|
|||
|
Richtb.SelectionColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_COLOR)); // 백 컬러
|
|||
|
|
|||
|
|
|||
|
int iFontSize = CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE);
|
|||
|
if (iFontSize <= 0)
|
|||
|
iFontSize = 1;
|
|||
|
|
|||
|
Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, iFontSize);
|
|||
|
|
|||
|
//Richtb.SelectionFont = new Font(m_cPosStatus.Base.FONT, CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE));
|
|||
|
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1")
|
|||
|
{
|
|||
|
Richtb.AppendText("\n");
|
|||
|
iStrtNum += 1;
|
|||
|
}
|
|||
|
|
|||
|
//iStrtNum += tmpStr.Trim().Length; // +1;
|
|||
|
iStrtNum += tmpStr.Length; // +1;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 라벨 mot 텍스트 설정
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public bool SetLabelMotMsg(Label txtControl, string sMsgTp, string sMsgFlag)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
txtControl.Text = "";
|
|||
|
|
|||
|
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, "");
|
|||
|
if (dt == null || dt.Rows.Count <= 0)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
foreach (DataRow dr in dt.Rows)
|
|||
|
{
|
|||
|
|
|||
|
string tmpStr = string.Empty;
|
|||
|
|
|||
|
tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG);
|
|||
|
|
|||
|
txtControl.Text += tmpStr;
|
|||
|
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1")
|
|||
|
{
|
|||
|
txtControl.Text += "\n";
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 MOT 초기화
|
|||
|
/// </summary>
|
|||
|
private void SetMotPayInit()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
foreach (Control control in pnlCardMot.Controls)
|
|||
|
{
|
|||
|
if (control is UI.CsmButton)
|
|||
|
{
|
|||
|
|
|||
|
if (control.Text != "∧" && control.Text != " ∨")
|
|||
|
{
|
|||
|
control.Text = "";
|
|||
|
control.Tag = "";
|
|||
|
control.Visible = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
rtbMotPayTxt.Text = "";
|
|||
|
picMotPayImg.Image = null;
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public bool SetPlayMotMsg(string sMsgTp, string sMsgFlag, string sSeqNo)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
DataTable dtHead = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
|
|||
|
if (dtHead != null && dtHead.Rows.Count > 0)
|
|||
|
{
|
|||
|
// 음성 사용 유무(0:미사용, 1:사용)
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT309) == "2")
|
|||
|
{
|
|||
|
DataRow dr = dtHead.Rows[0];
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "01") // 00(없음), 01(WAVE), 02(TTS)
|
|||
|
{
|
|||
|
string sFilePath = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_NM);
|
|||
|
CmUtil.PlaySound(sFilePath);
|
|||
|
}
|
|||
|
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "02") // 00(없음), 01(WAVE), 02(TTS)
|
|||
|
{
|
|||
|
CmUtil.SpeakByTTSEngine(m_cPosStatus.Base.Country, CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.TTS_DSCRP), 150);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제등록 정보 화면 표시
|
|||
|
/// </summary>
|
|||
|
public void DisplayPayment()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
cFuncPnts.SelectFuncButton("");
|
|||
|
cFuncDcs.SelectFuncButton("");
|
|||
|
cFuncPays.SelectFuncButton("");
|
|||
|
|
|||
|
lstPaymentList.Items.Clear();
|
|||
|
|
|||
|
// 결제 내역 받아 오기
|
|||
|
ArrayList aPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
|
|||
|
|
|||
|
for (int iRow = 0; iRow < aPayItem.Count; iRow++)
|
|||
|
{
|
|||
|
Column.TR_PAYMENT.DATA cItem = (Column.TR_PAYMENT.DATA)aPayItem[iRow];
|
|||
|
// 결제내역 리스트 표시
|
|||
|
|
|||
|
// 취소내역 표시 제외
|
|||
|
if (cItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
|
|||
|
|
|||
|
//if (cItem.BILLSPR_NO != m_cTrnStatus.Sale.BillSplitNo) continue;
|
|||
|
|
|||
|
|
|||
|
ListViewItem lvData = new ListViewItem(iRow.ToString());
|
|||
|
|
|||
|
lvData.SubItems.Add(cItem.OCCUR_ENTRY_20);
|
|||
|
|
|||
|
//// 결제수단 화면표시 여부
|
|||
|
//if (cItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.PAY)
|
|||
|
//{
|
|||
|
// //lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.PAY_AMT));
|
|||
|
// lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.AMT_ENTRY_01));
|
|||
|
//}
|
|||
|
lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(cItem.AMT_ENTRY_01) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName);
|
|||
|
|
|||
|
lstPaymentList.Items.Add(lvData);
|
|||
|
|
|||
|
// 결제 기능버튼 선택 처리
|
|||
|
string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cItem.PAY_WAY_CD, cItem.PAY_DTL_CD_01);
|
|||
|
if (sMenuKey != "")
|
|||
|
{
|
|||
|
cFuncPnts.SelectDispButton(sMenuKey, 0);
|
|||
|
cFuncDcs.SelectDispButton(sMenuKey, 0);
|
|||
|
cFuncPays.SelectDispButton(sMenuKey, 0);
|
|||
|
|
|||
|
// 제휴카드(통합) 할인 처리(2017.08.29) -- START
|
|||
|
if (sMenuKey == PosKey.MENU_KEY.SKT || sMenuKey == PosKey.MENU_KEY.KT || sMenuKey == PosKey.MENU_KEY.LGT
|
|||
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|||
|
|| sMenuKey == PosKey.MENU_KEY.WELCOMECARD_DC
|
|||
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|||
|
|| sMenuKey == PosKey.MENU_KEY.OLIBANK || sMenuKey == PosKey.MENU_KEY.BLUE_MEMBERS || sMenuKey == PosKey.MENU_KEY.RED_MEMBERS)
|
|||
|
{
|
|||
|
cFuncPnts.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0);
|
|||
|
cFuncDcs.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0);
|
|||
|
cFuncPays.SelectDispButton(PosKey.MENU_KEY.MOBILE_UNITY, 0);
|
|||
|
}
|
|||
|
// 제휴카드(통합) 할인 처리(2017.08.29) -- END
|
|||
|
}
|
|||
|
}
|
|||
|
if (lstPaymentList.Items.Count > 0)
|
|||
|
{
|
|||
|
lstPaymentList.Visible = true;
|
|||
|
lstPaymentList.Items[lstPaymentList.Items.Count - 1].EnsureVisible();
|
|||
|
}
|
|||
|
|
|||
|
// 해피포인트 등록 내역
|
|||
|
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|||
|
//기존
|
|||
|
//lblHappyPoint.Visible = false;
|
|||
|
//변경
|
|||
|
lblHappyPoint.Visible = true;
|
|||
|
lblHappyPoint.Text = "";
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|||
|
|
|||
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|||
|
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
|
|||
|
{
|
|||
|
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|||
|
|
|||
|
if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|
|||
|
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA))
|
|||
|
{
|
|||
|
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
|
|||
|
/*
|
|||
|
//*****************************************************************************
|
|||
|
//5%기본대상금액계산
|
|||
|
//*****************************************************************************
|
|||
|
// 해피포인트 기본적립 대상 금액 획득
|
|||
|
m_cTrnStatus.Head.AftSavePoint = cEtcItem.AMT_ENTRY_08 = m_cDataService.GetPluTagetAmount(PosKey.MENU_KEY.HAPPY_POINT);
|
|||
|
// 캠페인(해피포인트 적립) 설정 처리
|
|||
|
ICampaignUs CampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|||
|
CampaingMain.ExecuteCampaignHappyPointSave(PosConst.CAMPAIGN_PAY_KEY.HP_SAVE, null);
|
|||
|
// 적립예정포인트
|
|||
|
cEtcItem.ETC_AMT = (long)CmUtil.MathRounds(CmUtil.MathAmtPercent(cEtcItem.AMT_ENTRY_08, m_cPosStatus.Mst.HpyPntAccumRate), PosConst.MATH_ROUND.CEILING, 0);
|
|||
|
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
|
|||
|
{
|
|||
|
if (m_cTrnStatus.Head.AftSaveAddInfo.Substring(25).StartsWith("N") == true) cEtcItem.ETC_AMT = 0;
|
|||
|
}
|
|||
|
*/
|
|||
|
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
|
|||
|
|
|||
|
//if (cEtcItem.HP_CUST_NAME.Length > 2)
|
|||
|
// lblHappyPoint.Text = " [ " + cEtcItem.HP_CUST_NAME.Substring(0, 1) + "*" + cEtcItem.HP_CUST_NAME.Substring(2) + " ]" + "\n\r";
|
|||
|
//else
|
|||
|
|
|||
|
|
|||
|
//#20180821 해피포인트 고객이름 마스킹 start
|
|||
|
if (cEtcItem.HP_CUST_NAME != "") { cEtcItem.HP_CUST_NAME = m_cDataCommon.NameMasking(cEtcItem.HP_CUST_NAME); }
|
|||
|
//#20180821 해피포인트 고객이름 마스킹 end
|
|||
|
|
|||
|
lblHappyPoint.Text = " [ " + cEtcItem.HP_CUST_NAME + " ]" + "\n\r";
|
|||
|
|
|||
|
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0228) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_03) + "\n\r"; // 누적포인트
|
|||
|
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0229) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04) + "\n\r"; // 가용포인트
|
|||
|
if (cEtcItem.HP_EXT_POINT > 0)
|
|||
|
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0164) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.HP_EXT_POINT) + "\n\r"; // 소멸예정
|
|||
|
|
|||
|
|
|||
|
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
|
|||
|
//기존
|
|||
|
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_08) + "\n\r"; // 대상금액
|
|||
|
//변경
|
|||
|
/*
|
|||
|
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
|
|||
|
{
|
|||
|
double dAddSavePnt = 0;
|
|||
|
dAddSavePnt = m_cDataService.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.Substring(10, 15)); //추가적립대상금액
|
|||
|
dAddSavePnt = cEtcItem.AMT_ENTRY_08 + dAddSavePnt; //기본적립금액 + 추가적립대상금액
|
|||
|
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(dAddSavePnt) + "\n\r"; // 대상금액
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0098) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_08) + "\n\r"; // 대상금액
|
|||
|
}
|
|||
|
*/
|
|||
|
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
|
|||
|
|
|||
|
// 적립예정포인트에 추가적립예정포인트도 합산하여 표시(2017.06.19)
|
|||
|
double nAddSavePnt = 0;
|
|||
|
if (m_cTrnStatus.Head.AftSaveAddInfo != "")
|
|||
|
{
|
|||
|
nAddSavePnt = m_cDataService.DoubleParse(m_cTrnStatus.Head.AftSaveAddInfo.Substring(28, 7));
|
|||
|
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
|
|||
|
//cEtcItem.ETC_AMT = nAddSavePnt;
|
|||
|
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 start, phj
|
|||
|
//기존
|
|||
|
//1000원 미만일 경우 적립예정 포인트 미표시(2017.09.08)
|
|||
|
if (cEtcItem.AMT_ENTRY_08 >= 1000)
|
|||
|
//변경
|
|||
|
//if (cEtcItem.AMT_ENTRY_08 >= 1000 || cEtcItem.AMT_ENTRY_08 == 0)
|
|||
|
//#13173 PB 부산수안_해피쿠폰 할인 후 대상금액 '0'원으로 표시되는 증상 end, phj
|
|||
|
{
|
|||
|
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0613) + ": " + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(cEtcItem.ETC_AMT, nAddSavePnt)) + "\n\r"; // 적립예정
|
|||
|
}
|
|||
|
|
|||
|
//lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0613) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.ETC_AMT) + "\n\r"; // 적립예정
|
|||
|
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0013) + ": " +
|
|||
|
(cEtcItem.HP_PASSWORD_YN == "Y" ? MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0629) : MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0861)) + "\n\r"; // 비밀번호
|
|||
|
lblHappyPoint.Visible = true;
|
|||
|
|
|||
|
// 결제 기능버튼 선택 처리
|
|||
|
string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01);
|
|||
|
if (sMenuKey != "") cFuncPnts.SelectDispButton(sMenuKey, 0);
|
|||
|
|
|||
|
break;
|
|||
|
}
|
|||
|
else if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)
|
|||
|
{
|
|||
|
string sName = cEtcItem.OCCUR_ENTRY_20.Trim();
|
|||
|
lblHappyPoint.Text = " [ " + sName + " ]" + "\n\r";
|
|||
|
//lblHappyPoint.Text = " [ OKCASHBACK ]" + "\n\r";
|
|||
|
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0228) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_03) + "\n\r"; // 누적포인트
|
|||
|
lblHappyPoint.Text += MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0229) + ": " + m_cPosStatus.Global.NumericTOCurrency(cEtcItem.AMT_ENTRY_04) + "\n\r"; // 가용포인트
|
|||
|
lblHappyPoint.Visible = true;
|
|||
|
|
|||
|
// 결제 기능버튼 선택 처리
|
|||
|
string sMenuKey = m_cDataCommon.GetPayCdToMenuKey(cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01);
|
|||
|
if (sMenuKey != "") cFuncPnts.SelectDispButton(sMenuKey, 0);
|
|||
|
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//#20170828 해피포인트 적립 제외 버튼 추가 phj, start
|
|||
|
if (m_cTrnStatus.Head.HP_EXCLUDE_YN == "1")
|
|||
|
{
|
|||
|
// 해피포인트 적립제외를 선택 시 해당 컴포넌트 선택 상태로 변경
|
|||
|
cFuncPnts.SelectDispButton(PosKey.MENU_KEY.HAPPY_SAVE_EXCLUDE, 0);
|
|||
|
}
|
|||
|
//#20170828 해피포인트 적립 제외 버튼 추가 phj, end
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR)
|
|||
|
{
|
|||
|
// 총수량, 총매출액
|
|||
|
txtPayQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " "
|
|||
|
+ m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
|
|||
|
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
// 총 할인 금액
|
|||
|
txtPayDiscountAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
|
|||
|
{
|
|||
|
txtPayVatSvc.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0))
|
|||
|
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName + "/ "
|
|||
|
+ m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
}
|
|||
|
|
|||
|
if (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.ChangeCashAmt > 0)
|
|||
|
{
|
|||
|
//결제 거스름
|
|||
|
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
|
|||
|
//결제 받은 금액
|
|||
|
txtPayRecvAmt.Text = m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt))
|
|||
|
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
//결제 거스름 금액
|
|||
|
txtPayNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt) + m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0037);
|
|||
|
//받은금액 표시
|
|||
|
txtPayRecvAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RecvedPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
|
|||
|
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
// 순매출액 표시 처리
|
|||
|
txtPayNetSaleAmt.Text = m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RemainPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1))
|
|||
|
+ m_cPosStatus.Global.m_stCultureMaster.strCurrencyName;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 총수량, 총매출액
|
|||
|
txtPayQtySaleAmt.Text = m_cPosStatus.Global.NumericToQuantity(m_cTrnStatus.Head.TotQty) + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0998) + " " +
|
|||
|
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
|
|||
|
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotSaleAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
|
|||
|
// 총 할인 금액
|
|||
|
//txtPayDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
|
|||
|
// m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? -1 : 1));
|
|||
|
txtPayDiscountAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotDcAmt);
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED)
|
|||
|
{
|
|||
|
txtPayVatSvc.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Head.SvcFeeAmt, m_cPosStatus.Mst.TaxAmtIncludeYn == ItemConst.TAX_AMT_INCLUDE_YN.NOT_INCLUDED ? m_cTrnStatus.Head.SvcFeeVat : 0)) + "/ " +
|
|||
|
m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Head.TotVatAmt);
|
|||
|
}
|
|||
|
|
|||
|
if (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.ChangeCashAmt > 0)
|
|||
|
{
|
|||
|
//결제 거스름
|
|||
|
//lblPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + " " + MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
|
|||
|
lblPayNetSaleAmt.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0212);
|
|||
|
//결제 받은 금액
|
|||
|
txtPayRecvAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(CmUtil.DoubleAdd(m_cTrnStatus.Sale.RecvedPayAmt, m_cPosStatus.Sale.ChangeCashAmt));
|
|||
|
//결제 거스름 금액
|
|||
|
txtPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol + m_cPosStatus.Global.NumericTOCurrency(m_cPosStatus.Sale.ChangeCashAmt);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//받은금액 표시
|
|||
|
txtPayRecvAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
|
|||
|
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RecvedPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
|
|||
|
// 순매출액 표시 처리
|
|||
|
txtPayNetSaleAmt.Text = m_cPosStatus.Global.m_stCultureMaster.strCurrencySymbol +
|
|||
|
m_cPosStatus.Global.NumericTOCurrency(m_cTrnStatus.Sale.RemainPayAmt * (m_cTrnStatus.Head.TradeDiv == ItemConst.TRAN_DIV.NORMAL ? 1 : -1));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if ((m_cTrnStatus.Sale.RemainPayAmt == 0 && PosMstManager.GetPosOption(POS_OPTION.OPT322) == "1")
|
|||
|
|| (m_cTrnStatus.Sale.RemainPayAmt == 0 && m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.PAY_DOING))
|
|||
|
{
|
|||
|
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0135);
|
|||
|
BtnPayMain.BackColor = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
|
|||
|
if (BtnPayMain.ForeColor != Color.White) BtnPayMain.ForeColor = BtnPayMain.BackColor;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
BtnPayMain.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0045);
|
|||
|
BtnPayMain.BackColor = Color.FromArgb(74, 97, 118);
|
|||
|
}
|
|||
|
m_cCustDisp.DisplaySaleItemList(false, true, 0); // 고객화면 표시
|
|||
|
|
|||
|
// 캠페인 적용 내역 표시
|
|||
|
lstCampaignList.Items.Clear();
|
|||
|
ICampaignUs cCampaingMain = (ICampaignUs)sManager.InitServiceInstance(ServiceLists.ASV_CAMPAIGN.DLL, ServiceLists.ASV_CAMPAIGN.CAMPAIGN_MAIN);
|
|||
|
ArrayList alPluItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
foreach (Column.TR_PLU.DATA cPluItem in alPluItem)
|
|||
|
{
|
|||
|
if (cPluItem.CANCEL_DIV == "1" || cPluItem.CANCEL_DIV_MAIN == "1") continue;
|
|||
|
|
|||
|
//string sCampaingName = "";
|
|||
|
if (cPluItem.CPI_DC_AMT > 0 && cPluItem.alTrSaleCpi != null)
|
|||
|
{
|
|||
|
foreach (Column.TR_SALE_CPI_RSLT.DATA cTrPluCpi in cPluItem.alTrSaleCpi)
|
|||
|
{
|
|||
|
if (cTrPluCpi.DC_SUM_AMT > 0)
|
|||
|
{
|
|||
|
string sCampaingName = cCampaingMain.GetCampaignName(cTrPluCpi.CPI_CD, 0);
|
|||
|
if (sCampaingName == "") continue;
|
|||
|
|
|||
|
bool bExistCampaign = false;
|
|||
|
for (int i = 0; i < lstCampaignList.Items.Count; i++)
|
|||
|
{
|
|||
|
if (sCampaingName == lstCampaignList.Items[i].SubItems[1].Text)
|
|||
|
{
|
|||
|
bExistCampaign = true;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
if (bExistCampaign == false)
|
|||
|
{
|
|||
|
ListViewItem lvData = new ListViewItem(lstCampaignList.Items.Count.ToString());
|
|||
|
lvData.SubItems.Add(sCampaingName);
|
|||
|
//lvData.SubItems.Add(m_cPosStatus.Global.NumericTOCurrency(0));
|
|||
|
lstCampaignList.Items.Add(lvData);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
if ( lstCampaignList.Items.Count > 0)
|
|||
|
{
|
|||
|
lblCampaignList.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0400);
|
|||
|
lblCampaignList.Visible = true;
|
|||
|
lstCampaignList.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblCampaignList.Visible = false;
|
|||
|
lstCampaignList.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
//#16577 결제창 내부 봉투 추가 기능 도입 start
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT555) == "1")
|
|||
|
{
|
|||
|
//캠페인 정보 미표시
|
|||
|
lblCampaignList.Visible = false;
|
|||
|
lstCampaignList.Visible = false;
|
|||
|
PnlAddBag.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
PnlAddBag.Visible = false;
|
|||
|
}
|
|||
|
//#16577 결제창 내부 봉투 추가 기능 도입 end
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 취소
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void BtnCanc_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
string sRet;
|
|||
|
string sCardInfo = "", sPassWord = "";
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
|
|||
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|||
|
|
|||
|
//#Rhee, 20180221 미주 상품 결제취소시 메인화면으로 가기 추가 Start
|
|||
|
if(m_cPosStatus.Base.CmpCd.ToUpper().Equals(PosConst.POS_COMPANY_CODE.PCUS))
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.SaleFlow = PosConst.SALE_FLOW.PAY_WAIT;
|
|||
|
}
|
|||
|
//#Rhee, 20180221 미주 상품 결제취소시 메인화면으로 가기 추가 End
|
|||
|
|
|||
|
int iListIndex = 0;
|
|||
|
if (lstPaymentList.Items.Count > 0)
|
|||
|
{
|
|||
|
#region
|
|||
|
// 미선택 null 예외처리
|
|||
|
if (lstPaymentList.FocusedItem == null) lstPaymentList.Items[lstPaymentList.Items.Count - 1].Focused = true;
|
|||
|
|
|||
|
iListIndex = lstPaymentList.FocusedItem.Index;
|
|||
|
int iRow = CmUtil.IntParse(lstPaymentList.Items[iListIndex].SubItems[0].Text);
|
|||
|
|
|||
|
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
|
|||
|
|
|||
|
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return;
|
|||
|
|
|||
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CPI_PAY_ITEM)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0622);
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
// SKT할인 인 경우, T페이 통합결제 여부 확인 후 T페이 통합결제 ITEM으로 취소 처리
|
|||
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT
|
|||
|
&& string.IsNullOrWhiteSpace(cPayItem.OCCUR_ENTRY_15) == false)
|
|||
|
{
|
|||
|
#region
|
|||
|
string[] aRet = new string[1];
|
|||
|
IPaymentUs cTPayService = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.TPAY);
|
|||
|
sRet = cTPayService.SearchPayment(new string[] { PosConst.TPAY_SEARCH_TYPE.TPAY_ITEM, cPayItem.OCCUR_ENTRY_15 }, ref aRet);
|
|||
|
if (sRet == UserCom.RST_OK)
|
|||
|
{
|
|||
|
iRow = CmUtil.IntParse(aRet[0]);
|
|||
|
cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
//Cat단말기 승인이면 처리! 또는 X-CHARGE
|
|||
|
if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.CAT_TERMINAL || cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.X_CHARGE)
|
|||
|
{
|
|||
|
sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString(), "" });
|
|||
|
}
|
|||
|
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 Start, srlee
|
|||
|
//else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM && cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
|
|||
|
else if (((cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM)
|
|||
|
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HPGIFT_CARD))
|
|||
|
&& cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
|
|||
|
//#20171018, 해피기프트(코나머니) 결제코드(신용->선불) 변경 End, srlee
|
|||
|
{
|
|||
|
#region
|
|||
|
// 카드 입력 받기!
|
|||
|
sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" });
|
|||
|
if (sCardInfo == "") return;
|
|||
|
|
|||
|
sPassWord = sCardInfo.Substring(0, 20).Trim();
|
|||
|
sCardInfo = sCardInfo.Substring(20);
|
|||
|
if (CmUtil.MidH(sCardInfo, 0, 2) == "00")
|
|||
|
{
|
|||
|
cPayItem.CanFiller1 = sCardInfo;
|
|||
|
|
|||
|
sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString(), sCardInfo });
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
#region
|
|||
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY)
|
|||
|
{
|
|||
|
#region
|
|||
|
// 카드 입력 받기!
|
|||
|
sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "Y" });
|
|||
|
if (sCardInfo == "") return;
|
|||
|
|
|||
|
sPassWord = sCardInfo.Substring(0, 20).Trim();
|
|||
|
sCardInfo = sCardInfo.Substring(20);
|
|||
|
// T페이
|
|||
|
cPayItem.CanFiller2 = sPassWord; // 비밀번호
|
|||
|
cPayItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1); // 입력구분
|
|||
|
cPayItem.CanFiller1 = sCardInfo.Substring(1); // 카드번호
|
|||
|
#endregion
|
|||
|
}
|
|||
|
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- START
|
|||
|
else if ((cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY) // 스마일페이
|
|||
|
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY) // T페이
|
|||
|
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.OKCASHBACK_POINT) // 캐시백
|
|||
|
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.SAMSUNG_POINT) // 삼성포인트
|
|||
|
|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT) // 해피기프트
|
|||
|
//|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC_PAY)
|
|||
|
//|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
|
|||
|
)
|
|||
|
{
|
|||
|
#region
|
|||
|
// OLD
|
|||
|
//else if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT // 제휴할인(통신사,제휴카드)
|
|||
|
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.SMILE_PAY) // 스마일페이
|
|||
|
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PAY_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAY.T_PAY) // T페이
|
|||
|
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.OKCASHBACK_POINT) // 캐시백
|
|||
|
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.POINT_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.SAMSUNG_POINT) // 삼성포인트
|
|||
|
// || (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.PPCARD_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT) // 해피기프트
|
|||
|
// //|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC_PAY)
|
|||
|
// //|| (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.EMP_DC_ITEM && cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
|
|||
|
// )
|
|||
|
//{
|
|||
|
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- END
|
|||
|
|
|||
|
|
|||
|
// 카드 입력 받기!
|
|||
|
sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" });
|
|||
|
if (sCardInfo == "") return;
|
|||
|
|
|||
|
sPassWord = sCardInfo.Substring(0, 20).Trim();
|
|||
|
sCardInfo = sCardInfo.Substring(20);
|
|||
|
|
|||
|
cPayItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1);
|
|||
|
cPayItem.CanFiller1 = sCardInfo.Substring(1);
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
sRet = m_cPayCancel.CancelPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.PAY_DTL_CD_01, iRow.ToString() });
|
|||
|
|
|||
|
//=============================================
|
|||
|
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
|
|||
|
//=============================================
|
|||
|
#region (2017.11.01) 해피포인트 제휴할인 선리딩 처리
|
|||
|
if (m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "")
|
|||
|
{
|
|||
|
if (cPayItem.PAY_WAY_CD == "03")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strMobileUnityCardNo = "";
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[0] == "SKT" || m_cPosStatus.Sale.strPriorReading_Title[0] == "KT" ||
|
|||
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[0] == "MC" ||
|
|||
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[0] == "LGT")
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[1] != "")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[0] = m_cPosStatus.Sale.strPriorReading_Title[1];
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[1] = "";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[0] = "";
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[1] = "";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
for (int iRow = 0; iRow < alEtcItem.Count; iRow++)
|
|||
|
{
|
|||
|
#region
|
|||
|
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[iRow];
|
|||
|
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|||
|
|
|||
|
if (cEtcItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.CAT_TERMINAL)
|
|||
|
{
|
|||
|
sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString(), "" });
|
|||
|
}
|
|||
|
else if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|
|||
|
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA)
|
|||
|
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE))
|
|||
|
{
|
|||
|
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- START
|
|||
|
//if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)
|
|||
|
//{
|
|||
|
// // 카드 입력 받기!
|
|||
|
// sCardInfo = m_cPayCancel.SetPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.OCCUR_ENTRY_01, cEtcItem.ETC_AMT.ToString(), cEtcItem.OCCUR_ENTRY_20, cEtcItem.OCCUR_ENTRY_05, cEtcItem.ETC_DTL_CD_01, "N" });
|
|||
|
// if (sCardInfo == "") return;
|
|||
|
|
|||
|
// sPassWord = sCardInfo.Substring(0, 20).Trim();
|
|||
|
// sCardInfo = sCardInfo.Substring(20);
|
|||
|
|
|||
|
// cEtcItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1);
|
|||
|
// cEtcItem.CanFiller1 = sCardInfo.Substring(1);
|
|||
|
//}
|
|||
|
// 제휴카드번호 저장 후 직전취소시 사용(2017.08.28) -- END
|
|||
|
sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString() });
|
|||
|
|
|||
|
//=============================================
|
|||
|
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
|
|||
|
//=============================================
|
|||
|
#region (2017.11.01) 해피포인트 제휴할인 선리딩 처리
|
|||
|
if (m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "")
|
|||
|
{
|
|||
|
if (cEtcItem.ETC_WAY_CD == "80")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strHappyPointCardNo = "";
|
|||
|
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
|
|||
|
m_cPosStatus.Sale.strEmpInfo = "";
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[0] == "HPC")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[0] = "";
|
|||
|
}
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[1] == "HPC")
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title[1] = "";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
DisplayItem(0, false);
|
|||
|
DisplayPayment();
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
//여전법 대응!
|
|||
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
CmUtil.ZeroFillClear(ref sCardInfo);
|
|||
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
private void lblHappyPoint_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
string sRet;
|
|||
|
string sCardInfo = "", sPassWord = "";
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
|
|||
|
|
|||
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|||
|
|
|||
|
for (int iRow = 0; iRow < alEtcItem.Count; iRow++)
|
|||
|
{
|
|||
|
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[iRow];
|
|||
|
if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|||
|
|
|||
|
if ((cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|
|||
|
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.POINT_SAVE_CHINA)
|
|||
|
|| (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE))
|
|||
|
{
|
|||
|
if (WinManager.QuestionMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0406)) == true)
|
|||
|
{
|
|||
|
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.OCB_SAVE)
|
|||
|
{
|
|||
|
if (cEtcItem.OCCUR_ENTRY_08 != ItemConst.PAY_APP_DIV.CAT_TERMINAL)
|
|||
|
{
|
|||
|
// 카드 입력 받기!
|
|||
|
sCardInfo = m_cPayCancel.SetPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.OCCUR_ENTRY_01, cEtcItem.ETC_AMT.ToString(), cEtcItem.OCCUR_ENTRY_20, cEtcItem.OCCUR_ENTRY_05, cEtcItem.ETC_DTL_CD_01, "N" });
|
|||
|
if (sCardInfo == "") return;
|
|||
|
|
|||
|
sPassWord = sCardInfo.Substring(0, 20).Trim();
|
|||
|
sCardInfo = sCardInfo.Substring(20);
|
|||
|
|
|||
|
cEtcItem.OCCUR_ENTRY_05 = sCardInfo.Substring(0, 1);
|
|||
|
cEtcItem.CanFiller1 = sCardInfo.Substring(1);
|
|||
|
}
|
|||
|
}
|
|||
|
sRet = m_cPayCancel.CancelPayment(new string[] { cEtcItem.ETC_WAY_CD, cEtcItem.ETC_DTL_CD_01, iRow.ToString() });
|
|||
|
|
|||
|
DisplayItem(0, false);
|
|||
|
DisplayPayment();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
//여전법 대응!
|
|||
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
CmUtil.ZeroFillClear(ref sCardInfo);
|
|||
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 결제 수단 반품 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="iRow"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public string ReturnPay(int iRow)
|
|||
|
{
|
|||
|
string sPassWord = "";
|
|||
|
string sRet = UserCom.RST_ERR;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
|
|||
|
|
|||
|
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
|
|||
|
|
|||
|
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return sRet;
|
|||
|
|
|||
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.CREDITCARD_ITEM)
|
|||
|
{
|
|||
|
if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
|
|||
|
{
|
|||
|
// 카드 입력 받기!
|
|||
|
string sCardInfo = m_cPayCancel.SetPayment(new string[] { cPayItem.PAY_WAY_CD, cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20, cPayItem.OCCUR_ENTRY_05, cPayItem.PAY_DTL_CD_01, "N" });
|
|||
|
if (sCardInfo == "") return sRet;
|
|||
|
|
|||
|
sPassWord = sCardInfo.Substring(0, 20).Trim();
|
|||
|
sCardInfo = sCardInfo.Substring(20);
|
|||
|
if (CmUtil.MidH(sCardInfo, 0, 2) == "00")
|
|||
|
{
|
|||
|
cPayItem.CanFiller1 = sCardInfo;
|
|||
|
sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString(), sCardInfo });
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sRet = m_cPayCancel.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
return sRet;
|
|||
|
|
|||
|
}
|
|||
|
///// <summary>
|
|||
|
///// 결제 취소
|
|||
|
///// </summary>
|
|||
|
///// <param name="sender"></param>
|
|||
|
///// <param name="e"></param>
|
|||
|
//private void BtnCanc_Click(object sender, EventArgs e)
|
|||
|
//{
|
|||
|
// string sRet;
|
|||
|
// try
|
|||
|
// {
|
|||
|
// m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
|
|||
|
// int iListIndex = 0;
|
|||
|
|
|||
|
// if (lstPaymentList.Items.Count > 0)
|
|||
|
// {
|
|||
|
// // 미선택 null 예외처리
|
|||
|
// if (lstPaymentList.FocusedItem == null) lstPaymentList.Items[lstPaymentList.Items.Count - 1].Focused = true;
|
|||
|
|
|||
|
// iListIndex = lstPaymentList.FocusedItem.Index;
|
|||
|
// int iRow = CmUtil.IntParse(lstPaymentList.Items[iListIndex].SubItems[0].Text);
|
|||
|
|
|||
|
// ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
|
|||
|
|
|||
|
// Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
|
|||
|
|
|||
|
// if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return;
|
|||
|
|
|||
|
// // 결제 수단 취소
|
|||
|
// //m_cPayCanCom.CancelPayment(new string[] { clPayItem.PAY_WAY_CD, clPayItem.PAY_DTL_CD_01, iRow.ToString() });
|
|||
|
|
|||
|
|
|||
|
// switch (cPayItem.PAY_WAY_CD)
|
|||
|
// {
|
|||
|
|
|||
|
// case ItemConst.TR_ITEM_ID.CREDITCARD_ITEM:
|
|||
|
// {
|
|||
|
|
|||
|
// IPaymentUs m_cPayCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CREDITCARD);
|
|||
|
|
|||
|
// if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
|
|||
|
// {
|
|||
|
// //카드 입력 받기!
|
|||
|
|
|||
|
// string sCardInfo = WinPay.ShowForm(new string[] { FormManager.FORM_INPUT_CARD, "", cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20 });
|
|||
|
|
|||
|
// if(CmUtil.MidH(sCardInfo,0,2) == "00")
|
|||
|
// {
|
|||
|
// sRet = m_cPayCard.CancelPayment(new string[] { iRow.ToString(), sCardInfo });
|
|||
|
// }
|
|||
|
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// sRet = m_cPayCard.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.MOBILE_COM_POINT: //제휴 통신사 할인 취소
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KTF || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_LGT)
|
|||
|
// {
|
|||
|
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMOBILECOM);
|
|||
|
// sRet = cMobileComPoint.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// IPaymentUs cMemberPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMEMBERUSE);
|
|||
|
|
|||
|
// sRet = cMemberPointUse.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.CASH_ITEM:
|
|||
|
// {
|
|||
|
|
|||
|
// IPaymentUs m_cPayCash = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CASH);
|
|||
|
|
|||
|
// sRet = m_cPayCash.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.COUPON_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.COUPON.INCARD)
|
|||
|
// {
|
|||
|
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYCOUPON);
|
|||
|
// sRet = cMobileComPoint.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// IPaymentUs m_cCouponDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.COUPONDC);
|
|||
|
|
|||
|
// sRet = m_cCouponDC.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.MOBILECON_ITEM:
|
|||
|
// {
|
|||
|
// IPaymentUs m_cMobileCoupon= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MOBILECOUPON);
|
|||
|
|
|||
|
// sRet = m_cMobileCoupon.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.EMP_DC_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SEVERANCE)
|
|||
|
// {
|
|||
|
// IPaymentUs m_cSeveranceDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC);
|
|||
|
|
|||
|
// sRet = m_cSeveranceDC.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
|
|||
|
// {
|
|||
|
// IPaymentUs m_cSPCEmployeeDC= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEDC);
|
|||
|
|
|||
|
// sRet = m_cSPCEmployeeDC.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SAMSUNGCARD)
|
|||
|
// {
|
|||
|
// WinManager.ConfirmMessage("카드 결제 내역을 취소 하세요.");
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.POINT_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT)
|
|||
|
// {
|
|||
|
// IPaymentUs cHappyPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINTUSE);
|
|||
|
// sRet = cHappyPointUse.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.USER_DC_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.USER_DC.IN_EMP_DC)
|
|||
|
// {
|
|||
|
// // 입점건물직원할인 취소
|
|||
|
// IPaymentUs ciNStorDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.iNStorDC);
|
|||
|
// sRet = ciNStorDC.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.PAYETC_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
|
|||
|
// {
|
|||
|
// // 식권취소
|
|||
|
// IPaymentUs cMealTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MEALTICKET);
|
|||
|
// sRet = cMealTicket.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER)
|
|||
|
// {
|
|||
|
// // 잔액교환권 취소
|
|||
|
// IPaymentUs cExchangeTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.EXCHANGETICKET);
|
|||
|
// sRet = cExchangeTicket.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.GIFT_ITEM :
|
|||
|
// {
|
|||
|
// // 상품권 취소
|
|||
|
// IPaymentUs cGift= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.GIFT);
|
|||
|
// sRet = cGift.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.CREDIT_ITEM:
|
|||
|
// {
|
|||
|
// // 외상 취소
|
|||
|
// IPaymentUs cSaleOnCustomer = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SALEONCUSTOMER);
|
|||
|
// sRet = cSaleOnCustomer.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.FOREIGNEX_ITEM:
|
|||
|
// {
|
|||
|
// // 외화 취소
|
|||
|
// IPaymentUs cForeign = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.FOREIGN);
|
|||
|
// sRet = cForeign.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.PPCARD_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.PP_CARD)
|
|||
|
// {
|
|||
|
// // 선불카드 취소
|
|||
|
// IPaymentUs cPrepaidCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.PREPAIDCARD);
|
|||
|
// sRet = cPrepaidCard.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PPCARD.HP_GIFT)
|
|||
|
// {
|
|||
|
// // 해피 기프트 사용 취소
|
|||
|
// IPaymentUs cHappyGiftUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.HAPPYGIFTUSE);
|
|||
|
// sRet = cHappyGiftUse.CancelPayment(new string[] { iRow.ToString(), "1" });
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.EMP_PAY_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.SPC)
|
|||
|
// {
|
|||
|
// // SPC 임직원 결제 취소
|
|||
|
// IPaymentUs cSPCEmployeeUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEUSE);
|
|||
|
// sRet = cSPCEmployeeUse.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.SEVERANCE)
|
|||
|
// {
|
|||
|
// // 세브란스 직원 결제 취소
|
|||
|
// IPaymentUs cSeverancePay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC);
|
|||
|
// sRet = cSeverancePay.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_PAY.OURHOME)
|
|||
|
// {
|
|||
|
// // 아워홈 직원 결제 취소
|
|||
|
// IPaymentUs cOurHome= (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.OURHOME);
|
|||
|
// sRet = cOurHome.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.PAY_ITEM:
|
|||
|
// {
|
|||
|
// // 알리페이 취소
|
|||
|
// IPaymentUs cAlipay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.ALIPAY );
|
|||
|
// sRet = cAlipay.CancelPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// default:
|
|||
|
// {
|
|||
|
// break;
|
|||
|
// }
|
|||
|
|
|||
|
// }
|
|||
|
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM);
|
|||
|
|
|||
|
// for (int nRow = 0; nRow < alEtcItem.Count; nRow++ )
|
|||
|
// {
|
|||
|
// Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)alEtcItem[nRow];
|
|||
|
// if (cEtcItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|||
|
|
|||
|
// if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.SAVEPOINT)
|
|||
|
// {
|
|||
|
// // 해피포인트 적립 취소
|
|||
|
// IPaymentUs cHappyPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT);
|
|||
|
// sRet = cHappyPoint.CancelPayment(new string[] { nRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
|
|||
|
// DisplayPayment();
|
|||
|
|
|||
|
// m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
// }
|
|||
|
// catch (Exception ex)
|
|||
|
// {
|
|||
|
|
|||
|
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
// }
|
|||
|
//}
|
|||
|
|
|||
|
///// <summary>
|
|||
|
///// 결제 수단 반품 처리
|
|||
|
///// </summary>
|
|||
|
///// <param name="iRow"></param>
|
|||
|
///// <returns></returns>
|
|||
|
//public string ReturnPay(int iRow)
|
|||
|
//{
|
|||
|
// string sRet = UserCom.RST_ERR;
|
|||
|
|
|||
|
// try
|
|||
|
// {
|
|||
|
// ArrayList alPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
|
|||
|
|
|||
|
// Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPayItem[iRow];
|
|||
|
|
|||
|
// if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) return sRet;
|
|||
|
|
|||
|
// switch (cPayItem.PAY_WAY_CD)
|
|||
|
// {
|
|||
|
|
|||
|
// case ItemConst.TR_ITEM_ID.CREDITCARD_ITEM:
|
|||
|
// {
|
|||
|
// IPaymentUs m_cPayCard = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CREDITCARD);
|
|||
|
|
|||
|
// if (cPayItem.OCCUR_ENTRY_08 == ItemConst.PAY_APP_DIV.NORMAL)
|
|||
|
// {
|
|||
|
// //카드 입력 받기!
|
|||
|
// string sCardInfo = WinPay.ShowForm(new string[] { FormManager.FORM_INPUT_CARD, "", cPayItem.OCCUR_ENTRY_01, cPayItem.PAY_AMT.ToString(), cPayItem.OCCUR_ENTRY_20 });
|
|||
|
|
|||
|
// if (CmUtil.MidH(sCardInfo, 0, 2) == "00")
|
|||
|
// {
|
|||
|
// sRet = m_cPayCard.RefundPayment(new string[] { iRow.ToString(), sCardInfo });
|
|||
|
// }
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// sRet = m_cPayCard.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.MOBILE_COM_POINT: //제휴 통신사 할인 취소
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_SKT || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_KTF || cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.MOBILE_COM.MOBILE_LGT)
|
|||
|
// {
|
|||
|
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMOBILECOM);
|
|||
|
// sRet = cMobileComPoint.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// IPaymentUs cMemberPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTMEMBERUSE);
|
|||
|
|
|||
|
// sRet = cMemberPointUse.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.CASH_ITEM:
|
|||
|
// {
|
|||
|
|
|||
|
// IPaymentUs m_cPayCash = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.CASH);
|
|||
|
|
|||
|
// sRet = m_cPayCash.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.COUPON_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.COUPON.INCARD)
|
|||
|
// {
|
|||
|
// IPaymentUs cMobileComPoint = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYCOUPON);
|
|||
|
// sRet = cMobileComPoint.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// IPaymentUs m_cCouponDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.COUPONDC);
|
|||
|
|
|||
|
// sRet = m_cCouponDC.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.MOBILECON_ITEM:
|
|||
|
// {
|
|||
|
// IPaymentUs m_cMobileCoupon = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MOBILECOUPON);
|
|||
|
|
|||
|
// sRet = m_cMobileCoupon.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.EMP_DC_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SEVERANCE)
|
|||
|
// {
|
|||
|
// IPaymentUs m_cSeveranceDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SEVERANCEDC);
|
|||
|
|
|||
|
// sRet = m_cSeveranceDC.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SPC)
|
|||
|
// {
|
|||
|
// IPaymentUs m_cSPCEmployeeDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SPCEMPLOYEEDC);
|
|||
|
|
|||
|
// sRet = m_cSPCEmployeeDC.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.EMP_DC.SAMSUNGCARD)
|
|||
|
// {
|
|||
|
// WinManager.ConfirmMessage("카드 결제 내역을 취소 하세요.");
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.POINT_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.POINT_USE.HAPPY_POINT)
|
|||
|
// {
|
|||
|
// IPaymentUs cHappyPointUse = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINTUSE);
|
|||
|
// sRet = cHappyPointUse.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.USER_DC_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.USER_DC.IN_EMP_DC)
|
|||
|
// {
|
|||
|
// // 입점건물직원할인 취소
|
|||
|
// IPaymentUs ciNStorDC = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.iNStorDC);
|
|||
|
// sRet = ciNStorDC.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.PAYETC_ITEM:
|
|||
|
// {
|
|||
|
// if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.MEAL_TIKET)
|
|||
|
// {
|
|||
|
// // 식권취소
|
|||
|
// IPaymentUs cMealTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.MEALTICKET);
|
|||
|
// sRet = cMealTicket.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// else if (cPayItem.PAY_DTL_CD_01 == ItemConst.TR_ITEM_ID.PAYETC.BALANCE_VOUCHER)
|
|||
|
// {
|
|||
|
// // 잔액교환권 취소
|
|||
|
// IPaymentUs cExchangeTicket = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.EXCHANGETICKET);
|
|||
|
// sRet = cExchangeTicket.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// }
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.GIFT_ITEM:
|
|||
|
// {
|
|||
|
// // 상품권 취소
|
|||
|
// IPaymentUs cGift = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.GIFT);
|
|||
|
// sRet = cGift.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.CREDIT_ITEM:
|
|||
|
// {
|
|||
|
// // 외상 취소
|
|||
|
// IPaymentUs cSaleOnCustomer = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.SALEONCUSTOMER);
|
|||
|
// sRet = cSaleOnCustomer.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// case ItemConst.TR_ITEM_ID.RESERVATION_ITEM:
|
|||
|
// {
|
|||
|
// // 외상 취소
|
|||
|
// IPaymentUs cReservPay = (IPaymentUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.RESERVED_PAY);
|
|||
|
// sRet = cReservPay.RefundPayment(new string[] { iRow.ToString() });
|
|||
|
// break;
|
|||
|
// }
|
|||
|
|
|||
|
// default:
|
|||
|
// {
|
|||
|
// break;
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
// catch (Exception ex)
|
|||
|
// {
|
|||
|
|
|||
|
// WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
// System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
// }
|
|||
|
|
|||
|
// return sRet;
|
|||
|
|
|||
|
//}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
private void tmrCustCount_Tick(object sender, EventArgs e)
|
|||
|
{
|
|||
|
tmrCustCount.Enabled = false;
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_END)
|
|||
|
{
|
|||
|
this.SaleMainExit();
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = ""; // 화면보호기 대기시간 설정
|
|||
|
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT203) == "1")
|
|||
|
{
|
|||
|
//string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_SERVER });
|
|||
|
//string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_ETC_SERVER_REG });
|
|||
|
lblTableInfo_Click(null, null);
|
|||
|
}
|
|||
|
|
|||
|
// 고객수 입력
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT004) == "3")
|
|||
|
{
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "1") //결제 고객
|
|||
|
{
|
|||
|
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_AGE, "PAY" });
|
|||
|
if (sRet != UserCom.RST_ERR)
|
|||
|
{
|
|||
|
m_cTrnStatus.Head.PayGndrDiv = CmUtil.MidH(sRet, 0, 1);
|
|||
|
m_cTrnStatus.Head.PayAge = CmUtil.LongParse(CmUtil.MidH(sRet, 1, 2));
|
|||
|
}
|
|||
|
}
|
|||
|
else if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "2") //상세고객수
|
|||
|
{
|
|||
|
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_AGE, "" });
|
|||
|
}
|
|||
|
else if (PosMstManager.GetPosOption(POS_OPTION.OPT033) == "3") //고객수
|
|||
|
{
|
|||
|
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_USER_INPUT_DATA, PosConst.FRM_INPUT_DATA.GUEST_CNT });
|
|||
|
|
|||
|
if (sRet != UserCom.RST_ERR)
|
|||
|
{
|
|||
|
m_cTrnStatus.Head.CustCnt = CmUtil.IntParse(sRet);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//미사용
|
|||
|
}
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void rtbMotSale_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
DisplayInit(true, false);
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
|
|||
|
private void btnItemGridUpDown_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
#if true //grayber@20171213 부가메뉴 등록중 일때 동작 개선 start
|
|||
|
// 부가메뉴 등록중일때 스클롤 버튼으로 부가메뉴가 닫히지 않도록 처리
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_OPT || m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING_SET_OPT)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0022);
|
|||
|
return;
|
|||
|
}
|
|||
|
#endif //grayber@20171213 부가메뉴 등록중 일때 동작 개선 end
|
|||
|
|
|||
|
// 선불카드모드에서 선불카드 등록패널 사라지지 않게 수정(2017.06.22) - 중국만 적용
|
|||
|
if (m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.CN)
|
|||
|
{
|
|||
|
if ((m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.NORMAL.SALE || m_cTrnStatus.Head.TradeKind == ItemConst.TRAN_KIND.ETC.LOSS)
|
|||
|
&& m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_DOING)
|
|||
|
{
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pnlSetMenu.Visible = false;
|
|||
|
pnlSubMenu.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
if ((UI.CsmButton)sender == btnItemGridUp)
|
|||
|
{
|
|||
|
SaleItemGrid.ButtonUpProc();
|
|||
|
// 상품 등록내역 고객용 화면 표시
|
|||
|
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
|
|||
|
}
|
|||
|
else if ((UI.CsmButton)sender == btnItemGridTop)
|
|||
|
{
|
|||
|
SaleItemGrid.ButtonTopProc();
|
|||
|
// 상품 등록내역 고객용 화면 표시
|
|||
|
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
|
|||
|
}
|
|||
|
else if ((UI.CsmButton)sender == btnItemGridDown)
|
|||
|
{
|
|||
|
SaleItemGrid.ButtonDownProc();
|
|||
|
// 상품 등록내역 고객용 화면 표시
|
|||
|
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
|
|||
|
}
|
|||
|
else if ((UI.CsmButton)sender == btnItemGridBottom)
|
|||
|
{
|
|||
|
SaleItemGrid.ButtonBottomProc();
|
|||
|
// 상품 등록내역 고객용 화면 표시
|
|||
|
m_cCustDisp.DisplaySaleItemSelect(SaleItemGrid.SelectedIndex);
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void picCampaign_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
picCampaign.Visible = false;
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
|
|||
|
private void padInPut_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
|
|||
|
private void lblIFStatus_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
string sMenuKey = string.Empty;
|
|||
|
if ((Cosmos.UI.CsmLabel)sender == lblIFStatus1) // 해피오더
|
|||
|
{
|
|||
|
sMenuKey = "";
|
|||
|
}
|
|||
|
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus2) // 빚은몰
|
|||
|
{
|
|||
|
sMenuKey = PosKey.MENU_KEY.WEB_BIZEUN_MALL;
|
|||
|
}
|
|||
|
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus3) // 이지웰
|
|||
|
{
|
|||
|
sMenuKey = PosKey.MENU_KEY.WEB_EZWELL;
|
|||
|
}
|
|||
|
|
|||
|
if (WinBasic.CheckMenuKeyAuth(sMenuKey) == false) return; // 기능키 판매원 권한 체크
|
|||
|
//string sMngAuth = PosMstManager.GetMstPicAuth(m_cPosStatus.Base.CashierNo + sMenuKey);
|
|||
|
|
|||
|
//switch (sMngAuth)
|
|||
|
//{
|
|||
|
// case PosConst.MNG_AUTH_DIV.NON_PERMISSION:
|
|||
|
// WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0308), MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0505), false);
|
|||
|
// return;
|
|||
|
// case PosConst.MNG_AUTH_DIV.PERMISSION:
|
|||
|
// break;
|
|||
|
// case PosConst.MNG_AUTH_DIV.SUPERVISOR:
|
|||
|
// if (WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_ADMIN }) == UserCom.RST_ERR) return;
|
|||
|
// //string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_CASHIER_INPUT, "Supervisor" });
|
|||
|
// //if (sRet != UserCom.RST_OK)
|
|||
|
// //{
|
|||
|
// // return;
|
|||
|
// //}
|
|||
|
// break;
|
|||
|
//}
|
|||
|
|
|||
|
if ((Cosmos.UI.CsmLabel)sender == lblIFStatus1) // 해피오더
|
|||
|
{
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
|
|||
|
{
|
|||
|
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 start
|
|||
|
// 상품 등록 중일 경우 빠져 나간다.
|
|||
|
//변경
|
|||
|
ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
if (alSaleItem.Count > 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021));
|
|||
|
return;
|
|||
|
}
|
|||
|
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 end
|
|||
|
|
|||
|
tmrSaleTimer.Stop();
|
|||
|
|
|||
|
//#20180615 해피오더 팝업 수정 start
|
|||
|
//기존
|
|||
|
//WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD_POPUP, "NORMAL" });
|
|||
|
//변경
|
|||
|
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" });
|
|||
|
//#20180615 해피오더 팝업 수정 end
|
|||
|
|
|||
|
tmrSaleTimer.Start();
|
|||
|
}
|
|||
|
}
|
|||
|
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus2) // 빚은몰
|
|||
|
{
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT036) == "1")
|
|||
|
{
|
|||
|
WinBasic.ShowWebPos(PosKey.MENU_KEY.WEB_BIZEUN_MALL, true);
|
|||
|
//WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_BIZEUN, PosKey.MENU_KEY.WEB_BIZEUN_MALL });
|
|||
|
}
|
|||
|
}
|
|||
|
else if ((Cosmos.UI.CsmLabel)sender == lblIFStatus3) // 이지웰
|
|||
|
{
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT037) == "1")
|
|||
|
{
|
|||
|
WinBasic.ShowWebPos(PosKey.MENU_KEY.WEB_EZWELL);
|
|||
|
//WinBasic.ShowForm(new string[] { FormManager.FORM_WEB_EZWELW, PosKey.MENU_KEY.WEB_EZWELL });
|
|||
|
}
|
|||
|
}
|
|||
|
else if ((Cosmos.UI.CsmLabel)sender == lblOwnerPart) // 점주알바WEB
|
|||
|
{
|
|||
|
WinBasic.ShowWebPos(PosKey.MENU_KEY.OWNER_WEB);
|
|||
|
//ShowOwnerPartWeb(PosKey.MENU_KEY.OWNER_WEB);
|
|||
|
}
|
|||
|
else if ((Cosmos.UI.CsmLabel)sender == lblAnniv) // 기념일배송
|
|||
|
{
|
|||
|
lblAnniv.Tag = "";
|
|||
|
lblAnniv.BackColor = Color.FromArgb(34, 34, 34);
|
|||
|
//디비업데이트
|
|||
|
|
|||
|
m_cDataCommon.UpdateEtcNoticeProcess("05", null);
|
|||
|
WinBasic.ShowWebPos(PosKey.MENU_KEY.REMB_ORDER_PRINT);
|
|||
|
//ShowOwnerPartWeb(PosKey.MENU_KEY.REMB_ORDER_PRINT);
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#region SLIDE 메뉴 함수
|
|||
|
/// <summary>
|
|||
|
/// SLIDE 메뉴
|
|||
|
/// </summary>
|
|||
|
/// <param name="sPosMenuKeyIn"></param>
|
|||
|
private void MenuSlideList()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
m_alMenuHead = new ArrayList();
|
|||
|
m_alMenuProc = new ArrayList();
|
|||
|
|
|||
|
DataTable dtFuncKey = null;
|
|||
|
|
|||
|
// SLIDE메뉴 들어갈 시에도 권한체크(2017.07.07)
|
|||
|
// 키 그룹 판매원 권한 체크
|
|||
|
if (WinBasic.CheckMenuKeyAuth(m_sPosMenuKeyIn) == false) return;
|
|||
|
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
//헤더 로드
|
|||
|
dtFuncKey = m_cDataCommon.SeletFuncKey(m_sPosMenuKeyIn);
|
|||
|
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
|
|||
|
{
|
|||
|
//return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
foreach (DataRow dr in dtFuncKey.Rows)
|
|||
|
{
|
|||
|
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY.DATA.FUNC_NM); // 기능명
|
|||
|
m_alMenuHead.Add(new string[] { m_sPosMenuKeyIn, sPosName });
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|||
|
|
|||
|
if (m_SlideMenuKey == PosKey.MENU_KEY.FOREIGNERS_RESPONSE)
|
|||
|
{
|
|||
|
dtFuncKey = m_cDataCommon.SeletCommonCode(PosConst.COMMON_CODE_GROUP.Z0017, "");
|
|||
|
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
foreach (DataRow dr in dtFuncKey.Rows)
|
|||
|
{
|
|||
|
string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.DISP_SEQ); // 표시순번
|
|||
|
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CD_NM); // 기능명
|
|||
|
string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CMM_CD); // 기능키
|
|||
|
|
|||
|
//if (CmUtil.GetDataRowStr(dr, PosMst.MST_COMMON.DATA.CHAR_VAL_TITLE_VAL_01) == "1")
|
|||
|
m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else if (m_sPosMenuKeyIn == PosKey.MENU_KEY.TOP_MENU_WEB)
|
|||
|
{
|
|||
|
dtFuncKey = m_cDataCommon.SeletMstWebLinkMst("");
|
|||
|
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
int seqIndex = 0;
|
|||
|
foreach (DataRow dr in dtFuncKey.Rows)
|
|||
|
{
|
|||
|
//string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.DISP_SEQ); // 표시순번
|
|||
|
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.MENU_NM); // 기능명
|
|||
|
string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.FUNC_ID); // 기능키
|
|||
|
|
|||
|
//if (CmUtil.GetDataRowStr(dr, PosMst.MST_WEB_LINKAGE.DATA.DIV) == "2")
|
|||
|
//{
|
|||
|
seqIndex = seqIndex + 1;
|
|||
|
string sDispSeq = Convert.ToString(seqIndex); // 표시순번
|
|||
|
m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장
|
|||
|
//}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
// 판매기본 기능키 로딩
|
|||
|
dtFuncKey = m_cDataCommon.SeletFuncKeyGroup(m_sPosMenuKeyIn);
|
|||
|
if (dtFuncKey == null || dtFuncKey.Rows.Count <= 0)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
foreach (DataRow dr in dtFuncKey.Rows)
|
|||
|
{
|
|||
|
string sDispSeq = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.DISP_SEQ); // 표시순번
|
|||
|
string sPosName = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_NM); // 기능명
|
|||
|
string sPosKey = CmUtil.GetDataRowStr(dr, PosMst.MST_FUNC_KEY_GRP.DATA.FUNC_ID); // 기능키
|
|||
|
|
|||
|
m_alMenuProc.Add(new string[] { m_sPosMenuKeyIn, sDispSeq, sPosName, sPosKey }); //배열저장
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SLIDE 메뉴 컨트롤 초기화
|
|||
|
/// </summary>
|
|||
|
private void SlideInitControl()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
// 이미지 로딩 처리
|
|||
|
//picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_SIZE_S);
|
|||
|
|
|||
|
//this.Location = new Point(216, 173);
|
|||
|
//this.Size = new Size(788, 402);
|
|||
|
|
|||
|
//FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT);
|
|||
|
|
|||
|
// 메뉴 타이틀 출력
|
|||
|
foreach (string[] aMenu in m_alMenuHead)
|
|||
|
{
|
|||
|
if (aMenu[0] == m_sPosMenuKeyIn)
|
|||
|
{
|
|||
|
//lblTitle.Text = aMenu[1];
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
m_nTopPos = 0;
|
|||
|
SlideMenuDisplay(); //화면에 메뉴 표시
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SLIDE 화면에 메뉴 표시
|
|||
|
/// </summary>
|
|||
|
private void SlideMenuDisplay()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
int nMax = 0;
|
|||
|
|
|||
|
// 메뉴 상세 초기화
|
|||
|
foreach (object obj in m_htMenuControls.Values)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmLabel btnCtl = (Cosmos.UI.CsmLabel)obj;
|
|||
|
btnCtl.Text = "";
|
|||
|
btnCtl.Tag = "";
|
|||
|
// btnCtl.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
//0:메뉴항목, 1:위치, 2:표시텍스트, 3:기능키값
|
|||
|
foreach (string[] aMenu in m_alMenuProc)
|
|||
|
{
|
|||
|
if (aMenu[0] == m_sPosMenuKeyIn)
|
|||
|
{
|
|||
|
nMax = m_htMenuControls.Count;
|
|||
|
|
|||
|
int nPos = int.Parse(aMenu[1]); // 표시위치
|
|||
|
if (nPos > m_nTopPos && nPos <= m_nTopPos + nMax)
|
|||
|
{
|
|||
|
Cosmos.UI.CsmLabel btnCtl = (Cosmos.UI.CsmLabel)m_htMenuControls[(nPos - 1) % nMax];
|
|||
|
|
|||
|
btnCtl.Text = aMenu[2];
|
|||
|
btnCtl.Tag = aMenu[3];
|
|||
|
//btnCtl.Visible = true;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
SlideSetNavigationBtn(m_alMenuProc.Count);
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 네비게이션 표시 변경
|
|||
|
/// </summary>
|
|||
|
/// <param name="nMax"></param>
|
|||
|
private void SlideSetNavigationBtn(int nMax)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (m_nTopPos == 0)
|
|||
|
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DEFAULT);
|
|||
|
//btnUp.Text = "■";
|
|||
|
else
|
|||
|
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DIM);
|
|||
|
//btnUp.Text = "◀";
|
|||
|
|
|||
|
if (m_nTopPos + 7 < nMax)
|
|||
|
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DIM);
|
|||
|
//btnDown.Text = "▶";
|
|||
|
else
|
|||
|
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DEFAULT);
|
|||
|
//btnDown.Text = "■";
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void SlideSetMenuBtn()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
#region 메뉴버튼
|
|||
|
// 메뉴버튼
|
|||
|
m_htMenuControls = new Hashtable();
|
|||
|
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu01);
|
|||
|
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu02);
|
|||
|
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu03);
|
|||
|
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu04);
|
|||
|
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu05);
|
|||
|
m_htMenuControls.Add(m_htMenuControls.Count, btnMenu06);
|
|||
|
//m_htMenuControls.Add(m_htMenuControls.Count, btnMenu07);
|
|||
|
|
|||
|
|
|||
|
picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG);
|
|||
|
|
|||
|
btnMenu01.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
|
|||
|
btnMenu02.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
|
|||
|
btnMenu03.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
|
|||
|
btnMenu04.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
|
|||
|
btnMenu05.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
|
|||
|
btnMenu06.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
|
|||
|
|
|||
|
picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_BG);
|
|||
|
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_DEFAULT);
|
|||
|
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_DEFAULT);
|
|||
|
//picMenuSlide.Image = ImageManager.GetImage(BaseCom.NxImgPath + @"Btn\", "popup_bg.png");
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 기능 버튼 입력 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btnSlideFuncProc_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString());
|
|||
|
|
|||
|
if (((Cosmos.UI.CsmLabel)sender) == btnUp)
|
|||
|
{
|
|||
|
int nMax = m_htMenuControls.Count;
|
|||
|
if (m_nTopPos > 0)
|
|||
|
{
|
|||
|
m_nTopPos -= nMax;
|
|||
|
SlideMenuDisplay();
|
|||
|
}
|
|||
|
}
|
|||
|
else if (((Cosmos.UI.CsmLabel)sender) == btnDown)
|
|||
|
{
|
|||
|
int nMax = m_htMenuControls.Count;
|
|||
|
|
|||
|
foreach (string[] aMenu in m_alMenuProc)
|
|||
|
{
|
|||
|
if (aMenu[0] == m_sPosMenuKeyIn)
|
|||
|
{
|
|||
|
if (int.Parse(aMenu[1]) > m_nTopPos + nMax)
|
|||
|
{
|
|||
|
m_nTopPos += nMax;
|
|||
|
SlideMenuDisplay();
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void btnMenu_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
tmrSaleTimer.Enabled = false;
|
|||
|
|
|||
|
if (((Cosmos.UI.CsmLabel)sender).Tag.ToString() != "")
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString());
|
|||
|
|
|||
|
m_SlideMenuKey = ((Cosmos.UI.CsmLabel)sender).Tag.ToString();
|
|||
|
|
|||
|
if (m_SlideMenuKey != PosKey.MENU_KEY.FOREIGNERS_RESPONSE)
|
|||
|
{
|
|||
|
this.pnlMenuSlide.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
if (m_sPosMenuKeyIn == PosKey.MENU_KEY.TOP_MENU_WEB)
|
|||
|
{
|
|||
|
string sMenuKey = ((Cosmos.UI.CsmLabel)sender).Tag.ToString();
|
|||
|
//WinBasic.ShowWebPos(((Cosmos.UI.CsmLabel)sender).Tag.ToString());
|
|||
|
|
|||
|
if (sMenuKey == PosKey.MENU_KEY.WEB_BIZEUN_MALL)
|
|||
|
{
|
|||
|
WinBasic.ShowWebPos(sMenuKey, true);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
WinBasic.ShowWebPos(sMenuKey);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (m_SlideMenuKey == PosKey.MENU_KEY.FOREIGNERS_RESPONSE)
|
|||
|
{
|
|||
|
MenuSlideList();
|
|||
|
SlideInitControl();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 외국인 대응에 대한 경우에만 직접 보여준다.
|
|||
|
if (m_SlideMenuKey == "001" || m_SlideMenuKey == "002" || m_SlideMenuKey == "003")
|
|||
|
{
|
|||
|
WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_FOREIGNERS_RESPONSE, m_SlideMenuKey });
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
WinSale.ExecuteBinessRun(m_SlideMenuKey);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//WinSale.ExecuteBinessRun(((Cosmos.UI.CsmLabel)sender).Tag.ToString());
|
|||
|
}
|
|||
|
//WinSale.ExecuteBinessRun(((Cosmos.UI.CsmLabel)sender).Tag.ToString());
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
tmrSaleTimer.Enabled = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void btnSlidePage_MouseDown(object sender, MouseEventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ((Cosmos.UI.CsmLabel)sender).Text.ToString());
|
|||
|
|
|||
|
if (((Cosmos.UI.CsmLabel)sender) == btnUp)
|
|||
|
{
|
|||
|
btnUp.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_LEFT_PRESS);
|
|||
|
}
|
|||
|
if (((Cosmos.UI.CsmLabel)sender) == btnDown)
|
|||
|
{
|
|||
|
btnDown.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_PAGEBTN_RIGHT_PRESS);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void btnSlidePage_MouseUp(object sender, MouseEventArgs e)
|
|||
|
{
|
|||
|
SlideSetNavigationBtn(m_alMenuProc.Count);
|
|||
|
}
|
|||
|
|
|||
|
private void btnMenu_MouseUp(object sender, MouseEventArgs e)
|
|||
|
{
|
|||
|
((Cosmos.UI.CsmLabel)sender).Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_DEFAULT);
|
|||
|
}
|
|||
|
|
|||
|
private void btnMenu_MouseDown(object sender, MouseEventArgs e)
|
|||
|
{
|
|||
|
((Cosmos.UI.CsmLabel)sender).Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.MENUSLIDE_CATEGORY_BTN_PRESS);
|
|||
|
}
|
|||
|
|
|||
|
#endregion SLIDE 메뉴 함수
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 간편로그인 호출
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void lblCashier_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (m_cPosStatus.Sale.SaleFlow == PosConst.SALE_FLOW.SALE_WAIT)
|
|||
|
{
|
|||
|
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.SIMPLE_LOG_ON });
|
|||
|
if (sRet != UserCom.RST_ERR && sRet !="")
|
|||
|
{
|
|||
|
lblCashier.Text = m_cPosStatus.Base.CashierName;
|
|||
|
}
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
private void lblTemperature_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (pnlTempInfo.Visible != true)
|
|||
|
{
|
|||
|
pnlTempInfo.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pnlTempInfo.Visible = false;
|
|||
|
}
|
|||
|
|
|||
|
if (m_cPosStatus.Temp.Temperature1 != null && m_cPosStatus.Temp.Temperature1 != "")
|
|||
|
{
|
|||
|
#region 온도정보 색상
|
|||
|
// 우선 순위 : 미수신 > 알람 > 경고
|
|||
|
//- 녹색(정상) : 알람-N, 경고-N, 미수신-N
|
|||
|
//- 회색(미수신) : 미수신-Y 미수신이 Y이면 알람, 경고는 체크 하지 않음
|
|||
|
//- 적색(경고) : 미수신-N, 알람-Y 알람이 Y이면 경고는 체크 하지 않음
|
|||
|
//- 황색(알람) : 미수신-N, 알람-N, 경고-Y
|
|||
|
// [센서ID|온도계명|측정온도|알람YN|경고YN|미수신YN|최종수신시간]
|
|||
|
|
|||
|
// 첫번째 온도 정보
|
|||
|
if (m_cPosStatus.Temp.Alarm1 == "N" && m_cPosStatus.Temp.Warning1 == "N" && m_cPosStatus.Temp.receiveYN1 == "N")
|
|||
|
{
|
|||
|
// 녹색
|
|||
|
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
|
|||
|
lblTemp1.ForeColor = Color.Green;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.receiveYN1 == "Y")
|
|||
|
{
|
|||
|
// 회색
|
|||
|
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
|
|||
|
lblTemp1.ForeColor = Color.DarkGray;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.receiveYN1 == "N")
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.Alarm1 == "Y")
|
|||
|
{
|
|||
|
// 레드
|
|||
|
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
|
|||
|
lblTemp1.ForeColor = Color.Red;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.Alarm1 == "N")
|
|||
|
{
|
|||
|
// 황색
|
|||
|
lblTemp1.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name1, m_cPosStatus.Temp.Temperature1);
|
|||
|
lblTemp1.ForeColor = Color.DarkOrange;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblTemp1.ForeColor = Color.Black;
|
|||
|
lblTemp1.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657);
|
|||
|
}
|
|||
|
|
|||
|
if (m_cPosStatus.Temp.Temperature2 != null && m_cPosStatus.Temp.Temperature2 != "")
|
|||
|
{
|
|||
|
// 두번째 온도 정보
|
|||
|
if (m_cPosStatus.Temp.Alarm2 == "N" && m_cPosStatus.Temp.Warning2 == "N" && m_cPosStatus.Temp.receiveYN2 == "N")
|
|||
|
{
|
|||
|
// 녹색
|
|||
|
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
|
|||
|
lblTemp2.ForeColor = Color.Green;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.receiveYN2 == "Y")
|
|||
|
{
|
|||
|
// 회색
|
|||
|
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
|
|||
|
lblTemp2.ForeColor = Color.DarkGray;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.receiveYN2 == "N")
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.Alarm2 == "Y")
|
|||
|
{
|
|||
|
// 레드
|
|||
|
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
|
|||
|
lblTemp2.ForeColor = Color.Red;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.Alarm2 == "N")
|
|||
|
{
|
|||
|
// 황색
|
|||
|
lblTemp2.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name2, m_cPosStatus.Temp.Temperature2);
|
|||
|
lblTemp2.ForeColor = Color.DarkOrange;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblTemp2.ForeColor = Color.Black;
|
|||
|
lblTemp2.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657);
|
|||
|
}
|
|||
|
|
|||
|
if (m_cPosStatus.Temp.Temperature3 != null && m_cPosStatus.Temp.Temperature3 != "")
|
|||
|
{
|
|||
|
// 세번째 온도 정보
|
|||
|
if (m_cPosStatus.Temp.Alarm3 == "N" && m_cPosStatus.Temp.Warning3 == "N" && m_cPosStatus.Temp.receiveYN3 == "N")
|
|||
|
{
|
|||
|
// 녹색
|
|||
|
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0653), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
|
|||
|
lblTemp3.ForeColor = Color.Green;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.receiveYN3 == "Y")
|
|||
|
{
|
|||
|
// 회색
|
|||
|
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0654), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
|
|||
|
lblTemp3.ForeColor = Color.DarkGray;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.receiveYN3 == "N")
|
|||
|
{
|
|||
|
if (m_cPosStatus.Temp.Alarm3 == "Y")
|
|||
|
{
|
|||
|
// 레드
|
|||
|
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0655), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
|
|||
|
lblTemp3.ForeColor = Color.Red;
|
|||
|
}
|
|||
|
else if (m_cPosStatus.Temp.Alarm3 == "N")
|
|||
|
{
|
|||
|
// 황색
|
|||
|
lblTemp3.Text = string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0656), m_cPosStatus.Temp.Name3, m_cPosStatus.Temp.Temperature3);
|
|||
|
lblTemp3.ForeColor = Color.DarkOrange;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblTemp3.ForeColor = Color.Black;
|
|||
|
lblTemp3.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0657);
|
|||
|
}
|
|||
|
#endregion 온도정보 색상
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 디바이스 정보 클릭
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void lblDeviceState_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = ""; //화면보호기 대기시간 설정
|
|||
|
|
|||
|
// 주변장치 상태 관리 화면
|
|||
|
string sRet = WinSale.ShowForm(new string[] { FormManager.FORM_DEVICE_STATUS_SEARCH, PosKey.MENU_KEY.DEVICE_STATUS_SEARCH });
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 온도정보 클릭
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void TempInfo_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (pnlTempInfo.Visible != true)
|
|||
|
{
|
|||
|
pnlTempInfo.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pnlTempInfo.Visible = false;
|
|||
|
}
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 프로그램 버전 더블클릭(원격 웹사이트)
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void lblPgmVersion_DoubleClick(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
IDataServiceUs m_cWebBiz = (IDataServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_BASIC.DLL, ServiceLists.BSV_BASIC.WEB_POS);
|
|||
|
|
|||
|
string sUrl = string.Empty;
|
|||
|
|
|||
|
sUrl = (string)m_cWebBiz.GetData(new string[] { PosKey.MENU_KEY.REMOTE_URL });
|
|||
|
if (sUrl == null || sUrl == "") return;
|
|||
|
|
|||
|
if (sUrl.StartsWith("2") == true) // 1: WEB POS, 2:WEB LINK
|
|||
|
{
|
|||
|
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo("IExplore.exe");
|
|||
|
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
|
|||
|
startInfo.Arguments = CmUtil.MidH(sUrl, 31, 100).Trim() + CmUtil.MidH(sUrl, 131, 100).Trim();
|
|||
|
|
|||
|
System.Diagnostics.Process.Start(startInfo);
|
|||
|
}
|
|||
|
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //화면보호기 대기시간 설정
|
|||
|
return;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 네트워크 온오프 체크
|
|||
|
/// </summary>
|
|||
|
private void OnLinecheck()
|
|||
|
{
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
//NW ON/OFF
|
|||
|
if (CmUtil.IsNetConnection() == 1)
|
|||
|
{
|
|||
|
if (picWeb.Tag.ToString() != "ON")
|
|||
|
{
|
|||
|
picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON);
|
|||
|
picWeb.Tag = "ON";
|
|||
|
lblWeb.Tag = "0";
|
|||
|
|
|||
|
|
|||
|
lblWeb.Text = "WEB";
|
|||
|
lblWeb.ForeColor = Color.White;
|
|||
|
}
|
|||
|
|
|||
|
lblOffLine.Visible = false;
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (picWeb.Tag.ToString() != "OFF")
|
|||
|
{
|
|||
|
picWeb.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.WEB_ICON_ERROR);
|
|||
|
picWeb.Tag = "OFF";
|
|||
|
}
|
|||
|
|
|||
|
lblOffLine.Visible = true;
|
|||
|
|
|||
|
//// WEB 글자색 변경!
|
|||
|
//if (lblWeb.ForeColor == Color.White)
|
|||
|
//{
|
|||
|
// lblWeb.ForeColor = CmUtil.GetRainbowColor(lblWeb.Tag.ToString());
|
|||
|
|
|||
|
// if (lblWeb.Tag.ToString() == "7") lblWeb.Tag = "0";
|
|||
|
// lblWeb.Tag = (CmUtil.IntParse(lblWeb.Tag.ToString()) + 1).ToString();
|
|||
|
// lblWeb.Text = "OFF LINE";
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// lblWeb.ForeColor = Color.White;
|
|||
|
// lblWeb.Text = "WEB";
|
|||
|
//}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 할인상세 내역 표시
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void txtPayDiscountAmt_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (m_cTrnStatus.Head.TotDcAmt == 0) return;
|
|||
|
|
|||
|
WinBasic.ShowForm(new string[] { FormManager.FORM_DISCOUNT_LIST });
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 상품등록 내역 조회
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void txtPayQtySaleAmt_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
WinBasic.ShowForm(new string[] { FormManager.FORM_SALEPLU_LIST });
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
private void MenuSlide_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (pnlMenuSlide.Visible != true)
|
|||
|
{
|
|||
|
pnlMenuSlide.Visible = true;
|
|||
|
pnlMenuSlide.BringToFront();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pnlMenuSlide.Visible = false;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region 상단 일자 시간 표시
|
|||
|
private delegate void SetDatetimeCallback();
|
|||
|
/// <summary>
|
|||
|
/// 일자시간 표시
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void tmrDateTime_Tick(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
tmrDateTime.Stop();
|
|||
|
SetDateTime();
|
|||
|
tmrDateTime.Start();
|
|||
|
|
|||
|
//---------------------------------------------------------------------
|
|||
|
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리를 위한 상태바 표시 처리
|
|||
|
//---------------------------------------------------------------------
|
|||
|
// - 이전의 tmrSaleTimer 이벤트가 중간중간 멈추는 경우가 생겨서
|
|||
|
// 이쪽 tmrDateTime 이벤트로 이동함
|
|||
|
//---------------------------------------------------------------------
|
|||
|
#region 해피포인트 제휴할인 선리딩 처리를 위한 상태바 표시 처리
|
|||
|
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
|
|||
|
lblPriorReading2.BackColor = Color.FromArgb(34, 34, 34);
|
|||
|
#region 첫번째 레이블
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[0] != null && m_cPosStatus.Sale.strPriorReading_Title[0] != "")
|
|||
|
{
|
|||
|
lblPriorReading1.Text = m_cPosStatus.Sale.strPriorReading_Title[0];
|
|||
|
lblPriorReading2.Text = "";
|
|||
|
|
|||
|
if (lblPriorReading1.Text == "HPC")
|
|||
|
{
|
|||
|
lblPriorReading1.BackColor = Color.FromArgb(217, 151, 149);
|
|||
|
lblPriorReading1.ForeColor = Color.White;
|
|||
|
}
|
|||
|
else if (lblPriorReading1.Text != "")
|
|||
|
{
|
|||
|
lblPriorReading1.BackColor = Color.FromArgb(51, 153, 255);
|
|||
|
lblPriorReading1.ForeColor = Color.White;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblPriorReading1.Text = "";
|
|||
|
lblPriorReading2.Text = "";
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 두번째 레이블
|
|||
|
if (m_cPosStatus.Sale.strPriorReading_Title[1] != null && m_cPosStatus.Sale.strPriorReading_Title[1] != "")
|
|||
|
{
|
|||
|
lblPriorReading1.Text = m_cPosStatus.Sale.strPriorReading_Title[0];
|
|||
|
lblPriorReading2.Text = m_cPosStatus.Sale.strPriorReading_Title[1];
|
|||
|
|
|||
|
if (lblPriorReading1.Text == "HPC")
|
|||
|
{
|
|||
|
lblPriorReading1.BackColor = Color.FromArgb(217, 151, 149);
|
|||
|
lblPriorReading1.ForeColor = Color.White;
|
|||
|
}
|
|||
|
else if (lblPriorReading1.Text != "")
|
|||
|
{
|
|||
|
lblPriorReading1.BackColor = Color.FromArgb(51, 153, 255);
|
|||
|
lblPriorReading1.ForeColor = Color.White;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
|
|||
|
}
|
|||
|
|
|||
|
if (lblPriorReading2.Text == "HPC")
|
|||
|
{
|
|||
|
lblPriorReading2.BackColor = Color.FromArgb(217, 151, 149);
|
|||
|
lblPriorReading2.ForeColor = Color.White;
|
|||
|
}
|
|||
|
else if (lblPriorReading2.Text != "")
|
|||
|
{
|
|||
|
lblPriorReading2.BackColor = Color.FromArgb(51, 153, 255);
|
|||
|
lblPriorReading2.ForeColor = Color.White;
|
|||
|
}
|
|||
|
else if (lblPriorReading2.Text == "")
|
|||
|
{
|
|||
|
lblPriorReading1.BackColor = Color.FromArgb(34, 34, 34);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
lblPriorReading2.Text = "";
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#endregion
|
|||
|
if(m_cPosStatus.Sale.strHappyPointCardNo != "" || m_cPosStatus.Sale.strMobileUnityCardNo != "" || pnlAllianceCard.Visible == true)
|
|||
|
{
|
|||
|
if(pnlPayMainBack.Visible == false)
|
|||
|
{
|
|||
|
if(AllianceCardTime.Year == DateTime.Now.Year)
|
|||
|
{
|
|||
|
TimeSpan Ti = DateTime.Now - AllianceCardTime;
|
|||
|
if (Ti.Seconds > 3)
|
|||
|
{
|
|||
|
pnlAllianceCard.Visible = false;
|
|||
|
AllianceCardTime = new DateTime();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|||
|
//적용시 주석 해제
|
|||
|
if (pnlBuyHistMot.Visible == true)
|
|||
|
{
|
|||
|
TimeSpan Ti = DateTime.Now - BuyHistTime;
|
|||
|
if (Ti.Seconds > 3)
|
|||
|
{
|
|||
|
pnlBuyHistMot.Visible = false;
|
|||
|
BuyHistTime = new DateTime();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
|
|||
|
//#15058 해피오더 버튼 변경_20180612 start,phj
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT035) == "1")
|
|||
|
{
|
|||
|
if (bSaleMain == true)
|
|||
|
{
|
|||
|
NewHPOrdDisplay();
|
|||
|
}
|
|||
|
if (bSaleMain == false)
|
|||
|
{
|
|||
|
iCount = iCount + 1;
|
|||
|
|
|||
|
if (iCount >= 60)
|
|||
|
{
|
|||
|
iCount = 0;
|
|||
|
bSaleMain = true;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
//#15058 해피오더 버튼 변경_20180612 end,phj
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
|
|||
|
//기존
|
|||
|
/*
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
|
|||
|
{
|
|||
|
iInventoryDispCnt = iInventoryDispCnt + 1;
|
|||
|
if (bInventoryDispStat == true)
|
|||
|
{
|
|||
|
HappyOrderInventoryAlram();
|
|||
|
if (iInventoryDispCnt % 60 == 0)
|
|||
|
{
|
|||
|
HappyOrderInventoryAlram_StatChange(false);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (iInventoryDispCnt == 0 || iInventoryDispCnt >= 60 * 10)
|
|||
|
{
|
|||
|
HappyOrderInventoryAlram();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
|
|||
|
*/
|
|||
|
//변경
|
|||
|
//--------------------------------------------------
|
|||
|
//레드마인: #16368
|
|||
|
//요청일자: 2018/08/22
|
|||
|
//요청자 : SPC 안병석 과장
|
|||
|
//내용 : 1. 알람 표시시간
|
|||
|
// [기존] 제한없음
|
|||
|
// [변경] 오후2시이후부터 표시
|
|||
|
// 2. 알람 자동 표시 시간
|
|||
|
// [기존] 닫기버튼 클릭 시 10분마다 자동 표시
|
|||
|
// [변경] 매시간 30분마다 자동 표시 후 5분간 표시
|
|||
|
// 단, 닫기 버튼 클릭 시 알람 닫기
|
|||
|
//--------------------------------------------------
|
|||
|
|
|||
|
//if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
|
|||
|
//{
|
|||
|
// if (Int32.Parse(DateTime.Now.ToString("HH")) >= 14)
|
|||
|
// {
|
|||
|
// if (PosMstManager.GetPosOption(POS_OPTION.OPT518) == "1")
|
|||
|
// {
|
|||
|
// iInventoryDispCnt = iInventoryDispCnt + 1;
|
|||
|
// if (bInventoryDispStat == true)
|
|||
|
// {
|
|||
|
// HappyOrderInventoryAlram();
|
|||
|
// if (iInventoryDispCnt % (60 * 5) == 0)
|
|||
|
// {
|
|||
|
// HappyOrderInventoryAlram_StatChange(false);
|
|||
|
// }
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// if (iInventoryDispCnt == 0 || iInventoryDispCnt >= 60 * 25)
|
|||
|
// {
|
|||
|
// HappyOrderInventoryAlram();
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
// }
|
|||
|
//}
|
|||
|
|
|||
|
if ((CmUtil.IntParse(DateTime.Now.ToString("HH")) >= 14) &&
|
|||
|
((CmUtil.IntParse(DateTime.Now.ToString("mm")) >= 0 && CmUtil.IntParse(DateTime.Now.ToString("mm")) <= 5) ||
|
|||
|
(CmUtil.IntParse(DateTime.Now.ToString("mm")) >= 30 && CmUtil.IntParse(DateTime.Now.ToString("mm")) <= 35)))
|
|||
|
{
|
|||
|
if (bInventoryCancel == false)
|
|||
|
{
|
|||
|
HappyOrderInventoryAlram();
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
bInventoryCancel = false;
|
|||
|
|
|||
|
lb_HPOInventoryAlram.Visible = false;
|
|||
|
lb_HPOInventoryAlram2.Visible = false;
|
|||
|
Pnl_HPOInventoryAlram.Visible = false;
|
|||
|
}
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Date 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="text"></param>
|
|||
|
private void SetDateTime()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.lblDateTime.InvokeRequired)
|
|||
|
{
|
|||
|
SetDatetimeCallback d = new SetDatetimeCallback(SetDateTime);
|
|||
|
this.Invoke(d);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//#20171011 영업일, 시스템일시 위치 변경 start
|
|||
|
//기존
|
|||
|
/*
|
|||
|
this.lblDateTime.Text = m_cPosStatus.Global.DateToCulture(DateTime.Now.ToString("yyyy-MM-dd")) + " " + DateTime.Now.ToString("HH:mm:ss");
|
|||
|
*/
|
|||
|
//변경
|
|||
|
string WeekDays = WeekDay(DateTime.Now);
|
|||
|
string WeekDaySaleDate = WeekDay(Convert.ToDateTime(m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate)));
|
|||
|
this.lblDateTime.Text = string.Format(MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0242) + " : {0}" + "({1})",
|
|||
|
m_cPosStatus.Base.SaleDate == "" ? m_cPosStatus.Global.DateToCulture("20000101") : m_cPosStatus.Global.DateToCulture(m_cPosStatus.Base.SaleDate), WeekDaySaleDate);
|
|||
|
lblSaleDate.Text = string.Format(m_cPosStatus.Global.DateToCulture(DateTime.Now.ToString("yyyyMMdd")) + "({0})" + " " + DateTime.Now.ToString("HH:mm:ss"), WeekDays);
|
|||
|
//#20171011 영업일, 시스템일시 위치 변경 end
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
UserLog.WriteLogFile(UserCom.ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.ToString());
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private string WeekDay(DateTime dateTime)
|
|||
|
{
|
|||
|
string tempWeekDay = "";
|
|||
|
|
|||
|
var dt = dateTime.DayOfWeek;
|
|||
|
|
|||
|
switch (dt)
|
|||
|
{
|
|||
|
case DayOfWeek.Monday: //월
|
|||
|
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1063);
|
|||
|
break;
|
|||
|
|
|||
|
case DayOfWeek.Tuesday: //화
|
|||
|
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1064);
|
|||
|
break;
|
|||
|
|
|||
|
case DayOfWeek.Wednesday: //수
|
|||
|
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1065);
|
|||
|
break;
|
|||
|
|
|||
|
case DayOfWeek.Thursday: //목
|
|||
|
tempWeekDay = MessageManager.GetLabelMessage((POS_MESSAGE.LABEL.MSG_1066));
|
|||
|
break;
|
|||
|
|
|||
|
case DayOfWeek.Friday: //금
|
|||
|
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1067);
|
|||
|
break;
|
|||
|
|
|||
|
case DayOfWeek.Saturday: //토
|
|||
|
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1068);
|
|||
|
break;
|
|||
|
|
|||
|
case DayOfWeek.Sunday: //일
|
|||
|
tempWeekDay = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1062);
|
|||
|
break;
|
|||
|
}
|
|||
|
return tempWeekDay;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 백그라운드 프로그램 적용 확인 메시지
|
|||
|
/// <summary>
|
|||
|
/// 백그라운드 프로그램 적용 확인 메시지
|
|||
|
/// </summary>
|
|||
|
private void POSProgramApplyCheck()
|
|||
|
{
|
|||
|
string sRet = UserCom.RST_ERR;
|
|||
|
try
|
|||
|
{
|
|||
|
// 프로그램 적용을 위한 재기동 여부 체크
|
|||
|
if (m_cBackgroundDown.PGMReBootCheck() == true)
|
|||
|
{
|
|||
|
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_SAL_EMERGENCY_NOTICE, PosConst.MSG_BOX_TYPE.QUESTION, MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0682), MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0281) });
|
|||
|
}
|
|||
|
|
|||
|
if (sRet == UserCom.RST_OK)
|
|||
|
{
|
|||
|
// 재기동!
|
|||
|
m_cPosStatus.Sale.SysShutDown = PosConst.SYS_SHUTDOWN.PGMRESTART;
|
|||
|
SaleMainExit();
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region lblSaleStatus_Click(판매화면 내리기)
|
|||
|
private void lblSaleStatus_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
m_cPosStatus.Sale.ScreenSaverTime = "";
|
|||
|
|
|||
|
this.WindowState = FormWindowState.Minimized;
|
|||
|
|
|||
|
Form fMainForm = (Form)FormManager.GetForm(FormManager.FORM_POS_MAIN);
|
|||
|
if (fMainForm != null) fMainForm.Top = 2048;
|
|||
|
|
|||
|
Form fTableForm = (Form)FormManager.GetForm(FormManager.FORM_TBL_REG);
|
|||
|
if (fTableForm != null) fTableForm.Top = 2048;
|
|||
|
|
|||
|
FormManager.m_HideFormIndex = 1;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region lblTableInfo_Click(테이블 담당자(판매원) 변경
|
|||
|
private void lblTableInfo_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (m_cPosStatus.Base.PosType != PosConst.POS_TYPE.DEFERRED_PAYMENT) return;
|
|||
|
|
|||
|
// 테이블 담당자 입력(변경)
|
|||
|
string sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_LOG_ON, PosKey.MENU_KEY.REGISTER_SERVER });
|
|||
|
if (sRet != UserCom.RST_ERR)
|
|||
|
{
|
|||
|
lblTableInfo.Text = "[" + m_cTrnStatus.Head.FloorNm + "-" + m_cTrnStatus.Head.TableNm + "]" + m_cTrnStatus.Head.OrderPicNm;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 텍스트 박스 포커스 처리
|
|||
|
private void TxtInPutFocus()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
txtInPut.Focus();
|
|||
|
}
|
|||
|
catch { }
|
|||
|
}
|
|||
|
|
|||
|
private void lstCampaignList_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void SaleItemGrid_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnMenuFix_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnMenu_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnFlavourMenu_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnSetMenu_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnSubMenuCommGrp_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnSubMenuCommDtl_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void lblWeb_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnSubMenuDtl_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnSubMenuGrp_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnMenuMClass_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnMenuMClassFix_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnSubMenuExit_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnFuncSale_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void btnFuncItem_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void pnlMotSale_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
TxtInPutFocus();
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Pos Sale 버젼 (클라이언트)표시
|
|||
|
/// girak.kim; 20173.08.30.001
|
|||
|
/// </summary>
|
|||
|
private void GetClientPOSVersion()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
lblRealVer.Text = WinBasic.ClientPOSVersion.ToString();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
lblRealVer.Text = "0.0.0.0";
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//*****************************************************************************
|
|||
|
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리
|
|||
|
//-----------------------------------------------------------------------------
|
|||
|
// - 만약 결제화면(pnlCardMot)이 표시될 경우
|
|||
|
// - 우선 해피포인트(옵션) 값이 설정되어 있을 경우
|
|||
|
// <- 전역변수 : m_cPosStatus.Sale.strHappyPointCardNoOption
|
|||
|
// '결제' 버튼 클릭 -> 포인트할인결제 화면에서 -> '해피포인트사용' 버튼이 클릭된 상태
|
|||
|
// = '해피포인트 사용' 화면을 표시한다.
|
|||
|
//*****************************************************************************
|
|||
|
#region 해피포인트 제휴할인 선리딩 처리
|
|||
|
private void pnlCardMot_VisibleChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
//========================================
|
|||
|
// 만약 결제화면(pnlCardMot)이 표시될 경우
|
|||
|
//========================================
|
|||
|
if (pnlCardMot.Visible == true)
|
|||
|
{
|
|||
|
|
|||
|
//---------------------------------------------------------------------------------------------
|
|||
|
// 만약, 선릉진선 해피포인트 사용 창 결제버튼 클릭 시 자동으로 띄우는 기능이 설정되어 있을 경우
|
|||
|
// '해피포인트 사용' 화면을 표시한다.
|
|||
|
//---------------------------------------------------------------------------------------------
|
|||
|
#region '해피포인트 사용' 화면을 표시한다.
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT511) == "1")
|
|||
|
{
|
|||
|
// 해피포인트 사용(00078) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT_USE, "3");
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//------------------------------------------------------
|
|||
|
// 만약 해피포인트(옵션) 값이 설정되어 있지 않고,
|
|||
|
// 해피포인트 또는 제휴할인 카드 값이 설정되어 있을 경우
|
|||
|
// '해피포인트' 및 '제휴할인 카드' 화면을 표시한다.
|
|||
|
//------------------------------------------------------
|
|||
|
#region '해피포인트' 및 '제휴할인 카드' 화면을 표시한다.
|
|||
|
else
|
|||
|
{
|
|||
|
#region 만약 해피포인트 값이 설정되어 있을 경우 해피포인트 화면을 표시한다.
|
|||
|
if (m_cPosStatus.Sale.strHappyPointCardNo != "")
|
|||
|
{
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
|
|||
|
//기존
|
|||
|
// 해피포인트(00058) 화면 표시 -----
|
|||
|
//PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
|
|||
|
//변경
|
|||
|
#region SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시
|
|||
|
if (m_cPosStatus.Sale.strEmpInfo == "3A")
|
|||
|
{
|
|||
|
// SPC임직원할인(결제) - 상품에 적용하지 않음
|
|||
|
DataTable dtFuncKeyArr1 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY);
|
|||
|
// SPC임직원할인(할인) - 상품에 적용
|
|||
|
DataTable dtFuncKeyArr2 = m_cDataCommon.SeletFuncKeyGroupArr(PosKey.MENU_KEY.SPC_EMPLOYEE_DC);
|
|||
|
|
|||
|
if (dtFuncKeyArr1 == null || dtFuncKeyArr1.Rows.Count <= 0)
|
|||
|
{
|
|||
|
if (dtFuncKeyArr2 == null || dtFuncKeyArr2.Rows.Count <= 0)
|
|||
|
{
|
|||
|
// SPC임직원할인(결제), SPC임직원할인(할인) 둘다 기능키가 배치되어 있지 않은 경우
|
|||
|
// 해피포인트(00058) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// SPC임직원할인(할인) 기능키가 배치되어 있는 경우
|
|||
|
// 임직원할인(00064) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC, "2");
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// SPC임직원할인(결제) 기능키가 배치되어 있는 경우
|
|||
|
// 임직원할인(00281) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.SPC_EMPLOYEE_DC_PAY, "2");
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// SPC임직원이 아닌 경우
|
|||
|
// 해피포인트(00058) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.HAPPY_POINT, "1");
|
|||
|
}
|
|||
|
#endregion SPC임직원 여부, 기능키 배치 여부에 따라 SPC임직원할인(결제), SPC임직원할인(할인) 화면 표시
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 start
|
|||
|
// 1. 해피포인트 등록-> 제휴할인 적용(선리딩방식) 첫번째.
|
|||
|
// 2. 이 함수 타면서 두번째.
|
|||
|
bool bMobileDcCheck = false;
|
|||
|
|
|||
|
ArrayList alPays = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
|
|||
|
for (int iRow = 0; iRow < alPays.Count; iRow++)
|
|||
|
{
|
|||
|
Column.TR_PAYMENT.DATA cPayItem = (Column.TR_PAYMENT.DATA)alPays[iRow];
|
|||
|
if (cPayItem.CANCEL_DIV == ItemConst.PAY_CANCEL_DIV.CANCEL) continue;
|
|||
|
if (cPayItem.PAY_WAY_CD == ItemConst.TR_ITEM_ID.MOBILE_COM_POINT)
|
|||
|
{
|
|||
|
bMobileDcCheck = true;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 end
|
|||
|
|
|||
|
#region 만약 제휴할인 카드 값이 설정되어 있을 경우 제휴할인 카드 화면을 표시한다.
|
|||
|
if (m_cPosStatus.Sale.strMobileUnityCardNo != "")
|
|||
|
{
|
|||
|
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 start
|
|||
|
//기존
|
|||
|
/*
|
|||
|
// 제휴할인 카드(00292) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2");
|
|||
|
*/
|
|||
|
|
|||
|
//변경
|
|||
|
if (bMobileDcCheck == false)
|
|||
|
{
|
|||
|
// 제휴할인 카드(00292) 화면 표시 -----
|
|||
|
PayComFuncion(PosKey.MENU_KEY.MOBILE_UNITY, "2");
|
|||
|
}
|
|||
|
//#20180607 판매화면에서 해피포인트 선리딩 시 웰컴카드 번호가 있을 때 두번 조회되는 현상 수정 end
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//*****************************************************************************
|
|||
|
// (2017.11.01) 해피포인트 제휴할인 선리딩 처리를 위한 클리어 함수
|
|||
|
//-----------------------------------------------------------------------------
|
|||
|
// - 해피포인트 제휴할인 선리딩 처리를 위한
|
|||
|
// 관련 전역변수들을 클리어 해주는 함수이다.
|
|||
|
// - 만약 새로운 한 건의 판매 프로세스가 시작될 경우
|
|||
|
// 해피포인트 및 제휴할인 선리딩 처리를 위한
|
|||
|
// 전역변수들을 클리어한다.
|
|||
|
//*****************************************************************************
|
|||
|
#region 해피포인트 제휴할인 선리딩 처리를 위한 클리어 함수
|
|||
|
public void SubPriorReadingVarClear(bool blnDiv)
|
|||
|
{
|
|||
|
// 만약 파라미터 값이 'true'일 경우 -----
|
|||
|
if (blnDiv == true)
|
|||
|
{
|
|||
|
// 전역변수 클리어 -----
|
|||
|
m_cPosStatus.Sale.strHappyPointCardNo = ""; // 해피포인트 카드 번호
|
|||
|
m_cPosStatus.Sale.strMobileUnityCardNo = ""; // 제휴할인 카드 번호
|
|||
|
|
|||
|
// 해피포인트 옵션 처리 사용 유무 확인 -----
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT511) == "1") { }
|
|||
|
|
|||
|
// 상태바 클리어 -----
|
|||
|
m_cPosStatus.Sale.strPriorReading_Title = new string[2]; // 선리딩 내역 클리어
|
|||
|
lblPriorReading1.Text = ""; // 상태바 내용
|
|||
|
lblPriorReading2.Text = "";
|
|||
|
|
|||
|
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 start
|
|||
|
#region 모바일쿠폰 해피기프트카드 자동인식 기능
|
|||
|
m_cPosStatus.Sale.strMobileCpnNo = "";
|
|||
|
m_cPosStatus.Sale.strHappyGiftCardNo = "";
|
|||
|
#endregion
|
|||
|
//#15608 모바일쿠폰해피기프트카드 자동인식 기능 도입요청 end
|
|||
|
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
|
|||
|
m_cPosStatus.Sale.strEmpInfo = "";
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//*** MoonSeokWoo 2017.12.12 Add
|
|||
|
public void AllianceCardInit(bool TranMode,string TitleName,bool HPCGbn)
|
|||
|
{
|
|||
|
lblAllianceCardName.Text = TitleName;
|
|||
|
|
|||
|
if (HPCGbn == true) lblAllianceCardName.ForeColor = Color.FromArgb(217, 151, 149);
|
|||
|
else lblAllianceCardName.ForeColor = Color.FromArgb(51, 153, 255);
|
|||
|
|
|||
|
if (TranMode == true) lblAllianceCardTitle.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0742);
|
|||
|
else lblAllianceCardTitle.Text = MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0743);
|
|||
|
|
|||
|
pnlAllianceCard.Visible = true;
|
|||
|
|
|||
|
//#20180413 웰컴카드 신규기능 추가 start,phj
|
|||
|
pnlAllianceCard.BringToFront();
|
|||
|
//#20180413 웰컴카드 신규기능 추가 end,phj
|
|||
|
|
|||
|
AllianceCardTime = DateTime.Now;
|
|||
|
}
|
|||
|
//*** MoonSeokWoo 2017.12.12 End
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
/// <summary>
|
|||
|
/// 해피포인트 고개번호 조회
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private string SchHappyPointMembInfo(string sInPutType, string sInCardNo)
|
|||
|
{
|
|||
|
string sSchMembNo = "";
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
m_sInPutType = "";
|
|||
|
m_sInMaskData = "";
|
|||
|
m_sInEncData = "";
|
|||
|
m_sServiceCode = "";
|
|||
|
m_sAppCardNo = "";
|
|||
|
|
|||
|
m_sInPutType = sInPutType;
|
|||
|
m_sAppCardNo = sInCardNo;
|
|||
|
|
|||
|
|
|||
|
// 해피포인트 카드만 자동등록 처리
|
|||
|
if (sInCardNo.StartsWith(PosConst.HP_CARD_PRIFIX) == false) return sSchMembNo;
|
|||
|
|
|||
|
IPaymentExpUs m_cHappyPoint = (IPaymentExpUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT);
|
|||
|
|
|||
|
//암호화
|
|||
|
EncryptedCardNo(m_sAppCardNo, ref m_sInEncData, ref m_sInMaskData);
|
|||
|
|
|||
|
// 해피 포인트 적립카드 조회
|
|||
|
string[] saRecvdData = null;
|
|||
|
string sRet = m_cHappyPoint.SearchPayment(new string[] { sInPutType, m_sInMaskData, m_sInEncData, "1", "", m_sAppCardNo }, ref saRecvdData);
|
|||
|
if (sRet != UserCom.RST_OK) return sSchMembNo;
|
|||
|
|
|||
|
//m_sInEncData = sInEncData;
|
|||
|
|
|||
|
// 조회 데이터 획득
|
|||
|
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { });
|
|||
|
|
|||
|
int nNowPos = 0;
|
|||
|
string[] aIrtRsp = new string[Column.POINT_ADD_INFO_SEARCH.LEN.Length];
|
|||
|
ItemColumn.ParseMessage(Column.POINT_ADD_INFO_SEARCH.LEN, Column.POINT_ADD_INFO_SEARCH.TYPE, Encoding.Default.GetBytes(cEtcItem.HP_ADD_INFO_SCH), ref nNowPos, ref aIrtRsp);
|
|||
|
|
|||
|
// 고객정보 중에서 첫번째 카드 선택
|
|||
|
string sMemInfo = aIrtRsp[Column.POINT_ADD_INFO_SEARCH.SEQ.pointMEMINFO];
|
|||
|
if (sMemInfo != "" && CmUtil.IntParse(sMemInfo.Substring(0, 1)) > 0)
|
|||
|
{
|
|||
|
sSchMembNo = CmUtil.MidH(sMemInfo, 45, 35).Trim(); // 해피포인트 고객번호
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
return sSchMembNo;
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
return sSchMembNo;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 카드 번호 암호화
|
|||
|
/// </summary>
|
|||
|
/// <param name="sInData"></param>
|
|||
|
/// <param name="sInMaskData"></param>
|
|||
|
/// <param name="sInEncData"></param>
|
|||
|
/// <returns></returns>
|
|||
|
private string EncryptedCardNo(string sInData, ref string sCardData, ref string sCardNo)
|
|||
|
{
|
|||
|
string sEncData = sInData;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
sEncData = m_cDeviceICReader.GetEncryptedCardNo(sInData).Trim();
|
|||
|
|
|||
|
if (CmUtil.MidH(sEncData, 0, 2) == "00")
|
|||
|
{
|
|||
|
sCardData = CmUtil.MidH(sEncData, 2, 512).Trim();
|
|||
|
sCardNo = CmUtil.MidH(sEncData, 514, sEncData.Length - 514).Trim();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//암호화 처리 실패!
|
|||
|
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "Fail =>" + sInData);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
return sEncData;
|
|||
|
}
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start
|
|||
|
#region 고객 구매이력 정보 버튼 입력 처리
|
|||
|
/// <summary>
|
|||
|
/// 고객 구매이력 정보 버튼 입력 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btnBuyList_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (((Cosmos.UI.CsmButton)sender) == btnBuyListCls)
|
|||
|
{
|
|||
|
pnlBuyHist.Visible = false;
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|||
|
pnlBuyHistMot.Visible = false;
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
}
|
|||
|
else if (((Cosmos.UI.CsmButton)sender) == btnCpnSend)
|
|||
|
{
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180508
|
|||
|
//[쿠폰발송] 버튼 클릭시 '쿠폰발송 기능은 추후 오픈 예정입니다.' 팝업 출력
|
|||
|
|
|||
|
//#20180605 해피쿠폰 발송 해당 옵션 체크 기능 제외 start
|
|||
|
/*
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT513) != "1")
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0785);
|
|||
|
return;
|
|||
|
}
|
|||
|
*/
|
|||
|
//#20180605 해피쿠폰 발송 해당 옵션 체크 기능 제외 end
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180508
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.HpyCokStorYn != "1")
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0786);
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (m_cPosStatus.Mst.CpnSendYn != "1")
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0787);
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (m_cPosStatus.Sale.sRegularYN != "Y")
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0788);
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180502
|
|||
|
//기능키 추가 후 권한 체크 기능 적용
|
|||
|
if (WinBasic.CheckMenuKeyAuth(PosKey.MENU_KEY.HPYCPN_SEND) == false) return; // 기능키 판매원 권한 체크
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180502
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180528
|
|||
|
//쿠폰 발송 횟수 제한 기능
|
|||
|
|
|||
|
//저장된 쿠폰 발송 횟수 가져오기
|
|||
|
string sCpnSendCnt = m_cDataCommon.CpnSendCntSearch();
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|||
|
//저장되지 않은 쿠폰 발송 횟수 가져오기
|
|||
|
int iCpnSendCnt = 0;
|
|||
|
ArrayList alEtcItem = (ArrayList)StateObject.GetItemObject(Column.TR_ETC.ITEM); // 기타 내역 받아 오기
|
|||
|
foreach (Column.TR_ETC.DATA cEtcItem in alEtcItem)
|
|||
|
{
|
|||
|
if (cEtcItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
|
|||
|
|
|||
|
//해피쿠폰 발송
|
|||
|
if (cEtcItem.ETC_WAY_CD == ItemConst.TR_ITEM_ID.ETC_INFO_ITEM && cEtcItem.ETC_DTL_CD_01 == ItemConst.TR_ITEM_ID.ETC_INFO.HAPPYCPN_SEND)
|
|||
|
{
|
|||
|
iCpnSendCnt = iCpnSendCnt + 1;
|
|||
|
}
|
|||
|
}
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180531
|
|||
|
//기존
|
|||
|
//if (CmUtil.IntParse(m_cPosStatus.Mst.CpnSendLimitCnt) <= CmUtil.IntParse(sCpnSendCnt))
|
|||
|
//변경
|
|||
|
if (CmUtil.IntParse(m_cPosStatus.Mst.CpnSendLimitCnt) <= CmUtil.IntParse(sCpnSendCnt) + iCpnSendCnt)
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180531
|
|||
|
{
|
|||
|
WinManager.ConfirmMessage(string.Format(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0789), m_cPosStatus.Mst.CpnSendLimitCnt));
|
|||
|
//WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0789);
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180528
|
|||
|
|
|||
|
WinPay.ShowForm(new string[] { FormManager.FORM_CPN_SEND, m_sInPutType, m_sInMaskData, m_sInEncData, m_sServiceCode, m_sAppCardNo});
|
|||
|
}
|
|||
|
else if (((Cosmos.UI.CsmButton)sender) == btnHpCok)
|
|||
|
{
|
|||
|
pnlBuyHist.Visible = false;
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|||
|
pnlBuyHistMot.Visible = false;
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 고객 구매이력 정보 라벨 입력 처리
|
|||
|
/// <summary>
|
|||
|
/// 고객 구매이력 정보 버튼 입력 처리
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void lblBuyList_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
pnlBuyHist.Visible = false;
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 start, 20180510
|
|||
|
//고객 구매이력 정보 표시 시점에 상단 MOT 표시
|
|||
|
pnlBuyHistMot.Visible = false;
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end, 20180510
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
//#20180418 고객 구매이력 정보 표시 및 해피쿠폰 발송 end
|
|||
|
|
|||
|
|
|||
|
//#15058 해피오더 버튼 변경_20180612 start,phj
|
|||
|
#region 해피오더 신규주문 건 표시 상단 패널
|
|||
|
private void NewHPOrdDisplay()
|
|||
|
{
|
|||
|
//#20180605 해피오더 개선 start - 20180618
|
|||
|
#region 기존
|
|||
|
/*
|
|||
|
try
|
|||
|
{
|
|||
|
int iNewOrdCnt = 0;
|
|||
|
iNewOrdCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0"));
|
|||
|
if (iNewOrdCnt > 99) { iNewOrdCnt = 99; }
|
|||
|
|
|||
|
if (iNewOrdCnt > 0)
|
|||
|
{
|
|||
|
//NewHPOrd_Disp.Width = lblIFStatus1.Width;
|
|||
|
//NewHPOrd_Disp.Left = lblIFStatus1.Left;
|
|||
|
//NewHPOrd_Disp.Top = 0;// lblIFStatus1.Top;
|
|||
|
//NewHPOrd_Disp.Height = 50; // lblIFStatus1.Height;
|
|||
|
|
|||
|
PnlNewHPOrd_Disp.Width = lblIFStatus1.Width;
|
|||
|
PnlNewHPOrd_Disp.Left = lblIFStatus1.Left;
|
|||
|
PnlNewHPOrd_Disp.Top = 0;// lblIFStatus1.Top;
|
|||
|
PnlNewHPOrd_Disp.Height = 50; // lblIFStatus1.Height;
|
|||
|
|
|||
|
NewHPOrd_Disp.Visible = true;
|
|||
|
NewHPOrd_Disp2.Visible = true;
|
|||
|
|
|||
|
NewHPOrd_Disp.Left = 0;
|
|||
|
NewHPOrd_Disp.Top = 0;
|
|||
|
NewHPOrd_Disp.Width = PnlNewHPOrd_Disp.Width - (PnlNewHPOrd_Disp.Width / 3);
|
|||
|
NewHPOrd_Disp.Height = 50;
|
|||
|
|
|||
|
NewHPOrd_Disp2.Left = NewHPOrd_Disp.Width;
|
|||
|
NewHPOrd_Disp2.Top = 0;
|
|||
|
NewHPOrd_Disp2.Width = PnlNewHPOrd_Disp.Width - NewHPOrd_Disp.Width;
|
|||
|
NewHPOrd_Disp2.Height = 50;
|
|||
|
|
|||
|
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0)
|
|||
|
{
|
|||
|
NewHPOrd_Disp.Text = "";
|
|||
|
NewHPOrd_Disp2.Text = "";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
string sStr = "";
|
|||
|
string sClose = "";
|
|||
|
int iStrtNum = 0;
|
|||
|
|
|||
|
NewHPOrd_Disp.Text = "";
|
|||
|
NewHPOrd_Disp.ReadOnly = true;
|
|||
|
|
|||
|
NewHPOrd_Disp.SelectionFont = new Font(m_cPosStatus.Base.FONT, 16, FontStyle.Bold);
|
|||
|
NewHPOrd_Disp.SelectionAlignment = HorizontalAlignment.Right;
|
|||
|
|
|||
|
sStr = "해피오더 신규 (" + iNewOrdCnt.ToString() + ")";
|
|||
|
|
|||
|
NewHPOrd_Disp.AppendText(sStr);
|
|||
|
NewHPOrd_Disp.Select(iStrtNum, sStr.Length);
|
|||
|
NewHPOrd_Disp.SelectionColor = Color.Yellow;
|
|||
|
|
|||
|
//sClose = " [닫기]";
|
|||
|
//NewHPOrd_Disp.AppendText(sClose);
|
|||
|
//NewHPOrd_Disp.Select(sStr.Length, sClose.Length);
|
|||
|
//NewHPOrd_Disp.SelectionColor = Color.Black;
|
|||
|
|
|||
|
NewHPOrd_Disp.ReadOnly = true;
|
|||
|
NewHPOrd_Disp.BringToFront();
|
|||
|
|
|||
|
|
|||
|
|
|||
|
NewHPOrd_Disp2.Text = "";
|
|||
|
|
|||
|
NewHPOrd_Disp2.SelectionFont = new Font(m_cPosStatus.Base.FONT, 16, FontStyle.Bold);
|
|||
|
NewHPOrd_Disp2.SelectionAlignment = HorizontalAlignment.Left;
|
|||
|
|
|||
|
sClose = " [닫기]";
|
|||
|
NewHPOrd_Disp2.AppendText(sClose);
|
|||
|
NewHPOrd_Disp2.Select(0, sClose.Length);
|
|||
|
NewHPOrd_Disp2.SelectionColor = Color.Black;
|
|||
|
|
|||
|
NewHPOrd_Disp2.ReadOnly = true;
|
|||
|
NewHPOrd_Disp2.BringToFront();
|
|||
|
}
|
|||
|
|
|||
|
//NewHPOrd_Disp.Visible = true;
|
|||
|
PnlNewHPOrd_Disp.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
NewHPOrd_Disp.Visible = false;
|
|||
|
NewHPOrd_Disp2.Visible = false;
|
|||
|
|
|||
|
//NewHPOrd_Disp.Visible = false;
|
|||
|
PnlNewHPOrd_Disp.Visible = false;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
*/
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 변경
|
|||
|
try
|
|||
|
{
|
|||
|
// 해피오더 신규주문(일반주문건수 + 배달주문건수 + 예약주문건수)
|
|||
|
int iNewOrdCnt = int.Parse(CmUtil.IsNull(m_cPosStatus.Sale.HappyOrderTotRegCnt, "0"));
|
|||
|
if (iNewOrdCnt > 99) { iNewOrdCnt = 99; }
|
|||
|
|
|||
|
if (iNewOrdCnt > 0)
|
|||
|
{
|
|||
|
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0)
|
|||
|
{
|
|||
|
NewHPOrd_Disp.Text = "";
|
|||
|
NewHPOrd_Disp2.Text = "";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
PnlNewHPOrd_Disp.BorderStyle = BorderStyle.None;
|
|||
|
PnlNewHPOrd_Disp.BackColor = Color.Red;
|
|||
|
|
|||
|
NewHPOrd_Disp.Text = "";
|
|||
|
NewHPOrd_Disp.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
|
|||
|
NewHPOrd_Disp.TextAlign = ContentAlignment.MiddleCenter;
|
|||
|
NewHPOrd_Disp.BorderStyle = BorderStyle.None;
|
|||
|
NewHPOrd_Disp.AutoSize = true;
|
|||
|
NewHPOrd_Disp.ForeColor = Color.Yellow;
|
|||
|
NewHPOrd_Disp.BackColor = Color.Red;
|
|||
|
NewHPOrd_Disp.Text = "해피오더 신규(" + iNewOrdCnt.ToString() + ")";
|
|||
|
NewHPOrd_Disp.BringToFront();
|
|||
|
|
|||
|
|
|||
|
NewHPOrd_Disp2.Text = "";
|
|||
|
NewHPOrd_Disp2.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
|
|||
|
NewHPOrd_Disp2.TextAlign = ContentAlignment.MiddleCenter;
|
|||
|
NewHPOrd_Disp2.BorderStyle = BorderStyle.None;
|
|||
|
NewHPOrd_Disp2.AutoSize = true;
|
|||
|
NewHPOrd_Disp2.ForeColor = Color.Black;
|
|||
|
NewHPOrd_Disp2.BackColor = Color.Red;
|
|||
|
NewHPOrd_Disp2.Text = "[닫기]";
|
|||
|
NewHPOrd_Disp2.BringToFront();
|
|||
|
|
|||
|
int iWidth = NewHPOrd_Disp.Width + NewHPOrd_Disp2.Width;
|
|||
|
NewHPOrd_Disp.Left = (PnlNewHPOrd_Disp.Width - iWidth) / 2;
|
|||
|
NewHPOrd_Disp2.Left = NewHPOrd_Disp.Left + NewHPOrd_Disp.Width;
|
|||
|
|
|||
|
int iFill = 3;
|
|||
|
NewHPOrd_Disp.Top = ((PnlNewHPOrd_Disp.Height - NewHPOrd_Disp.Height) / 2) - iFill;
|
|||
|
NewHPOrd_Disp2.Top = NewHPOrd_Disp.Top;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
NewHPOrd_Disp.Visible = true;
|
|||
|
NewHPOrd_Disp2.Visible = true;
|
|||
|
PnlNewHPOrd_Disp.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
NewHPOrd_Disp.Visible = false;
|
|||
|
NewHPOrd_Disp2.Visible = false;
|
|||
|
PnlNewHPOrd_Disp.Visible = false;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
#endregion
|
|||
|
//#20180605 해피오더 개선 end - 20180618
|
|||
|
}
|
|||
|
|
|||
|
private void NewHPOrd_Disp_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 start
|
|||
|
//변경
|
|||
|
// 상품 등록 중일 경우 빠져 나간다.
|
|||
|
ArrayList alSaleItem = (ArrayList)StateObject.GetItemObject(Column.TR_PLU.ITEM);
|
|||
|
if (alSaleItem.Count > 0)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0021));
|
|||
|
return;
|
|||
|
}
|
|||
|
//#15626 PB 평택법조타운 - 포스사용중 '고객센터로 연락주세요'팝업창 뜨는 증상 end
|
|||
|
|
|||
|
iCount = 0;
|
|||
|
bSaleMain = false;
|
|||
|
|
|||
|
NewHPOrd_Disp.Visible = false;
|
|||
|
NewHPOrd_Disp2.Visible = false;
|
|||
|
PnlNewHPOrd_Disp.Visible = false;
|
|||
|
|
|||
|
//#20180615 해피오더 팝업 수정 start
|
|||
|
//기존
|
|||
|
//WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "" });
|
|||
|
//변경
|
|||
|
WinSale.ShowForm(new string[] { FormManager.FORM_SAL_HPORD, "01", "C" });
|
|||
|
//#20180615 해피오더 팝업 수정 end
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void NewHPOrd_Disp2_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
iCount = 0;
|
|||
|
bSaleMain = false;
|
|||
|
|
|||
|
NewHPOrd_Disp.Visible = false;
|
|||
|
NewHPOrd_Disp2.Visible = false;
|
|||
|
PnlNewHPOrd_Disp.Visible = false;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
//#15058 해피오더 버튼 변경_20180612 end,phj
|
|||
|
|
|||
|
//#15525 고객구매이력 수정 요청 start
|
|||
|
//VIP 여부 안내 표시
|
|||
|
#region VIP 여부 안내표시 클릭시 안보이게 처리
|
|||
|
private void picVip_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
pnlBuyHistVip.Visible = false;
|
|||
|
}
|
|||
|
#endregion VIP 여부 안내표시 클릭시 안보이게 처리
|
|||
|
|
|||
|
private void picVip_Paint(object sender, PaintEventArgs e)
|
|||
|
{
|
|||
|
/*
|
|||
|
Image myBitmapTemp;
|
|||
|
|
|||
|
// Create a Bitmap object from an image file.
|
|||
|
Bitmap myBitmap = new Bitmap(BaseCom.NxImgPath + "crown12.png");
|
|||
|
|
|||
|
// Draw myBitmap to the screen.
|
|||
|
//e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width, myBitmap.Height);
|
|||
|
|
|||
|
// Get the color of a background pixel.
|
|||
|
Color backColor = myBitmap.GetPixel(5, 5);
|
|||
|
|
|||
|
// Make backColor transparent for myBitmap.
|
|||
|
myBitmap.MakeTransparent(backColor);
|
|||
|
|
|||
|
myBitmapTemp = (Image)myBitmap;
|
|||
|
|
|||
|
// Draw the transparent bitmap to the screen.
|
|||
|
e.Graphics.DrawImage(myBitmapTemp, 0, 0, myBitmap.Width, myBitmap.Height);
|
|||
|
*/
|
|||
|
}
|
|||
|
|
|||
|
//#15525 고객구매이력 수정 요청 end
|
|||
|
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
|
|||
|
#region 해피오더 추가재고 실시간 알람 (10분마다 1분동안 보임)
|
|||
|
private void HappyOrderInventoryAlram()
|
|||
|
{
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT518) != "1") return;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
// Y: 미등록 재고존재 / N: 미등록 재고없음
|
|||
|
if (m_cPosStatus.Sale.HappyOrderInventoryYN == "Y")
|
|||
|
{
|
|||
|
if (CmUtil.IntParse(DateTime.Now.ToString("ss")) % 2 == 0)
|
|||
|
{
|
|||
|
lb_HPOInventoryAlram.Text = "";
|
|||
|
lb_HPOInventoryAlram2.Text = "";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Pnl_HPOInventoryAlram.BorderStyle = BorderStyle.None;
|
|||
|
Pnl_HPOInventoryAlram.BackColor = Color.Red;
|
|||
|
|
|||
|
lb_HPOInventoryAlram.Text = "";
|
|||
|
lb_HPOInventoryAlram.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
|
|||
|
lb_HPOInventoryAlram.TextAlign = ContentAlignment.MiddleCenter;
|
|||
|
lb_HPOInventoryAlram.BorderStyle = BorderStyle.None;
|
|||
|
lb_HPOInventoryAlram.AutoSize = true;
|
|||
|
lb_HPOInventoryAlram.ForeColor = Color.Yellow;
|
|||
|
lb_HPOInventoryAlram.BackColor = Color.Red;
|
|||
|
lb_HPOInventoryAlram.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1179); //20180821
|
|||
|
lb_HPOInventoryAlram.BringToFront();
|
|||
|
|
|||
|
|
|||
|
lb_HPOInventoryAlram2.Text = "";
|
|||
|
lb_HPOInventoryAlram2.Font = new Font(m_cPosStatus.Base.FONT, 15, FontStyle.Bold);
|
|||
|
lb_HPOInventoryAlram2.TextAlign = ContentAlignment.MiddleCenter;
|
|||
|
lb_HPOInventoryAlram2.BorderStyle = BorderStyle.None;
|
|||
|
lb_HPOInventoryAlram2.AutoSize = true;
|
|||
|
lb_HPOInventoryAlram2.ForeColor = Color.Black;
|
|||
|
lb_HPOInventoryAlram2.BackColor = Color.Red;
|
|||
|
lb_HPOInventoryAlram2.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1180); //20180821
|
|||
|
lb_HPOInventoryAlram2.BringToFront();
|
|||
|
|
|||
|
int iWidth = lb_HPOInventoryAlram.Width + lb_HPOInventoryAlram2.Width;
|
|||
|
lb_HPOInventoryAlram.Left = (Pnl_HPOInventoryAlram.Width - iWidth) / 2;
|
|||
|
lb_HPOInventoryAlram2.Left = lb_HPOInventoryAlram.Left + lb_HPOInventoryAlram.Width;
|
|||
|
|
|||
|
int iFill = 3;
|
|||
|
lb_HPOInventoryAlram.Top = ((Pnl_HPOInventoryAlram.Height - lb_HPOInventoryAlram.Height) / 2) - iFill;
|
|||
|
lb_HPOInventoryAlram2.Top = lb_HPOInventoryAlram.Top;
|
|||
|
}
|
|||
|
|
|||
|
HappyOrderInventoryAlram_StatChange(true);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
HappyOrderInventoryAlram_StatChange(false);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
|
|||
|
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
|
|||
|
#region 해피오더 추가재고 실시간 알람 클릭
|
|||
|
private void lb_HPOInventoryAlram_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
HappyOrderInventoryAlram_StatChange(false);
|
|||
|
|
|||
|
if (sender.GetType().Equals(typeof(Cosmos.UI.CsmLabel)))
|
|||
|
{
|
|||
|
if (((Cosmos.UI.CsmLabel)sender).Name == "lb_HPOInventoryAlram")
|
|||
|
{
|
|||
|
WinBasic.ShowWebPos(PosKey.MENU_KEY.HPO_INVENTORY_ALRAM);
|
|||
|
}
|
|||
|
}
|
|||
|
else if (sender.GetType().Equals(typeof(System.Windows.Forms.Panel)))
|
|||
|
{
|
|||
|
if (((System.Windows.Forms.Panel)sender).Name == "Pnl_HPOInventoryAlram")
|
|||
|
{
|
|||
|
WinBasic.ShowWebPos(PosKey.MENU_KEY.HPO_INVENTORY_ALRAM);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion 해피오더 추가재고 실시간 알람 클릭
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
|
|||
|
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start
|
|||
|
#region 해피오더 추가재고 실시간 알람 초기화
|
|||
|
private void HappyOrderInventoryAlram_StatChange(bool bStat)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 start - #16368
|
|||
|
//기존
|
|||
|
/*
|
|||
|
if (bStat == true)
|
|||
|
{
|
|||
|
bInventoryDispStat = true;
|
|||
|
lb_HPOInventoryAlram.Visible = true;
|
|||
|
lb_HPOInventoryAlram2.Visible = true;
|
|||
|
Pnl_HPOInventoryAlram.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
iInventoryDispCnt = 0;
|
|||
|
bInventoryDispStat = false;
|
|||
|
lb_HPOInventoryAlram.Visible = false;
|
|||
|
lb_HPOInventoryAlram2.Visible = false;
|
|||
|
Pnl_HPOInventoryAlram.Visible = false;
|
|||
|
}
|
|||
|
*/
|
|||
|
|
|||
|
//변경
|
|||
|
if (bStat == true)
|
|||
|
{
|
|||
|
lb_HPOInventoryAlram.Visible = true;
|
|||
|
lb_HPOInventoryAlram2.Visible = true;
|
|||
|
Pnl_HPOInventoryAlram.Visible = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
bInventoryCancel = true;
|
|||
|
lb_HPOInventoryAlram.Visible = false;
|
|||
|
lb_HPOInventoryAlram2.Visible = false;
|
|||
|
Pnl_HPOInventoryAlram.Visible = false;
|
|||
|
}
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end - #16368
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
|
|||
|
"HappyOrderInventoryAlram [" + bStat + "]" + ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion 해피오더 추가재고 실시간 알람 초기화
|
|||
|
//#15884 해피오더 실시간 추가재고 등록메뉴 및 알람기능 개발 end
|
|||
|
|
|||
|
//#16577 결제창 내부 봉투 추가 기능 도입 start
|
|||
|
private void BtnAddBag_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
string sRet = UserCom.RST_ERR;
|
|||
|
|
|||
|
//#16577 결제창 내부 봉투 추가 기능 도입 start, 20180920
|
|||
|
DataTable dtData = new DataTable();
|
|||
|
//#16577 결제창 내부 봉투 추가 기능 도입 end, 20180920
|
|||
|
|
|||
|
//bool bRet = true;
|
|||
|
|
|||
|
// 결제 건이 있는지 체크
|
|||
|
// 결제 내역 받아 오기
|
|||
|
ArrayList alTrPayItem = (ArrayList)StateObject.GetItemObject(Column.TR_PAYMENT.ITEM);
|
|||
|
|
|||
|
foreach (Column.TR_PAYMENT.DATA cPayItem in alTrPayItem)
|
|||
|
{
|
|||
|
// 취소시 제외
|
|||
|
if (cPayItem.CANCEL_DIV == PosConst.CANCEL_DIV.CANCEL) continue;
|
|||
|
|
|||
|
// 결제 건
|
|||
|
if (cPayItem.PAY_DTL_CD_05 == PosConst.PAY_DC_TYPE.PAY)
|
|||
|
{
|
|||
|
WinManager.ErrorMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0801));
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//봉투창 표시
|
|||
|
sRet = WinBasic.ShowForm(new string[] { FormManager.FORM_ADD_BAG });
|
|||
|
|
|||
|
if (sRet == UserCom.RST_ERR)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
//봉투 선택 한 경우 입력 처리
|
|||
|
if (sRet != UserCom.RST_ERR)
|
|||
|
{
|
|||
|
string[] aParam = sRet.Split(new string[] { "^" }, StringSplitOptions.None);
|
|||
|
if (aParam.Length > 0)
|
|||
|
{
|
|||
|
for (int iRow = 0; iRow < aParam.Length; iRow++)
|
|||
|
{
|
|||
|
if (string.IsNullOrEmpty(aParam[iRow]) == false)
|
|||
|
{
|
|||
|
// 상품 등록 처리
|
|||
|
m_cSaleMainProc.RegisterPluItem("", PosConst.SALE_PLU_INPUT_TYPE.MENUKEY + CmUtil.RPadH(m_cPosStatus.Base.SubShopNo, 10) + aParam[iRow], "");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//#16577 결제창 내부 봉투 추가 기능 도입 start, 20180920
|
|||
|
// 상품 판매가 계산
|
|||
|
m_cPluService.ItemAmountExeccute(true, true);
|
|||
|
|
|||
|
DisplayItem(1, false);
|
|||
|
//#16577 결제창 내부 봉투 추가 기능 도입 end, 20180920
|
|||
|
}
|
|||
|
|
|||
|
//결제등록 정보 화면 표시
|
|||
|
DisplayPayment();
|
|||
|
|
|||
|
/*
|
|||
|
if (bRet == false)
|
|||
|
{
|
|||
|
WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0803));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//WinManager.ConfirmMessage(MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0802));
|
|||
|
}
|
|||
|
*/
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." +
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().Name + "()",
|
|||
|
ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
//#16577 결제창 내부 봉투 추가 기능 도입 end
|
|||
|
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 start
|
|||
|
#region 해피포인트 임직원 여부 조회
|
|||
|
/// <summary>
|
|||
|
/// 해피포인트 임직원 여부 조회
|
|||
|
/// </summary>
|
|||
|
/// <param name="sInPutType"></param>
|
|||
|
/// <param name="sInCardNo"></param>
|
|||
|
private string SchHappyPointEmpInfo(string sInPutType, string sInCardNo)
|
|||
|
{
|
|||
|
string sSchEmpInfo = "";
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
m_sInPutType = "";
|
|||
|
m_sInMaskData = "";
|
|||
|
m_sInEncData = "";
|
|||
|
m_sServiceCode = "";
|
|||
|
m_sAppCardNo = "";
|
|||
|
|
|||
|
m_sInPutType = sInPutType;
|
|||
|
m_sAppCardNo = sInCardNo;
|
|||
|
|
|||
|
|
|||
|
// 해피포인트 카드만 자동등록 처리
|
|||
|
if (sInCardNo.StartsWith(PosConst.HP_CARD_PRIFIX) == false) return sSchEmpInfo;
|
|||
|
|
|||
|
IPaymentExpUs m_cHappyPoint = (IPaymentExpUs)sManager.InitServiceInstance(ServiceLists.BSV_PAYMENT.DLL, ServiceLists.BSV_PAYMENT.POINTHAPPYPOINT);
|
|||
|
|
|||
|
//암호화
|
|||
|
EncryptedCardNo(m_sAppCardNo, ref m_sInEncData, ref m_sInMaskData);
|
|||
|
|
|||
|
// 해피 포인트 적립카드 조회
|
|||
|
string[] saRecvdData = null;
|
|||
|
string sRet = m_cHappyPoint.SearchPayment(new string[] { sInPutType, m_sInMaskData, m_sInEncData, "1", "", m_sAppCardNo }, ref saRecvdData);
|
|||
|
if (sRet != UserCom.RST_OK) return sSchEmpInfo;
|
|||
|
|
|||
|
//m_sInEncData = sInEncData;
|
|||
|
|
|||
|
// 조회 데이터 획득
|
|||
|
Column.TR_ETC.DATA cEtcItem = (Column.TR_ETC.DATA)m_cHappyPoint.GetPayment(new string[] { });
|
|||
|
|
|||
|
int nNowPos = 0;
|
|||
|
string[] aIrtRsp = new string[Column.POINT_ADD_INFO_SEARCH.LEN.Length];
|
|||
|
ItemColumn.ParseMessage(Column.POINT_ADD_INFO_SEARCH.LEN, Column.POINT_ADD_INFO_SEARCH.TYPE, Encoding.Default.GetBytes(cEtcItem.HP_ADD_INFO_SCH), ref nNowPos, ref aIrtRsp);
|
|||
|
|
|||
|
// 고객정보 중에서 첫번째 카드 선택
|
|||
|
sSchEmpInfo = aIrtRsp[Column.POINT_ADD_INFO_SEARCH.SEQ.pointCARDGBCD].Trim();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
return sSchEmpInfo;
|
|||
|
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
|
|||
|
return sSchEmpInfo;
|
|||
|
}
|
|||
|
#endregion 해피포인트 임직원 여부 조회
|
|||
|
//#15169 임직원 해피App 바코드리딩 시 자동할인적용 개선요청 end
|
|||
|
|
|||
|
}
|
|||
|
}
|