spc-kiosk-pb/Agent/Measuring/MeasuringMain.cs
2019-06-16 14:12:09 +09:00

697 lines
36 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO.Ports;
using System.ComponentModel;
using Cosmos.Common;
using Cosmos.CommonManager;
using Cosmos.BaseFrame;
using Cosmos.UserFrame;
namespace Cosmos.Measuring
{
public class MeasuringMain : IMeasuring
{
#region
/// <summary>
/// StateServer Object (StateServer 객체)
/// </summary>
public StateServer StateObject = (StateServer)StateServer.GetInstance();
/// <summary>
/// POS Status Value (POS 상태값)
/// </summary>
private PosStatus m_cPosStatus = null;
/// <summary>
/// POS 주변장치
/// </summary>
private DeviceStatus m_cDevStatus = null;
/// <summary>
/// 중량 출력 모드
/// </summary>
private PosConst.MEASURING_AGENT_PRINT_MODE PrintMode;
/// <summary>
/// 출력용 핸드폰번호
/// </summary>
private string m_sCPNum = "";
public string CPNum { get { return m_sCPNum; } set { m_sCPNum = value; } }
/// <summary>
/// 출력용 플레이버
/// </summary>
private string m_sFlavour1 = "";
public string Flavour1 { get { return m_sFlavour1; } set { m_sFlavour1 = value; } }
private string m_sFlavour2 = "";
public string Flavour2 { get { return m_sFlavour2; } set { m_sFlavour2 = value; } }
/// <summary>
/// 출력용 주문시간
/// </summary>
private string m_sOrdDT = "";
public string OrdDT { get { return m_sOrdDT; } set { m_sOrdDT = value; } }
private Scale m_cScaleDevice = null;
private LabelPrinter m_cLabelPrtDevice = null;
private ScalePoleDisplay m_cScalePoleDisplay = null;
private string m_sOldOrdDate = "";
private string m_sOldOrdTime = "";
/// <summary>
/// MSSQL DB 관련 객체
/// </summary>
private static SqlDB sqlDb = null;
/// <summary>
/// Measuring Thread 작동 여부
/// </summary>
private bool m_MeasuringRunning = true;
/// <summary>
/// Measuring Thread
/// </summary>
private Thread m_tMeasuring = null;
/// <summary>
/// 대기시간
/// </summary>
private int WAIT_TIME = 60000 * 30;
/// <summary>
/// 저울 델리게이트
/// </summary>
/// <param name="bPrintYn"></param>
/// <param name="iWeight"></param>
/// <param name="sUnit"></param>
/// <param name="sItemNm"></param>
public delegate void DelegateScaleDevice(bool bPrintYn, int iWeight, string sUnit, string sItemNm);
public delegate void DelegateScaleDeviceRaw(string sScaleData);
public static DelegateScaleDevice m_delegateScaleDev = null;
public static DelegateScaleDeviceRaw m_delegateScaleDevRaw = null;
private bool m_bOncePrint = false;
#endregion
#region
public MeasuringMain()
{
m_cPosStatus = (PosStatus)StateObject.POS;
m_cDevStatus = (DeviceStatus)StateObject.DEVICE;
m_cScaleDevice = new Scale();
m_cLabelPrtDevice = new LabelPrinter();
m_cScalePoleDisplay = new ScalePoleDisplay();
}
public void Initialize()
{
// Default 출력 모드는 일반중량출력
PrintMode = PosConst.MEASURING_AGENT_PRINT_MODE.NORMAL;
CPNum = "";
Flavour1 = "";
Flavour2 = "";
OrdDT = "";
}
#endregion
#region Measuring /
public void StartMeasuring()
{
try
{
Initialize();
// 저울 델리게이트 생성
m_delegateScaleDev = new DelegateScaleDevice(OnScaleDeviceEvent);
// 저울 RAW Data 델리게이트 생성
m_delegateScaleDevRaw = new DelegateScaleDeviceRaw(OnScaleDataEvent);
if (m_tMeasuring == null)
{
m_tMeasuring = new Thread(new ThreadStart(ThreadMeasuringRun));
m_MeasuringRunning = true;
m_tMeasuring.Start();
}
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
ex.Message);
}
}
public void StopMeasuring()
{
try
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
UserCom.INFO_LEVEL,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"Measuring Service Stop!!!");
m_MeasuringRunning = false;
int count = 0;
while(count < 10)
{
if (m_tMeasuring != null && m_tMeasuring.IsAlive) m_MeasuringRunning = false;
else break;
count++;
Thread.Sleep(300);
}
if(count >= 10)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
UserCom.INFO_LEVEL,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"Force Measuring Service Stop!!!");
m_tMeasuring.Abort();
}
m_tMeasuring = null;
// 저울 델리게이트 Release
m_delegateScaleDev = null;
// 전자저울 SerialPort Close
m_cScaleDevice.CloseScale();
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
ex.Message);
}
}
#endregion Measuring /
#region Measuring Main
private void ThreadMeasuringRun()
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
UserCom.INFO_LEVEL,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"Measuring Service Run!!");
while(m_MeasuringRunning)
{
try
{
// 전자저울 SerialPort Open
bool bReturn = m_cScaleDevice.OpenScale(m_cPosStatus.Base.OlePosScaleSerialPortNumber, m_cPosStatus.Base.OlePosScaleSerialBaudRate);
// 2017.05.17
Thread.Sleep(500);
if (bReturn == true)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
UserCom.INFO_LEVEL,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"Scale port open succeed");
}
else
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
UserCom.INFO_LEVEL,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"Scale port open failed");
}
int nNowSleepTerm = 0;
while(nNowSleepTerm < WAIT_TIME)
{
if (m_MeasuringRunning == false) break;
Thread.Sleep(100);
nNowSleepTerm += 100;
}
m_cScaleDevice.CloseScale();
// 2017.05.17
Thread.Sleep(500);
}
catch(Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"Measuring Service Exception : " + ex.Message);
break;
}
}
UserLog.WriteLogFile(UserCom.LOG_ERROR,
UserCom.INFO_LEVEL,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"Measuring Service Exit!!");
}
#endregion
#region
public void SetPrintMode(PosConst.MEASURING_AGENT_PRINT_MODE sMode)
{
try
{
PrintMode = sMode;
if(PrintMode == PosConst.MEASURING_AGENT_PRINT_MODE.NORMAL)
{
Initialize();
}
}
catch(Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
ex.Message);
}
}
#endregion
#region ()
public void SetHappyOrderData(string[] sData)
{
try
{
if (sData.Length == 1)
{
CPNum = sData[0];
Flavour1 = "";
Flavour2 = "";
}
else if (sData.Length == 2)
{
CPNum = sData[0];
Flavour1 = sData[1];
Flavour2 = "";
}
else if(sData.Length > 2)
{
CPNum = sData[0];
Flavour1 = sData[1];
Flavour2 = sData[2];
OrdDT = sData[3];
}
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
ex.Message);
}
}
#endregion ()
#region Scale Device Event
public void OnScaleDeviceEvent(bool bPrintYn, int iWeight, string sUnit, string sItemNm)
{
try
{
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ [OPEN]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
if (m_bOncePrint == false)
{
m_bOncePrint = true;
string sCurDT = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
string sScaleDate = sCurDT.Substring(0, 10).Replace("-", "");
string sScaleTime = sCurDT.Substring(11, 8).Replace(":", "");
if (m_sOldOrdTime == "" || (m_sOldOrdTime.Equals(sScaleTime) == false))
{
m_sOldOrdDate = sScaleDate;
m_sOldOrdTime = sScaleTime;
// 정상중량일 경우에만 라벨프린터 출력함
if (bPrintYn == true)
{
if (PrintMode == PosConst.MEASURING_AGENT_PRINT_MODE.NORMAL)
ProcWeightInfo(sItemNm, iWeight, sUnit, sCurDT);
else
ProcWeightInfoOnHappyOrder(sItemNm, iWeight, sUnit, sCurDT);
}
// 저울 데이터 저장
// 중량 미달일 경우에도 저울 데이터는 저장
InsertScaleLog(sScaleDate, sScaleTime, iWeight, sItemNm, bPrintYn ? "1" : "0");
}
}
}
catch(Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
ex.Message);
}
finally
{
m_bOncePrint = false;
}
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ [CLOSE]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
}
public void OnScaleDataEvent(string sScaleData)
{
try
{
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ [OPEN]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
// ScalePoleDisplay 사용일 경우에만 출력
if(m_cDevStatus.ScalePoleDisplay.UseYn == true)
{
ProcScalePoleDisplay(sScaleData);
}
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ [CLOSE]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
ex.Message);
}
}
#endregion Device Event
#region DB
public void InsertScaleLog(string sDate, string sTime, int iWeight, string sItemNm, string sNormalYn)
{
string sQuery = "";
string sInsQuery = "";
sqlDb = null;
try
{
sqlDb = new SqlDB(m_cPosStatus.Base.LocalDbSource, m_cPosStatus.Base.LocalDbCatalog, m_cPosStatus.Base.LocalDbUserID, m_cPosStatus.Base.LocalDbPassword);
sQuery = "INSERT INTO POSLOG..ETC_SCALE_LOG ";
sQuery += " ( CMP_CD, BRAND_CD, SALE_DT, STOR_CD, POS_NO ";
sQuery += " , SCALE_DT, SCALE_TM, WEIGHT, ITEM_NM, NORMAL_YN ";
sQuery += " , SEND_YN, REG_DATE, UPD_DATE ) ";
sQuery += "VALUES ";
sQuery += " ( '{0}', '{1}', '{2}', '{3}', '{4}' ";
sQuery += " , '{5}', '{6}', {7}, N'{8}', '{9}' ";
sQuery += " , '{10}', '{11}', '{12}' ) ";
sInsQuery = string.Format( sQuery
, m_cPosStatus.Base.CmpCd, m_cPosStatus.Base.BrandCd, m_cPosStatus.Base.SaleDate, m_cPosStatus.Base.StoreNo, m_cPosStatus.Base.PosNo
, sDate, sTime, iWeight, sItemNm, sNormalYn
, "0", DateTime.Now.ToString("yyyyMMddHHmmss"), DateTime.Now.ToString("yyyyMMddHHmmss"));
int iRet = sqlDb.DBExecuteNonQuery(sInsQuery, System.Data.CommandType.Text, (System.Data.SqlClient.SqlParameter[])null);
if(iRet != UserCom.OK)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
UserCom.WARNING_LEVEL,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"Insert Failed!! " + "[" + sInsQuery + "]");
}
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
ex.Message);
}
finally
{
if (sqlDb != null)
{
sqlDb.DBClose();
}
}
}
#endregion
#region
public void ProcWeightInfo(string sItemNm, int iWeight, string sUnit, string sCurTime)
{
bool bRet = false;
try
{
//if (m_bOncePrint == false)
//{
// 라벨프린터 Open
bRet = m_cLabelPrtDevice.OpenLabelPrinter(m_cPosStatus.Base.OlePosLabelPrinterSerialPortNumber, m_cPosStatus.Base.OlePosLabelPrinterSerialBaudRate);
if(bRet == false)
{
return;
}
//m_bOncePrint = true;
//grayber@20180228 중량 라벨 출력 변경 start
//기존
//string sContent = sItemNm + " : " + iWeight.ToString() + sUnit;
//변경
string sContent = sItemNm + " : " + string.Format( "{0:#,###}",iWeight) + sUnit;
//grayber@20180228 중량 라벨 출력 변경 start
string sDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ LabelPrt: [" + sContent + "]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
// 중량정보 출력
//grayber@20180228 중량 라벨 출력 변경 start
// 기존
//m_cLabelPrtDevice.PrintWeightInfo(sContent, sDateTime, CmUtil.GetDataRowStr(PosMstManager.GetMstStore(), PosMst.MST_STORE.DATA.STORNM));
// 변경
m_cLabelPrtDevice.PrintWeightInfo(sContent, sDateTime, CmUtil.GetDataRowStr(PosMstManager.GetMstStore(), PosMst.MST_STORE.DATA.STORNM) + " 점");
//grayber@20180228 중량 라벨 출력 변경 end
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ [CLOSE]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
// 라벨프린터 Close
bRet = m_cLabelPrtDevice.CloseLabelPrinter();
//m_bOncePrint = false;
//}
}
catch(Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
ex.Message);
}
}
public void ProcWeightInfoOnHappyOrder(string sItemNm, int iWeight, string sUnit, string sCurTime)
{
bool bRet = false;
try
{
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ [OPEN]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
// 라벨프린터 Open
bRet = m_cLabelPrtDevice.OpenLabelPrinter(m_cPosStatus.Base.OlePosLabelPrinterSerialPortNumber, m_cPosStatus.Base.OlePosLabelPrinterSerialBaudRate);
if (bRet == false)
{
return;
}
m_bOncePrint = true;
string sContent = sItemNm + " / " + iWeight.ToString() + sUnit + " (" + CPNum + ")";
string sOrdDateTime = "주문 " + OrdDT;
string sPckDateTime = "포장 " + sCurTime;
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ LabelPrt: [" + sContent + "]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
// 중량정보 출력
m_cLabelPrtDevice.PrintWeightInfo(sContent, Flavour1, Flavour2, sOrdDateTime, sPckDateTime);
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ [CLOSE]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
// 라벨프린터 Close
bRet = m_cLabelPrtDevice.CloseLabelPrinter();
m_bOncePrint = false;
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
ex.Message);
}
}
#endregion
#region ScalePoleDisplay
/// <summary>
/// ScalePoleDisplay 출력
/// </summary>
/// <param name="sScaleData">저울에서 입력된 값 Ex) ST,+00000.00__g</param>
public void ProcScalePoleDisplay(string sScaleData)
{
try
{
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ [OPEN]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
m_cScalePoleDisplay.OpenScalePoleDisplay(m_cPosStatus.Base.OleScalePoleDisplayPortNumber, m_cPosStatus.Base.OleScalePoleDisplayBaudRate);
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ " + "PoleDisplay: " + "[" + sScaleData + "]");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
m_cScalePoleDisplay.WriteToScalePoleDisplay(sScaleData);
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 start
#if true // 로그추가
//grayber@20171222 디버그 로그 추가 - 저울 디버그
UserLog.WriteLogFile(UserCom.LOG_OP,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
"▶▶ CLOSE");
#endif
//grayber@20171222 저울,라벨프린터, PoleDisplay 디버그 로그 추가 end
m_cScalePoleDisplay.CloseScalePoleDisplay();
}
catch (Exception ex)
{
UserLog.WriteLogFile(UserCom.LOG_ERROR,
System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, // Project Name (프로젝트명)
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + // Class Name (Class Name (클래스명))
System.Reflection.MethodBase.GetCurrentMethod().Name + "()", // Function Name (Function Name (함수명))
ex.Message);
}
}
#endregion ScalePoleDisplay
}
}