From 2f263d548dc8b9e270f5f5663e80f9d4f5880b10 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期日, 15 六月 2025 15:05:58 +0800
Subject: [PATCH] 申请储位增加锁防止向WMS重复申请

---
 Admin.NET/WCS.Application/PLC/PLCService.cs |   10 +++++++---
 Admin.NET/WCS.Application/PLC/PLCUtil.cs    |    4 ++--
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index db502b1..567ebb6 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -21,6 +21,7 @@
 public static class PLCService
 {
     private static readonly object OLock = new object();
+    private static readonly object RuKuLock = new object();
 
     private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId);
     private static decimal weight94 = 0;
@@ -1814,9 +1815,12 @@
                     #endregion
 
                     var http = new HttpService();
-                    string TaskNo = "";
-                    // 鍚慦MS鐢宠鍌ㄤ綅淇℃伅
-                    strMsg = http.RequestLocate(palletVal, modDevice.StationNum, taskModel, roadway, ref TaskNo, (int)taskInfo2.PalletQty);
+                    string TaskNo = "";                    
+                    lock (RuKuLock)
+                    {
+                        // 鍚慦MS鐢宠鍌ㄤ綅淇℃伅
+                        strMsg = http.RequestLocate(palletVal, modDevice.StationNum, taskModel, roadway, ref TaskNo, (int)taskInfo2.PalletQty);
+                    }                        
 
                     // 鏍规嵁浠诲姟鍙疯幏鍙栬捣濮嬪伐浣嶅湴鍧�锛屾牴鎹捣濮嬪伐浣嶅湴鍧�鑾峰彇LEDIP 鎺ㄩ�佸埌LED灞忓箷銆�
                     var taskInfo = _db.Queryable<WcsTask>().First(w => w.TaskNo == TaskNo);
diff --git a/Admin.NET/WCS.Application/PLC/PLCUtil.cs b/Admin.NET/WCS.Application/PLC/PLCUtil.cs
index af3b820..a420d66 100644
--- a/Admin.NET/WCS.Application/PLC/PLCUtil.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCUtil.cs
@@ -253,7 +253,7 @@
             }                    
         }
         //鍐欏叆鏃ュ織
-        Log.Information($"66666666鍐欏叆PLC锛孌bNumber锛歿DbNumber}锛孭os:{Pos},Value:{Value},setCount:{setCount}");
+        //Log.Information($"66666666鍐欏叆PLC锛孌bNumber锛歿DbNumber}锛孭os:{Pos},Value:{Value},setCount:{setCount}");
 
         return _result;
     }
@@ -267,7 +267,7 @@
     /// <returns></returns>
     public IoTClient.Result SetPlcDBValue(PLCDataTypeEnum PosType, string DbNumber, string Pos, string Value)
     {
-        Log.Information($"66666666鍐欏叆PLC锛孌bNumber锛歿DbNumber}锛孭os:{Pos},Value:{Value}");
+        //Log.Information($"66666666鍐欏叆PLC锛孌bNumber锛歿DbNumber}锛孭os:{Pos},Value:{Value}");
 
         string address;
         if (DbNumber.StartsWith("DB"))

--
Gitblit v1.8.0