spc-kiosk-pb/Service/BsvOpenClose/SaveConfigInfo.cs
2019-06-16 14:12:09 +09:00

280 lines
17 KiB
C#

using System;
using System.IO;
using Cosmos.BaseFrame;
using Cosmos.UserFrame;
using Cosmos.ServiceProvider;
using Cosmos.Common;
using Cosmos.CommonManager;
/*-----------------------------------------------------------------------------------------------*/
// 설 명 : Pos 판매정보파일 저장
// 작 성 자 :
// 변경 이력 :
/*-----------------------------------------------------------------------------------------------*/
namespace Cosmos.Service
{
class SaveConfigInfo : IServiceUs
{
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(); // 거래정보 참조
public SaveConfigInfo()
{
m_cPosStatus = (PosStatus)StateObject.POS; // POS 기본정보
m_cTrnStatus = (TranStatus)StateObject.TRAN; // POS 거래정보
}
/// <summary>
/// 설정파일 저장 (PosConfig, PosSaleInfo, PosDownInfo)
/// </summary>
/// <param name="aParam"></param>
/// <returns></returns>
public string Execute(string[] aParam)
{
string sRet = UserCom.RST_ERR;
try
{
if (aParam.Length == 0 || aParam[0] == PosConst.INI_FILE_NAME.PosSaleInfo) sRet = SavePosSaleInfo();
if (aParam.Length == 0 || aParam[0] == PosConst.INI_FILE_NAME.PosConfig) sRet = SavePosConfig();
if (aParam.Length == 0 || aParam[0] == PosConst.INI_FILE_NAME.PosDevice) sRet = SavePosDevice();
if (aParam.Length == 0 || aParam[0] == PosConst.INI_FILE_NAME.CommPort) sRet = SavePosCommPort();
//#20171227 인천공항 포스연동 start, phj
if (aParam.Length == 0 || aParam[0] == PosConst.INI_FILE_NAME.IncheonAirPort) sRet = SaveIncheonAirPort();
//#20171227 인천공항 포스연동 end, phj
}
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;
}
#region SavePosSaleInfo Pos (PosSaleInfo.INI)
/// <summary>
/// Pos 판매정보파일 저장 (PosSaleInfo.INI)
/// </summary>
/// <returns></returns>
public string SavePosSaleInfo()
{
string sRet = UserCom.RST_ERR;
try
{
CmMessage cmPosSaleInfo = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosSaleInfo);
cmPosSaleInfo.GetMessage("POSOPEN ".Trim()).MakeMessageOverWrite("SaleDate ".Trim(), m_cPosStatus.Base.SaleDate);
cmPosSaleInfo.GetMessage("POSOPEN ".Trim()).MakeMessageOverWrite("OpenClose ".Trim(), m_cPosStatus.Base.OpenClose);
cmPosSaleInfo.GetMessage("POSOPEN ".Trim()).MakeMessageOverWrite("MstDownDate ".Trim(), m_cPosStatus.Base.MstDownDate);
cmPosSaleInfo.GetMessage("POSOPEN ".Trim()).MakeMessageOverWrite("SysOpenDate ".Trim(), m_cPosStatus.Base.SysOpenDate);
cmPosSaleInfo.GetMessage("CASHIER ".Trim()).MakeMessageOverWrite("CashierNo ".Trim(), m_cPosStatus.Base.CashierNo);
cmPosSaleInfo.GetMessage("CASHIER ".Trim()).MakeMessageOverWrite("CashierName ".Trim(), m_cPosStatus.Base.CashierName);
cmPosSaleInfo.GetMessage("CASHIER ".Trim()).MakeMessageOverWrite("CashierAuth ".Trim(), m_cPosStatus.Base.CashierAuth);
cmPosSaleInfo.GetMessage("MSGNO ".Trim()).MakeMessageOverWrite("MsgSeqNo ".Trim(), m_cPosStatus.Base.MsgSeqNo);
cmPosSaleInfo.GetMessage("MSGNO ".Trim()).MakeMessageOverWrite("RegNo ".Trim(), m_cPosStatus.Base.RegNo);
cmPosSaleInfo.GetMessage("MSGNO ".Trim()).MakeMessageOverWrite("StartTradeNo ".Trim(), m_cPosStatus.Base.StartTradeNo);
cmPosSaleInfo.GetMessage("MSGNO ".Trim()).MakeMessageOverWrite("TradeNo ".Trim(), m_cPosStatus.Base.TradeNo);
cmPosSaleInfo.GetMessage("CHECKOVER").MakeMessageOverWrite("MstBatchDownDate ".Trim(), m_cPosStatus.Base.MstBatchDownDate);
cmPosSaleInfo.GetMessage("CHECKOVER").MakeMessageOverWrite("RegularNoticeUpdDate ".Trim(), m_cPosStatus.Base.RegularNoticeUpdateDT);
cmPosSaleInfo.GetMessage("CHECKOVER").MakeMessageOverWrite("EmergencyNoticeUpdDate ".Trim(), m_cPosStatus.Base.EmergencyNoticeUpdateDT);
cmPosSaleInfo.GetMessage("CHECKOVER").MakeMessageOverWrite("SaleNoticeUpdDate1 ".Trim(), m_cPosStatus.Base.SaleNoticeUpdateDT1);
cmPosSaleInfo.GetMessage("CHECKOVER").MakeMessageOverWrite("SaleNoticeUpdDate2 ".Trim(), m_cPosStatus.Base.SaleNoticeUpdateDT2);
// 2019-03-21 - 1997fx11 : Kiosk 관련 신상품 마지막업데이트일자 추가
cmPosSaleInfo.GetMessage("CHECKOVER").MakeMessageOverWrite("NewProductUpdDate ".Trim(), m_cPosStatus.Base.NewProductUpdateDT);
// 파일저장
cmPosSaleInfo.MakeFileFromMessage(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosSaleInfo);
sRet = UserCom.RST_OK;
}
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;
}
#endregion
#region SavePosConfig Pos (PosConfig.INI)
/// <summary>
/// POS환경설정정보 파일저장 (PosConfig.INI)
/// </summary>
/// <returns></returns>
public string SavePosConfig()
{
string sRet = UserCom.RST_ERR;
try
{
CmMessage cmPosConfig = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosConfig);
cmPosConfig.GetMessage("POS ".Trim()).MakeMessageOverWrite("CmpCd ".Trim(), m_cPosStatus.Base.CmpCd);
cmPosConfig.GetMessage("POS ".Trim()).MakeMessageOverWrite("StoreNo ".Trim(), m_cPosStatus.Base.StoreNo);
cmPosConfig.GetMessage("POS ".Trim()).MakeMessageOverWrite("PosNo ".Trim(), m_cPosStatus.Base.PosNo);
cmPosConfig.GetMessage("POS ".Trim()).MakeMessageOverWrite("BrandCd ".Trim(), m_cPosStatus.Base.BrandCd);
cmPosConfig.GetMessage("POS ".Trim()).MakeMessageOverWrite("BrandDiv ".Trim(), m_cPosStatus.Base.BrandDiv);
cmPosConfig.GetMessage("POS ".Trim()).MakeMessageOverWrite("LogLevel ".Trim(), Convert.ToString(m_cPosStatus.Base.LogLevel));
cmPosConfig.GetMessage("POS ".Trim()).MakeMessageOverWrite("LogoUpload ".Trim(), m_cPosStatus.Base.LogoUpload);
cmPosConfig.GetMessage("DATABASE ".Trim()).MakeMessageOverWrite("LocalSource ".Trim(), m_cPosStatus.Base.LocalDbSource);
cmPosConfig.GetMessage("DATABASE ".Trim()).MakeMessageOverWrite("LocalCatalog ".Trim(), m_cPosStatus.Base.LocalDbCatalog);
cmPosConfig.GetMessage("DATABASE ".Trim()).MakeMessageOverWrite("LocalUserID ".Trim(), m_cPosStatus.Base.LocalDbUserID);
cmPosConfig.GetMessage("DATABASE ".Trim()).MakeMessageOverWrite("LocalPassword ".Trim(), m_cPosStatus.Base.LocalDbPassword);
cmPosConfig.GetMessage("GLOBAL ".Trim()).MakeMessageOverWrite("Font ".Trim(), m_cPosStatus.Base.FONT);
cmPosConfig.GetMessage("PRINT ".Trim()).MakeMessageOverWrite("TextLogoMsg1 ".Trim(), m_cPosStatus.Base.TextLogoMsg1);
cmPosConfig.GetMessage("PRINT ".Trim()).MakeMessageOverWrite("TextLogoMsg2 ".Trim(), m_cPosStatus.Base.TextLogoMsg2);
//#16232 환경부 1회용컵 사용줄이기 관련 테이크인아웃 설정 start
cmPosConfig.GetMessage("PRODTAKEINOUT".Trim()).MakeMessageOverWrite("ProdTakeInOutUse".Trim(), m_cPosStatus.Base.ProdTakeInOutUse);
cmPosConfig.GetMessage("PRODTAKEINOUT".Trim()).MakeMessageOverWrite("ProdTakeInOutDiv".Trim(), m_cPosStatus.Base.ProdTakeInOutDiv);
//#16232 환경부 1회용컵 사용줄이기 관련 테이크인아웃 설정 end
// 파일저장
cmPosConfig.MakeFileFromMessage(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosConfig);
sRet = UserCom.RST_OK;
}
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;
}
#endregion
#region SavePosDevice Pos Device설정정보 (PosDevice.INI)
/// <summary>
/// POS Device 파일저장 (PosDevice.INI)
/// </summary>
/// <returns></returns>
public string SavePosDevice()
{
string sRet = UserCom.RST_ERR;
try
{
CmMessage cmPosDevice = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosDevice);
//Controller 0 : OPOS, 1 : RS232, 2 : USB
cmPosDevice.GetMessage("POSPRINTER ".Trim()).MakeMessageOverWrite("Controller ".Trim(), m_cPosStatus.Base.OlePosPrinterController);
cmPosDevice.GetMessage("POSPRINTER ".Trim()).MakeMessageOverWrite("SerialPortNumber ".Trim(), m_cPosStatus.Base.OlePosPrinterSerialPortNumber);
cmPosDevice.GetMessage("POSPRINTER ".Trim()).MakeMessageOverWrite("SerialBaudRate ".Trim(), Convert.ToString(m_cPosStatus.Base.OlePosPrinterSerialBaudRate));
cmPosDevice.GetMessage("POSPRINTER ".Trim()).MakeMessageOverWrite("Model ".Trim(), m_cPosStatus.Base.OlePosPrinterModel);
//#20171212 프린터 상태 체크 여부 추가 start
//0: 체크, 1: 체크안함
cmPosDevice.GetMessage("POSPRINTER ".Trim()).MakeMessageOverWrite("CheckPrinter ".Trim(), m_cPosStatus.Base.OlePosPrinterCheckYn);
//#20171212 프린터 상태 체크 여부 추가 end
cmPosDevice.GetMessage("ICReader ".Trim()).MakeMessageOverWrite("SerialPortNumber ".Trim(), m_cPosStatus.Base.OlePosICReaderSerialPortNumber);
cmPosDevice.GetMessage("ICReader ".Trim()).MakeMessageOverWrite("SerialBaudRate ".Trim(), Convert.ToString(m_cPosStatus.Base.OlePosICReaderSerialBaudRate));
cmPosDevice.GetMessage("ICReader ".Trim()).MakeMessageOverWrite("Model ".Trim(), m_cPosStatus.Base.OlePosICReaderModel);
// 파일저장
cmPosDevice.MakeFileFromMessage(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosDevice);
sRet = UserCom.RST_OK;
}
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;
}
#endregion
#region SavePosCommPort Pos CommPort (CommPort.INI)
/// <summary>
/// POS CommPort 파일저장 (CommPort.INI)
/// </summary>
/// <returns></returns>
public string SavePosCommPort()
{
string sRet = UserCom.RST_ERR;
try
{
CmMessage cmPosCommPort = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.CommPort);
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("SignLogPort ".Trim(), m_cPosStatus.Base.SignLogPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("SysInfoPort ".Trim(), m_cPosStatus.Base.SysInfoPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("TranPort ".Trim(), m_cPosStatus.Base.TranPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("JrnlPort ".Trim(), m_cPosStatus.Base.JrnlPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("TranInqPort ".Trim(), m_cPosStatus.Base.TranInqPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("MissChkPort ".Trim(), m_cPosStatus.Base.MissChkPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("PayInqPort ".Trim(), m_cPosStatus.Base.PayInqPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("BizInqPort ".Trim(), m_cPosStatus.Base.BizInqPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("MstPort ".Trim(), m_cPosStatus.Base.MstPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("PayLogPort ".Trim(), m_cPosStatus.Base.PayLogPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("AppLogPort ".Trim(), m_cPosStatus.Base.AppLogPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("EtcTranPort ".Trim(), m_cPosStatus.Base.EtcTranPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("DmbIfPort ".Trim(), m_cPosStatus.Base.DmbIfPort.ToString());
cmPosCommPort.GetMessage("SERVER").MakeMessageOverWrite("ScaleLogPort".Trim(), m_cPosStatus.Base.ScaleLogPort.ToString());
// 파일저장
cmPosCommPort.MakeFileFromMessage(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.CommPort);
sRet = UserCom.RST_OK;
}
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;
}
#endregion
//#20171227 인천공항 포스연동 start, phj
#region SaveIncheonAirPort Pos IncheonAirport (IncheonAirport.INI)
/// <summary>
/// IncheonAirport 파일저장 (IncheonAirport.INI)
/// </summary>
/// <returns></returns>
public string SaveIncheonAirPort()
{
string sRet = UserCom.RST_ERR;
try
{
CmMessage cmIncheonAirPort = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.IncheonAirPort);
cmIncheonAirPort.GetMessage("INCHEONAIRPORT").MakeMessageOverWrite("AirportIP".Trim(), m_cPosStatus.IncheonAirport.AirportIP.ToString());
cmIncheonAirPort.GetMessage("INCHEONAIRPORT").MakeMessageOverWrite("AirportUser".Trim(), m_cPosStatus.IncheonAirport.AirportUser.ToString());
cmIncheonAirPort.GetMessage("INCHEONAIRPORT").MakeMessageOverWrite("AirportPass".Trim(), m_cPosStatus.IncheonAirport.AirportPass.ToString());
cmIncheonAirPort.GetMessage("INCHEONAIRPORT").MakeMessageOverWrite("AirportComp".Trim(), m_cPosStatus.IncheonAirport.AirportComp.ToString());
cmIncheonAirPort.GetMessage("INCHEONAIRPORT").MakeMessageOverWrite("AirportStore".Trim(), m_cPosStatus.IncheonAirport.AirportStore.ToString());
cmIncheonAirPort.GetMessage("INCHEONAIRPORT").MakeMessageOverWrite("AirportPosNo".Trim(), m_cPosStatus.IncheonAirport.AirportPosNo.ToString());
// 파일저장
cmIncheonAirPort.MakeFileFromMessage(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.IncheonAirPort);
sRet = UserCom.RST_OK;
}
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;
}
#endregion
//#20171227 인천공항 포스연동 end, phj
}
}