From fbd1dae61bb8eeccd303341ff3b5290d805a8155 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期五, 19 十二月 2025 18:40:25 +0800
Subject: [PATCH] 111

---
 StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs |   31 ++++++++++++++++++++++++++-----
 1 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs b/StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs
index 3be79cf..ab4db63 100644
--- a/StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs
+++ b/StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs
@@ -26,9 +26,9 @@
 
         // 浼樺寲鐐�1: 浣跨敤鍘熺敓SQL ROW_NUMBER()鍦ㄦ暟鎹簱绔畬鎴愬幓閲嶅拰鎺掑簭
         var rackingTaskSql = @"
-            SELECT ITEM_BARCODE AS ItemBarcode, PALLETCODE AS PalletCode, CODE AS Code
+            SELECT ITEM_BARCODE AS ItemBarcode, PALLETCODE AS PalletCode, CODE AS Code, TASKTYPE AS TaskType
             FROM (
-                SELECT ITEM_BARCODE, PALLETCODE, CODE,
+                SELECT ITEM_BARCODE, PALLETCODE, CODE, TASKTYPE,
                        ROW_NUMBER() OVER (PARTITION BY ITEM_BARCODE ORDER BY ID DESC) AS RN
                 FROM XB_RACKING_TASK_SYXT_LOG
                 WHERE ITEM_BARCODE IS NOT NULL AND (CODE IS NULL OR CODE != '500')
@@ -230,10 +230,16 @@
             
             rackingTaskDict.TryGetValue(barcodeToMatch, out var rackingTask);
 
-            string stockStatus = "杩涘叆绔嬪簱鐨勮矾涓�";
-            if (rackingTask?.Code != null)
+            string stockStatus;
+            if (rackingTask?.TaskType == "绔嬪簱鍑哄簱璇锋眰")
             {
-                stockStatus = rackingTask.Code == "200" ? "宸插湪绔嬪簱涓�" : "杩涘叆绔嬪簱鐨勮矾涓�";
+                // 鍑哄簱璇锋眰锛欳ode=200琛ㄧず宸插嚭搴擄紝Code=null琛ㄧず鍑哄簱璺笂
+                stockStatus = rackingTask.Code == "200" ? "宸插嚭绔嬪簱" : "鍑虹珛搴撹矾涓�";
+            }
+            else
+            {
+                // 鍥炲簱璇锋眰锛堥粯璁わ級锛欳ode=200琛ㄧず宸插湪绔嬪簱涓紝Code=null琛ㄧず杩涘叆绔嬪簱鐨勮矾涓�
+                stockStatus = rackingTask?.Code == "200" ? "宸插湪绔嬪簱涓�" : "杩涘叆绔嬪簱鐨勮矾涓�";
             }
 
             return new
@@ -443,6 +449,7 @@
         public string ItemBarcode { get; set; }
         public string PalletCode { get; set; }
         public string Code { get; set; }
+        public string TaskType { get; set; }
     }
 
     /// <summary>
@@ -489,6 +496,20 @@
                     .Select(x => new { x.PalletCode, x.WidthType })
                     .First();
 
+                // 妫�鏌ユ槸鍚﹀瓨鍦ㄦ湭瀹屾垚鐨勪换鍔★紙鍩轰簬PalletCode锛孋ode涓簄ull锛�
+                if (!string.IsNullOrEmpty(rackingTaskInfo?.PalletCode))
+                {
+                    var pendingTask = Db.Queryable<XbRackingTaskSyxtLog>()
+                        .Where(x => x.PalletCode == rackingTaskInfo.PalletCode && x.Code == null)
+                        .OrderByDescending(x => x.Id)
+                        .First();
+
+                    if (pendingTask != null)
+                    {
+                        throw new Exception($"鎵樼洏缂栧彿 {rackingTaskInfo.PalletCode} 宸插瓨鍦ㄦ湭瀹屾垚鐨勭珛搴撲换鍔★紝璇风瓑寰呬换鍔″畬鎴愬悗鍐嶆搷浣溿��");
+                    }
+                }
+
                 try
                 {
                     // 1. 鏌ヨ璇ユ潯鐮佸搴旂殑搴撳瓨淇℃伅锛屾寜鐗╂枡鍜屾壒鍙锋眹鎬�

--
Gitblit v1.9.3