From ecab51aa2be992de333b8818df8b38405822b94b Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期六, 20 九月 2025 16:21:06 +0800
Subject: [PATCH] 修改WMS区域管理添加功能问题

---
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index d0ca543..79fec1e 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -23,6 +23,7 @@
 using System.Threading.Tasks;
 using Utility;
 using WMS.BLL.Logic;
+using System.Web;
 
 namespace WMS.BLL.BllPdaServer
 {
@@ -2093,6 +2094,49 @@
             return list;
         }
 
+        /// <summary>
+        /// 鍑哄簱鎷h揣鑾峰彇鎵弿鏍囩鏁伴噺
+        /// </summary>
+        /// <param name="palletNo"></param>
+        /// <param name="boxNo"></param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public decimal CheckBoxForPick(string palletNo ,string boxNo)
+        {
+            try
+            {
+                decimal boxNum = 0;
+                if (string.IsNullOrEmpty(palletNo))
+                {
+                    throw new Exception("鎵樼洏鏉$爜涓嶅彲涓虹┖!");
+                }
+                if (string.IsNullOrEmpty(boxNo))
+                {
+                    throw new Exception("鏍囩鏉$爜涓嶅彲涓虹┖!");
+                }
+                var boxInfo = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo == boxNo && w.PalletNo == palletNo).ToList();
+                if (boxInfo.Count <= 0)
+                {
+                    boxInfo = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo2 == boxNo && w.PalletNo == palletNo).ToList();
+                    if (boxInfo.Count <= 0)
+                    {
+                        boxInfo = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo3 == boxNo && w.PalletNo == palletNo).ToList();
+                    }
+                }
+                if (boxInfo == null || boxInfo.Count <= 0)
+                {
+                    throw new Exception("鏍囩鏉$爜鏈湪璇ユ墭鐩樺唴!");
+                }
+                boxNum = boxInfo.Sum(s => s.Qty);
+
+                return boxNum;
+            }
+            catch (Exception ex)
+            {
+                throw new Exception(ex.Message);
+            }
+        }
+
         //鑾峰彇搴撳唴鏃犵鐮佺殑鎵樼洏鍒嗛厤淇℃伅
         public async Task<List<BoxInfo>> GetAllotPlnInfo(string soDetailId, string palletNo)
         {
@@ -2830,6 +2874,11 @@
                         throw Oops.Bah("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�");
                     }
                     boxInfos = await boxInfo.ToListAsync();
+
+                    if (boxInfos[0].SkuNo != allot.SkuNo || boxInfos[0].LotNo != allot.LotNo)
+                    {
+                        throw Oops.Bah("绠辩爜鐗╂枡鎵规鍜岄�夋嫨鐗╂枡鎵规涓嶄竴鑷达紒");
+                    }
 
                     var comDetailList = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToList();
                     if (biaoShi == "2") //鏁f敮鎷h揣
@@ -3669,7 +3718,7 @@
             {
                 throw Oops.Bah("鏈幏鍙栧埌瀵瑰簲鍌ㄤ綅淇℃伅锛岃妫�鏌�!");
             }
-            if (locat.Status != "3")
+            if (locat.Status != "1")
             {
                 throw Oops.Bah("褰撳墠鍌ㄤ綅涓嶆槸鏈夌墿鍝侊紝璇锋鏌�!");
             }
@@ -3752,7 +3801,7 @@
                 #region 娣诲姞鍑哄簱鎿嶄綔鏃ュ織璁板綍淇℃伅
 
                 //娣诲姞鎿嶄綔鏃ュ織璁板綍
-                var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鎷h揣鏄庣粏", soNo, "瀹屾垚", $"鐢≒DA瀹屾垚浜嗗崟鎹彿涓簕soNo}鐨勫钩搴撳嚭搴�", userId);
+                var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鎷h揣鏄庣粏", palletNo, "瀹屾垚", $"鐢≒DA瀹屾垚浜嗘墭鐩樺彿涓簕palletNo}鐨勫钩搴撳嚭搴�", userId);
 
                 #endregion
 

--
Gitblit v1.8.0