From 99b5d3d7c950a8332f81d3ca07be9f2d5957f58c Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期六, 29 三月 2025 16:26:44 +0800
Subject: [PATCH] 1.期初入库优化

---
 service/Warehouse/InventoryManager.cs |   54 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 36 insertions(+), 18 deletions(-)

diff --git a/service/Warehouse/InventoryManager.cs b/service/Warehouse/InventoryManager.cs
index c3ccba8..7268bfc 100644
--- a/service/Warehouse/InventoryManager.cs
+++ b/service/Warehouse/InventoryManager.cs
@@ -1,6 +1,7 @@
 锘縰sing NewPdaSqlServer.DB;
 using NewPdaSqlServer.Dto.service;
 using NewPdaSqlServer.entity;
+using NewPdaSqlServer.service.@base;
 using NewPdaSqlServer.util;
 using SqlSugar;
 
@@ -47,8 +48,8 @@
         var p_transction_no = 601;
 
         // 妫�鏌ュ簱浣嶄唬鐮佹槸鍚︿负绌�
-        if (string.IsNullOrEmpty(p_section_code))
-            throw new Exception("002[璇锋壂搴撲綅鏉$爜锛�");
+        // if (string.IsNullOrEmpty(p_section_code))
+        //     throw new Exception("002[璇锋壂搴撲綅鏉$爜锛�");
 
         // 鏌ヨ搴撳尯搴撲綅淇℃伅
         var depotSection = Db.Queryable<MesDepotSections, MesDepots>((a, b) =>
@@ -61,36 +62,52 @@
             .Single();
 
         // 濡傛灉搴撲綅浠g爜涓嶅瓨鍦紝鍒欒繑鍥為敊璇俊鎭�
-        if (depotSection == null)
-            throw new Exception("搴撲綅缂栫爜 " + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒");
+        // if (depotSection == null)
+        //     throw new Exception("搴撲綅缂栫爜 " + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒");
 
         // 妫�鏌ユ槸鍚﹀凡缁忔敹璐�
-        var c_num = Db.Queryable<MesInvItemIns, MesInvItemInCDetails>((a, b) =>
-                new JoinQueryInfos(
-                    JoinType.Inner, a.Guid == b.ItemInId
-                ))
-            .Where((a, b) => b.ItemBarcode == p_item_barcode)
-            .Count();
+        // var c_num = Db.Queryable<MesInvItemIns, MesInvItemInCDetails>((a, b) =>
+        //         new JoinQueryInfos(
+        //             JoinType.Inner, a.Guid == b.ItemInId
+        //         ))
+        //     .Where((a, b) => b.ItemBarcode == p_item_barcode)
+        //     .Count();
 
-        if (c_num > 0) throw new Exception("002[鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
+        // if (c_num > 0) throw new Exception("002[鏉$爜閲嶅鎵弿锛岃鏍稿锛�");
 
         // 鏌ヨ鏉$爜淇℃伅
-        c_num = Db.Queryable<MesInvItemStocks>()
-            .Where(t => t.ItemBarcode == p_item_barcode)
-            .Count();
+        // c_num = Db.Queryable<MesInvItemStocks>()
+        //     .Where(t => t.ItemBarcode == p_item_barcode)
+        //     .Count();
 
-        if (c_num > 0) throw new Exception("002[鏉$爜宸插湪搴撳瓨涓紝璇锋牳瀵癸紒");
+        // if (c_num > 0) throw new Exception("002[鏉$爜宸插湪搴撳瓨涓紝璇锋牳瀵癸紒");
 
         // 鏌ヨ鏉$爜璇︾粏淇℃伅
         var c_mes_inv_item_barcodes = Db.Queryable<MesInvItemBarcodes>()
             .Where(t => t.ItemBarcode == p_item_barcode)
             .Single();
 
-        if (c_mes_inv_item_barcodes == null)
-            throw new Exception("002[鏉$爜涓嶅瓨鍦紝璇锋牳瀵癸紒");
+        // if (c_mes_inv_item_barcodes == null)
+        //     throw new Exception("002[鏉$爜涓嶅瓨鍦紝璇锋牳瀵癸紒");
 
-        if (c_mes_inv_item_barcodes.ComeFlg != 0)
+        if (c_mes_inv_item_barcodes.Memo != "鏈熷垵")
             throw new Exception("002[鏉$爜涓嶆槸鏈熷垵鏉$爜锛屾棤娉曠敤鏈熷垵鍏ュ簱锛�");
+
+        var wmsManager = new WmsBaseMangeer();
+        // 鏂板鍏ュ簱鏍¢獙锛堣皟鐢ㄥ瓨鍌ㄨ繃绋嬶級
+        var checkResult = wmsManager.pdaInvJY(
+            db: Db,
+            edtUserNo: query.userName,
+            barcode: p_item_barcode,
+            sectionCode: p_section_code,
+            stockId: depotSection.DepotId.ToString(),
+            stockOrgId: depotSection.FSubsidiary,
+            billNo: "", // 鏍规嵁瀹為檯鍗曟嵁鍙蜂紶鍊�
+            transactionNo: "601" // 浜嬪姟绫诲瀷涓庡瓨鍌ㄨ繃绋嬪尮閰�
+        );
+        
+        if (checkResult.result < "1") 
+            throw new Exception($"鍏ュ簱鏍¢獙澶辫触锛歿checkResult.strMsg}");
 
         UseTransaction(db =>
         {
@@ -135,6 +152,7 @@
                     CbillNo = c_mes_inv_item_barcodes.BillNo,
                     Fstatus = 0,
                     ReceiveOrgId = depotSection.FSubsidiary,
+                    InType = "鏈熷垵鍏ュ簱",
                 };
                 db.Insertable(newMesInvItemIns)
                     .IgnoreColumns(true)

--
Gitblit v1.9.3