486 lines
19 KiB
C#
486 lines
19 KiB
C#
using System;
|
|
using System.Text;
|
|
using System.Collections;
|
|
using System.Data;
|
|
|
|
using Cosmos.BaseFrame;
|
|
using Cosmos.UserFrame;
|
|
using Cosmos.ServiceProvider;
|
|
using Cosmos.Common;
|
|
using Cosmos.CommonManager;
|
|
|
|
/*-----------------------------------------------------------------------------------------------*/
|
|
// 설 명 : 고객 화면
|
|
// 작 성 자 :
|
|
// 변경 이력 :
|
|
/*-----------------------------------------------------------------------------------------------*/
|
|
namespace Cosmos.Service
|
|
{
|
|
/// <summary>
|
|
/// 고객용 화면
|
|
/// </summary>
|
|
class CustDisplay : ICustDisplayUs
|
|
{
|
|
private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
|
|
private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object (객체)
|
|
private PosStatus m_cPosStatus = new PosStatus(); // 기본정보 참조
|
|
private TranStatus m_cTrnStatus = new TranStatus(); // 거래정보 참조
|
|
|
|
private IDatabaseSQL m_cSqlDbService = null; // 데이터베이스 관리
|
|
private IMasterUs m_cMstService = null; // 마스터 인터페이스
|
|
private IDataCommonUs m_cDataCommon = null; // POS 공통함수 인터페이스
|
|
|
|
/// <summary>
|
|
/// 고객용화면
|
|
/// </summary>
|
|
private frmCustDisplayPipe m_frmCustDisplay = null;
|
|
/// <summary>
|
|
/// 스크린세이버
|
|
/// </summary>
|
|
private frmScreenSaver m_frmScreenSaver = null;
|
|
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|
/// <summary>
|
|
/// 고객용화면 DT
|
|
/// </summary>
|
|
private frmCustDisplayPipeDT m_frmCustDisplayDT = null;
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|
|
|
/// <summary>
|
|
/// 생성자
|
|
/// </summary>
|
|
public CustDisplay()
|
|
{
|
|
m_cPosStatus = (PosStatus)StateObject.POS;
|
|
m_cTrnStatus = (TranStatus)StateObject.TRAN;
|
|
|
|
m_cSqlDbService = (IDatabaseSQL)sManager.InitServiceInstance(ServiceLists.AGENT_DATABASE.DLL, ServiceLists.AGENT_DATABASE.DATABASE_MSSQL);
|
|
m_cMstService = (IMasterUs)sManager.InitServiceInstance(ServiceLists.ASV_MASTER.DLL, ServiceLists.ASV_MASTER.POS_MASTER);
|
|
m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 고객용 화면 시작
|
|
/// </summary>
|
|
public void StartCustDisplay()
|
|
{
|
|
try
|
|
{
|
|
// 고객용동영상 관련(0:사용안함, 1:사용함)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return;
|
|
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|
//기존
|
|
/*
|
|
if (m_frmCustDisplay == null)
|
|
{
|
|
m_frmCustDisplay = new frmCustDisplayPipe();
|
|
}
|
|
|
|
m_frmCustDisplay.Show();
|
|
m_frmCustDisplay.Refresh();
|
|
|
|
m_frmCustDisplay.StartCustDisplay();
|
|
*/
|
|
//변경
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3")
|
|
{
|
|
if (m_frmCustDisplayDT == null)
|
|
{
|
|
m_frmCustDisplayDT = new frmCustDisplayPipeDT();
|
|
}
|
|
|
|
m_frmCustDisplayDT.Show();
|
|
m_frmCustDisplayDT.Refresh();
|
|
|
|
m_frmCustDisplayDT.StartCustDisplay();
|
|
}
|
|
else
|
|
{
|
|
if (m_frmCustDisplay == null)
|
|
{
|
|
m_frmCustDisplay = new frmCustDisplayPipe();
|
|
}
|
|
|
|
m_frmCustDisplay.Show();
|
|
m_frmCustDisplay.Refresh();
|
|
|
|
m_frmCustDisplay.StartCustDisplay();
|
|
}
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|
}
|
|
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>
|
|
public void StopCustDisplay()
|
|
{
|
|
try
|
|
{
|
|
// 고객용동영상 관련(0:사용안함, 1:사용함)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return;
|
|
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|
//기존
|
|
/*
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.StopCustDisplay();
|
|
*/
|
|
//변경
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3")
|
|
{
|
|
if (m_frmCustDisplayDT == null) return;
|
|
|
|
m_frmCustDisplayDT.StopCustDisplay();
|
|
}
|
|
else
|
|
{
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.StopCustDisplay();
|
|
}
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|
}
|
|
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>
|
|
public void CloseCustDisplay()
|
|
{
|
|
try
|
|
{
|
|
// 고객용동영상 관련(0:사용안함, 1:사용함)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return;
|
|
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|
//기존
|
|
/*
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.StopCustDisplay();
|
|
|
|
m_frmCustDisplay.Close();
|
|
*/
|
|
//변경
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3")
|
|
{
|
|
if (m_frmCustDisplayDT == null) return;
|
|
|
|
m_frmCustDisplayDT.StopCustDisplay();
|
|
|
|
m_frmCustDisplayDT.Close();
|
|
}
|
|
else
|
|
{
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.StopCustDisplay();
|
|
|
|
m_frmCustDisplay.Close();
|
|
}
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|
}
|
|
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>
|
|
public void ClearSaleItemList()
|
|
{
|
|
try
|
|
{
|
|
// 고객용동영상 관련(0:사용안함, 1:사용함)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return;
|
|
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|
//기존
|
|
/*
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.ClearSaleItemList();
|
|
*/
|
|
//변경
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3")
|
|
{
|
|
if (m_frmCustDisplayDT == null) return;
|
|
|
|
m_frmCustDisplayDT.ClearSaleItemList();
|
|
}
|
|
else
|
|
{
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.ClearSaleItemList();
|
|
}
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|
}
|
|
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>
|
|
public void DisplaySaleItemList(bool bPlu, bool bPay, int nSelRow)
|
|
{
|
|
try
|
|
{
|
|
// 고객용동영상 관련(0:사용안함, 1:사용함)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return;
|
|
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|
//기존
|
|
/*
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.DisplaySaleItemList(bPlu, bPay, "", nSelRow);
|
|
*/
|
|
//변경
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3")
|
|
{
|
|
if (m_frmCustDisplayDT == null) return;
|
|
|
|
m_frmCustDisplayDT.DisplaySaleItemList(bPlu, bPay, "", nSelRow);
|
|
}
|
|
else
|
|
{
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.DisplaySaleItemList(bPlu, bPay, "", nSelRow);
|
|
}
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|
}
|
|
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>
|
|
public void DisplaySaleItemSelect(int nSelRow)
|
|
{
|
|
try
|
|
{
|
|
// 고객용동영상 관련(0:사용안함, 1:사용함)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return;
|
|
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|
//기존
|
|
/*
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.DisplaySaleItemSelect(nSelRow);
|
|
*/
|
|
//변경
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3")
|
|
{
|
|
if (m_frmCustDisplayDT == null) return;
|
|
|
|
m_frmCustDisplayDT.DisplaySaleItemSelect(nSelRow);
|
|
}
|
|
else
|
|
{
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.DisplaySaleItemSelect(nSelRow);
|
|
}
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|
}
|
|
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>
|
|
public void SaleCompleteDisplay(double nChangeAmt)
|
|
{
|
|
try
|
|
{
|
|
// 고객용동영상 관련(0:사용안함, 1:사용함)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return;
|
|
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|
//기존
|
|
/*
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.SaleCompleteDisplay(nChangeAmt);
|
|
*/
|
|
//변경
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3")
|
|
{
|
|
if (m_frmCustDisplayDT == null) return;
|
|
|
|
m_frmCustDisplayDT.SaleCompleteDisplay(nChangeAmt);
|
|
}
|
|
else
|
|
{
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.SaleCompleteDisplay(nChangeAmt);
|
|
}
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|
}
|
|
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>
|
|
public void DisplayForeignCashList(string sForeignInfo)
|
|
{
|
|
try
|
|
{
|
|
// 고객용동영상 관련(0:사용안함, 1:사용함)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "0") return;
|
|
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|
//기존
|
|
/*
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.DisplaySaleItemList(false, true, sForeignInfo, 0);
|
|
*/
|
|
//변경
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "3")
|
|
{
|
|
if (m_frmCustDisplayDT == null) return;
|
|
|
|
m_frmCustDisplayDT.DisplaySaleItemList(false, true, sForeignInfo, 0);
|
|
}
|
|
else
|
|
{
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.DisplaySaleItemList(false, true, sForeignInfo, 0);
|
|
}
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|
}
|
|
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>
|
|
public void DisplayCampaign(string sFileDiv, string sFileName)
|
|
{
|
|
try
|
|
{
|
|
// 캠페인 컨텐츠 사용유무(0:미사용, 1:사용)
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT106) == "0") return;
|
|
|
|
if (sFileDiv == PosConst.MEDIA_FILE_DIV.IMAGE)
|
|
m_cTrnStatus.Sale.CampaignFileName = sFileName;
|
|
else
|
|
m_cTrnStatus.Sale.CampaignFileName = "";
|
|
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 start
|
|
//기존
|
|
/*
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.m_sCampaignFileName = sFileName;
|
|
if (sFileDiv == "") sFileDiv = "0";
|
|
m_frmCustDisplay.m_sCampaignFileDiv = sFileDiv;
|
|
*/
|
|
//변경
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT103) == "1")
|
|
{
|
|
if (m_frmCustDisplayDT == null) return;
|
|
|
|
m_frmCustDisplayDT.m_sCampaignFileName = sFileName;
|
|
if (sFileDiv == "") sFileDiv = "0";
|
|
m_frmCustDisplayDT.m_sCampaignFileDiv = sFileDiv;
|
|
}
|
|
else
|
|
{
|
|
if (m_frmCustDisplay == null) return;
|
|
|
|
m_frmCustDisplay.m_sCampaignFileName = sFileName;
|
|
if (sFileDiv == "") sFileDiv = "0";
|
|
m_frmCustDisplay.m_sCampaignFileDiv = sFileDiv;
|
|
}
|
|
//#16569 파스쿠찌 드라이브 스루 기능 개발 요청 end
|
|
|
|
//m_frmCustDisplay.DisplayCampaign(sFileDiv, sFileName);
|
|
}
|
|
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>
|
|
public bool ScreenSaverDisplay()
|
|
{
|
|
try
|
|
{
|
|
if (m_cPosStatus.Sale.ScreenSaverTime == "" || CmUtil.LongParse(m_cPosStatus.Sale.ScreenSaverTime) == 0) return false;
|
|
|
|
//스크린세이버 기능(0: 사용안함. 1:사용함, 2:사용함(LOGOFF))
|
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT013) != "1" && PosMstManager.GetPosOption(POS_OPTION.OPT013) != "2") return false;
|
|
|
|
// 스크린세이버 기능(0:사용안함. 그외 사용함(대기시간초))
|
|
long nScreenDurTime = CmUtil.LongParse(PosMstManager.GetPosOption(POS_OPTION.OPT014));
|
|
if (nScreenDurTime <= 0) return false;
|
|
|
|
// 경과 시간 체크
|
|
DateTime dtDurTime = DateTime.ParseExact(m_cPosStatus.Sale.ScreenSaverTime, "yyyyMMddHHmmss", null);
|
|
if ( dtDurTime.AddSeconds(nScreenDurTime) > DateTime.Now) return false;
|
|
|
|
if (m_frmScreenSaver == null) m_frmScreenSaver = new frmScreenSaver();
|
|
|
|
m_frmScreenSaver.ShowDialog();
|
|
|
|
m_cPosStatus.Sale.ScreenSaverTime = DateTime.Now.ToString("yyyyMMddHHmmss");
|
|
|
|
return true;
|
|
}
|
|
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);
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
}
|