From c3877b2ebec19f473f45e8c2245926f65d2a3948 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 10 九月 2025 09:26:23 +0800
Subject: [PATCH] 代码提交

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs |  142 ++++++++++++++++------------------------------
 1 files changed, 50 insertions(+), 92 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs"
index 4bf8120..9ae7a23 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageSocketServices/SocketClientService.cs"
@@ -50,6 +50,8 @@
         private readonly IDt_HostLogRepository _hostLogRepository;
         private bool _IsOnline = false;
         public DateTime Time { get; set; } = DateTime.Now;
+        private static int _currentNumber = 0;
+        private static readonly object _lock = new object();
 
 
         public SocketClientService(IDt_TaskService TaskService, IDt_TaskRepository TaskRepository, IDt_StationManagerRepository stationManagerRepository, ILogger<SocketClientService> logger, IDt_HostLogRepository hostLogRepository)
@@ -438,6 +440,23 @@
         #endregion
 
         #region WMS涓嬪彂HOST鏂规硶
+        public static string Sequence()
+        {
+            // 浣跨敤閿佺‘淇濈嚎绋嬪畨鍏�
+            lock (_lock)
+            {
+                _currentNumber++;
+
+                // 濡傛灉瓒呰繃99999锛屽彲浠ラ噸缃垨鎶涘嚭寮傚父锛岃繖閲岄�夋嫨閲嶇疆
+                if (_currentNumber > 99999)
+                {
+                    _currentNumber = 1;
+                }
+
+                return _currentNumber.ToString("D5");
+            }
+        }
+
 
         /// <summary>
         /// 璁惧璇锋眰鍏ュ簱  宸ュ簭101
@@ -448,16 +467,12 @@
         {
             try
             {
-                string str = SendandReply + "101" + BaseDal.GetSeqNo().Result.ToString("D5") + GetFieldsAsString(Agvstatus) + GetListStringOutStation(outStations) + OutStationSpare2 + "1" + GetFieldsAsString(inStation);
+                string str = SendandReply + "101" + Sequence() + GetFieldsAsString(Agvstatus) + GetListStringOutStation(outStations) + OutStationSpare2 + "1" + GetFieldsAsString(inStation);
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("DeviceRequestInbound").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
-            }
-            finally
-            {
-                BaseDal.Db.Close();
             }
         }
 
@@ -470,16 +485,12 @@
         {
             try
             {
-                string str = SendandReply + "925" + BaseDal.GetSeqNo().Result.ToString("D5");
+                string str = SendandReply + "925" + Sequence();
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("RequestCommunication").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
-            }
-            finally
-            {
-                BaseDal.Db.Close();
             }
         }
 
@@ -492,16 +503,12 @@
         {
             try
             {
-                string str = SendNotReply + "915" + BaseDal.GetSeqNo().Result.ToString("D5") + Command;
+                string str = SendNotReply + "915" + Sequence() + Command;
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("JobReady").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
-            }
-            finally
-            {
-                BaseDal.Db.Close();
             }
         }
 
@@ -514,18 +521,13 @@
         {
             try
             {
-                string str = SendNotReply + "913" + BaseDal.GetSeqNo().Result.ToString("D5") + Status;
+                string str = SendNotReply + "913" + Sequence() + Status;
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("DeviceStateReport").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
             }
-            finally
-            {
-                BaseDal.Db.Close();
-            }
-
         }
 
         /// <summary>
@@ -537,16 +539,12 @@
         {
             try
             {
-                string str = SendandReply + "917" + BaseDal.GetSeqNo().Result.ToString("D5") + Status;
+                string str = SendandReply + "917" + Sequence() + Status;
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("DeviceAutoStatusReport").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
-            }
-            finally
-            {
-                BaseDal.Db.Close();
             }
         }
 
@@ -562,18 +560,13 @@
         {
             try
             {
-                string str = SendandReply + "905" + BaseDal.GetSeqNo().Result.ToString("D5") + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
+                string str = SendandReply + "905" + Sequence() + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("JobStartOrEnd").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
             }
-            finally
-            {
-                BaseDal.Db.Close();
-            }
-
         }
 
         /// <summary>
@@ -589,18 +582,13 @@
         {
             try
             {
-                string str = SendNotReply + "907" + BaseDal.GetSeqNo().Result.ToString("D5") + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
+                string str = SendNotReply + "907" + Sequence() + Status + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("PalletActionReport宸ュ簭907").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
             }
-            finally
-            {
-                BaseDal.Db.Close();
-            }
-
         }
 
         /// <summary>
@@ -615,7 +603,7 @@
         {
             try
             {
-                string str = SendandReply + "901" + BaseDal.GetSeqNo().Result.ToString("D5") + "0" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
+                string str = SendandReply + "901" + Sequence() + "0" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                 Dt_HostLog hostLog = new Dt_HostLog()
                 {
                     CommandID = 901,
@@ -629,47 +617,32 @@
             {
                 LogFactory.GetLog("PalletActionReport宸ュ簭901").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
             }
-            finally
-            {
-                BaseDal.Db.Close();
-            }
-
         }
 
         public void PalletActionReportPDA(string FormLocation, string ToLocation, string TaskType, string PallteCode)
         {
             try
             {
-                string str = SendandReply + "901" + BaseDal.GetSeqNo().Result.ToString("D5") + "0" + JobOrderIDPDA + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
+                string str = SendandReply + "901" + Sequence() + "0" + JobOrderIDPDA + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("PalletActionReportPDA宸ュ簭901").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
             }
-            finally
-            {
-                BaseDal.Db.Close();
-            }
-
         }
 
         public void PalletActionReportFrie(string FormLocation, string ToLocation, string TaskType, string PallteCode)
         {
             try
             {
-                string str = SendandReply + "901" + BaseDal.GetSeqNo().Result.ToString("D5") + "0" + JobOrderIDF + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
+                string str = SendandReply + "901" + Sequence() + "0" + JobOrderIDF + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("PalletActionReportPDA宸ュ簭901").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
             }
-            finally
-            {
-                BaseDal.Db.Close();
-            }
-
         }
 
         /// <summary>
@@ -694,7 +667,6 @@
             {
                 LogFactory.GetLog("DeviceStationStatusReport").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
             }
-
         }
 
         /// /// <summary>
@@ -709,7 +681,7 @@
             try
             {
                 ErrorReport(Restocking, "A", "00");
-                string str = SendandReply + "105" + BaseDal.GetSeqNo().Result.ToString("D5") + "R" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
+                string str = SendandReply + "105" + Sequence() + "R" + JobOrderID + priority + FormLocation + ToLocation + TaskType + TrayCnt + PallteCode;
                 Dt_HostLog hostLog = new Dt_HostLog()
                 {
                     CommandID = 105,
@@ -723,11 +695,6 @@
             {
                 LogFactory.GetLog("RecreateGetLocation").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
             }
-            finally
-            {
-                BaseDal.Db.Close();
-            }
-
         }
 
         /// <summary>
@@ -738,16 +705,12 @@
         {
             try
             {
-                string str = SendNotReply + "981" + BaseDal.GetSeqNo().Result.ToString("D5") + message;
+                string str = SendNotReply + "981" + Sequence() + message;
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("CheckSum").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
-            }
-            finally
-            {
-                BaseDal.Db.Close();
             }
         }
 
@@ -761,17 +724,13 @@
         {
             try
             {
-                string str = SendNotReply + "985" + BaseDal.GetSeqNo().Result.ToString("D5") + Trouble + Level + Location;
+                string str = SendNotReply + "985" + Sequence() + Trouble + Level + Location;
 
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("ErrorReport").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
-            }
-            finally
-            {
-                BaseDal.Db.Close();
             }
         }
 
@@ -784,14 +743,13 @@
         {
             try
             {
-                string str = SendNotReply + "104" + BaseDal.GetSeqNo().Result.ToString("D5") + Statues;
+                string str = SendNotReply + "104" + Sequence() + Statues;
                 clientSend(MakeStringToByteMsg(str));
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("DeviceReceiveJobResponse").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
             }
-
         }
 
         /// /// <summary>
@@ -806,7 +764,7 @@
             try
             {
                 ErrorReport(EmptyOutBoundconst, "A", "00");
-                string str = SendandReply + "107" + BaseDal.GetSeqNo().Result.ToString("D5") + "1" + JobOrderID + priority + FormLocation + ToLocation + "O" + TrayCnt + PallteCode;
+                string str = SendandReply + "107" + Sequence() + "1" + JobOrderID + priority + FormLocation + ToLocation + "O" + TrayCnt + PallteCode;
                 Dt_HostLog hostLog = new Dt_HostLog()
                 {
                     CommandID = 107,
@@ -820,11 +778,6 @@
             {
                 LogFactory.GetLog("EmptyOutBound").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
             }
-            finally
-            {
-                BaseDal.Db.Close();
-            }
-
         }
 
         /// <summary>
@@ -835,23 +788,28 @@
         {
             try
             {
-                string str = SendNotReply + "910" + BaseDal.GetSeqNo().Result.ToString("D5") + GetFieldsAsString(AgvStatus) + X + Y;
+                string str = SendNotReply + "910" + Sequence() + GetFieldsAsString(AgvStatus) + X + Y;
                 clientSend(MakeStringToByteMsg(str));
-                Dt_HostLog hostLog = new Dt_HostLog()
+                var hostlog = SqlSugarHelper.DbWMS.Queryable<Dt_HostLog>().Where(x => x.CommandID == 910).First();
+                if (hostlog != null) 
                 {
-                    CommandID = 910,
-                    Count = 0,
-                    Messgae = str,
-                };
-                _hostLogRepository.AddData(hostLog);
+                    hostlog.ModifyDate=DateTime.Now;
+                    SqlSugarHelper.DbWMS.Updateable(hostlog).ExecuteCommand();
+                }
+                else
+                {
+                    Dt_HostLog hostLog = new Dt_HostLog()
+                    {
+                        CommandID = 910,
+                        Count = 0,
+                        Messgae = str,
+                    };
+                    _hostLogRepository.AddData(hostLog);
+                }
             }
             catch (Exception ex)
             {
                 LogFactory.GetLog("DeviceStatusReportResponse").InfoFormat(true, $"璇锋眰鍙傛暟锛歿JsonConvert.SerializeObject(ex.Message)}{Environment.NewLine}{ex.StackTrace}", "");
-            }
-            finally
-            {
-                BaseDal.Db.Close();
             }
         }
 

--
Gitblit v1.9.3