From 8b7abd97e7b69800789134ed8e809e19a5b5ba74 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 17 九月 2025 00:30:27 +0800
Subject: [PATCH] 111

---
 service/Warehouse/MesXsckManager.cs |  133 +++++++++++++++++++++++++------------------
 1 files changed, 77 insertions(+), 56 deletions(-)

diff --git a/service/Warehouse/MesXsckManager.cs b/service/Warehouse/MesXsckManager.cs
index d5da216..fd12c0e 100644
--- a/service/Warehouse/MesXsckManager.cs
+++ b/service/Warehouse/MesXsckManager.cs
@@ -1,14 +1,11 @@
-锘縰sing Masuit.Tools;
-using MES.Service.Modes;
+锘縰sing System.Data;
+using System.Data.SqlClient;
+using Masuit.Tools;
 using NewPdaSqlServer.DB;
 using NewPdaSqlServer.Dto.service;
 using NewPdaSqlServer.entity;
-using NewPdaSqlServer.entity.Base;
 using NewPdaSqlServer.util;
 using SqlSugar;
-using SqlSugar.Extensions;
-using System.Data;
-using System.Data.SqlClient;
 
 namespace NewPdaSqlServer.service.Warehouse;
 
@@ -20,61 +17,88 @@
     ///     鑾峰彇鐢熶骇鍙戣揣閫氱煡鍗曞彿鍒楄〃
     /// </summary>
     /// <returns>鍙戣揣閫氱煡鍗曞彿鍒楄〃</returns>
-    public List<string> GetFHTZBillNo(WarehouseQuery query)
+    public dynamic GetFHTZBillNo(dynamic query, dynamic RequestInfo)
     {
-        var list = Db.Queryable<SalesDeliver>()
-            .Where(s => (s.FApproverStatus ?? false) == true)
-            .Select(s => s.BillNo)
-            .ToList();
-        return list;
+        var orgId = RequestInfo.OrgId;
+
+        if (orgId == null)
+            throw new Exception("缁勭粐涓嶅瓨鍦紒");
+
+        // 鑾峰彇鏈畬鎴愮殑閫�鏂欏崟鍙峰垪琛�
+        var parameters = new[]
+        {
+            new SugarParameter("@pi_orgId", orgId),
+            new SugarParameter("@inP1", null),
+            new SugarParameter("@inP2", null),
+            new SugarParameter("@inP3", null),
+            new SugarParameter("@inP4", null)
+        };
+        try
+        {
+            // 杩斿洖鍗曞彿瀛楃涓插垪琛℅et_Qt_ck_List
+            var blDetails = Db.Ado.SqlQuery<string>(
+                "EXEC prc_pda_xsck_list @pi_orgId,@inP1,@inP2,@inP3,@inP4",
+                parameters);
+            return blDetails;
+        }
+        catch (Exception ex)
+        {
+            throw new Exception($"{ex.Message}");
+        }
     }
 
     /// <summary>
     ///     鏍规嵁鍙戣揣閫氱煡鍗曡幏鍙栧搴斾唬鍙戣揣鏄庣粏  prc_rf_pda_scan_zout_showbl
     /// </summary>
     /// <returns>鍙戣揣閫氱煡鍗曟槑缁嗗垪琛�</returns>
-    public List<ItemDetailModel> GetMesItemFHTZetailByBillNo(
-            WarehouseQuery query)
+    public dynamic GetMesItemFHTZetailByBillNo(dynamic query,
+        dynamic RequestInfo)
     {
         if (string.IsNullOrEmpty(query.billNo))
             throw new Exception("璇烽�夊崟鎹彿锛�");
 
-        // 妫�鏌ュ彂璐ч�氱煡鍗曟槸鍚﹀瓨鍦ㄤ笖瀹℃牳
-        var mesItem = Db.Queryable<SalesDeliver>()
-            .Where(a => a.BillNo == query.billNo && a.FApproverStatus == true)
-            .First();
+        if (query == null)
+            throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓簄ull");
 
-        if (mesItem == null)
-            throw new Exception("鍗曟嵁鍙蜂笉瀛樺湪鎴栨湭瀹℃牳锛�");
+        if (string.IsNullOrEmpty(query.billNo?.ToString()))
+            throw new ArgumentException("鍗曟嵁鍙蜂笉鑳戒负绌�", nameof(query.billNo));
 
-        if (mesItem.FinishStatus == true)
-            throw new Exception("鍗曟嵁鍙峰凡瀹岀粨锛�");
+        var orgId = RequestInfo.OrgId;
+
+        if (orgId == null)
+            throw new Exception("缁勭粐涓嶅瓨鍦紒");
 
         // 鑾峰彇鏈畬鎴愮殑鍙戣揣閫氱煡鍗曟槑缁�
-        var blDetails = Db.Queryable<SalesDeliver, SalesDeliverDetail, SalesOrderDetail,MesItems>((a, b, c, d) =>
-                new JoinQueryInfos(JoinType.Left, a.Id == b.Pid,
-                JoinType.Left, b.SalesDetailId == c.Id,
-                JoinType.Left, c.MaterialId == d.ItemId.ToString()))
-            .Where((a, b) => a.BillNo == query.billNo
-                             && (b.FMustQty ?? 0) - (b.FRealQty ?? 0) > 0)
-            .Select((a, b, c, d) => new ItemDetailModel
+        var parameters = new[]
+        {
+            new SugarParameter("@billNo", query.billNo),
+            new SugarParameter("@pi_orgId", orgId),
+            new SugarParameter("@inP1", null),
+            new SugarParameter("@inP2", null),
+            new SugarParameter("@inP3", null),
+            new SugarParameter("@inP4", null)
+        };
+        try
+        {
+            var blDetails = Db.Ado.SqlQuery<dynamic>(
+                "EXEC prc_pda_xsck_detailList @billNo,@pi_orgId,@inP1,@inP2,@inP3,@inP4",
+                parameters);
+            var items = blDetails.Where(x => x.DSQty > 0).ToList(); // 寰呮壂鐗╂枡
+            var ysitems = blDetails.Where(x => x.SQty > 0).ToList(); // 宸叉壂鐗╂枡
+            return new
             {
-                ItemNo = d.ItemNo,
-                ItemName = d.ItemName,
-                ItemModel = d.ItemModel,
-                FQty = b.FMustQty,
-                SQty = b.FRealQty,
-                FMaterialId = d.ItemId.ToString(),
-                Id = b.Id.ToString()
-
-            })
-            .ToList();
-
-        return  blDetails;
+                items, ysitems
+            };
+        }
+        catch (Exception ex)
+        {
+            // 淇濈暀鍘熸湁寮傚父澶勭悊閫昏緫
+            throw new Exception($"{ex.Message}");
+        }
     }
 
     /// <summary>
-    /// 鐢熶骇宸ュ崟琛ユ枡鎵爜
+    ///     鐢熶骇宸ュ崟琛ユ枡鎵爜
     ///     鎵弿鏉$爜  prc_rf_pda_scan_zout_barcode3
     /// </summary>
     /// <param name="query">鏌ヨ鍙傛暟</param>
@@ -86,14 +110,15 @@
     ///     - userName: 鐢ㄦ埛鍚�
     ///     - blNo: 鍙戣揣閫氱煡鍗曞彿(蹇呭~)
     /// </remarks>
-    public ProductionPickDto XSCKScanBarcode( WarehouseQuery query)
+    public ProductionPickDto XSCKScanBarcode(WarehouseQuery query)
     {
         var _strMsg = "";
         var _intSum = "";
         using (var conn = new SqlConnection(DbHelperSQL.strConn))
         {
             if (query.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
-            if (query.daa001.IsNullOrEmpty()) throw new Exception("鍙戣揣閫氱煡鍗曞彿涓嶅厑璁镐负绌�");
+            if (query.daa001.IsNullOrEmpty())
+                throw new Exception("鍙戣揣閫氱煡鍗曞彿涓嶅厑璁镐负绌�");
             if (query.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�");
 
             using (var cmd = new SqlCommand("[prc_pda_XSCK]", conn))
@@ -205,13 +230,9 @@
 
         var outNoType = "";
         if (query.Type == "鐢熶骇琛ユ枡")
-        {
             outNoType = "SCBL(鐢熶骇琛ユ枡)";
-        }
         else
-        {
             outNoType = "SCCL(鐢熶骇瓒呴)";
-        }
 
         // 寮�鍚簨鍔″鐞�
         var success = UseTransaction(db =>
@@ -463,7 +484,7 @@
                     Status = 0,
                     DepotId = stockBarcode.DepotId,
                     THORGID = stockBarcode.StockOrgId,
-                    OutType = query.Type,
+                    OutType = query.Type
                     //BbillNo = query.blNo
                 }).IgnoreColumns(true).ExecuteCommand();
             }
@@ -506,7 +527,7 @@
                     PbillNo = query.billNo,
                     ItemId = blDetail.Bld012,
                     DepotId = stockBarcode.DepotId.ToString(),
-                    ItemDabid = womdab.Guid,
+                    ItemDabid = womdab.Guid
                     // Unit = blDetail.Bld009,
                     // DepotId = (int)stockBarcode.DepotsId
                 }).IgnoreColumns(true).ExecuteCommand();
@@ -515,9 +536,9 @@
                 executeCommand += db.Updateable<MesInvItemOutItems>()
                     .SetColumns(it => it.TlQty == (it.TlQty ?? 0) + query.Num)
                     .Where(it =>
-                    it.ItemOutId == outId &&
-                    it.ItemId == stockBarcode.ItemId &&
-                    it.DepotId == stockBarcode.DepotId.ToString())
+                        it.ItemOutId == outId &&
+                        it.ItemId == stockBarcode.ItemId &&
+                        it.DepotId == stockBarcode.DepotId.ToString())
                     .ExecuteCommand();
 
             // 鎻掑叆鍑哄簱鏉$爜鏄庣粏
@@ -549,7 +570,7 @@
                 ItemId = blDetail.Bld012,
                 Unit = blDetail.Bld009,
                 DepotId = (int)stockBarcode.DepotsId,
-                Dabid = womdab.Guid,
+                Dabid = womdab.Guid
             }).IgnoreColumns(true).ExecuteCommand();
 
             // 鎻掑叆涓氬姟娴佹按
@@ -591,7 +612,8 @@
                     Dab020 = (it.Dab020 ?? 0) + query.Num, // 宸插彂鏂欐暟閲�
                     Dab021 = (it.Dab021 ?? 0) + query.Num // 宸插彂鏂欐暟閲�
                 })
-                .Where(it => it.Guid == womdab.Guid && it.Dab003 == womdab.Dab003)
+                .Where(it =>
+                    it.Guid == womdab.Guid && it.Dab003 == womdab.Dab003)
                 .ExecuteCommand();
 
             // 鏇存柊鍙戣揣閫氱煡鍗曟槑缁嗗凡琛ユ暟閲�
@@ -659,5 +681,4 @@
     }
 
     #endregion
-
 }
\ No newline at end of file

--
Gitblit v1.9.3