From ded7dffbb1fbed96acd8cc10c7710f4d848384e9 Mon Sep 17 00:00:00 2001
From: xiazhengtongxue <133085197+xiazhengtongxue@users.noreply.github.com>
Date: 星期一, 23 三月 2026 15:45:17 +0800
Subject: [PATCH] fix: 修改库存已满无法入库问题,修复大屏库存图信息

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs |   28 +++++++++++++++++++++++-----
 1 files changed, 23 insertions(+), 5 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs"
index 42ce9c5..dd49d44 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs"
@@ -32,7 +32,7 @@
 {
     public partial class TaskService
     {
-        public static List<string> InStationareaList = new List<string>() { "1113", "1114", "1115", "1116", "1117", "1118", "1119", "1120", "1121", "1122" };
+        public static List<string> InStationareaList = new List<string>() { "1113", "1114", "1115", "1116", "1117", "1118", "1119", "1120", "1121", "1122" ,"1123"};
         //鍏ュ簱锛岀┖鐩樺洖搴�
         public ApiResponse AddInStoreDoc(MES_InTask mES_In)
         {
@@ -76,8 +76,11 @@
                     {
                         LocationType = 3;
                     }
-                    Roadway = _locationInfoService.AccessingTunnel(dt_Warehouse.WarehouseId, LocationType);
-                    if (Roadway == "0") return apiResponse.Error($"WMS鏈兘鏌ヨ閬撳搴斿贩閬撶紪鍙凤紝浠撳簱缂栫爜锛歿mES_In.warehouseNo}");
+                    var a = BaseDal.QueryData(x => x.WarehouseId == WarehouseId && x.PalletType == LocationType.ToString());
+                    var taskCount = BaseDal.QueryData(x => x.WarehouseId == WarehouseId && x.PalletType == LocationType.ToString()).Count();
+                    Roadway = _locationInfoService.AccessingTunnel(dt_Warehouse.WarehouseId, LocationType, taskCount);
+                    //if (Roadway == "0") return apiResponse.Error($"WMS鏈兘鏌ヨ閬撳搴斿贩閬撶紪鍙凤紝浠撳簱缂栫爜锛歿mES_In.warehouseNo}");
+                    if (Roadway == "0") return apiResponse.Error($"褰撳墠浠撳簱宸茬粡婊★細{mES_In.warehouseNo}");
                     //鑾峰彇瀵瑰簲PLC绔欏彴淇℃伅
                     Dt_roadwayinfo _Roadwayinfo = _roadWayinfoService.QbtainPlatform(Roadway);
                     NextAddress = _Roadwayinfo.InStationCode;
@@ -176,7 +179,18 @@
                 if (string.IsNullOrWhiteSpace(mES_In.containerNo)) return apiResponse.Error("鎵樼洏鐮佷笉鑳戒负绌�");
                 if (string.IsNullOrWhiteSpace(mES_In.endPosition)) return apiResponse.Error("鐩爣浣嶇疆涓嶈兘涓虹┖");
 
-
+                // 褰撳墠浠诲姟mES_In.endPosition鐩爣浣嶇疆1113 - 1122
+                var restrictedPositions = new List<string> { "1113", "1114", "1115", "1116", "1117", "1118", "1119", "1120", "1121", "1122", "1123" };
+                bool isRestrictedPosition = restrictedPositions.Contains(mES_In.endPosition);
+                if (isRestrictedPosition)
+                {
+                    bool hasExistingTask = BaseDal.QueryData(x => x.TargetAddress == mES_In.endPosition).Any();
+                    if (hasExistingTask)
+                    {
+                        // 鐩爣浣嶇疆鍦�1113-1122鑼冨洿鍐呯殑澶勭悊閫昏緫
+                        return apiResponse.Error($"褰撳墠鏈夊幓鐩爣浣嶇疆{mES_In.endPosition}鐨勪换鍔★紝璇烽噸鏂版搷浣�");
+                    }
+                }
                 Dt_StockInfo dt_Stock=_stockInfoService.Repository.QueryData(x=>x.PalletCode== mES_In.containerNo).FirstOrDefault();
                 if (dt_Stock == null) return apiResponse.Error($"WMS鏈兘鏌ユ壘閬撹鎵樼洏鏉$爜鐨勫簱瀛樿揣浣嶄俊鎭紝鏉$爜锛歿mES_In.containerNo}");
 
@@ -349,7 +363,11 @@
             {
                 if (string.IsNullOrWhiteSpace(mES_In.transNo)) return apiResponse.Error("鍗曟嵁缂栧彿涓嶈兘涓虹┖");
                 Dt_Task dt_Task = BaseDal.QueryData(x => x.TaskNum == mES_In.transNo).FirstOrDefault();
-                if (dt_Task == null) return apiResponse.Error($"WMS鏈兘鏌ユ壘閬撳搴斿崟鎹换鍔★紝鏉$爜锛歿mES_In.transNo}");
+                if (dt_Task == null) {
+                    WriteLog.Write_Log("MES_浠诲姟鍙栨秷鎺ュ彛", $"浠诲姟鍙栨秷鎺ュ彛", "鎴愬姛", $"鍗曟嵁缂栧彿锛歿mES_In.transNo}锛屾敞鎰忥紒锛乄MS鏈兘鏌ユ壘閬撳搴斿崟鎹换鍔�");
+                    return apiResponse.OK();
+                    //return apiResponse.Error($"WMS鏈兘鏌ユ壘閬撳搴斿崟鎹换鍔★紝鏉$爜锛歿mES_In.transNo}");
+                } 
                 if(dt_Task.TaskStatus== (int)InTaskStatusEnum.InNew)
                 {
                     BaseDal.DeleteData(dt_Task);

--
Gitblit v1.9.3