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 거래정보 } /// /// 설정파일 저장 (PosConfig, PosSaleInfo, PosDownInfo) /// /// /// 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) /// /// Pos 판매정보파일 저장 (PosSaleInfo.INI) /// /// 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) /// /// POS환경설정정보 파일저장 (PosConfig.INI) /// /// 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) /// /// POS Device 파일저장 (PosDevice.INI) /// /// 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) /// /// POS CommPort 파일저장 (CommPort.INI) /// /// 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) /// /// IncheonAirport 파일저장 (IncheonAirport.INI) /// /// 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 } }