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

523 lines
27 KiB
C#

using System;
using System.Collections;
using System.IO;
using System.Data;
using Cosmos.Common;
using Cosmos.UserFrame;
using Cosmos.CommonManager;
using Cosmos.ServiceProvider;
using Cosmos.BaseFrame;
using System.Diagnostics;
using System.Linq;
using System.Text;
namespace Cosmos.Service
{
public class PosConfigSync : IServiceUs
{
private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
private PosStatus m_cPosStatus = new PosStatus(); //기본정보 참조
private StateServer StateObject = (StateServer)StateServer.GetInstance(); // StateObject : StateServer Object (객체)
protected IDataCommonUs m_cDataCommon = null; // 판매공통 모듈
private readonly string m_FIELD_DIV = "|";
private readonly string m_LINE_DIV = "#~";
public PosConfigSync()
{
m_cPosStatus = (PosStatus)StateObject.POS; // POS 기본정보
m_cDataCommon = (IDataCommonUs)sManager.InitServiceInstance(ServiceLists.ASV_DATA_PROCESS.DLL, ServiceLists.ASV_DATA_PROCESS.DATA_COMMON);
}
/// <summary>
/// 실행
/// </summary>
/// <param name="aParam"></param>
/// <returns></returns>
public string Execute(string[] aParam)
{
string sRet = UserCom.RST_ERR;
string sSendData = "";
try
{
//0:복원저장 구분, 1: 파일명
if (aParam[0] == ItemConst.POS_CONFIG_TYPE.LOAD) //복원
{
sRet = GetExecuteIrtPosConfigSync(aParam[1]);
}
else if (aParam[0] == ItemConst.POS_CONFIG_TYPE.SAVE) //저장
{
//데이터생성
sSendData = GetConfigData(aParam[1]);
if (sSendData.Length > 2)
sRet = SetExecuteIrtPosConfigSync("", sSendData.Substring(2));
}
}
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 /
/// <summary>
/// 전문송신
/// </summary>
/// <param name="sSystemData"></param>
/// <returns></returns>
private string SetExecuteIrtPosConfigSync(string sFileName, string sConfigData)
{
string sRet = UserCom.RST_ERR;
int iRecvTimeOut = 10000;
Hashtable htRecvData = new Hashtable();
Hashtable htSendData = new Hashtable();
try
{
// 조회
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.INQ_TYPE, ItemConst.IRT_INQ_TYPE.POS_CONFIG_UPLOAD);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.STOR_CD, m_cPosStatus.Base.StoreNo);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.POS_NO, m_cPosStatus.Base.PosNo);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.INQ_DIV, ItemConst.POS_CONFIG_INQ_DIV.SAVE);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.FILE_NM, sFileName.ToUpper());
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.USER_ID, m_cPosStatus.Base.CashierNo);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.CONFIG_DATA, sConfigData);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.RES_CD, "");
sRet = m_cDataCommon.ExecutePosIrt(ItemConst.COMM_MSG_TYPE.POSIRT, m_cPosStatus.Base.CommSvrIp, (int)m_cPosStatus.Base.BizInqPort, iRecvTimeOut, htSendData, ref htRecvData);
if (sRet != UserCom.RST_OK)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "CONFIG SEND FAIL : " + sRet);
return sRet;
}
if (htRecvData[Column.IQ_POS_SPEC.DATA.RES_CD].ToString() == "00")
{
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "CONFIG SEND SUCCESS");
sRet = UserCom.RST_OK;
}
else
{
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "CONFING SEND FAIL RSN_CD : " + htRecvData[Column.IQ_POS_SPEC.DATA.RES_CD].ToString());
}
}
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;
}
/// <summary>
/// 전문 수신
/// </summary>
/// <param name="sFileName"></param>
/// <returns></returns>
private string GetExecuteIrtPosConfigSync(string sFileName)
{
string sRet = UserCom.RST_ERR;
int iRecvTimeOut = 10000;
Hashtable htRecvData = new Hashtable();
Hashtable htSendData = new Hashtable();
try
{
// 조회
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.INQ_TYPE, ItemConst.IRT_INQ_TYPE.POS_CONFIG_UPLOAD);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.STOR_CD, m_cPosStatus.Base.StoreNo);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.POS_NO, m_cPosStatus.Base.PosNo);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.INQ_DIV, sFileName == "" ? ItemConst.POS_CONFIG_INQ_DIV.LOAD_ALL : ItemConst.POS_CONFIG_INQ_DIV.LOAD_ONE);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.FILE_NM, sFileName.ToUpper());
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.USER_ID, m_cPosStatus.Base.CashierNo);
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.CONFIG_DATA, "");
htSendData.Add(Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.RES_CD, "");
sRet = m_cDataCommon.ExecutePosIrt(ItemConst.COMM_MSG_TYPE.POSIRT, m_cPosStatus.Base.CommSvrIp, (int)m_cPosStatus.Base.BizInqPort, iRecvTimeOut, htSendData, ref htRecvData);
if (sRet != UserCom.RST_OK)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "CONFIG RECV FAIL : " + sRet);
return sRet;
}
if (htRecvData[Column.IQ_POS_SPEC.DATA.RES_CD].ToString() == "00")
{
sRet = GetConfigDataParser(htRecvData[Column.IQ_STR_EQUP_CHECKSAVE_LIST_INQ.DATA.CONFIG_DATA].ToString());
}
else if (htRecvData[Column.IQ_POS_SPEC.DATA.RES_CD].ToString() == "01")
{
sRet = UserCom.RST_IGNORE;
}
else
{
UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "CONFIG RECV FAIL RSN_CD : " + htRecvData[Column.IQ_POS_SPEC.DATA.RES_CD].ToString());
}
}
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;
}
/// <summary>
/// 응답데이터 파서
/// </summary>
/// <param name="sConfigData"></param>
/// <returns></returns>
private string GetConfigDataParser(string sConfigData)
{
string sRet = UserCom.RST_ERR;
try
{
string[] aRecvData = sConfigData.Split(new string[] { m_LINE_DIV }, StringSplitOptions.RemoveEmptyEntries);
//CmMessage m_PosConfig = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosConfig);
//CmMessage m_PosSaleInfo = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosSaleInfo);
//CmMessage m_PosDevice = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosDevice);
//CmMessage m_CommPort = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.CommPort);
CmMessage m_PosConfig = null;
CmMessage m_PosSaleInfo = null;
CmMessage m_PosDevice = null;
CmMessage m_CommPort = null;
for (int iRow = 0; iRow < aRecvData.Length; iRow++)
{
string[] aTagData = aRecvData[iRow].Split(new string[] { m_FIELD_DIV }, StringSplitOptions.None);
if (aTagData.Length == 5)
{
if (string.IsNullOrEmpty(aRecvData[0]) == false && string.IsNullOrEmpty(aRecvData[1]) == false && string.IsNullOrEmpty(aRecvData[2]) == false && string.IsNullOrEmpty(aRecvData[3]) == false)
{
CmMessage m_tmpCmMsg = null;
if (aTagData[0] == PosConst.INI_FILE_NAME.PosConfig.ToUpper())
{
if (m_PosConfig == null) m_PosConfig = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosConfig);
m_tmpCmMsg = m_PosConfig;
}
else if (aTagData[0] == PosConst.INI_FILE_NAME.PosSaleInfo.ToUpper())
{
if (m_PosSaleInfo == null) m_PosSaleInfo = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosSaleInfo);
m_tmpCmMsg = m_PosSaleInfo;
}
else if (aTagData[0] == PosConst.INI_FILE_NAME.PosDevice.ToUpper())
{
if (m_PosDevice == null) m_PosDevice = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosDevice);
m_tmpCmMsg = m_PosDevice;
}
else if (aTagData[0] == PosConst.INI_FILE_NAME.CommPort.ToUpper())
{
if (m_CommPort == null) m_CommPort = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.CommPort);
m_tmpCmMsg = m_CommPort;
}
else
{
continue;
}
if (m_tmpCmMsg != null)
m_tmpCmMsg.GetMessage(aTagData[1]).MakeMessageOverWrite(aTagData[2], aTagData[3]);
}
}
else
{
//Debug.Print(aRecvData[iRow]);
}
}
// 구조상 한번에 저장해야함!
if (m_PosConfig != null)
{
m_PosConfig.MakeFileFromMessage(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosConfig);
}
if (m_PosSaleInfo != null)
{
m_PosSaleInfo.MakeFileFromMessage(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosSaleInfo);
}
if (m_PosDevice != null)
{
m_PosDevice.MakeFileFromMessage(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosDevice);
}
if (m_CommPort != null)
{
m_CommPort.MakeFileFromMessage(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.CommPort);
}
sRet = UserCom.RST_OK;
}
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.ToString());
}
return sRet;
}
#endregion
#region
/// <summary>
/// 전송데이터 생성
/// </summary>
/// <param name="sFileName">전송파일</param>
/// <returns></returns>
private string GetConfigData(string sFileName)
{
string sRetData = string.Empty;
try
{
//전송 대상 배열 담기
string[,] arrList = new string[,] {
// 파일명 ,메인태그 ,서브태그 ,암호화구분
// PosConfig.INI
// { PosConst.INI_FILE_NAME.PosConfig ,"POS" ,"CmpCd" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosConfig ,"POS" ,"BrandDiv" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosConfig ,"POS" ,"BrandCd" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosConfig ,"POS" ,"StoreNo" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosConfig ,"POS" ,"PosNo" ,"0" }
{ PosConst.INI_FILE_NAME.PosConfig ,"POS" ,"LogLevel" ,"0" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"POS" ,"LogoUpload" ,"0" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"POS" ,"MasterDown" ,"0" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"DATABASE" ,"LocalSource" ,"1" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"DATABASE" ,"LocalCatalog" ,"1" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"DATABASE" ,"LocalUserID" ,"1" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"DATABASE" ,"LocalPassword" ,"1" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"GLOBAL" ,"CultureID" ,"0" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"GLOBAL" ,"Country" ,"0" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"GLOBAL" ,"Font" ,"0" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"GLOBAL" ,"FontFix" ,"0" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"SERVER" ,"CommSvrIp" ,"0" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"SERVER" ,"FtpConnType" ,"0" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"PRINT" ,"TextLogoMsg1" ,"0" }
,{ PosConst.INI_FILE_NAME.PosConfig ,"PRINT" ,"TextLogoMsg2" ,"0" }
// PosSaleInfo.INI
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"POSOPEN" ,"OpenClose" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"POSOPEN" ,"SaleDate" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"POSOPEN" ,"OpenDateTime" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"POSOPEN" ,"CloseDateTime" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"PGMVER" ,"ProgramVer10" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"PGMVER" ,"ProgramVerSeq10" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"POSOPEN" ,"MstDownDate" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"MSGNO" ,"TradeNo" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"MSGNO" ,"RegNo" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"MSGNO" ,"StartTradeNo" ,"0" }
//,{ PosConst.INI_FILE_NAME.PosSaleInfo,"MSGNO" ,"MsgSeqNo" ,"0" }
// PosDevice.INI
,{ PosConst.INI_FILE_NAME.PosDevice ,"POSPRINTER" ,"UseFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"POSPRINTER" ,"Controller" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"POSPRINTER" ,"SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"POSPRINTER" ,"SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"POSPRINTER" ,"Model" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SIGNPAD" ,"UseFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SIGNPAD" ,"SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SIGNPAD" ,"SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SIGNPAD" ,"Model" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SIGNPAD" ,"AutoFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SIGNPAD" ,"MinCnt" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SIGNPAD" ,"TimeOut" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CASHDRAWER" ,"UseFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CASHDRAWER" ,"CashDrawerType" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CASHDRAWER" ,"SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CASHDRAWER" ,"SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SCALE" ,"UseFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SCALE" ,"SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SCALE" ,"SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SCALEPOLEDISP","UseFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SCALEPOLEDISP","SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"SCALEPOLEDISP","SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"ICREADER" ,"UseFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"ICREADER" ,"SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"ICREADER" ,"SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"ICREADER" ,"Model" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CATTERMINAL" ,"UseFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CATTERMINAL" ,"SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CATTERMINAL" ,"SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CATTERMINAL" ,"Model" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CATTERMINAL" ,"TimeOut" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"LABELPRINTER" ,"UseFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"LABELPRINTER" ,"SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"LABELPRINTER" ,"SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"LABELPRINTER" ,"Model" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CDP" ,"UseFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CDP" ,"Controller" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CDP" ,"SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CDP" ,"SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"CDP" ,"Model" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"MSR" ,"Controller" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"MSR" ,"SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"MSR" ,"SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"MSR" ,"Model" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"MSR" ,"STX" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"MSR" ,"ETX" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"MSR" ,"UseFlag" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"LGEMPRF" ,"SerialPortNumber" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"LGEMPRF" ,"SerialBaudRate" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"LGEMPRF" ,"Model" ,"0" }
,{ PosConst.INI_FILE_NAME.PosDevice ,"LGEMPRF" ,"UseFlag" ,"0" }
// CommPort.INI
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"SignLogPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"SysInfoPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"TranPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"JrnlPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"TranInqPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"MissChkPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"PayInqPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"BizInqPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"MstPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"PayLogPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"AppLogPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"EtcTranPort" ,"0" }
,{ PosConst.INI_FILE_NAME.CommPort ,"SERVER" ,"ScaleLogPort" ,"0" }
};
for (int iRow = 0; iRow <= arrList.GetLength(0) - 1; iRow++)
{
if (string.IsNullOrEmpty(arrList[iRow, 0]) == false && (sFileName == "" || sFileName == arrList[iRow, 0]))
{
CmMessage cmsFile = null;
cmsFile = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + arrList[iRow, 0]);
if (cmsFile != null)
sRetData += DataFormat(arrList[iRow, 0].ToUpper(), arrList[iRow, 1], arrList[iRow, 2], CmUtil.StringNullEmpty(GetConfigInfo(cmsFile, arrList[iRow, 1], arrList[iRow, 2])), arrList[iRow, 3]);
}
}
}
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.ToString());
}
return sRetData;
}
/// <summary>
/// 설정 파일 읽기
/// </summary>
/// <param name="cCfgInfo"></param>
/// <param name="sGroup"></param>
/// <param name="sValueName"></param>
/// <returns></returns>
private string GetConfigInfo(CmMessage cCfgInfo, string sGroup, string sValueName)
{
return GetConfigInfo(cCfgInfo, sGroup, sValueName, "");
}
private string GetConfigInfo(CmMessage cCfgInfo, string sGroup, string sValueName, string sDefault)
{
try
{
string sValue = cCfgInfo.GetMessage(sGroup).GetMessageValue(sValueName);
if (sValue == null)
return sDefault;
else
return sValue;
}
catch { }
return sDefault;
}
#endregion
#region
/// <summary>
/// 조회 데이터 치환
/// </summary>
/// <param name="sInData"></param>
/// <returns></returns>
private string DataReplace(string sInData)
{
string sData = "";
try
{
sData = sInData.Replace(m_FIELD_DIV, "").Replace(m_LINE_DIV, "").Replace("\n", "");
}
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.ToString());
}
return sData;
}
/// <summary>
/// 전송 데이터 포멧팅
/// </summary>
/// <param name="sFileName"></param>
/// <param name="sMainTag"></param>
/// <param name="sSubTag"></param>
/// <param name="sValue"></param>
/// <returns></returns>
private string DataFormat(string sFileName, string sMainTag, string sSubTag, string sValue, string sCrypt)
{
string sRetData = string.Empty;
try
{
sRetData = string.Format("{5}{1}{0}{2}{0}{3}{0}{4}", m_FIELD_DIV, sFileName, sMainTag, sSubTag, DataReplace(sValue), m_LINE_DIV);
}
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.ToString());
}
return sRetData;
}
#endregion
}
}