From 1d976f52878c9f776146502037377310921e5a21 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期四, 04 九月 2025 08:23:13 +0800
Subject: [PATCH] 1.携客云获取送货单优化

---
 service/Warehouse/MesItemQtrkManager.cs |   95 ++++++++++++++++++++++++++---------------------
 1 files changed, 52 insertions(+), 43 deletions(-)

diff --git a/service/Warehouse/MesItemQtrkManager.cs b/service/Warehouse/MesItemQtrkManager.cs
index b9a1539..9443399 100644
--- a/service/Warehouse/MesItemQtrkManager.cs
+++ b/service/Warehouse/MesItemQtrkManager.cs
@@ -10,59 +10,68 @@
 
 public class MesItemQtrkManager : Repository<MesItemQtrk>
 {
-    public List<string> GetQtckList()
+    public dynamic GetQtckList(dynamic RequestInfo)
     {
-        //return Db.Queryable<MesItemQtrk>()
-        //    .Where(x => (x.Qt015 ?? 0) == 1 && (x.Qt014 ?? 0) == 0)
-        //    .Select(x => x.Qtck)
-        //    .ToList();
+        var orgId = RequestInfo.OrgId;
 
-        const string sql = @"SELECT qtck 
-                        FROM MES_ITEM_QTRK 
-                        WHERE  QT015 = 1 AND QT028 = 1 AND QT032 = 1
-                          AND QT014 = 0  ";
+        if (orgId == null)
+            throw new Exception("缁勭粐涓嶅瓨鍦紒");
 
-        return Db.Ado.SqlQuery<string>(sql);
+        // 鑾峰彇鏈畬鎴愮殑閫�鏂欏崟鍙峰垪琛�
+        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
+        {
+            // 杩斿洖鍗曞彿瀛楃涓插垪琛�
+            var blDetails = Db.Ado.SqlQuery<string>(
+                "EXEC prc_pda_qtrk_list @pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters);
+            return blDetails;
+        }
+        catch (Exception ex)
+        {
+            throw new Exception($"{ex.Message}");
+        }
     }
 
-    public ProductionPickDto GetQtckDetailList(WarehouseQuery query)
+    public dynamic GetQtckDetailList(dynamic query, dynamic RequestInfo)
     {
-        // 鍏宠仈鏌ヨ鐗╂枡琛ㄣ�佺墿鏂欐槑缁嗚〃鍜岀墿鏂欏熀纭�淇℃伅琛�
-        if (string.IsNullOrEmpty(query.billNo)) throw new Exception("鐢宠鍗曞彿涓虹┖");
+        var orgId = RequestInfo.OrgId;
 
-        var mesInvItemOuts = base.GetSingle(it => it.Qtck == query.billNo);
-        if (mesInvItemOuts == null) throw new Exception("鍏朵粬鍏ュ簱鐢宠鍗曚笉瀛樺湪");
+        if (orgId == null)
+            throw new Exception("缁勭粐涓嶅瓨鍦紒");
 
-        var sql = @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,
-                    ISNULL(A.qd007,0) FQty,ISNULL(A.qd008,0) SQty,ISNULL(A.qd007,0) - ISNULL(A.qd008,0) DSQty
-                    FROM MES_ITEM_QTRR_DETAIL A
-                    LEFT JOIN MES_ITEM_QTRK B ON A.qtrkGuid = B.guid
-                    LEFT JOIN MES_ITEMS C ON A.itemId = C.item_id
-                    WHERE B.qtck = @billNo AND QT015 = 1 AND QT028 = 1 AND QT032 = 1  ";
-        //AND QT014 = 0
-
-        var sqlParams = new List<SugarParameter> {
-            new("@billNo", query.billNo)
+        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)
         };
-
-        var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql, sqlParams);
-
-        if (womdabs.Count < 1)
-            throw new Exception($"璇ュ叾浠栧叆搴撶敵璇峰崟 {query.billNo} 鏈叏閮ㄥ鏍告垨宸插畬缁擄紝璇风‘璁わ紒");
-
-        var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
-
-        var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
-
-        var dto = new ProductionPickDto
+        try
         {
-            //daa001 = womdaa.Daa001,
-            //PlanNo = womcaa.Caa020,
-            items = DS_list,
-            Ysitems = YS_list
-        };
-
-        return dto;
+            List<dynamic>? blDetails = Db.Ado.SqlQuery<dynamic>(
+                "EXEC prc_pda_qtrk_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
+            {
+                items = items,
+                ysitems = ysitems
+            };
+        }
+        catch (Exception ex)
+        {
+            // 淇濈暀鍘熸湁寮傚父澶勭悊閫昏緫
+            throw new Exception($"{ex.Message}");
+        }
     }
 
     public dynamic ScanInDepotsQT(WarehouseQuery query)

--
Gitblit v1.9.3