From ac6074c9bf082dc9eb953f7766a43a3590d41e72 Mon Sep 17 00:00:00 2001 From: Nguyen Dinh Thuan Date: Tue, 1 Oct 2024 22:45:16 +0700 Subject: [PATCH] =?UTF-8?q?Back=20GetCassete=20Ch=E1=BB=89=20cho=20ph?= =?UTF-8?q?=C3=A9p=20login=20qrcode=201=20l=E1=BA=A7n=20Th=C3=AAm=20timeou?= =?UTF-8?q?t=20cho=20read=20cassete?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AppData.cs | 68 +++++++++++++++++++++++++------ UserControl/DepositSMUCv2.xaml.cs | 9 +++- UserControl/WelcomeUC.xaml.cs | 13 ++++-- appsettings.json | 2 +- 4 files changed, 74 insertions(+), 18 deletions(-) diff --git a/AppData.cs b/AppData.cs index c951fba..3273854 100644 --- a/AppData.cs +++ b/AppData.cs @@ -268,16 +268,17 @@ namespace SafeBagDE70 } public static byte[] GetCassetteData() { - 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; - } + //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; + //} + cCmdRsp.SendXXCmd((byte)Command.CMD_DE_READ_CASSETTE); var data = cCmdRsp.recv_dat.dat; StringBuilder str = new StringBuilder(); var recv_dat = cCmdRsp.recv_dat; @@ -465,8 +466,7 @@ namespace SafeBagDE70 break; } // - if(bResult) - await APIModels.UpdateDeviceCommand(command.Id, bResult?1:0); + await APIModels.UpdateDeviceCommand(command.Id, bResult?1:2); } } } @@ -692,6 +692,50 @@ namespace SafeBagDE70 } return bSuccess; } + public static bool ResetAbnormalStorage605() + { + var cCmdRsp = AppData.cCmdRsp; + bool bSuccess = false; + if (cCmdRsp != null && cCmdRsp.recv_dat != null) + { + if (cCmdRsp.recv_dat.dat[1] == 0x1C && cCmdRsp.recv_dat.dat[2] == 0x4A) + { + // cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE); + cCmdRsp.SendXXCmd((byte)Command.CMD_DE_UNLOCK); + Thread.Sleep(1000); + + var currentMode = cCmdRsp.GetLockParam().mode; + cCmdRsp.GetLockParam().mode = Mode.MODE_SECERROR; + cCmdRsp.SendLock(); + Thread.Sleep(1000); + + cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE); + var recvData = cCmdRsp.recv_dat; + var SR2 = recvData.dat[1]; + var S2 = recvData.dat[recvData.leng - 1]; + if (recvData.dat[1] == 0x1C && (S2==0xE2 || S2==0xE4)) + { + cCmdRsp.SendXXCmd((byte)Command.CMD_DE_RESET); + Thread.Sleep(2000); + cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE); + Thread.Sleep(1000); + cCmdRsp.SendXXCmd((byte)Command.CMD_DE_CNTSTART); + Thread.Sleep(1000); + cCmdRsp.SendXXCmd((byte)Command.CMD_DE_STORESTART); + if (cCmdRsp.recv_dat.dat[1] == 0x04 && cCmdRsp.recv_dat.dat[2] == 0x41) + { + bSuccess = true; + } + } + else + { + + } + + } + } + return bSuccess; + } } public class CustomerAccount diff --git a/UserControl/DepositSMUCv2.xaml.cs b/UserControl/DepositSMUCv2.xaml.cs index 570ea11..ff375bb 100644 --- a/UserControl/DepositSMUCv2.xaml.cs +++ b/UserControl/DepositSMUCv2.xaml.cs @@ -120,7 +120,6 @@ namespace SafeBagDE70 notesInSession = new NotesInSession(); spNotesInSession.DataContext = notesInSession; - ResetButtons(); btnStart.IsEnabled = true; btnLogout.IsEnabled = true; @@ -1053,7 +1052,13 @@ namespace SafeBagDE70 if (CheckPreStoreValid(previousCassetData, AppData.MaxNotes, sessions)) { cCmdRsp.SendXXCmd((byte)Command.CMD_DE_STORESTART); - bSuccess = WaitUntilCountReady(10); + bSuccess = WaitUntilCountReady(20); + if (!bSuccess) + { + cCmdRsp.SendXXCmd((byte)Command.CMD_DE_STORESTART); + bSuccess = WaitUntilCountReady(20); + } + var newCasstData = AppData.GetCassetteData(); str = "AFTER STORE \r\n[CASSETTE]" + AppData.GetNotesString(newCasstData); diff --git a/UserControl/WelcomeUC.xaml.cs b/UserControl/WelcomeUC.xaml.cs index 6ba557c..3851892 100644 --- a/UserControl/WelcomeUC.xaml.cs +++ b/UserControl/WelcomeUC.xaml.cs @@ -55,6 +55,7 @@ namespace SafeBagDE70 { gridInfor.Visibility = Visibility.Collapsed; gridMain.Visibility = Visibility.Visible; + btnQRCodeLogin.IsEnabled = true; } public void ShowInfor(string strMessage) { @@ -122,7 +123,7 @@ namespace SafeBagDE70 { QrCodePanel.Visibility = Visibility.Collapsed; PinCodePanel.Visibility = Visibility.Visible; - + btnQRCodeLogin.IsEnabled = true; cCoreScannerClass.BarcodeEvent -= new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent); } catch { @@ -134,9 +135,10 @@ namespace SafeBagDE70 { PinCodePanel.Visibility = Visibility.Collapsed; QrCodePanel.Visibility=Visibility.Visible; + btnQRCodeLogin.IsEnabled = false; + cCoreScannerClass.BarcodeEvent -= new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent); cCoreScannerClass.BarcodeEvent += new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent); - } public void InitQRCodeScanner() { @@ -222,7 +224,12 @@ namespace SafeBagDE70 } }); - } + } + Dispatcher.Invoke(() => + { + btnQRCodeLogin.IsEnabled = true; + }); + } private void VerifyQRCode(string decodedString,out string? ConsumerID) diff --git a/appsettings.json b/appsettings.json index 62ae404..48816be 100644 --- a/appsettings.json +++ b/appsettings.json @@ -4,7 +4,7 @@ { "Name": "File", "Args": { - "path": "D:\\logs\\log_.txt", + "path": "F:\\logs\\log_.txt", "rollingInterval": "Day" } }