From 4910c0fa81d93635e19a57c073c3a62c76053320 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期五, 25 七月 2025 13:24:18 +0800
Subject: [PATCH] 1.巡检扫描工位

---
 service/Warehouse/TransferOutManager.cs |   37 ++++++++++++++++++++++---------------
 1 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/service/Warehouse/TransferOutManager.cs b/service/Warehouse/TransferOutManager.cs
index a0d6fdc..06d5955 100644
--- a/service/Warehouse/TransferOutManager.cs
+++ b/service/Warehouse/TransferOutManager.cs
@@ -4,6 +4,7 @@
 using NewPdaSqlServer.DB;
 using NewPdaSqlServer.Dto.service;
 using NewPdaSqlServer.entity;
+using NewPdaSqlServer.entity.Base;
 using SqlSugar;
 
 namespace NewPdaSqlServer.service.Warehouse;
@@ -52,7 +53,7 @@
     /// </summary>
     /// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
     /// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
-    public List<TransferOutDetailModel> GetTransferOutDetailListByBillNo(
+    public List<ItemDetailModel> GetTransferOutDetailListByBillNo(
         WarehouseQuery query)
     {
         var p_bill_no = query.billNo;
@@ -69,7 +70,7 @@
                 && a.FBillNo == p_bill_no // 鍖归厤鍗曟嵁鍙�
                 && a.FApproveStatus == 1) // 鍗曟嵁宸插鏍�
             .OrderBy((b, a, s) => s.ItemNo)
-            .Select((b, a, s) => new TransferOutDetailModel
+            .Select((b, a, s) => new ItemDetailModel
             {
                 ItemNo = s.ItemNo,
                 ItemName = s.ItemName,
@@ -89,7 +90,7 @@
         return result;
     }
 
-    public List<TransferOutDetailModel> GetDBCKDetal(
+    public List<ItemDetailModel> GetDBCKDetal(
         WarehouseQuery query)
     {
         var p_bill_no = query.billNo;
@@ -102,17 +103,18 @@
                     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)
-            .Select((b, a, s) => new TransferOutDetailModel
+            .Select((b, a, s) => new ItemDetailModel
             {
                 ItemNo = s.ItemNo,
                 ItemName = s.ItemName,
                 ItemModel = s.ItemModel,
                 FQty = b.FQty, // 鐢宠鏁伴噺
                 SQty = b.SQty, // 宸叉壂鏁伴噺
+                RQty = b.RQty,
                 // 淇濈暀鍏朵粬蹇呰瀛楁...
                 Pid = b.Pid.ToString(),
                 FMaterialId = b.FMaterialId,
@@ -128,7 +130,7 @@
     /// </summary>
     /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
     /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
-    public (WarehouseQuery form, List<TransferOutDetailModel> items)
+    public (WarehouseQuery form, List<ItemDetailModel> items)
         ScanMoveBarcode(WarehouseQuery query)
     {
         var p_bill_no = query.billNo;
@@ -217,32 +219,37 @@
     /// </summary>
     /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
     /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
-    public (WarehouseQuery form, List<TransferOutDetailModel> items)
+    public (WarehouseQuery form, List<ItemDetailModel> items)
         ScanReceiveBarcode(WarehouseQuery query)
     {
         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