From 4c1e15e60dc134a5351a764dcfb49ad9d0d7f879 Mon Sep 17 00:00:00 2001
From: cnf <3283105747@qq.com>
Date: 星期五, 12 十二月 2025 10:44:17 +0800
Subject: [PATCH] 读取仓管员

---
 WebApi/Gs.Warehouse/Services/MesDepotsManager.cs |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs b/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs
index f6f9e2f..3a50b6a 100644
--- a/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs
+++ b/WebApi/Gs.Warehouse/Services/MesDepotsManager.cs
@@ -396,4 +396,79 @@
         }
         return j;
     }
+
+    /// <summary>
+    ///     鏌ヨ鍒楄〃锛屾敮鎸佸垎椤碉紙淇濇寔杈撳嚭鍙傛暟鏂瑰紡锛�
+    /// </summary>
+    [RequestMethod(RequestMethods.POST)]
+    public ReturnDto<PageList<MesStaff>> GetListCgy(PageQuery query)
+    {
+        var pageList = new PageList<MesStaff>();
+        try
+        {
+            // 妫�鏌ュ熀鏈璞�
+            if (query == null) throw new ArgumentNullException(nameof(query));
+            if (Db?.Ado == null) throw new InvalidOperationException("鏁版嵁搴撹繛鎺ヤ笉鍙敤");
+
+            // 瀛樺偍杩囩▼鍙傛暟 - 娉ㄦ剰鐜板湪鏈夎緭鍑哄弬鏁颁簡
+            var parameters = new[]
+            {
+        new SugarParameter("@PageIndex", query.currentPage),
+        new SugarParameter("@PageSize", query.everyPageSize),
+        new SugarParameter("@SortField", string.IsNullOrEmpty(query.sortName) ? "staff_no" : query.sortName),
+        new SugarParameter("@SortOrder", string.IsNullOrEmpty(query.sortOrder) ? "DESC" : query.sortOrder),
+        new SugarParameter("@WhereCondition", query.keyWhere ?? ""),
+        new SugarParameter("@Fid", DBNull.Value),
+        new SugarParameter("@P1", DBNull.Value),
+        new SugarParameter("@P2", DBNull.Value),
+        new SugarParameter("@P3", DBNull.Value),
+        new SugarParameter("@P4", DBNull.Value),
+        // 娉ㄦ剰锛氳緭鍑哄弬鏁板繀椤绘寚瀹� ParameterDirection.Output
+        new SugarParameter("@outTotalCount", 0, System.Data.DbType.Int32, ParameterDirection.Output)
+    };
+
+            // 娉ㄦ剰锛氳皟鐢ㄨ鍙ュ繀椤诲寘鍚� OUTPUT 鍏抽敭瀛�
+            var itemsList = Db.Ado.SqlQuery<MesStaff>(
+                "EXEC prc_cgy_lst @PageIndex, @PageSize, @SortField, @SortOrder, @WhereCondition, @Fid, @P1, @P2, @P3, @P4, @outTotalCount OUTPUT",
+                parameters
+            );
+
+            // 鑾峰彇杈撳嚭鍙傛暟 - 绛夊緟鎵ц瀹屾垚鍚庡啀鑾峰彇
+            var totalCountParam = parameters.FirstOrDefault(p => p.ParameterName == "@outTotalCount");
+            if (totalCountParam != null && totalCountParam.Value != null)
+            {
+                try
+                {
+                    // 纭繚鍊兼槸鏁存暟绫诲瀷
+                    var totalCount = Convert.ToInt32(totalCountParam.Value);
+                    pageList = new PageList<MesStaff>(itemsList ?? new List<MesStaff>(), totalCount, query.everyPageSize);
+                    return ReturnDto<PageList<MesStaff>>.QuickReturn(pageList, ReturnCode.Success, "璇诲彇鎴愬姛");
+                }
+                catch (FormatException)
+                {
+                    // 濡傛灉杞崲澶辫触锛屼娇鐢ㄩ粯璁ゅ��
+                    pageList = new PageList<MesStaff>(itemsList ?? new List<MesStaff>(), itemsList?.Count ?? 0, query.everyPageSize);
+                    return ReturnDto<PageList<MesStaff>>.QuickReturn(pageList, ReturnCode.Success, "璇诲彇鎴愬姛锛堟�绘暟鑾峰彇澶辫触锛�");
+                }
+            }
+            else
+            {
+                // 杈撳嚭鍙傛暟涓嶅瓨鍦紝浣跨敤鍒楄〃闀垮害
+                pageList = new PageList<MesStaff>(itemsList ?? new List<MesStaff>(), itemsList?.Count ?? 0, query.everyPageSize);
+                return ReturnDto<PageList<MesStaff>>.QuickReturn(pageList, ReturnCode.Success, "璇诲彇鎴愬姛");
+            }
+        }
+        catch (ArgumentNullException argEx)
+        {
+            return ReturnDto<PageList<MesStaff>>.QuickReturn(pageList, ReturnCode.Default, $"鍙傛暟閿欒: {argEx.Message}");
+        }
+        catch (InvalidOperationException opEx)
+        {
+            return ReturnDto<PageList<MesStaff>>.QuickReturn(pageList, ReturnCode.Default, $"鎿嶄綔閿欒: {opEx.Message}");
+        }
+        catch (Exception ex)
+        {
+            return ReturnDto<PageList<MesStaff>>.QuickReturn(pageList, ReturnCode.Default, $"绯荤粺閿欒: {ex.Message}");
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3