From 1bb1d55920fcf8f41b13e233031c1eb75e8587df Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期五, 18 七月 2025 08:29:20 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/BllTransServer/RcsServer.cs |   31 ++++++++++++++++++++-----------
 1 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/Wms/WMS.BLL/BllTransServer/RcsServer.cs b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
index 219fec2..b809a4c 100644
--- a/Wms/WMS.BLL/BllTransServer/RcsServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
@@ -27,7 +27,8 @@
 {
     public class RcsServer:IRcsServer
     {
-        private readonly object RcsLock = new object();
+        private readonly object GetPalleLock = new object();
+        private readonly object ApplyLocatLock = new object();
 
         private static readonly SqlSugarScope Db = DataContext.Db;
         /// <summary>
@@ -39,7 +40,7 @@
         /// <exception cref="Exception"></exception>
         public void GetPalletNo(Pallnetmsg model, string url, out string taskNo)
         {
-            lock (RcsLock)
+            lock (GetPalleLock)
             {
                 try
                 {
@@ -448,7 +449,7 @@
         /// <exception cref="Exception"></exception>
         public void ApplyLocatNo(Pallnetmsg model, string url, out string taskNo)
         {
-            lock (RcsLock)
+            lock (ApplyLocatLock)
             {
                 try
                 {
@@ -520,6 +521,11 @@
                                 {
                                     throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}");
                                 }
+                                //鍒ゆ柇鏄惁鏈夋壒娆″彿
+                                if (string.IsNullOrWhiteSpace(model.LotNo))
+                                {
+                                    throw new Exception("鎵规鍙蜂负绌猴紒");
+                                }
                                 //鏌ユ壘妗跺簱瀛樹俊鎭�
                                 palletInfo = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.WareHouseNo == deviceLocatInfo.WareHouseNo && w.AreaNo == deviceLocatInfo.AreaNo && w.LocatNo == deviceLocatInfo.LocatNo).OrderBy(o => o.UpdateTime).First();
                                 if (palletInfo == null)
@@ -527,7 +533,7 @@
                                     throw new Exception($"鏈煡璇㈠埌璇ヨ澶囦笂妗剁殑搴撳瓨淇℃伅");
                                 }
                                 palletInfo.LotNo = model.LotNo;//鎵规鍙�
-                                                               //鏇存柊妗跺簱瀛樹俊鎭�
+                                //鏇存柊妗跺簱瀛樹俊鎭�
                                 Db.Updateable(palletInfo).ExecuteCommand();
 
                                 //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟
@@ -536,12 +542,7 @@
                                 {
                                     throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{palletInfo.PalletNo}");
                                 }
-
-                                //鍒ゆ柇鏄惁鏈夋壒娆″彿
-                                if (string.IsNullOrWhiteSpace(model.LotNo))
-                                {
-                                    throw new Exception("鎵规鍙蜂负绌猴紒");
-                                }
+                                
                                 //鏌ユ壘鍒拌杞﹂棿棰勬贩鍖�
                                 loction = GetLocatModel(houseNo, "1");
                                 if (loction == null)
@@ -579,6 +580,14 @@
                                 {
                                     throw new Exception("鎵规鍙蜂负绌猴紒");
                                 }
+                                //澶у崟浣撹溅闂存湁涓帴鏂欐贩鏂欎竴浣撴満锛岃繖閲屽垽鏂壒娆′负绌哄氨鍐嶇淮鎶や笅鎵规
+                                if (string.IsNullOrEmpty(palletInfo.LotNo))
+                                {
+                                    palletInfo.LotNo = model.LotNo;
+                                    //鏇存柊妗跺簱瀛樹俊鎭�
+                                    Db.Updateable(palletInfo).ExecuteCommand();
+                                }
+                                
                                 //鏍¢獙姝ゆ壒娆℃槸鍚︽湁鍏ュ簱鍗�
                                 /*var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().Where(w => w.IsDel == "0" && w.Status == "0" && w.LotNo == model.LotNo).OrderByDescending(o => o.CreateTime).First();
                                 if (noticeDetail == null)
@@ -1337,7 +1346,7 @@
                 var taskIng= Db.Queryable<LogTask>().First(w => w.IsDel == "0" && (w.Status == "0" || w.Status == "1") && w.PalletNo == palletNo);
                 if (taskIng != null)
                 {
-                    throw new Exception("鍒嗛厤鐨勬《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛岃绋嶅悗鍐嶈瘯");
+                    throw new Exception($"鍒嗛厤鐨勬《{palletNo}鏈夋鍦ㄦ墽琛岀殑浠诲姟锛岃绋嶅悗鍐嶈瘯");
                 }
                 //鍒嗛厤妗剁殑鍌ㄤ綅淇℃伅
                 var locatInfo = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletInfo.LocatNo);

--
Gitblit v1.8.0