From 5d36a41354db20c7cd667762ca6df5fd3b8b505f Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期五, 14 十一月 2025 13:57:42 +0800
Subject: [PATCH] 1.OA提交选别类别

---
 service/QC/OaApi.cs |  123 ++++++++++++++++++++++++----------------
 1 files changed, 74 insertions(+), 49 deletions(-)

diff --git a/service/QC/OaApi.cs b/service/QC/OaApi.cs
index 632f099..67e5712 100644
--- a/service/QC/OaApi.cs
+++ b/service/QC/OaApi.cs
@@ -408,57 +408,82 @@
 
     private JArray BuildDetailData(dynamic queryObj)
     {
-        // 浣跨敤鍙傛暟鍖栨煡璇㈣幏鍙栨槑缁嗘暟鎹�
-        const string mainSql = @"select ROW_NUMBER() over (ORDER BY Jy_Date) AS xh,releaseNo AS jydh, Jy_Date AS jydrq, batchQty as sjsl,
-               chouQty AS cys, badQty AS bls, badProb AS bll,C.USER_NAME AS jyr
-            from Mes_QC_Exceptional_Detail A
-            LEFT JOIN MES_QA_ITEMS_DETECT_01 B ON A.releaseNo = B.release_no
-            LEFT JOIN SYS_USER C ON C.ACCOUNT = B.fcheck_by
-            WHERE pGuid = @guid";
-    
-        var details = Db.Ado.SqlQuery<dynamic>(mainSql, new { guid = queryObj.qcczdGuid });
-    
-        var tableRecords = new JArray();
-        
-        // 閬嶅巻姣忔潯鏄庣粏鏁版嵁
-        foreach (var record in details ?? Enumerable.Empty<dynamic>())
+        // 灏嗙洿鎺QL鏌ヨ鏇挎崲涓哄瓨鍌ㄨ繃绋嬭皟鐢�
+        var parameters = new[]
         {
-            // 淇瀛楁绫诲瀷杞崲锛堟暟鍊肩被鍨嬪幓闄ゅ瓧绗︿覆鍖呰9锛�
-            var fields = new JArray
-            {
-                //new JObject { ["fieldName"] = "xh", ["fieldValue"] = record.xh?.ToString() ?? "" },
-                new JObject { ["fieldName"] = "jydh", ["fieldValue"] = record.jydh?.ToString() ?? "" },
-                 new JObject { ["fieldName"] = "jyr", ["fieldValue"] = record.jyr?.ToString() ?? "" },
-                new JObject { 
-                    ["fieldName"] = "jydrq", 
-                    // 鏍煎紡鍖栦负"yyyy-MM-dd"瀛楃涓�
-                    ["fieldValue"] = (record.jydrq != null 
-                        ? Convert.ToDateTime(record.jydrq).ToString("yyyy-MM-dd ") 
-                        : DateTime.Now.ToString("yyyy-MM-dd"))
-                },
-                // 鏁板�煎瓧娈典繚鎸佹暟瀛楃被鍨嬭�岄潪瀛楃涓�
-                // 淇鏁板�肩被鍨嬭浆鎹㈡柟寮�
-                new JObject { ["fieldName"] = "sjsl", ["fieldValue"] = (float)(record.sjsl ?? 0m) },
-                new JObject { ["fieldName"] = "cys", ["fieldValue"] = (float)(record.cys ?? 0) },
-                new JObject { ["fieldName"] = "bls", ["fieldValue"] = (float)(record.bls ?? 0) },
-                new JObject { ["fieldName"] = "bll", ["fieldValue"] = 1, }
-            };
-    
-            tableRecords.Add(new JObject
-            {
-                ["recordOrder"] = 0,  // 瀹為檯涓氬姟涓彲鑳介渶瑕佹牴鎹鍙疯缃�
-                ["workflowRequestTableFields"] = fields
-            });
-        }
-    
-        return new JArray
-        {
-            new JObject
-            {
-                ["tableDBName"] = "formtable_main_321_dt1",//娴嬭瘯锛歠ormtable_main_33_dt1
-                ["workflowRequestTableRecords"] = tableRecords
-            }
+            new SugarParameter("@pi_guid", queryObj.qcczdGuid),
+            new SugarParameter("@inP1", null),
+            new SugarParameter("@inP2", null),
+            new SugarParameter("@inP3", null),
+            new SugarParameter("@inP4", null)
         };
+
+        try
+        {
+            var details = Db.Ado.SqlQuery<dynamic>(
+                "EXEC select_oa_BuildDetailData @pi_guid,@inP1,@inP2,@inP3,@inP4", 
+                parameters);
+
+
+            var tableRecords = new JArray();
+        
+            // 閬嶅巻姣忔潯鏄庣粏鏁版嵁
+            foreach (var record in details ?? Enumerable.Empty<dynamic>())
+            {
+                // 淇瀛楁绫诲瀷杞崲锛堟暟鍊肩被鍨嬪幓闄ゅ瓧绗︿覆鍖呰9锛�
+                var fields = new JArray
+                {
+                    //new JObject { ["fieldName"] = "xh", ["fieldValue"] = record.xh?.ToString() ?? "" },
+                    new JObject { ["fieldName"] = "jydh", ["fieldValue"] = record.jydh?.ToString() ?? "" },
+                    new JObject { ["fieldName"] = "jyr", ["fieldValue"] = record.jyr?.ToString() ?? "" },
+                    new JObject { ["fieldName"] = "xblb", ["fieldValue"] = record.xblb?.ToString() ?? "" },
+                    new JObject { 
+                        ["fieldName"] = "jydrq", 
+                        // 鏍煎紡鍖栦负"yyyy-MM-dd"瀛楃涓�
+                        ["fieldValue"] = (record.jydrq != null 
+                            ? Convert.ToDateTime(record.jydrq).ToString("yyyy-MM-dd ") 
+                            : DateTime.Now.ToString("yyyy-MM-dd"))
+                    },
+                    // 鏁板�煎瓧娈典繚鎸佹暟瀛楃被鍨嬭�岄潪瀛楃涓�
+                    // 淇鏁板�肩被鍨嬭浆鎹㈡柟寮�
+                    new JObject { ["fieldName"] = "sjsl", ["fieldValue"] = (float)(record.sjsl ?? 0m) },
+                    new JObject { ["fieldName"] = "cys", ["fieldValue"] = (float)(record.cys ?? 0) },
+                    new JObject { ["fieldName"] = "bls", ["fieldValue"] = (float)(record.bls ?? 0) },
+                    new JObject { ["fieldName"] = "bll", ["fieldValue"] = 1, }
+                };
+        
+                tableRecords.Add(new JObject
+                {
+                    ["recordOrder"] = 0,  // 瀹為檯涓氬姟涓彲鑳介渶瑕佹牴鎹鍙疯缃�
+                    ["workflowRequestTableFields"] = fields
+                });
+            }
+        
+            return new JArray
+            {
+                new JObject
+                {
+                    ["tableDBName"] = "formtable_main_321_dt1",//娴嬭瘯锛歠ormtable_main_33_dt1
+                    ["workflowRequestTableRecords"] = tableRecords
+                }
+            };
+        }
+        catch (Exception ex)
+        {
+            throw new Exception($"鏌ヨ寮傚父鏄庣粏澶辫触: {ex.Message}");
+        }
+
+        // // 浣跨敤鍙傛暟鍖栨煡璇㈣幏鍙栨槑缁嗘暟鎹�
+        // const string mainSql = @"select ROW_NUMBER() over (ORDER BY Jy_Date) AS xh,releaseNo AS jydh, Jy_Date AS jydrq, batchQty as sjsl,
+        //        chouQty AS cys, badQty AS bls, badProb AS bll,C.USER_NAME AS jyr
+        //     from Mes_QC_Exceptional_Detail A
+        //     LEFT JOIN MES_QA_ITEMS_DETECT_01 B ON A.releaseNo = B.release_no
+        //     LEFT JOIN SYS_USER C ON C.ACCOUNT = B.fcheck_by
+        //     WHERE pGuid = @guid";
+    
+        // var details = Db.Ado.SqlQuery<dynamic>(mainSql, new { guid = queryObj.qcczdGuid });
+    
+        
     }
 
     private JObject BuildOtherParams()

--
Gitblit v1.9.3