From 336ef950ae9b3f89e09f1b64d68adf6e53a331b5 Mon Sep 17 00:00:00 2001
From: cnf <3283105747@qq.com>
Date: 星期一, 24 十一月 2025 14:35:41 +0800
Subject: [PATCH] 生产入库优化

---
 service/Warehouse/MesCprkManager.cs |   53 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/service/Warehouse/MesCprkManager.cs b/service/Warehouse/MesCprkManager.cs
index 1288be0..8d914f8 100644
--- a/service/Warehouse/MesCprkManager.cs
+++ b/service/Warehouse/MesCprkManager.cs
@@ -11,11 +11,56 @@
 
 public class MesCprkManager : Repository<MesCgthSq>
 {
-    public MesInvItemBarcodes GetBarInfo(WarehouseQuery unity)
+    public dynamic GetBarInfo(WarehouseQuery unity)
     {
-        return Db.Queryable<MesInvItemBarcodes>()
-            .Where(s => s.ItemBarcode == unity.barcode)
-            .First(); // 杩斿洖绗竴琛屾暟鎹紝濡傛灉娌℃湁鍒欒繑鍥� null
+
+        // 浣跨敤ADO.NET鐩存帴璋冪敤瀛樺偍杩囩▼
+        var ds = new DataSet();
+
+        // 鍋囪鎮ㄤ娇鐢ㄧ殑鏄疭QL Server锛屽垱寤篠qlConnection
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            conn.Open();
+
+            using (var cmd = new SqlCommand("prc_pda_cprk_wllist", conn))
+            {
+                cmd.CommandType = CommandType.StoredProcedure;
+
+                // 娣诲姞鍙傛暟
+                cmd.Parameters.Add(new SqlParameter("@barcode", unity.barcode));
+                cmd.Parameters.Add(new SqlParameter("@pi_orgId", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP1", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP2", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value));
+
+                using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
+                {
+                    adapter.Fill(ds);
+                }
+            }
+        }
+
+        // 杞崲缁撴灉
+        var Info = ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0 ? Db.Utilities.DataTableToDynamic(ds.Tables[0]) : Enumerable.Empty<dynamic>();
+        var XcslItem = ds.Tables.Count > 1 && ds.Tables[1].Rows.Count > 0 ? Db.Utilities.DataTableToDynamic(ds.Tables[1]) : Enumerable.Empty<dynamic>();
+        var XcslYjsBar = ds.Tables.Count > 2 && ds.Tables[2].Rows.Count > 0 ? Db.Utilities.DataTableToDynamic(ds.Tables[2]) : Enumerable.Empty<dynamic>();
+        //var daaInfo = ds.Tables[3]?.Rows?.Count > 0 ? Db.Utilities.DataTableToDynamic(ds.Tables[3]) : null;
+
+        var dto = new
+        {
+            barcodeInfo = Info ?? new object[0], // 濡傛灉涓簄ull鍒欒繑鍥炵┖鏁扮粍
+            XcslItemList = XcslItem ?? new object[0],
+            XcslWjsBarList = XcslYjsBar ?? new object[0],
+            //XcslYjsBarList = XcslYjsBar ?? new object[0],
+            //DaaInfoList = daaInfo ?? new object[0]
+        };
+
+        return dto;
+
+        //return Db.Queryable<MesInvItemBarcodes>()
+        //    .Where(s => s.ItemBarcode == unity.barcode)
+        //    .First(); // 杩斿洖绗竴琛屾暟鎹紝濡傛灉娌℃湁鍒欒繑鍥� null
     }
 
     public MesItems GetItemNo(decimal strItemId)

--
Gitblit v1.9.3