From 3b935645876fc6291aef5f3186a5351360bffd4e Mon Sep 17 00:00:00 2001 From: Nguyen Dinh Thuan Date: Fri, 27 Sep 2024 14:40:35 +0700 Subject: [PATCH] =?UTF-8?q?Retry=20l=E1=BA=A5y=20s=E1=BB=91=20ti=E1=BB=81n?= =?UTF-8?q?=20trong=20k=C3=A9t=20Hi=E1=BB=83n=20th=E1=BB=8B=20giao=20d?= =?UTF-8?q?=E1=BB=8Bch=20trong=20log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AppData.cs | 15 ++++++++++++--- UserControl/DepositSMUCv2.xaml.cs | 11 +++++++++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/AppData.cs b/AppData.cs index a48d727..c951fba 100644 --- a/AppData.cs +++ b/AppData.cs @@ -12,6 +12,7 @@ using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; +using System.Reflection; using System.ServiceProcess; using System.Text; using System.Text.RegularExpressions; @@ -267,9 +268,17 @@ namespace SafeBagDE70 } public static byte[] GetCassetteData() { - cCmdRsp.SendXXCmd((byte)Command.CMD_DE_READ_CASSETTE); + for(int i = 0; i < 2; i++)//Retry if failed + { + cCmdRsp.SendXXCmd((byte)Command.CMD_DE_READ_CASSETTE); + if (cCmdRsp.recv_dat.dat[0] != 0x40) + { + Thread.Sleep(1000); + } + else + break; + } var data = cCmdRsp.recv_dat.dat; - StringBuilder str = new StringBuilder(); var recv_dat = cCmdRsp.recv_dat; @@ -477,7 +486,7 @@ namespace SafeBagDE70 Log.Error("GetandExecuteCommands error: "+str); } } - static string deviceStatusFileName = "device_status.txt"; + static string deviceStatusFileName = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),"device_status.txt"); public static void GetDeviceStatusFromFile() { try diff --git a/UserControl/DepositSMUCv2.xaml.cs b/UserControl/DepositSMUCv2.xaml.cs index 6e3ef81..423668f 100644 --- a/UserControl/DepositSMUCv2.xaml.cs +++ b/UserControl/DepositSMUCv2.xaml.cs @@ -98,10 +98,16 @@ namespace SafeBagDE70 string? transactionCode = null; if (AppData.IsAuthenticated) { + transactionCode = AppData.GetTransactionCode(); lblUser.Content = $"Xin chào khách hàng: {AppData.CurrentCustomerAccount.Name} (Gian hàng {AppData.CurrentCustomerAccount.CustomerId})"; lblTransactionCode.Content = $"Mã GD: {transactionCode}"; AppData.IsInTransaction = true; + + var str = $"MÃ GD: {AppData.GetTransactionCode()} " + + $"\r\nMÁY: {Environment.MachineName}" + + $"\r\nMÃ NV: {AppData.CurrentCustomerAccount.CustomerId}"; + Log.Information(str); } cCmdRsp = new CCmdRsp(serialPortDE70); AppData.cCmdRsp = cCmdRsp; @@ -1040,7 +1046,7 @@ namespace SafeBagDE70 var str = "BEFORE STORE [CASSETTE]" + AppData.GetNotesString(previousCassetData); str += "\r\nSTORED: " + GetQuantityFromSessions(sessions, true); str += "\r\nSTACKER: " + GetQuantityFromSessions(sessions, false); - + Log.Information(str); AppData.DeviceStatus.Description = str; APIModels.SendEvent(AppData.DeviceStatus); @@ -1072,13 +1078,14 @@ namespace SafeBagDE70 } else { - Log.Information(str); + Dispatcher.Invoke(() => { str = $"PHIÊN GIAO DỊCH KHÔNG HỢP LỆ (SỐ TIỀN GIAO DỊCH KHÔNG KHỚP), VUI LÒNG BÁO CÁO LẠI CHI NHÁNH" + $"\r\n MÃ GD: {AppData.GetTransactionCode()} " + $"\r\nMÁY: {Environment.MachineName}" + $"\r\nMÃ NV: {AppData.CurrentCustomerAccount.CustomerId}"; + Log.Information(str); ShowError(str); });