From 6f195e602ec9de69c2a1d9731a366a234cc96fe3 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期一, 13 十月 2025 15:44:01 +0800
Subject: [PATCH] 表格逻辑修改

---
 Services/MesCutterLedgerManager.cs |   61 ++++++++++++++++++------------
 1 files changed, 36 insertions(+), 25 deletions(-)

diff --git a/Services/MesCutterLedgerManager.cs b/Services/MesCutterLedgerManager.cs
index dea82ff..cc7c505 100644
--- a/Services/MesCutterLedgerManager.cs
+++ b/Services/MesCutterLedgerManager.cs
@@ -54,24 +54,26 @@
     /// <param name="type">鎿嶄綔绫诲瀷锛堜笂鍒�銆佷笅鍒�锛�</param>
     /// <param name="useLimit">浣跨敤涓婇檺</param>
     /// <returns>瀛樺偍杩囩▼鎵ц缁撴灉</returns>
-    public object SubmitToolAction(string workOrderNo, string machineNo, string toolNo, string type, int? useLimit)
+    public object SubmitToolAction(string workOrderNo, string machineNo, string toolNo, string type, int? useLimit, decimal? sdjs = null, decimal? xdjs = null)
     {
         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("V_SDJS", sdjs ?? (object)DBNull.Value),
+            new SugarParameter("V_XDJS", xdjs ?? (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;
+            var outMsg = parameters[7].Value?.ToString();
+            var outSum = parameters[8].Value;
             // 杩欓噷 outMsg 宸茬粡鍖呭惈浜嗗瓨鍌ㄨ繃绋嬫瘡姝ML鐨勮缁嗛敊璇俊鎭�
             return new { outMsg, outSum };
         }
@@ -93,23 +95,32 @@
     {
         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)
+        new SugarParameter("V_WORK_ORDER_NO", string.IsNullOrEmpty(workOrderNo) ? (object)DBNull.Value : workOrderNo),
+        new SugarParameter("V_MACHINE_NO", string.IsNullOrEmpty(machineNo) ? (object)DBNull.Value : machineNo),
+        new SugarParameter("PO_CURSOR", null) { Direction = ParameterDirection.Output, DbType = SystemDataDbType.Object }
+    };
+
+        try
         {
-            IDictionary<string, object> expando = new ExpandoObject();
-            foreach (DataColumn col in result.Columns)
+            // 鍋囪瀛樺偍杩囩▼鍚嶄负 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)
             {
-                expando[col.ColumnName] = row[col];
+                IDictionary<string, object> expando = new ExpandoObject();
+                foreach (DataColumn col in result.Columns)
+                {
+                    expando[col.ColumnName] = row[col] == DBNull.Value ? null : row[col];
+                }
+                list.Add(expando);
             }
-            list.Add(expando);
+            return list;
         }
-        return list;
+        catch (Exception ex)
+        {
+            throw new Exception($"璋冪敤瀛樺偍杩囩▼ PROC_GET_FORM_DATA 澶辫触: {ex.Message}");
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3