From d61afc9d08f13bc27e724c321284138ef4e1be6a Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期三, 26 二月 2025 13:22:09 +0800
Subject: [PATCH] 1.调拨出入库后台优化

---
 service/Warehouse/TransferOutManager.cs |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/service/Warehouse/TransferOutManager.cs b/service/Warehouse/TransferOutManager.cs
index a0d6fdc..5c3a896 100644
--- a/service/Warehouse/TransferOutManager.cs
+++ b/service/Warehouse/TransferOutManager.cs
@@ -102,7 +102,7 @@
                     JoinType.Left, b.Pid == a.Id,
                     JoinType.Left, b.FMaterialId == s.Id.ToString()))
             .Where((b, a, s) =>
-                (b.FQty ?? 0) - (b.SQty ?? 0) > 0 // 鏈畬鎴愭暟閲忓ぇ浜�0
+                !((b.FQty ?? 0) == (b.SQty ?? 0) && (b.FQty ?? 0) == (b.RQty ?? 0)) // 鏈畬鎴愭暟閲忓ぇ浜�0
                 && a.FBillNo == p_bill_no // 鍖归厤鍗曟嵁鍙�
                 && a.FApproveStatus == 1) // 鍗曟嵁宸插鏍�
             .OrderBy((b, a, s) => s.ItemNo)
@@ -223,26 +223,31 @@
         var p_bill_no = query.billNo;
         var p_item_barcode = query.barcode;
 
+        var barinfo = Db.Queryable<MesInvItemStocks>()
+            .Where(x => x.ItemBarcode == p_item_barcode)
+            .First();
+
         // 楠岃瘉鍗曟嵁鍙�
         if (string.IsNullOrEmpty(p_bill_no)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
 
         // 鏌ヨ鍑哄簱鍗曞苟楠岃瘉鐘舵��
-        var transferOut = Db.Queryable<TransferOut>()
-            .Where(x => x.BillNo == p_bill_no && x.Status == 1)
+        var transferOut = Db.Queryable<MesDbck>()
+            .Where(x => x.FBillNo == p_bill_no && x.FApproveStatus == 1)
             .First();
         if (transferOut == null) throw new Exception("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
 
         // 鏌ヨ鏉$爜搴撳瓨淇℃伅骞堕獙璇�
-        var stock = Db.Queryable<MesInvItemStocks>()
-            .Where(x => x.ItemBarcode == p_item_barcode
-                        && x.Quantity > 0
-                        && !string.IsNullOrEmpty(x.DepotsCode))
+        var stock = Db.Queryable<MesDbckDetail>()
+            .Where(x => x.FMaterialId == barinfo.ItemId.ToString()
+                        && x.FQty > 0
+                        && !string.IsNullOrEmpty(x.FStockInId)
+                        && !string.IsNullOrEmpty(x.FOwnerInId))
             .First();
-        if (stock == null) throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒{p_item_barcode}");
+        if (stock == null) throw new Exception($"璋冩嫧鏄庣粏涓� 銆愮墿鏂欍�戞垨 銆愯皟鍏ヤ粨搴撱�戞垨銆愯皟鍏ヨ揣涓汇�戜俊鎭笉瀛樺湪锛岃鏍稿锛亄p_item_barcode}");
 
         // 鏌ヨ鐗╂枡淇℃伅
         var item = Db.Queryable<MesItems>()
-            .Where(x => x.Id == stock.ItemId)
+            .Where(x => x.Id.ToString() == stock.FMaterialId)
             .First();
         if (item == null) throw new Exception("鏈壘鍒扮墿鏂�");
 

--
Gitblit v1.9.3