From 360659e325528be0c9405855b3553869041d32b9 Mon Sep 17 00:00:00 2001
From: cnf <3200815559@qq.com>
Date: 星期六, 23 八月 2025 16:12:35 +0800
Subject: [PATCH] 生产报工后端修改,加上自动入库的分支

---
 service/Wom/MesWorkProdManager.cs |   47 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/service/Wom/MesWorkProdManager.cs b/service/Wom/MesWorkProdManager.cs
index 1f39ae2..c1352bf 100644
--- a/service/Wom/MesWorkProdManager.cs
+++ b/service/Wom/MesWorkProdManager.cs
@@ -294,31 +294,50 @@
         var po_outSum = parameters[3].Value != DBNull.Value ? Convert.ToInt32(parameters[3].Value) : -1;
         var po_womInBarSum = parameters[4].Value != DBNull.Value ? Convert.ToDecimal(parameters[4].Value) : 0m;
 
-        var rksqOrder = Db.Queryable<MesInvItemIns>()
-            .Where(x => x.RbillNo == barcode.BillNo && x.TransctionNo=="181" && x.CreateBy==request.StaffNo)
-            .First();
 
-        var sql = string.Format(@"SELECT A.item_barcode ItemBarcode,B.QUANTITY BgQuantity,c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel
-    FROM MES_INV_ITEM_IN_RKSQ_DETAILS A
-    LEFT JOIN MES_INV_ITEM_BARCODES B ON A.item_barcode = B.ITEM_BARCODE
-    LEFT JOIN MES_ITEMS C ON  B.ITEM_ID = C.item_id
-    WHERE A.bill_no= '{0}' ORDER BY A.create_date DESC", rksqOrder.BillNo);
+        // 澹版槑鍙橀噺鍦ㄥ灞傦紝纭繚鍦ㄦ墍鏈夊垎鏀腑閮藉彲璁块棶
+        MesInvItemIns rksqOrder = null;
+        List<MesInvItemInRksqDetails> rksqDetails = new List<MesInvItemInRksqDetails>();
 
-        var RKSQ = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql);
+        if (po_outSum == 1)
+        {
+            rksqOrder = Db.Queryable<MesInvItemIns>()
+               .Where(x => x.RbillNo == barcode.BillNo && x.TransctionNo == "181" && x.CreateBy == request.StaffNo)
+               .First();
 
+            if (rksqOrder != null)
+            {
+                var sql = string.Format(@"SELECT A.item_barcode ItemBarcode,B.QUANTITY BgQuantity,c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel
+FROM MES_INV_ITEM_IN_RKSQ_DETAILS A
+LEFT JOIN MES_INV_ITEM_BARCODES B ON A.item_barcode = B.ITEM_BARCODE
+LEFT JOIN MES_ITEMS C ON  B.ITEM_ID = C.item_id
+WHERE A.bill_no= '{0}' ORDER BY A.create_date DESC", rksqOrder.BillNo);
 
-        var rksqDetails = RKSQ.ToList();
+                rksqDetails = Db.Ado.SqlQuery<MesInvItemInRksqDetails>(sql).ToList();
+            }
+        }
+        else if (po_outSum == 2)
+        {
+            rksqOrder = Db.Queryable<MesInvItemIns>()
+              .Where(x => x.RbillNo == barcode.BillNo && x.TransctionNo == "181" && x.CreateBy == request.StaffNo)
+              .First();
 
+            if (rksqOrder != null)
+            {
+                rksqOrder.BillNo = "";
+            }
 
-        //var rksqDetails = Db.Queryable<MesInvItemInRksqDetails>()
-        //    .Where(x => x.BillNo == )
-        //    .ToList();
+            rksqDetails = new List<MesInvItemInRksqDetails>();
+        }
 
         // Check if the procedure failed
         if (po_outSum == -1)
         {
             throw new Exception(po_outMsg);
         }
+
+        // 澶勭悊rksqOrder涓簄ull鐨勬儏鍐�
+        string sjBillNo = rksqOrder?.BillNo ?? "";
 
         // 15. Return processing result
         return new ScanWorkResult
@@ -332,7 +351,7 @@
             ItemName = item.ItemName,
             ItemModel = workOrder.Daa004,
             Message = po_outMsg,
-            sjBillNo  = rksqOrder.BillNo,
+            sjBillNo = sjBillNo,
             BarcodesDetail = rksqDetails,
         };
 

--
Gitblit v1.9.3