From 00a72fff219241eb5b0405a066cc859d07cf7735 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 17 九月 2025 10:23:44 +0800
Subject: [PATCH] 1111

---
 service/Warehouse/MesItemBlManager.cs |  168 +++++++++++++++++++++++++-------------------------------
 1 files changed, 75 insertions(+), 93 deletions(-)

diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs
index 09ed76a..a0ae6af 100644
--- a/service/Warehouse/MesItemBlManager.cs
+++ b/service/Warehouse/MesItemBlManager.cs
@@ -1,13 +1,14 @@
-锘縰sing System.Data;
-using System.Data.SqlClient;
-using System.Text;
+锘縰sing Masuit.Tools;
 using NewPdaSqlServer.DB;
 using NewPdaSqlServer.Dto.service;
 using NewPdaSqlServer.entity;
 using NewPdaSqlServer.entity.Base;
 using NewPdaSqlServer.util;
 using SqlSugar;
-using DbType = System.Data.DbType;
+using System.Data;
+using System.Text;
+using System.Data.SqlClient;
+using DbHelperSQL = NewPdaSqlServer.DB.DbHelperSQL;
 
 namespace NewPdaSqlServer.service.Warehouse;
 
@@ -28,9 +29,9 @@
             new("@type", query.type),
             new("@dateTime", query.dateTime == "" ? null : query.dateTime),
             new("@lineNo", query.lineNo)
+
         };
-        var sql2 = new StringBuilder(
-            "exec prc_pda_itemBl_billNoList @type,@orgId,@dateTime,@lineNo");
+        var sql2 = new StringBuilder("exec prc_pda_itemBl_billNoList @type,@orgId,@dateTime,@lineNo");
 
         var LineInfo = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams);
 
@@ -52,9 +53,7 @@
 
         // 妫�鏌ヨˉ鏂欏崟鏄惁瀛樺湪涓斾负鐢熶骇琛ユ枡绫诲瀷
         var mesItemBl = Db.Queryable<MesItemBl>()
-            .Where(a =>
-                a.BlNo == query.billNo && a.Bl008 == query.Type &&
-                a.Bl018 == true)
+            .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true)
             .First();
 
         if (mesItemBl == null)
@@ -80,8 +79,7 @@
         //    .ToList();
 
         //return (mesItemBl.Bl001, blDetails);
-        var sql = string.Format(
-            @"SELECT c.id as ItemId,c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty,
+        var sql = string.Format(@"SELECT c.id as ItemId,c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty,
        dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001
 fROM MES_ITEM_BL_DETAIL A
          LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID
@@ -108,7 +106,7 @@
     }
 
     /// <summary>
-    ///     鐢熶骇宸ュ崟琛ユ枡鎵爜
+    /// 鐢熶骇宸ュ崟琛ユ枡鎵爜
     ///     鎵弿鏉$爜  prc_rf_pda_scan_zout_barcode3
     /// </summary>
     /// <param name="query">鏌ヨ鍙傛暟</param>
@@ -134,52 +132,42 @@
             throw new Exception("鐢宠鍗曞彿涓嶈兘涓虹┖锛�");
 
         // 鍑嗗璋冪敤瀛樺偍杩囩▼鐨勫弬鏁�
-        var outMsg = "";
-        var outSum = -1;
+        string outMsg = "";
+        int outSum = -1;
         decimal barcodeNum = 0;
         decimal splitNum = 0;
 
         try
         {
             // 璋冪敤瀛樺偍杩囩▼
-            var parameters = new[]
+            var parameters = new SqlParameter[]
             {
-                new SqlParameter("@C_USER", SqlDbType.NVarChar, 100)
-                    { Value = query.userName ?? string.Empty },
-                new SqlParameter("@P_BILL_NO", SqlDbType.NVarChar, 50)
-                    { Value = query.billNo ?? string.Empty },
-                new SqlParameter("@P_ITEM_BARCODE", SqlDbType.NVarChar, 100)
-                    { Value = query.barcode ?? string.Empty },
-                new SqlParameter("@P_BL_NO", SqlDbType.NVarChar, 100)
-                    { Value = query.blNo ?? string.Empty },
-                new SqlParameter("@P_TYPE", SqlDbType.NVarChar, 20)
-                    { Value = query.Type ?? string.Empty },
-                new SqlParameter("@OUT_MSG", SqlDbType.NVarChar, 2000)
-                    { Direction = ParameterDirection.Output },
-                new SqlParameter("@OUT_SUM", SqlDbType.Int)
-                    { Direction = ParameterDirection.Output },
-                new SqlParameter("@BARCODE_NUM", SqlDbType.Decimal)
-                {
-                    Direction = ParameterDirection.Output,
-                    Precision = 18,
-                    Scale = 10
-                },
-                new SqlParameter("@SPLIT_NUM", SqlDbType.Decimal)
-                {
-                    Direction = ParameterDirection.Output,
-                    Precision = 18,
-                    Scale = 10
-                }
+    new SqlParameter("@C_USER", SqlDbType.NVarChar, 100) { Value = query.userName ?? string.Empty },
+    new SqlParameter("@P_BILL_NO", SqlDbType.NVarChar, 50) { Value = query.billNo ?? string.Empty },
+    new SqlParameter("@P_ITEM_BARCODE", SqlDbType.NVarChar, 100) { Value = query.barcode ?? string.Empty },
+    new SqlParameter("@P_BL_NO", SqlDbType.NVarChar, 100) { Value = query.blNo ?? string.Empty },
+    new SqlParameter("@P_TYPE", SqlDbType.NVarChar, 20) { Value = query.Type ?? string.Empty },
+    new SqlParameter("@OUT_MSG", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output },
+    new SqlParameter("@OUT_SUM", SqlDbType.Int) { Direction = ParameterDirection.Output },
+    new SqlParameter("@BARCODE_NUM", SqlDbType.Decimal) {
+        Direction = ParameterDirection.Output,
+        Precision = 18,
+        Scale = 10
+    },
+    new SqlParameter("@SPLIT_NUM", SqlDbType.Decimal) {
+        Direction = ParameterDirection.Output,
+        Precision = 18,
+        Scale = 10
+    }
             };
 
             // 鎵ц瀛樺偍杩囩▼
-            var procedureName = "PRC_PDA_SCBLCL";
-            var res =
-                DbHelperSQL.RunProcedure_NonQuery(procedureName, parameters);
+            string procedureName = "PRC_PDA_SCBLCL";
+            int res = DbHelperSQL.RunProcedure_NonQuery(procedureName, parameters);
 
             // 鑾峰彇杈撳嚭鍙傛暟
             outMsg = parameters[5].Value?.ToString() ?? "";
-            outSum = parameters[6].Value as int? ?? 0; // 榛樿鍊兼牴鎹渶姹傝皟鏁�
+            outSum = parameters[6].Value as int? ?? 0;  // 榛樿鍊兼牴鎹渶姹傝皟鏁�
             barcodeNum = parameters[7].Value as decimal? ?? 0m;
             splitNum = parameters[8].Value as decimal? ?? 0m;
 
@@ -192,11 +180,10 @@
                 query.Num = barcodeNum;
 
                 // 鑾峰彇寰呭彂鏂欐槑缁嗗垪琛�
-                var pendingList = Db
-                    .Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
+                var pendingList = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
                         new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
                     .Where((a, b) => a.BlNo == query.blNo
-                                     && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+                                    && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
                     .Select((a, b) => new MesItemBlDetail
                     {
                         Bld012 = b.Bld012,
@@ -210,18 +197,17 @@
 
                 return (query, pendingList);
             }
-
-            if (outSum == -1) // 澶勭悊澶辫触
+            else if (outSum == -1) // 澶勭悊澶辫触
+            {
                 throw new Exception(outMsg);
-
-            if (outSum == 1) // 澶勭悊鎴愬姛
+            }
+            else if (outSum == 1) // 澶勭悊鎴愬姛
             {
                 // 鑾峰彇鏈�缁堢殑寰呭彂鏂欐槑缁嗗垪琛�
-                var finalPendingList = Db
-                    .Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
-                        new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+                var finalPendingList = Db.Queryable<MesItemBl, MesItemBlDetail>(
+                        (a, b) => new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
                     .Where((a, b) => a.BlNo == query.blNo
-                                     && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+                                    && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
                     .Select((a, b) => new MesItemBlDetail
                     {
                         Bld012 = b.Bld012,
@@ -237,8 +223,10 @@
                 query.message = outMsg;
                 return (query, finalPendingList);
             }
-
-            throw new Exception("鏈煡鐨勫鐞嗙粨鏋滅姸鎬�");
+            else
+            {
+                throw new Exception("鏈煡鐨勫鐞嗙粨鏋滅姸鎬�");
+            }
         }
         catch (Exception ex)
         {
@@ -262,6 +250,7 @@
     public ProductionPickDto SplitBarcode(
         WarehouseQuery query)
     {
+
         // Validate input parameters
         if (string.IsNullOrEmpty(query.userName))
             throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒");
@@ -280,34 +269,31 @@
 
         // Prepare parameters for the stored procedure
         var parameters = new List<SugarParameter>
-        {
-            new("@C_USER", query.userName),
-            new("@P_BILL_NO", query.billNo),
-            new("@P_ITEM_BARCODE", query.barcode),
-            new("@P_BL_NO", query.blNo),
-            new("@P_TYPE", query.Type),
-            new("@NUM", query.Num),
-            new("@OUT_MSG", "", DbType.String, ParameterDirection.Output),
-            new("@OUT_SUM", 0, DbType.Int32, ParameterDirection.Output),
-            new("@OUT_CF_BAR", "", DbType.String, ParameterDirection.Output)
-        };
+{
+    new SugarParameter("@C_USER", query.userName),
+    new SugarParameter("@P_BILL_NO", query.billNo),
+    new SugarParameter("@P_ITEM_BARCODE", query.barcode),
+    new SugarParameter("@P_BL_NO", query.blNo),
+    new SugarParameter("@P_TYPE", query.Type),
+    new SugarParameter("@NUM", query.Num),
+    new SugarParameter("@OUT_MSG", "", System.Data.DbType.String, ParameterDirection.Output),
+    new SugarParameter("@OUT_SUM", 0, System.Data.DbType.Int32, ParameterDirection.Output),
+    new SugarParameter("@OUT_CF_BAR", "", System.Data.DbType.String, ParameterDirection.Output)
+};
 
         // Execute the stored procedure
-        Db.Ado.UseStoredProcedure()
-            .ExecuteCommand("PRC_PDA_SCBLCL_CF", parameters);
+        Db.Ado.UseStoredProcedure().ExecuteCommand("PRC_PDA_SCBLCL_CF", parameters);
 
         // Get output parameters
-        var outMsg = parameters
-            .FirstOrDefault(p => p.ParameterName == "@OUT_MSG")?.Value
-            ?.ToString();
-        var outSum = Convert.ToInt32(parameters
-            .FirstOrDefault(p => p.ParameterName == "@OUT_SUM")?.Value ?? -1);
-        var outCfBar = parameters
-            .FirstOrDefault(p => p.ParameterName == "@OUT_CF_BAR")?.Value
-            ?.ToString();
+        var outMsg = parameters.FirstOrDefault(p => p.ParameterName == "@OUT_MSG")?.Value?.ToString();
+        var outSum = Convert.ToInt32(parameters.FirstOrDefault(p => p.ParameterName == "@OUT_SUM")?.Value ?? -1);
+        var outCfBar = parameters.FirstOrDefault(p => p.ParameterName == "@OUT_CF_BAR")?.Value?.ToString();
 
         // Handle the result
-        if (outSum == -1) throw new Exception(outMsg ?? "鎿嶄綔澶辫触");
+        if (outSum == -1)
+        {
+            throw new Exception(outMsg ?? "鎿嶄綔澶辫触");
+        }
 
         // Get pending list for the supplement order
         var pendingList = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
@@ -328,8 +314,8 @@
         var dto = new ProductionPickDto
         {
             daa001 = query.billNo,
-            barcode = query.barcode, //鍘熸潯鐮�
-            cfBarcode = outCfBar //鎷嗗垎鍚庢潯鐮�
+            barcode = query.barcode,//鍘熸潯鐮�
+            cfBarcode = outCfBar//鎷嗗垎鍚庢潯鐮�
         };
 
         return dto;
@@ -350,7 +336,6 @@
 
         return LineInfo;
     }
-
     #endregion
 
     #region 鐢熶骇瓒呴
@@ -634,7 +619,7 @@
                     ErpAutoid = womdab.Erpid,
                     PbillNo = query.billNo,
                     ItemId = blDetail.Bld012,
-                    DepotId = stockBarcode.DepotId.ToString()
+                    DepotId = stockBarcode.DepotId.ToString(),
                     // Unit = blDetail.Bld009,
                     // DepotId = stockBarcode.DepotsId
                 }).IgnoreColumns(true).ExecuteCommand();
@@ -674,7 +659,7 @@
                 ItemId = blDetail.Bld012,
                 Unit = blDetail.Bld009,
                 DepotId = (int)stockBarcode.DepotId,
-                Dabid = womdab.Guid
+                Dabid = womdab.Guid,
             }).IgnoreColumns(true).ExecuteCommand();
 
             // 鎻掑叆涓氬姟娴佹按
@@ -751,9 +736,9 @@
         });
 
         // 鑾峰彇鏈�缁堢殑寰呭鐞嗗垪琛�
-        var finalPendingList = Db
-            .Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
-                new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+        var finalPendingList = Db.Queryable<MesItemBl, MesItemBlDetail>(
+                (a, b) =>
+                    new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
             .Where((a, b) => a.BlNo == query.blNo
                              && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
             .Select((a, b) => new MesItemBlDetail
@@ -1194,9 +1179,7 @@
 
         // 妫�鏌ヨˉ鏂欏崟鏄惁瀛樺湪涓斾负鐢熶骇琛ユ枡绫诲瀷
         var mesItemBl = Db.Queryable<MesItemBl>()
-            .Where(a =>
-                a.BlNo == query.billNo && a.Bl008 == query.Type &&
-                a.Bl018 == true)
+            .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true)
             .First();
 
         if (mesItemBl == null)
@@ -1222,8 +1205,7 @@
         //    .ToList();
 
         //return (mesItemBl.Bl001, blDetails);
-        var sql = string.Format(
-            @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty,
+        var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty,
        dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001
 fROM MES_ITEM_BL_DETAIL A
          LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID

--
Gitblit v1.9.3