877 lines
39 KiB
C#
877 lines
39 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using System.Runtime.InteropServices;
|
|
|
|
using Cosmos.BaseFrame;
|
|
using Cosmos.UserFrame;
|
|
using Cosmos.ServiceProvider;
|
|
using Cosmos.Common;
|
|
using Cosmos.CommonManager;
|
|
using Cosmos.UI;
|
|
|
|
namespace Cosmos.Win
|
|
{
|
|
/// <summary>
|
|
/// 판매원(캐셔) 로그인 및 등록
|
|
/// </summary>
|
|
public partial class frmLogOnCashier : Form
|
|
{
|
|
#region 변수선언 및 생성자
|
|
private SManager sManager = new SManager(); //이 객체를 통해 업무 Service 호출
|
|
private StateServer StateObject = (StateServer)StateServer.GetInstance(); //StateObject : StateServer Object(객체)
|
|
private PosStatus m_cPosStatus; //기본정보 참조
|
|
private TranStatus m_cTrnStatus; //거래정보 참조
|
|
|
|
private object ActiveTxtBox = null;
|
|
|
|
/// <summary>
|
|
/// 담당자 ID
|
|
/// </summary>
|
|
private string m_sCashierNo;
|
|
/// <summary>
|
|
/// 담당자 패스워드
|
|
/// </summary>
|
|
private string m_sCashierPwd;
|
|
|
|
private string m_sPosMenuKey;
|
|
/// <summary>
|
|
/// 기능키
|
|
/// </summary>
|
|
public string PosMenuKey { set { m_sPosMenuKey = value; } get { return m_sPosMenuKey; } }
|
|
|
|
private string m_sCashierInfo;
|
|
/// <summary>
|
|
/// 등록된 판매원 정보
|
|
/// </summary>
|
|
public string CashierInfo { set { m_sCashierInfo = value; } get { return m_sCashierInfo; } }
|
|
|
|
[DllImport("user32.dll")]
|
|
public static extern bool SetForegroundWindow(IntPtr hWnd);
|
|
|
|
public frmLogOnCashier()
|
|
{
|
|
InitializeComponent();
|
|
|
|
base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true);
|
|
//this.UpdateStyles();
|
|
|
|
m_cPosStatus = (PosStatus)StateObject.POS; //POS 기본정보
|
|
m_cTrnStatus = (TranStatus)StateObject.TRAN; //POS 거래정보
|
|
|
|
LoadInPutKey();
|
|
}
|
|
|
|
private void frmLogOn_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 + "()", "");
|
|
|
|
InitControl();
|
|
|
|
this.Tag = "START";
|
|
}
|
|
|
|
private void frmLogOn_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", lblTitle.Text);
|
|
}
|
|
|
|
private void frmLogOnCashier_Activated(object sender, EventArgs e)
|
|
{
|
|
if (this.Tag.ToString() == "START")
|
|
{
|
|
this.Tag = "";
|
|
CmUtil.IgnoreMouseClick(this); // 마우스 클릭 무시
|
|
}
|
|
SetForegroundWindow(this.Handle);
|
|
}
|
|
#endregion
|
|
|
|
#region InitControl 폼 컨트롤 초기화
|
|
/// <summary>
|
|
/// 폼 컨트롤 초기화
|
|
/// </summary>
|
|
private void InitControl()
|
|
{
|
|
try
|
|
{
|
|
FormManager.SetFormAllControlFont(this, m_cPosStatus.Base.FONT);
|
|
FormManager.SetTextBoxGlobalInfo(this, m_cPosStatus.Global.m_stCultureMaster.nGroupingDigits, m_cPosStatus.Global.m_stCultureMaster.strGroupingSymbol
|
|
, m_cPosStatus.Global.m_stCultureMaster.nDecimalDigits, m_cPosStatus.Global.m_stCultureMaster.strDecimalSymbol);
|
|
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.LOG_ON)
|
|
{
|
|
// 캐셔 로그인 화면 처리
|
|
this.Location = new Point(0, 0);
|
|
picBack.Location = new Point(0, 0);
|
|
if (System.IO.File.Exists(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + m_cPosStatus.ScnMst.LoginImg) == false)
|
|
picBack.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, ImageManager.LOGIN_BACKGROUND);
|
|
else
|
|
picBack.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, m_cPosStatus.ScnMst.LoginImg);
|
|
|
|
picCILogo.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, m_cPosStatus.ScnMst.BrandCiImg);
|
|
picCILogo.Parent = picBack;
|
|
if (picCILogo.Image != null)
|
|
CmUtil.FileCopy(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + m_cPosStatus.ScnMst.BrandCiImg, BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + ImageManager.BRADN_CI, false);
|
|
else
|
|
picCILogo.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, ImageManager.BRADN_CI);
|
|
|
|
btnAlphaLarge.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.LOGIN_ALPHAL);
|
|
btnAlphaSmall.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.LOGIN_ALPHAS);
|
|
btnNumber.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.LOGIN_NUMBER);
|
|
btnClear.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.LOGIN_CLAER);
|
|
|
|
btnExit.Image = null;
|
|
btnExit.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0008);
|
|
btnEnter.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0009);
|
|
btnEnter.BackColor = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
|
|
|
|
// Add, 2017.09.04, 로그인화면에 근태등록 바로가기 추가
|
|
btnRegInOut.Visible = true;
|
|
btnRegInOut.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0333);
|
|
btnRegInOut.BackColor = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
|
|
|
|
txtCashierNo.BackColor = Color.FromArgb(85, 85, 85);
|
|
txtCashierNm.BackColor = Color.FromArgb(85, 85, 85);
|
|
txtPassword.BackColor = Color.FromArgb(85, 85, 85);
|
|
txtCashierNo.ForeColor = Color.White;
|
|
txtCashierNm.ForeColor = Color.White;
|
|
txtPassword.ForeColor = Color.White;
|
|
|
|
if (m_cPosStatus.Sale.ScreenSizeUser == 800)
|
|
{
|
|
this.Size = new Size(800, 600);
|
|
picBack.Size = new Size(800, 600);
|
|
picCILogo.Location = new Point(0, 38);
|
|
picCILogo.Size = new Size(800, 78);
|
|
|
|
FormManager.SetControlSize(txtCashierNo, 165, 327, 86, 29, 16);
|
|
FormManager.SetControlSize(txtCashierNm, 159, 223, 118, 29, 16);
|
|
FormManager.SetControlSize(txtPassword, 165, 375, 86, 29, 16);
|
|
|
|
FormManager.SetControlSize(btnFuncChar, 282, 119, 455, 290);
|
|
//FormManager.SetControlSize(lblLineFunc, 362, 523, 580, 0);
|
|
FormManager.SetControlSize(btnAlphaLarge, 282, 408, 90, 73, 12);
|
|
FormManager.SetControlSize(btnAlphaSmall, 373, 408, 90, 73, 12);
|
|
FormManager.SetControlSize(btnNumber, 464, 408, 91, 73, 12);
|
|
FormManager.SetControlSize(btnClear, 555, 408, 182, 73, 12);
|
|
FormManager.SetControlSize(btnExit, 283, 481, 227, 74);
|
|
FormManager.SetControlSize(btnEnter, 510, 481, 227, 74);
|
|
}
|
|
else
|
|
{
|
|
this.Size = new Size(1024, 768);
|
|
picBack.Size = new Size(1024, 768);
|
|
picCILogo.Location = new Point(0, 49);
|
|
picCILogo.Size = new Size(1024, 78);
|
|
|
|
FormManager.SetControlSize(txtCashierNo, 210, 428, 120, 30, 17);
|
|
FormManager.SetControlSize(txtCashierNm, 216, 290, 145, 40, 17);
|
|
FormManager.SetControlSize(txtPassword, 210, 490, 120, 30, 17);
|
|
|
|
FormManager.SetControlSize(btnFuncChar, 364, 153, 578, 369);
|
|
FormManager.SetControlSize(lblLineFunc, 362, 523, 580, 0);
|
|
FormManager.SetControlSize(btnAlphaLarge, 364, 523, 115, 93, 14);
|
|
FormManager.SetControlSize(btnAlphaSmall, 479, 523, 115, 93, 14);
|
|
FormManager.SetControlSize(btnNumber, 594, 523, 115, 93, 14);
|
|
FormManager.SetControlSize(btnClear, 709, 523, 233, 93, 14);
|
|
FormManager.SetControlSize(btnExit, 362, 616, 290, 95);
|
|
FormManager.SetControlSize(btnEnter, 652, 616, 290, 95);
|
|
|
|
// Add, 2017.09.04, 로그인화면에 근태등록 바로가기 추가
|
|
// 2017.09.06 PC만 보이도록 변경.
|
|
btnRegInOut.Visible = false;
|
|
if (m_cPosStatus.Mst.CorpDiv.Equals(ItemConst.CORP_DIV.BR) == false)
|
|
{
|
|
btnRegInOut.Visible = true;
|
|
FormManager.SetControlSize(btnRegInOut, 82, 616, 280, 95);
|
|
}
|
|
|
|
}
|
|
|
|
picCILogo.Visible = true;
|
|
lblFuncChar.Visible = false;
|
|
lblLineFunc.Visible = false;
|
|
|
|
lblTitle.Visible = false;
|
|
lblCashierNo.Visible = false;
|
|
lblPassword.Visible = false;
|
|
lblLine1.Visible = false;
|
|
lblLine2.Visible = false;
|
|
lblLine3.Visible = false;
|
|
lblLine4.Visible = false;
|
|
lblLine5.Visible = false;
|
|
lblLine6.Visible = false;
|
|
|
|
txtPassword.Visible = true;
|
|
CustDspReLoad();
|
|
|
|
}
|
|
else
|
|
{
|
|
this.Size = new Size(800, 600);
|
|
// 이미지 로딩 처리
|
|
picBack.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_SIZE_800X600);
|
|
picBack.Location = new Point(0, 0);
|
|
picBack.Size = new Size(800, 600);
|
|
|
|
picCILogo.Location = new Point(0, 49);
|
|
picCILogo.Size = new Size(864, 78);
|
|
|
|
btnAlphaLarge.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.LOGIN_ALPHAL2);
|
|
btnAlphaSmall.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.LOGIN_ALPHAS2);
|
|
btnNumber.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.LOGIN_NUMBER2);
|
|
btnClear.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.LOGIN_CLAER2);
|
|
|
|
FormManager.MovePopUpForm(this, false, m_cPosStatus.Sale.ScreenSizeUser);
|
|
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.REGISTER_ADMIN)
|
|
{
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0506);
|
|
lblCashierNo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0507);
|
|
}
|
|
//#20171107 통제관리 start, phj
|
|
else if (m_sPosMenuKey == PosKey.MENU_KEY.AUTHORITY_CNTL)
|
|
{
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1078);
|
|
lblCashierNo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0507);
|
|
}
|
|
//#20171107 통제관리 end, phj
|
|
else if (m_sPosMenuKey == PosKey.MENU_KEY.SIMPLE_LOG_ON)
|
|
{
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0011);
|
|
lblCashierNo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0149);
|
|
}
|
|
else
|
|
{
|
|
lblTitle.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0148);
|
|
lblCashierNo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0149);
|
|
}
|
|
lblPassword.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0013);
|
|
|
|
btnExit.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BTN_CLOSE);
|
|
btnExit.Text = btnExit.Image != null ? "" : "X";
|
|
|
|
btnEnter.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0009);
|
|
btnEnter.BackColor = CmUtil.GetColorToString(m_cPosStatus.ScnMst.ThemeColor);
|
|
|
|
FormManager.SetControlSize(lblCashierNo, 24, 69, 120, 38);
|
|
FormManager.SetControlSize(lblPassword, 495, 69, 120, 38);
|
|
|
|
FormManager.SetControlSize(txtCashierNo, 161, 75, 155, 25, 14);
|
|
FormManager.SetControlSize(txtCashierNm, 323, 75, 154, 25, 14);
|
|
FormManager.SetControlSize(txtPassword, 633, 75, 127, 25, 14);
|
|
|
|
FormManager.SetControlSize(lblFuncChar, 24, 124, 754, 361);
|
|
FormManager.SetControlSize(btnFuncChar, 25, 125, 752, 359);
|
|
|
|
FormManager.SetControlSize(btnAlphaLarge, 24, 485, 150, 92, 15);
|
|
FormManager.SetControlSize(btnAlphaSmall, 174, 485, 150, 92, 15);
|
|
FormManager.SetControlSize(btnNumber, 324, 485, 150, 92, 15);
|
|
FormManager.SetControlSize(btnClear, 474, 485, 150, 92, 15);
|
|
FormManager.SetControlSize(btnEnter, 625, 485, 153, 92);
|
|
|
|
FormManager.SetControlSize(btnExit, 741, 1, 58, 50);
|
|
|
|
txtCashierNo.BackColor = Color.FromArgb(249, 253, 254);
|
|
txtCashierNm.BackColor = Color.FromArgb(249, 253, 254); //Color.FromArgb(235, 235, 235);
|
|
txtPassword.BackColor = Color.FromArgb(249, 253, 254);
|
|
txtCashierNo.ForeColor = Color.Black;
|
|
txtCashierNm.ForeColor = Color.Black;
|
|
txtPassword.ForeColor = Color.Black;
|
|
|
|
picCILogo.Visible = false;
|
|
lblFuncChar.Visible = true;
|
|
lblLineFunc.Visible = false;
|
|
|
|
lblTitle.Visible = true;
|
|
lblCashierNo.Visible = true;
|
|
lblPassword.Visible = true;
|
|
lblLine1.Visible = true;
|
|
lblLine2.Visible = true;
|
|
lblLine3.Visible = true;
|
|
lblLine4.Visible = true;
|
|
lblLine5.Visible = true;
|
|
lblLine6.Visible = true;
|
|
|
|
txtPassword.Visible = true;
|
|
|
|
// Add, 2017.09.04, 로그인화면에 근태등록 바로가기 추가
|
|
btnRegInOut.Visible = false;
|
|
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.REGISTER_SERVER)
|
|
{
|
|
// 판매원(담당자) 입력
|
|
lblPassword.Visible = false;
|
|
lblLine4.Visible = false;
|
|
txtPassword.Visible = false;
|
|
}
|
|
}
|
|
|
|
btnAlphaLarge.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0029) + PosConst.CRLF;
|
|
btnAlphaLarge.Tag = PosKey.MENU_KEY.LOGIN_ALPHALARGE;
|
|
btnAlphaSmall.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0030) + PosConst.CRLF;
|
|
btnAlphaSmall.Tag = PosKey.MENU_KEY.LOGIN_ALPHASMALL;
|
|
btnNumber.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0031) + PosConst.CRLF;
|
|
btnNumber.Tag = PosKey.MENU_KEY.LOGIN_NUMBER;
|
|
btnClear.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0032) + PosConst.CRLF;
|
|
btnClear.Tag = PosKey.MENU_KEY.CLEAR;
|
|
|
|
m_sCashierNo = "";
|
|
m_sCashierPwd = "";
|
|
m_sCashierInfo = "";
|
|
|
|
txtCashierNo.Text = "";
|
|
txtPassword.Text = "";
|
|
txtCashierNm.Text = "";
|
|
|
|
ActiveTxtBox = txtCashierNo;
|
|
|
|
btnFuncChar.DisplayFuncButton("1");
|
|
|
|
//if (picCILogo.Image.Width > picCILogo.Width || picCILogo.Image.Height > picCILogo.Height)
|
|
//{
|
|
// if (picCILogo.Image.Width < picCILogo.Width)
|
|
// {
|
|
// picCILogo.Left = (picCILogo.Width - picCILogo.Image.Width) / 2;
|
|
// picCILogo.Width = picCILogo.Image.Width;
|
|
// }
|
|
// picCILogo.SizeMode = PictureBoxSizeMode.StretchImage;
|
|
//}
|
|
//else
|
|
//{
|
|
// picCILogo.SizeMode = PictureBoxSizeMode.CenterImage;
|
|
//}
|
|
|
|
txtCashierNo.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);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region LoadInPutKey 버튼 로딩
|
|
private bool LoadInPutKey()
|
|
{
|
|
bool bRet = false;
|
|
|
|
try
|
|
{
|
|
// 문자 기능키 초기화
|
|
btnFuncChar.SetFuncButtonCount(2, 5); // 버튼갯수 설정
|
|
btnFuncChar.VisibleUpDown = false;
|
|
btnFuncChar.BackColor = CmUtil.GetColorToString("202207213");
|
|
btnFuncChar.BackColorUpDown = Color.White;
|
|
btnFuncChar.ClearFuncButtonInfo(); // 설정된 메뉴정보 초기화
|
|
|
|
for (int iRow = 1; iRow < 11; iRow++)
|
|
{
|
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfo = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|
|
|
cFuncInfo.sGroupCode = "1"; // 분류코드
|
|
|
|
cFuncInfo.nSeqNo = iRow; // 표시순번
|
|
if (iRow == 10)
|
|
{
|
|
cFuncInfo.sFuncText = "0"; // 기능 명
|
|
cFuncInfo.sFuncCode = "0";
|
|
}
|
|
else
|
|
{
|
|
cFuncInfo.sFuncText = iRow.ToString(); // 기능 명
|
|
cFuncInfo.sFuncCode = iRow.ToString();
|
|
}
|
|
|
|
cFuncInfo.cBackColor = Color.White; // 백 컬러
|
|
cFuncInfo.cForeColor = Color.Black; // 명 컬러
|
|
cFuncInfo.fFontSize = 16; // 명 폰트 사이즈
|
|
cFuncInfo.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|
|
|
btnFuncChar.AddFuncButtonInfo(cFuncInfo);
|
|
}
|
|
|
|
int iSeq = 1;
|
|
int iSmallChr = 32;
|
|
for (int iRow = 65; iRow <= 90; iRow++)
|
|
{
|
|
//대문자
|
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfoD = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|
|
|
cFuncInfoD.sGroupCode = "2"; // 분류코드
|
|
|
|
cFuncInfoD.nSeqNo = iSeq; //표시순번
|
|
|
|
cFuncInfoD.sFuncText = ((char)iRow).ToString(); // 기능 명
|
|
cFuncInfoD.sFuncCode = ((char)iRow).ToString();
|
|
|
|
cFuncInfoD.cBackColor = Color.White; // 백 컬러
|
|
cFuncInfoD.cForeColor = Color.Black; // 명 컬러
|
|
cFuncInfoD.fFontSize = 16; // 명 폰트 사이즈
|
|
cFuncInfoD.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|
|
|
//소문자
|
|
Cosmos.UI.CsmFunc.FuncBtnInfo cFuncInfoS = new Cosmos.UI.CsmFunc.FuncBtnInfo();
|
|
|
|
cFuncInfoS.sGroupCode = "3"; // 분류코드
|
|
|
|
cFuncInfoS.nSeqNo = iSeq; //표시순번
|
|
|
|
cFuncInfoS.sFuncText = ((char)(iRow + iSmallChr)).ToString();
|
|
cFuncInfoS.sFuncCode = ((char)(iRow + iSmallChr)).ToString();
|
|
|
|
cFuncInfoS.cBackColor = Color.White; // 백 컬러
|
|
cFuncInfoS.cForeColor = Color.Black; // 명 컬러
|
|
cFuncInfoS.fFontSize = 16; // 명 폰트 사이즈
|
|
cFuncInfoS.nButtonSize = 0; // 버튼 사이즈(0:일반,1:가로확대,2:세로확대,3:가로세로확대)
|
|
|
|
btnFuncChar.AddFuncButtonInfo(cFuncInfoD);
|
|
|
|
btnFuncChar.AddFuncButtonInfo(cFuncInfoS);
|
|
|
|
iSeq++;
|
|
}
|
|
|
|
bRet = 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 bRet;
|
|
}
|
|
#endregion
|
|
|
|
#region 컨트롤 이벤트 처리
|
|
/// <summary>
|
|
/// 버튼 입력 처리
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btnProc_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (((CsmButton)sender) == btnEnter)
|
|
{
|
|
txtEditBox_EditBoxKeyDownEvent(ActiveTxtBox, PosKey.MENU_KEY.ENTER);
|
|
}
|
|
else if (((CsmButton)sender) == btnExit)
|
|
{
|
|
txtEditBox_EditBoxKeyDownEvent(ActiveTxtBox, PosKey.MENU_KEY.ESC_PREVIOUS);
|
|
}
|
|
else if (((CsmButton)sender) == btnClear)
|
|
{
|
|
txtEditBox_EditBoxKeyDownEvent(ActiveTxtBox, PosKey.MENU_KEY.CLEAR);
|
|
}
|
|
else if (((CsmButton)sender) == btnAlphaLarge)
|
|
{
|
|
btnFuncChar.SetFuncButtonCount(4, 7);
|
|
btnFuncChar.DisplayFuncButton("2");
|
|
}
|
|
else if (((CsmButton)sender) == btnAlphaSmall)
|
|
{
|
|
btnFuncChar.SetFuncButtonCount(4, 7);
|
|
btnFuncChar.DisplayFuncButton("3");
|
|
}
|
|
else if (((CsmButton)sender) == btnNumber)
|
|
{
|
|
btnFuncChar.SetFuncButtonCount(2, 5);
|
|
btnFuncChar.DisplayFuncButton("1");
|
|
}
|
|
else if (sender == btnRegInOut)
|
|
{
|
|
// Add, 2017.09.04, 로그인화면에 근태등록 바로가기 추가
|
|
if (CmUtil.IsNull(PosMstManager.GetPosOption(POS_OPTION.OPT307), "1") == "0")
|
|
{
|
|
//해당 기능은 POS 옵션에서 미사용으로 되어 있습니다.
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0414);
|
|
}
|
|
else
|
|
{
|
|
WinBasic.ShowForm(new string[] { FormManager.FORM_ETC_CHECK_EMP, PosKey.MENU_KEY.REG_IN_OUT });
|
|
}
|
|
}
|
|
}
|
|
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 txtEditBox_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
txtEditBox_EditBoxKeyDownEvent(sender, PosKey.MENU_KEY.ENTER);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 텍스트 박스 입력 완료 처리
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="sFuncValue"></param>
|
|
private void txtEditBox_EditBoxKeyDownEvent(object sender, string sFuncValue)
|
|
{
|
|
try
|
|
{
|
|
switch (sFuncValue)
|
|
{
|
|
case PosKey.MENU_KEY.FORWARD:
|
|
if (sender == txtCashierNo)
|
|
{
|
|
txtPassword.Focus();
|
|
txtPassword.SelectAll();
|
|
}
|
|
break;
|
|
case PosKey.MENU_KEY.ENTER:
|
|
if (CheckTxtInput(sender) == false) return;
|
|
|
|
if (sender == txtCashierNo)
|
|
{
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.REGISTER_SERVER)
|
|
{
|
|
if (txtCashierNo.Text.Length == 0 || txtCashierNo.Text != m_sCashierNo)
|
|
SearchTxtInPut();
|
|
else
|
|
CompleteTxtInPut();
|
|
}
|
|
else
|
|
{
|
|
SearchTxtInPut();
|
|
}
|
|
}
|
|
if (sender == null || sender == txtPassword)
|
|
{
|
|
CompleteTxtInPut();
|
|
}
|
|
break;
|
|
case PosKey.MENU_KEY.BACKWARD:
|
|
if (sender == txtPassword) txtCashierNo.Select();
|
|
break;
|
|
case PosKey.MENU_KEY.CLEAR:
|
|
if (sender is TextBox)
|
|
{
|
|
TextBox tb = (TextBox)sender;
|
|
if (tb.ReadOnly == false)
|
|
{
|
|
tb.Text = "";
|
|
if (sender == txtCashierNo) txtCashierNm.Text = "";
|
|
}
|
|
}
|
|
break;
|
|
case PosKey.MENU_KEY.ESC_PREVIOUS:
|
|
this.DialogResult = DialogResult.Cancel;
|
|
this.Close();
|
|
break;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|
}
|
|
}
|
|
|
|
private void txtEditBox_Enter(object sender, EventArgs e)
|
|
{
|
|
//ActiveControl = (Control)sender;
|
|
|
|
ActiveTxtBox = (Control)sender;
|
|
|
|
}
|
|
|
|
private void InputPad(object sender, string sFuncValue)
|
|
{
|
|
try
|
|
{
|
|
if (sender is TextBox)
|
|
{
|
|
var txtBox = (TextBox)sender;
|
|
var selStart = txtBox.SelectionStart;
|
|
var value1st = (selStart >= 0) ? txtBox.Text.Substring(0, selStart) : string.Empty;
|
|
var value2nd = txtBox.Text.Substring(selStart + txtBox.SelectionLength);
|
|
var value = string.Format("{0}{1}{2}", value1st, sFuncValue, value2nd);
|
|
if (value.Length > txtBox.MaxLength) return;
|
|
|
|
txtBox.Text = value;
|
|
|
|
if (txtBox.Text.Length > 0 && selStart >= txtBox.Text.Length)
|
|
txtBox.SelectionStart = txtBox.Text.Length;
|
|
else
|
|
txtBox.SelectionStart = selStart + 1;
|
|
|
|
txtBox.SelectionLength = 0;
|
|
}
|
|
}
|
|
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 btnFuncChar_FuncClickHandler(object sender, string sFuncCode)
|
|
{
|
|
try
|
|
{
|
|
InputPad(ActiveTxtBox, 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);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 사용자 정의 함수
|
|
/// <summary>
|
|
/// 텍스트박스 입력 유효성 체크
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <returns></returns>
|
|
private bool CheckTxtInput(object sender)
|
|
{
|
|
try
|
|
{
|
|
|
|
// POS 마스터 유무 체크
|
|
DataRow dr = PosMstManager.GetMstPos();
|
|
if (dr == null)
|
|
{
|
|
// POS 마스터가 존재 하지 않습니다. \n 고객센터에 문의하여 주시기 바랍니다.
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0604);
|
|
return false;
|
|
}
|
|
|
|
if(sender == null || sender == txtCashierNo) //캐셔번호 입력체크
|
|
{
|
|
if (txtCashierNo.Text.Length == 0)
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0001);
|
|
txtCashierNo.Focus();
|
|
txtCashierNo.SelectAll();
|
|
return false;
|
|
}
|
|
|
|
if (sender == txtCashierNo)
|
|
{
|
|
if (m_sPosMenuKey != PosKey.MENU_KEY.REGISTER_SERVER)
|
|
{
|
|
txtPassword.Focus();
|
|
txtPassword.SelectAll();
|
|
}
|
|
}
|
|
}
|
|
|
|
if (sender == null || sender == txtPassword) //비밀번호 입력체크
|
|
{
|
|
if (m_sPosMenuKey != PosKey.MENU_KEY.REGISTER_SERVER)
|
|
{
|
|
if (txtPassword.Text.Length == 0)
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0002);
|
|
txtPassword.Focus();
|
|
txtPassword.SelectAll();
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
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>
|
|
/// <returns></returns>
|
|
private bool SearchTxtInPut()
|
|
{
|
|
DataTable dtCashierInfo;
|
|
try
|
|
{
|
|
if (CheckTxtInput(txtCashierNo) == false) return false;
|
|
|
|
m_sCashierNo = "";
|
|
m_sCashierPwd = "";
|
|
txtCashierNm.Text = "";
|
|
|
|
// 캐셔마스터 조회
|
|
IMasterUs cService = (IMasterUs)sManager.InitServiceInstance(ServiceLists.ASV_MASTER.DLL, ServiceLists.ASV_MASTER.CASHIER_MASTER);
|
|
|
|
// 판매원 조회
|
|
dtCashierInfo = cService.Select(new string[] { m_cPosStatus.Base.StoreNo, txtCashierNo.Text });
|
|
if (dtCashierInfo == null || dtCashierInfo.Rows.Count == 0)
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0006);
|
|
txtCashierNo.Focus();
|
|
txtCashierNo.SelectAll();
|
|
return false;
|
|
}
|
|
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.REGISTER_ADMIN)
|
|
{
|
|
string sDiv = CmUtil.GetDataRowStr(dtCashierInfo.Rows[0], PosMst.MST_USER.DATA.CASHIER_DIV);
|
|
if ( sDiv != PosConst.CASHIER_DIV.OWNER && sDiv != PosConst.CASHIER_DIV.MANAGER)
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0309);
|
|
txtCashierNo.Focus();
|
|
txtCashierNo.SelectAll();
|
|
return false;
|
|
}
|
|
}
|
|
|
|
m_sCashierNo = txtCashierNo.Text;
|
|
m_sCashierPwd = CmUtil.GetDataRowStr(dtCashierInfo.Rows[0], PosMst.MST_USER.DATA.CASHIER_PWD);
|
|
txtCashierNm.Text = CmUtil.GetDataRowStr(dtCashierInfo.Rows[0], PosMst.MST_USER.DATA.CASHIER_NM);
|
|
|
|
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="nFlowMode"></param>
|
|
/// <returns></returns>
|
|
private bool CompleteTxtInPut()
|
|
{
|
|
try
|
|
{
|
|
if (CheckTxtInput(null) == false) return false;
|
|
|
|
if (txtCashierNo.Text != m_sCashierNo)
|
|
{
|
|
if (SearchTxtInPut() == false) return false;
|
|
}
|
|
|
|
if (m_sPosMenuKey == PosKey.MENU_KEY.LOG_ON || m_sPosMenuKey == PosKey.MENU_KEY.SIMPLE_LOG_ON)
|
|
{
|
|
// 캐셔 로그인 처리
|
|
IServiceUs cService = (IServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_OPEN_CLOSE.DLL, ServiceLists.BSV_OPEN_CLOSE.CASHIER_LOG_ON);
|
|
// 캐셔번호(0), 비밀번호(1)
|
|
string sRet = cService.Execute(new string[] { txtCashierNo.Text, txtPassword.Text,""});
|
|
if (sRet != UserCom.RST_OK)
|
|
{
|
|
txtPassword.Text = "";
|
|
return false;
|
|
}
|
|
}
|
|
else if (m_sPosMenuKey == PosKey.MENU_KEY.TEST_MODE)
|
|
{
|
|
// 시험모드 판매원 등록 처리
|
|
if (txtPassword.Text.Length == 0 || txtPassword.Text != m_sCashierPwd)
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0002);
|
|
txtPassword.Focus();
|
|
txtPassword.SelectAll();
|
|
return false;
|
|
}
|
|
}
|
|
//#20171107 통제관리 start, phj
|
|
else if (m_sPosMenuKey == PosKey.MENU_KEY.AUTHORITY_CNTL)
|
|
{
|
|
// 캐셔 로그인 처리
|
|
IServiceUs cService = (IServiceUs)sManager.InitServiceInstance(ServiceLists.BSV_OPEN_CLOSE.DLL, ServiceLists.BSV_OPEN_CLOSE.CASHIER_LOG_ON);
|
|
|
|
// 캐셔번호(0), 비밀번호(1)
|
|
string sRet = cService.Execute(new string[] { txtCashierNo.Text, txtPassword.Text, "", PosKey.MENU_KEY.AUTHORITY_CNTL });
|
|
if (sRet != UserCom.RST_OK)
|
|
{
|
|
//WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0310);
|
|
txtPassword.Text = "";
|
|
txtPassword.Focus();
|
|
txtPassword.SelectAll();
|
|
return false;
|
|
}
|
|
}
|
|
//#20171107 통제관리 end, phj
|
|
else if (m_sPosMenuKey == PosKey.MENU_KEY.REGISTER_ADMIN)
|
|
{
|
|
// 판매원 권한 관리
|
|
if (txtPassword.Text.Length == 0 || txtPassword.Text != m_sCashierPwd)
|
|
{
|
|
WinManager.ErrorMessage(POS_MESSAGE.ERROR.MSG_0310);
|
|
txtPassword.Focus();
|
|
txtPassword.SelectAll();
|
|
return false;
|
|
}
|
|
}
|
|
else if (m_sPosMenuKey == PosKey.MENU_KEY.REGISTER_SERVER)
|
|
{
|
|
// 주문 담당자 등록 처리
|
|
m_cTrnStatus.Head.OrderPicNo = m_cPosStatus.Base.StoreNo + txtCashierNo.Text;
|
|
m_cTrnStatus.Head.OrderPicNm = txtCashierNm.Text;
|
|
}
|
|
|
|
m_sCashierInfo = m_cPosStatus.Base.StoreNo + txtCashierNo.Text + "|" + txtCashierNm.Text;
|
|
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
|
|
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>
|
|
private void CustDspReLoad()
|
|
{
|
|
try
|
|
{
|
|
//이미지인 경우 리플레이스 되면서 검은색으로 표시되어 로그인시 재 로드 해 준다
|
|
|
|
ICustDisplayUs m_cCustDisp = (ICustDisplayUs)sManager.InitServiceInstance(ServiceLists.ASV_CUSTDISPLAY.DLL, ServiceLists.ASV_CUSTDISPLAY.CUST_DISPLAY);
|
|
if (m_cCustDisp != null)
|
|
m_cCustDisp.StartCustDisplay(); // 고객용화면 시작
|
|
|
|
}
|
|
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);
|
|
}
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
}
|