zjh
2025-09-23 5e8ca32e4effd17b4a51159ed56f50bd94b1baf4
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. 保存文件信息(TEST_RESULT_FILE)
                // 2. 保存文件信息(TEST_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. 保存测试结果(SYS_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)