From e9ef6afe836784d7fbd3e3ca6ad813e86866a6a8 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 25 十二月 2024 17:52:27 +0800
Subject: [PATCH] 生成补料和生成超领

---
 service/Warehouse/MesItemBlManager.cs |  127 +++++++++++++++++++++++-------------------
 1 files changed, 70 insertions(+), 57 deletions(-)

diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs
index 690c1d7..46d86b9 100644
--- a/service/Warehouse/MesItemBlManager.cs
+++ b/service/Warehouse/MesItemBlManager.cs
@@ -30,8 +30,9 @@
     /// </summary>
     /// <param name="billNo">琛ユ枡鍗曞彿</param>
     /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns>
-    public List<MesItemBlDetail> GetMesItemBlDetailByBillNo(
-        WarehouseQuery query)
+    public (string bl001, List<MesItemBlDetail> item)
+        GetMesItemBlDetailByBillNo(
+            WarehouseQuery query)
     {
         if (string.IsNullOrEmpty(query.billNo))
             throw new Exception("璇烽�夊崟鎹彿锛�");
@@ -63,7 +64,7 @@
             })
             .ToList();
 
-        return blDetails;
+        return (mesItemBl.Bl001, blDetails);
     }
 
     /// <summary>
@@ -78,11 +79,10 @@
     ///     - userName: 鐢ㄦ埛鍚�
     ///     - blNo: 琛ユ枡鍗曞彿(蹇呭~)
     /// </remarks>
-    public (bool success, List<PendingMaterialDto> pendingList) SctlScanBarcode(
-        WarehouseQuery query)
+    public (WarehouseQuery item, List<MesItemBlDetail> pendingList)
+        SctlScanBarcode(
+            WarehouseQuery query)
     {
-        #region 鍙傛暟鏍¢獙
-
         if (string.IsNullOrEmpty(query.billNo))
             throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
 
@@ -95,7 +95,6 @@
         if (string.IsNullOrEmpty(query.blNo))
             throw new Exception("琛ユ枡鍗曞彿涓嶈兘涓虹┖锛�");
 
-        #endregion
 
         // 妫�楠屾槸鍚﹂噸澶嶆壂鎻�
         var exists = Db.Queryable<MesInvItemOutCDetails>()
@@ -164,17 +163,22 @@
                     new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
                 .Where((a, b) => a.BlNo == query.blNo
                                  && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
-                .Select((a, b) => new PendingMaterialDto
+                .Select((a, b) => new MesItemBlDetail
                 {
-                    SectionCode = b.Bld012.ToString(),
-                    ItemNo = b.Bld002,
-                    ItemName = b.Bld003,
-                    ItemSpec = b.Bld004,
-                    PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+                    Bld012 = b.Bld012,
+                    Bld002 = b.Bld002,
+                    Bld003 = b.Bld003,
+                    Bld004 = b.Bld004,
+                    Bld007 = b.Bld007,
+                    Bld008 = b.Bld008
                 })
                 .ToList();
 
-            return (false, pendingList);
+
+            query.Num = stockBarcode.Quantity;
+            query.Fum = quantity;
+
+            return (query, pendingList);
         }
 
         // 寮�鍚簨鍔″鐞�
@@ -235,6 +239,7 @@
                 .Count();
 
             if (itemCount > 0)
+            {
                 // 鏇存柊宸插瓨鍦ㄧ殑鐗╂枡鏄庣粏鏁伴噺
                 db.Updateable<MesInvItemOutItems>()
                     .SetColumns(i =>
@@ -242,7 +247,9 @@
                     .Where(i =>
                         i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId)
                     .ExecuteCommand();
+            }
             else
+            {
                 // 鎻掑叆鏂扮殑鐗╂枡鏄庣粏璁板綍
                 db.Insertable(new MesInvItemOutItems
                 {
@@ -268,7 +275,8 @@
                     // Unit = blDetail.Bld009,
                     // DepotId = (int)stockBarcode.DepotsId
                 }).IgnoreColumns(true).ExecuteCommand();
-
+            }
+            
             // 鎻掑叆鍑哄簱鍗曟潯鐮佹槑缁�
             db.Insertable(new MesInvItemOutCDetails
             {
@@ -400,17 +408,18 @@
                     new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
             .Where((a, b) => a.BlNo == query.blNo
                              && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
-            .Select((a, b) => new PendingMaterialDto
+            .Select((a, b) => new MesItemBlDetail
             {
-                SectionCode = b.Bld012.ToString(),
-                ItemNo = b.Bld002,
-                ItemName = b.Bld003,
-                ItemSpec = b.Bld004,
-                PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+                Bld012 = b.Bld012,
+                Bld002 = b.Bld002,
+                Bld003 = b.Bld003,
+                Bld004 = b.Bld004,
+                Bld007 = b.Bld007,
+                Bld008 = b.Bld008
             })
             .ToList();
 
-        return (true, finalPendingList);
+        return (query, finalPendingList);
     }
 
     /// <summary>
@@ -426,11 +435,9 @@
     ///     - Num: 鍙戞枡鏁伴噺(蹇呭~,蹇呴』澶т簬0)
     ///     - blNo: 琛ユ枡鍗曞彿(蹇呭~)
     /// </remarks>
-    public (bool success, List<PendingMaterialDto> pendingList) SplitBarcode(
+    public (bool success, List<MesItemBlDetail> pendingList) SplitBarcode(
         WarehouseQuery query)
     {
-        #region 鍙傛暟鏍¢獙
-
         if (string.IsNullOrEmpty(query.userName))
             throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒");
 
@@ -446,7 +453,6 @@
         if (string.IsNullOrEmpty(query.blNo))
             throw new Exception("琛ユ枡鍗曞彿涓嶈兘涓虹┖锛�");
 
-        #endregion
 
         // 妫�楠屾槸鍚﹂噸澶嶆壂鎻�
         var exists = Db.Queryable<MesInvItemOutCDetails>()
@@ -871,13 +877,14 @@
                 new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
             .Where((a, b) => a.BlNo == query.blNo
                              && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
-            .Select((a, b) => new PendingMaterialDto
+            .Select((a, b) => new MesItemBlDetail
             {
-                SectionCode = b.Bld012.ToString(),
-                ItemNo = b.Bld002,
-                ItemName = b.Bld003,
-                ItemSpec = b.Bld004,
-                PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+                Bld012 = b.Bld012,
+                Bld002 = b.Bld002,
+                Bld003 = b.Bld003,
+                Bld004 = b.Bld004,
+                Bld007 = b.Bld007,
+                Bld008 = b.Bld008
             })
             .ToList();
 
@@ -904,7 +911,7 @@
     /// </summary>
     /// <param name="query">鏌ヨ鍙傛暟</param>
     /// <returns>鐢熶骇瓒呴鍗曟槑缁嗗垪琛�</returns>
-    public List<MesItemBlDetail> GetMesItemBlDetailBySccBillNo(
+    public (string bl001,List<MesItemBlDetail> item) GetMesItemBlDetailBySccBillNo(
         WarehouseQuery query)
     {
         if (string.IsNullOrEmpty(query.billNo))
@@ -952,7 +959,7 @@
             })
             .ToList();
 
-        return pendingDetails;
+        return (mesItemBl.Bl001,pendingDetails);
     }
 
     /// <summary>
@@ -967,7 +974,7 @@
     ///     - userName: 鐢ㄦ埛鍚�(蹇呭~)
     ///     - blNo: 瓒呴鍗曞彿(蹇呭~)
     /// </remarks>
-    public (bool success, List<PendingMaterialDto> pendingList)
+    public (WarehouseQuery item, List<MesItemBlDetail> pendingList)
         ScanBarcodeForOverPicking(
             WarehouseQuery query)
     {
@@ -1071,17 +1078,21 @@
                     new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
                 .Where((a, b) => a.BlNo == query.blNo
                                  && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
-                .Select((a, b) => new PendingMaterialDto
+                .Select((a, b) => new MesItemBlDetail
                 {
-                    SectionCode = b.Bld012.ToString(),
-                    ItemNo = b.Bld002,
-                    ItemName = b.Bld003,
-                    ItemSpec = b.Bld004,
-                    PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+                    Bld012 = b.Bld012,
+                    Bld002 = b.Bld002,
+                    Bld003 = b.Bld003,
+                    Bld004 = b.Bld004,
+                    Bld007 = b.Bld007,
+                    Bld008 = b.Bld008
                 })
                 .ToList();
 
-            return (false, pendingList);
+            query.Num = stockBarcode.Quantity;
+            query.Fum = quantity;
+
+            return (query, pendingList);
         }
 
         // 鎵ц鏁版嵁搴撲簨鍔�
@@ -1282,17 +1293,18 @@
                     new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
             .Where((a, b) => a.BlNo == query.blNo
                              && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
-            .Select((a, b) => new PendingMaterialDto
+            .Select((a, b) => new MesItemBlDetail
             {
-                SectionCode = b.Bld012.ToString(),
-                ItemNo = b.Bld002,
-                ItemName = b.Bld003,
-                ItemSpec = b.Bld004,
-                PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+                Bld012 = b.Bld012,
+                Bld002 = b.Bld002,
+                Bld003 = b.Bld003,
+                Bld004 = b.Bld004,
+                Bld007 = b.Bld007,
+                Bld008 = b.Bld008
             })
             .ToList();
 
-        return (true, finalPendingList);
+        return (query, finalPendingList);
     }
 
     /// <summary>
@@ -1300,7 +1312,7 @@
     /// </summary>
     /// <param name="query">鏌ヨ鍙傛暟</param>
     /// <returns>澶勭悊缁撴灉</returns>
-    public (bool success, List<PendingMaterialDto> pendingList)
+    public (bool success, List<MesItemBlDetail> pendingList)
         PrintBarcodeForOverPicking(WarehouseQuery query)
     {
         UseTransaction(db =>
@@ -1687,13 +1699,14 @@
                 new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
             .Where((a, b) => a.BlNo == query.blNo
                              && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
-            .Select((a, b) => new PendingMaterialDto
+            .Select((a, b) => new MesItemBlDetail
             {
-                SectionCode = b.Bld012.ToString(),
-                ItemNo = b.Bld002,
-                ItemName = b.Bld003,
-                ItemSpec = b.Bld004,
-                PendingQty = (b.Bld007 ?? 0) - (b.Bld008 ?? 0)
+                Bld012 = b.Bld012,
+                Bld002 = b.Bld002,
+                Bld003 = b.Bld003,
+                Bld004 = b.Bld004,
+                Bld007 = b.Bld007,
+                Bld008 = b.Bld008
             })
             .ToList();
 

--
Gitblit v1.9.3