From 0aa54059b26e6641196e9953490dd18616e916e3 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 10 九月 2025 17:26:47 +0800
Subject: [PATCH] 精简修正代码

---
 service/Warehouse/MesXsthManager.cs |  122 +++++++++++++++++++++++++---------------
 1 files changed, 77 insertions(+), 45 deletions(-)

diff --git a/service/Warehouse/MesXsthManager.cs b/service/Warehouse/MesXsthManager.cs
index 56a163f..effe333 100644
--- a/service/Warehouse/MesXsthManager.cs
+++ b/service/Warehouse/MesXsthManager.cs
@@ -1,15 +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 OracleInternal.Sharding;
 using SqlSugar;
-using SqlSugar.Extensions;
-using System.Data;
-using System.Data.SqlClient;
 
 namespace NewPdaSqlServer.service.Warehouse;
 
@@ -19,13 +15,34 @@
     ///     鑾峰彇閿�鍞��璐х敵璇峰垪琛�
     /// </summary>
     /// <returns>閿�鍞��璐х敵璇峰垪琛�</returns>
-    public List<string> GetXsthBillNo(WarehouseQuery query)
+    public dynamic GetXsthBillNo(WarehouseQuery query, dynamic RequestInfo)
     {
-        var list = Db.Queryable<SalesReturnNotice>()
-            .Where(s => s.CheckStatus == true)
-            .Select(s => s.BillNo).ToList();
+        var orgId = RequestInfo.OrgId;
 
-        return list;
+        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
+        {
+            // 杩斿洖鍗曞彿瀛楃涓插垪琛�
+            var blDetails = Db.Ado.SqlQuery<string>(
+                "EXEC prc_pda_xsth_list @pi_orgId,@inP1,@inP2,@inP3,@inP4",
+                parameters);
+            return blDetails;
+        }
+        catch (Exception ex)
+        {
+            throw new Exception($"{ex.Message}");
+        }
     }
 
     /// <summary>
@@ -33,39 +50,55 @@
     /// </summary>
     /// <param name="query">浠撳簱鏌ヨ鍙傛暟</param>
     /// <returns>鐗╂枡鏄庣粏鍒楄〃</returns>
-    public List<ItemDetailModel> GetMesItemDetailByBillNo(
-        WarehouseQuery query)
+    public dynamic GetMesItemDetailByBillNo(dynamic query, dynamic RequestInfo)
     {
-        // 鍏宠仈鏌ヨ鐗╂枡琛ㄣ�佺墿鏂欐槑缁嗚〃鍜岀墿鏂欏熀纭�淇℃伅琛�
-        var mesItemTblDetails = Db
-            .Queryable<SalesReturnNotice, SalesReturnNoticeDetail, MesItems>(
-                (a, b, c) => new JoinQueryInfos(
-                    JoinType.Left,
-                    a.Id == b.Pid,
-                    JoinType.Left,
-                    b.MaterialId == c.Id.ToString())
-            ).Where((a, b, c) => a.BillNo == query.billNo && a.CheckStatus == true)
-            .Select<ItemDetailModel>((a, b, c) => new ItemDetailModel
+        if (string.IsNullOrEmpty(query.billNo))
+            throw new Exception("璇烽�夊崟鎹彿锛�");
+
+        if (query == null)
+            throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓簄ull");
+
+        if (string.IsNullOrEmpty(query.billNo?.ToString()))
+            throw new ArgumentException("鍗曟嵁鍙蜂笉鑳戒负绌�", nameof(query.billNo));
+
+        var orgId = RequestInfo.OrgId;
+
+        if (orgId == null)
+            throw new Exception("缁勭粐涓嶅瓨鍦紒");
+
+        // 鑾峰彇鏈畬鎴愮殑閿�鍞��璐ф槑缁�
+        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_xsth_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 = c.ItemNo,
-                ItemName = c.ItemName,
-                ItemModel = c.ItemModel,
-                FQty = b.SqQty, // 鐢宠鏁伴噺
-                SQty = b.YsQty, // 宸叉壂鏁伴噺
-                Pid = b.Pid.ToString(),
-                FMaterialId = b.MaterialId,
-                Id = b.Id.ToString()
-            }).ToList();
-
-        // 绛涢�夊嚭寰呴��鏁伴噺澶т簬宸查��鏁伴噺鐨勮褰�
-        //var itemTblDetails = mesItemTblDetails
-        //    .Where(s => (s.Tld005 ?? 0) - (s.Tld006 ?? 0) > 0).ToList();
-
-        return mesItemTblDetails;
+                items,
+                ysitems,
+                Count = items.Count + ysitems.Count
+            };
+        }
+        catch (Exception ex)
+        {
+            // 淇濈暀鍘熸湁寮傚父澶勭悊閫昏緫
+            throw new Exception($"{ex.Message}");
+        }
     }
 
     /// <summary>
-    /// 閿�鍞��璐у叆搴�
+    ///     閿�鍞��璐у叆搴�
     /// </summary>
     /// <param name="unity"></param>
     /// <returns></returns>
@@ -77,7 +110,8 @@
         using (var conn = new SqlConnection(DbHelperSQL.strConn))
         {
             if (unity.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖");
-            if (unity.sectionCode.IsNullOrEmpty()) throw new Exception("搴撲綅缂栧彿涓嶅厑璁镐负绌�");
+            if (unity.sectionCode.IsNullOrEmpty())
+                throw new Exception("搴撲綅缂栧彿涓嶅厑璁镐负绌�");
             if (unity.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�");
             if (unity.billNo.IsNullOrEmpty()) throw new Exception("鐢宠鍗曞彿涓嶅厑璁镐负绌�");
 
@@ -95,12 +129,11 @@
                         new("@pi_user", unity.userName),
                         new("@pi_barcode", unity.barcode),
                         new("@pi_sectionCode", unity.sectionCode),
-                        new("@pi_billno", unity.billNo),
-
+                        new("@pi_billno", unity.billNo)
                     };
                     parameters[0].Direction = ParameterDirection.Output;
                     parameters[1].Direction = ParameterDirection.Output;
-                   // parameters[2].Direction = ParameterDirection.Output;
+                    // parameters[2].Direction = ParameterDirection.Output;
 
                     foreach (var parameter in parameters)
                         cmd.Parameters.Add(parameter);
@@ -114,7 +147,6 @@
                     return _strMsg;
 
                     //return 0;
-
                 }
                 catch (Exception ex)
                 {

--
Gitblit v1.9.3