cập nhật trạng thái máy in
cập nhật trạng thái DE70
This commit is contained in:
+4
-3
@@ -148,8 +148,8 @@ namespace SafeBagDE70
|
||||
}
|
||||
return bInitUser;
|
||||
}
|
||||
public static CDMSTATE? CDMSTATE = null;
|
||||
public static ADMINDEVICESTATUS? ADMINDEVICESTATUS = null;
|
||||
public static CDMSTATE CDMSTATE;
|
||||
public static ADMINDEVICESTATUS ADMINDEVICESTATUS;
|
||||
private static DateTime CutOffTime = new DateTime(1, 1, 1, 11, 0, 0); // 11:00 a.m as cut-off time
|
||||
|
||||
public static string GetNumberPartFromMerchantCode(string merchantCode)
|
||||
@@ -609,7 +609,8 @@ namespace SafeBagDE70
|
||||
{
|
||||
NORMAL = 0,
|
||||
NEARPAPEROUT = 1,
|
||||
PAPEROUT=2
|
||||
PAPEROUT=2,
|
||||
ERROR=3
|
||||
}
|
||||
public enum SensorStatusCode
|
||||
{
|
||||
|
||||
+16
-3
@@ -8,6 +8,7 @@
|
||||
using System.IO.Ports;
|
||||
using System.Text;
|
||||
using System.Linq;
|
||||
using SafeBagDE70.API;
|
||||
|
||||
public class CCmdRsp
|
||||
{
|
||||
@@ -15,6 +16,7 @@
|
||||
public static int mDenominationCount;
|
||||
public static string mSelectedCurrency;
|
||||
public static int miSelectedCurrency;
|
||||
|
||||
private SerialPort serialPort = null;
|
||||
private int m_all_sendsize;
|
||||
private int m_all_recvsize;
|
||||
@@ -1577,6 +1579,7 @@
|
||||
public class Com232C
|
||||
{
|
||||
SerialPort serialPort = null;
|
||||
public static int prevState = 0;
|
||||
public Com232C(SerialPort _serialPort)
|
||||
{
|
||||
this.serialPort = _serialPort;
|
||||
@@ -1584,13 +1587,18 @@
|
||||
public byte send_dat(byte[] buf, int size)
|
||||
{
|
||||
//Debug.WriteLine(DE70_CMD.ByteArrayToString(buf, 0, size));
|
||||
AppData.DeviceStatus.CDMStatus = (int)CDMStatusCode.NORMAL;
|
||||
AppData.CDMSTATE.CDMStatus = "DE: OK";
|
||||
byte bResult = 0;
|
||||
try
|
||||
{
|
||||
serialPort.Write(buf, 0, size);
|
||||
return Constants.E_OK;
|
||||
bResult= Constants.E_OK;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
AppData.DeviceStatus.CDMStatus = (int)CDMStatusCode.DISCONNECT_SERIALPORT;
|
||||
AppData.CDMSTATE.CDMStatus = "DE: LỖI";
|
||||
try
|
||||
{
|
||||
Log.Fatal(e, "DE70_send_dat");
|
||||
@@ -1602,11 +1610,16 @@
|
||||
{
|
||||
Log.Fatal(e2,"DE70_send_dat2");
|
||||
}
|
||||
|
||||
}
|
||||
if(AppData.DeviceStatus.CDMStatus!=prevState)
|
||||
{
|
||||
APIModels.SendEvent(AppData.DeviceStatus);
|
||||
prevState = AppData.DeviceStatus.CDMStatus;
|
||||
}
|
||||
|
||||
// Implement serial communication send function
|
||||
return Constants.E_NG;
|
||||
bResult= Constants.E_NG;
|
||||
return bResult;
|
||||
}
|
||||
|
||||
public int rcv_dat(byte[] buf, int pos, int size)
|
||||
|
||||
+58
-38
@@ -393,43 +393,13 @@ namespace SafeBagDE70
|
||||
|
||||
if (countSensorTimer % 10 == 0)
|
||||
{
|
||||
|
||||
var status = printerManager.GetStatus();
|
||||
var strPrinterMessage = "";
|
||||
if(status!=null)
|
||||
{
|
||||
if (status.StsNOPAPER)
|
||||
{
|
||||
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.PAPEROUT;
|
||||
StopTimers();
|
||||
strPrinterMessage = "MÁY IN HẾT GIẤY! ĐỀ NGHỊ THAY GIẤY";
|
||||
ShowError(strPrinterMessage);
|
||||
AppData.ADMINDEVICESTATUS.PrinterStatus = strPrinterMessage;
|
||||
}
|
||||
else if (status.StsNEARENDPAP)
|
||||
{
|
||||
strPrinterMessage = "MÁY IN GẦN HẾT GIẤY";
|
||||
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.NEARPAPEROUT;
|
||||
AppData.ADMINDEVICESTATUS.PrinterStatus = strPrinterMessage;
|
||||
}
|
||||
else
|
||||
{
|
||||
AppData.ADMINDEVICESTATUS.PrinterStatus = "MÁY IN OK";
|
||||
|
||||
}
|
||||
if (AppData.DeviceStatus.PrinterStatus != prevPrinterStatus)
|
||||
{
|
||||
AppData.DeviceStatus.Description = strPrinterMessage;
|
||||
APIModels.SendEvent(AppData.DeviceStatus);
|
||||
prevPrinterStatus = AppData.DeviceStatus.PrinterStatus;
|
||||
}
|
||||
}
|
||||
GetPrinterStatus();
|
||||
|
||||
AppData.DeviceStatus.Description = AppData.CDMSTATE.CDMStatus;
|
||||
AppData.DeviceStatus.DeviceTime = DateTime.Now;
|
||||
APIModels.SendHealthCheck(AppData.DeviceStatus);
|
||||
}
|
||||
if(countSensorTimer%5==0)
|
||||
if (countSensorTimer%5==0)
|
||||
{
|
||||
AppData.ADMINDEVICESTATUS.DeviceStatus = AppData.IsInternetOk == false ? "Kết nối Internet: Không" : "Kết nối Internet: OK";
|
||||
}
|
||||
@@ -448,6 +418,54 @@ namespace SafeBagDE70
|
||||
}
|
||||
sensorTimer.IsEnabled = true;
|
||||
}
|
||||
|
||||
private void GetPrinterStatus()
|
||||
{
|
||||
var status = printerManager.GetStatus();
|
||||
var strPrinterMessage = "";
|
||||
if (status != null)
|
||||
{
|
||||
if (status.StsNOPAPER)
|
||||
{
|
||||
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.PAPEROUT;
|
||||
StopTimers();
|
||||
strPrinterMessage = "MÁY IN: HẾT GIẤY! ĐỀ NGHỊ THAY GIẤY";
|
||||
ShowError(strPrinterMessage);
|
||||
AppData.ADMINDEVICESTATUS.PrinterStatus = strPrinterMessage;
|
||||
}
|
||||
else if (status.StsNEARENDPAP)
|
||||
{
|
||||
strPrinterMessage = "MÁY IN: GẦN HẾT GIẤY";
|
||||
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.NEARPAPEROUT;
|
||||
AppData.ADMINDEVICESTATUS.PrinterStatus = strPrinterMessage;
|
||||
}
|
||||
else if (status.StsPAPERJAM || status.StsCUTERROR || status.StsOVERTEMP)
|
||||
{
|
||||
strPrinterMessage = "MÁY IN: LỖI";
|
||||
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.ERROR;
|
||||
AppData.ADMINDEVICESTATUS.PrinterStatus = strPrinterMessage;
|
||||
}
|
||||
else
|
||||
{
|
||||
strPrinterMessage = "MÁY IN: OK";
|
||||
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.NORMAL;
|
||||
AppData.ADMINDEVICESTATUS.PrinterStatus = strPrinterMessage;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
strPrinterMessage = "MÁY IN: LỖI";
|
||||
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.ERROR;
|
||||
AppData.ADMINDEVICESTATUS.PrinterStatus = strPrinterMessage;
|
||||
}
|
||||
if (AppData.DeviceStatus.PrinterStatus != prevPrinterStatus)
|
||||
{
|
||||
AppData.DeviceStatus.Description = strPrinterMessage;
|
||||
APIModels.SendEvent(AppData.DeviceStatus);
|
||||
prevPrinterStatus = AppData.DeviceStatus.PrinterStatus;
|
||||
}
|
||||
}
|
||||
|
||||
Stopwatch watch = new Stopwatch();
|
||||
private void GetSensorValue()
|
||||
{
|
||||
@@ -535,12 +553,14 @@ namespace SafeBagDE70
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Fatal(ex,"GetSensorValue");
|
||||
if(serialPortSensor.IsOpen)
|
||||
serialPortSensor.Close();
|
||||
serialPortSensor.Open();
|
||||
serialPortSensor.DiscardInBuffer();
|
||||
serialPortSensor.DiscardOutBuffer();
|
||||
//Log.Fatal(ex,"GetSensorValue");
|
||||
//if(serialPortSensor.IsOpen)
|
||||
// serialPortSensor.Close();
|
||||
//serialPortSensor.Open();
|
||||
|
||||
//serialPortSensor.DiscardInBuffer();
|
||||
//serialPortSensor.DiscardOutBuffer();
|
||||
InitSerialPortSensor();
|
||||
}
|
||||
}
|
||||
private void DoMaintaince()
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Custom.CuCustomWndAPI;
|
||||
using HandyControl.Data;
|
||||
using Microsoft.IdentityModel.Abstractions;
|
||||
using SafeBagDE70.API;
|
||||
using Serilog;
|
||||
using System;
|
||||
@@ -28,9 +29,9 @@ namespace SafeBagDE70.Services
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Information("[PRINTER] Không thể khởi tạo máy in");
|
||||
Log.Fatal(ex,"[PRINTER] Không thể khởi tạo máy in");
|
||||
|
||||
AppData.DeviceStatus.PrinterStatus = 3;
|
||||
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.ERROR;
|
||||
AppData.DeviceStatus.Description = "[PRINTER] Không thể khởi tạo máy in";
|
||||
APIModels.SendEvent(AppData.DeviceStatus);
|
||||
}
|
||||
@@ -38,13 +39,19 @@ namespace SafeBagDE70.Services
|
||||
|
||||
public PrinterStatus? GetStatus()
|
||||
{
|
||||
if(dev!=null)
|
||||
try
|
||||
{
|
||||
var status = dev.GetPrinterFullStatus();
|
||||
return status;
|
||||
if (dev != null)
|
||||
{
|
||||
var status = dev.GetPrinterFullStatus();
|
||||
return status;
|
||||
}
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
Log.Fatal(ex, "Get Printer Status");
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
public bool IsNearPaperOut()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user