From e1b6ee017740b40a39bfc7a0fcc27aea8a0ab982 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期六, 11 十月 2025 16:05:46 +0800
Subject: [PATCH] 获取刀具表单数据

---
 Services/MesCutterLedgerManager.cs |   50 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/Services/MesCutterLedgerManager.cs b/Services/MesCutterLedgerManager.cs
index 45fc4b8..dea82ff 100644
--- a/Services/MesCutterLedgerManager.cs
+++ b/Services/MesCutterLedgerManager.cs
@@ -6,6 +6,8 @@
 using Newtonsoft.Json;
 using SqlSugar;
 using System.Data;
+using System.Dynamic;
+using SystemDataDbType = System.Data.DbType;
 
 namespace PadApplication.Services;
 
@@ -56,26 +58,58 @@
     {
         var parameters = new[]
         {
-            new SugarParameter("V_WORK_ORDER_NO", workOrderNo),
-            new SugarParameter("V_MACHINE_NO", machineNo),
-            new SugarParameter("V_TOOL_NO", toolNo),
-            new SugarParameter("V_TYPE", type),
-            new SugarParameter("V_USE_LIMIT", useLimit ?? (object)DBNull.Value),
-            new SugarParameter("PO_OUTMSG", null) { Direction = ParameterDirection.Output, DbType = System.Data.DbType.String, Size = 200 },
-            new SugarParameter("PO_OUTSUM", null) { Direction = ParameterDirection.Output, DbType = System.Data.DbType.Int32 }
-        };
+        new SugarParameter("V_WORK_ORDER_NO", workOrderNo),
+        new SugarParameter("V_MACHINE_NO", machineNo),
+        new SugarParameter("V_TOOL_NO", toolNo),
+        new SugarParameter("V_TYPE", type),
+        new SugarParameter("V_USE_LIMIT", useLimit ?? (object)DBNull.Value),
+        new SugarParameter("PO_OUTMSG", null) { Direction = ParameterDirection.Output, DbType = System.Data.DbType.String, Size = 200 },
+        new SugarParameter("PO_OUTSUM", null) { Direction = ParameterDirection.Output, DbType = System.Data.DbType.Int32 }
+    };
         try
         {
             Db.Ado.UseStoredProcedure().SqlQuery<object>(
                 "PROC_TOOL_ACTION", parameters);
             var outMsg = parameters[5].Value?.ToString();
             var outSum = parameters[6].Value;
+            // 杩欓噷 outMsg 宸茬粡鍖呭惈浜嗗瓨鍌ㄨ繃绋嬫瘡姝ML鐨勮缁嗛敊璇俊鎭�
             return new { outMsg, outSum };
         }
         catch (Exception ex)
         {
+            // 鍙湁瀛樺偍杩囩▼鏈韩鎵ц寮傚父鎵嶄細杩涘叆杩欓噷
             throw new Exception($"{ex.Message}");
         }
     }
 
+    /// <summary>
+    ///     鑾峰彇宸ュ崟琛ㄥ崟鏁版嵁锛堥�氳繃宸ュ崟缂栧彿鍜屾満鍙扮紪鍙锋煡璇級銆�
+    ///     浠呰礋璐e弬鏁拌浆鍙戯紝鎵�鏈夋暟鎹鍙栫敱瀛樺偍杩囩▼瀹屾垚銆�
+    /// </summary>
+    /// <param name="workOrderNo">宸ュ崟缂栧彿</param>
+    /// <param name="machineNo">鏈哄彴缂栧彿</param>
+    /// <returns>琛ㄥ崟鏁版嵁鐨勫姩鎬佸垪琛�</returns>
+    public List<dynamic> GetFormData(string workOrderNo, string machineNo)
+    {
+        var parameters = new[]
+        {
+            new SugarParameter("V_WORK_ORDER_NO", workOrderNo),
+            new SugarParameter("V_MACHINE_NO", machineNo),
+            new SugarParameter("PO_CURSOR", null) { Direction = ParameterDirection.Output, DbType = SystemDataDbType.Object }
+        };
+        // 鍋囪瀛樺偍杩囩▼鍚嶄负 PROC_GET_FORM_DATA锛岃繑鍥炴父鏍�
+        var result = Db.Ado.UseStoredProcedure().GetDataTable("PROC_GET_FORM_DATA", parameters);
+        // DataTable 杞� List<dynamic>
+        var list = new List<dynamic>();
+        foreach (DataRow row in result.Rows)
+        {
+            IDictionary<string, object> expando = new ExpandoObject();
+            foreach (DataColumn col in result.Columns)
+            {
+                expando[col.ColumnName] = row[col];
+            }
+            list.Add(expando);
+        }
+        return list;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3