From 5e8ca32e4effd17b4a51159ed56f50bd94b1baf4 Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期二, 23 九月 2025 13:26:59 +0800
Subject: [PATCH] 实验室对接,实验室结果改为list,支持传多个

---
 StandardPda/MES.Service/service/Warehouse/WorkflowManager.cs |   36 ++++++++++++++++++++++++++++++++----
 1 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/StandardPda/MES.Service/service/Warehouse/WorkflowManager.cs b/StandardPda/MES.Service/service/Warehouse/WorkflowManager.cs
index b7dac3b..57e45ae 100644
--- a/StandardPda/MES.Service/service/Warehouse/WorkflowManager.cs
+++ b/StandardPda/MES.Service/service/Warehouse/WorkflowManager.cs
@@ -31,20 +31,22 @@
                 // 1. 鏇存柊 MES_QA_ITEMS_DETECT_01 鐘舵�佷笌缁撴灉
                 var sqlUpdate = @"
             UPDATE MES_QA_ITEMS_DETECT_01 
-               SET SYS_STATES = :status,
-                   SYS_TEST_RESULTS = :testResults
+               SET SYS_STATES = :status
              WHERE ID = :mesid";
 
                 var updateParams = new[]
                 {
             new OracleParameter(":status", testResultDto.Status),
-            new OracleParameter(":testResults", testResultDto.TestResults),
             new OracleParameter(":mesid", testResultDto.MesId)
         };
 
                 sqlHelper.ExecuteNonQueryWithTransaction(sqlUpdate, updateParams, connection, transaction);
 
-                // 2. 淇濆瓨鏂囦欢淇℃伅锛圱EST_RESULT_FILE锛�
+                // 2. 淇濆瓨鏂囦欢淇℃伅锛圱EST_RESULT_FILE锛� -> 鍏堝垹鍐嶆彃
+                var sqlDeleteFile = "DELETE FROM TEST_RESULT_FILE WHERE TESTRESULTID = :testResultId";
+                sqlHelper.ExecuteNonQueryWithTransaction(sqlDeleteFile,
+                    new[] { new OracleParameter(":testResultId", testResultDto.MesId) }, connection, transaction);
+
                 if (testResultDto.FileList != null && testResultDto.FileList.Count > 0)
                 {
                     foreach (var fileUrl in testResultDto.FileList)
@@ -66,6 +68,32 @@
                     }
                 }
 
+                // 3. 淇濆瓨娴嬭瘯缁撴灉锛圫YS_TestResults锛� -> 鍏堝垹鍐嶆彃
+                var sqlDeleteTestResults = "DELETE FROM SYS_TestResults WHERE TESTRESULTID = :testResultId";
+                sqlHelper.ExecuteNonQueryWithTransaction(sqlDeleteTestResults,
+                    new[] { new OracleParameter(":testResultId", testResultDto.MesId) }, connection, transaction);
+
+                if (testResultDto.TestResults != null && testResultDto.TestResults.Count > 0)
+                {
+                    foreach (var testResult in testResultDto.TestResults)
+                    {
+                        var sqlTestResult = @"
+                    INSERT INTO SYS_TestResults (
+                        ID, TESTRESULTID, TESTRESULT
+                    ) VALUES (
+                        SEQ_SYS_TESTRESULTS.NEXTVAL, :testResultId, :TestResult
+                    )";
+
+                        var insertParams = new[]
+                        {
+                    new OracleParameter(":testResultId", testResultDto.MesId),
+                    new OracleParameter(":TestResult", testResult)
+                };
+
+                        sqlHelper.ExecuteNonQueryWithTransaction(sqlTestResult, insertParams, connection, transaction);
+                    }
+                }
+
                 transaction.Commit();
             }
             catch (Exception ex)

--
Gitblit v1.9.3