spc-kiosk-pb/Service/AsvCustDisplay/CustDisplay.cs

486 lines
19 KiB
C#
Raw Permalink Normal View History

2019-06-16 05:12:09 +00:00
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;
}
}
}