啊鑫
2 天以前 f2900f2e7a9fef2e536c34e8d8406ac60c0f06ba
StandardInterface/MES.Service/service/QcIssueResult/QcIssueResultManager.cs
@@ -28,7 +28,7 @@
//异常处置单结果表
[SugarTable("MES_QA_ITEMS_DETECT_01")]
public class QcIssueResultManager: Repository<QcIssueResults>
public class QcIssueResultManager : Repository<QcIssueResults>
{
    /**
     * 使用 Token 初始化账号Client
@@ -103,7 +103,7 @@
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ProcessForecastRequest processForecastRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ProcessForecastRequest
        {
            ProcessCode = "PROC-BBA5632D-DC7C-4267-A3E2-757E2B7023BC",
            ProcessCode = "PROC-4F4B3976-BA15-47EF-9A3C-3A07AC07DFEA",
            DeptId = 1,
            UserId = "923188102",
            FormComponentValues = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ProcessForecastRequest.ProcessForecastRequestFormComponentValues>
@@ -118,9 +118,9 @@
        }
        catch (TeaException err)
        {
                return $"TeaException: Code={err.Code}, Message={err.Message}";
            return $"TeaException: Code={err.Code}, Message={err.Message}";
        }
        catch (Exception _err)
        {
@@ -132,7 +132,7 @@
    * 获取userid
    * @return string 返回启动结果
    */
   public  HttpClient _httpClient;
    public HttpClient _httpClient;
    public string DingTalkService()
    {
        _httpClient = new HttpClient();
@@ -153,7 +153,7 @@
        return await GetUserIdByMobile(accessToken, phone);
    }
    public async Task<string> GetUserIdByMobile(string accessToken, string mobile)
    {
@@ -218,7 +218,7 @@
        var db = SqlSugarHelper.GetInstance();
        var stafflist = db.Queryable<DingNameCode>()
            .Where(t => t.STAFF_NO == getQcIssueResultDetail.Fname)
            .Where(t => t.STAFF_NO == getQcIssueResultDetail.StaffNo)
            .Select(t => new DingNameCode
            {
                STAFF_NAME = t.STAFF_NAME,
@@ -230,6 +230,7 @@
        {
            Task<string> task = GetUserId(stafflist[0].PHONE_NUMBER);
            string UserId = task.Result;
            string applicationUser = $"[\"{UserId}\"]";
            // 使用 JSON 序列化输出对象的详细内容
            string getQcIssueResultDetailJson = JsonConvert.SerializeObject(getQcIssueResultDetail, Formatting.Indented);
@@ -248,68 +249,69 @@
            startProcessInstanceHeaders.XAcsDingtalkAccessToken = accessToken; // 使用获取到的 Access Token  
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues1 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextField-K2AD4O5B",
                Value = getQcIssueResultDetail.ItemName,
                Name = "TextField_K5AVR59BD28",
                Value = getQcIssueResultDetail.ItemNo,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues2 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextField_DYFD1EESLVC0",
                Value = getQcIssueResultDetail.ItemModel,
                Name = "TextField_1LW382XRH1DS0",
                Value = getQcIssueResultDetail.ItemName,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues3 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextField_1AVN2BNVY1OG0",
                Name = "NumberField_UKE91Z101BK0",
                Value = getQcIssueResultDetail.FbatchQty,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues4 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextField_1DKEMESOOGSG0",
                Name = "TextField_1QM2NWE9T3Y80",
                Value = getQcIssueResultDetail.SuppName,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues5 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "DDDateField_20LKOACGMLXC0",
                Value = DateTime.Now.ToString("yyyy-MM-dd"),
                Name = "TextField_1DAQ9890FDWG0",
                Value = getQcIssueResultDetail.AppicationReason,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues6 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextField_WBNBWGFHR000",
                Value = getQcIssueResultDetail.CgOrder,
                Name = "DDSelectField_76Z6HC5W1F0",
                Value = getQcIssueResultDetail.BadReason,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues7 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextareaField_1ZP3BDPMYY800",
                Name = "TextField_3B85TFIK9Z60",
                Value = getQcIssueResultDetail.remark,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues8 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "SignatureField_SKF9Q82DZUO0",
                Value = stafflist[0].STAFF_NAME,
                Name = "InnerContactField_WVZLUIPZ9J40",
                Value = applicationUser,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues9 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "DDSelectField_1AK82Q8A2NB40",
                Value = "退货",
                Name = "DDSelectField_1AL6MWUUUOHS0",
                Value = getQcIssueResultDetail.IqcStatus,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues10 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextareaField_1LM82CPPR35S0",
                Value = "挑选内容",
                Name = "DepartmentField_10ZVNJNJCRJK0",
                Value = getQcIssueResultDetail.Department,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues11 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextareaField_AK4JLDDNS2O0",
                Value = "让步接收内容",
                Name = "DDSelectField_HG2SQUPO2NK0",
                Value = getQcIssueResultDetail.WorkShop,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues12 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextareaField_K69R6770WLS0",
                Value = "退货备注",
                Name = "DDPhotoField_QD15KYR764G0",
                Value = "测试不良图片",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues13 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextareaField_194UFGLMI02O0",
                Value = "报废备注",
                Name = "DDAttachment_GLZLFSIWK9S0",
                Value = "附件",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues14 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
@@ -325,6 +327,16 @@
            {
                Name = "DDAttachment_23VB5MMC1R1C0",
                Value = "附件",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues17 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextField_X6NPRMTGFZ40",
                Value = getQcIssueResultDetail.EMERGENCY,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues18 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "NumberField_23LXMDXBXOTC0",
                Value = GetFlowConditionValue(getQcIssueResultDetail.IqcStatus),
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners targetSelectActioners0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners
            {
@@ -347,12 +359,12 @@
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest startProcessInstanceRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest
            {
                OriginatorUserId = UserId,
                ProcessCode = "PROC-BBA5632D-DC7C-4267-A3E2-757E2B7023BC",
                ProcessCode = "PROC-4F4B3976-BA15-47EF-9A3C-3A07AC07DFEA",
                DeptId = 1,
                FormComponentValues = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues>
                {
                     formComponentValues1,formComponentValues2,formComponentValues3, formComponentValues4, formComponentValues5, formComponentValues6, formComponentValues7, formComponentValues8,
                     formComponentValues9,formComponentValues10, formComponentValues11, formComponentValues12, formComponentValues13, formComponentValues14
                     formComponentValues9, formComponentValues11, formComponentValues17, formComponentValues18
                },
                TargetSelectActioners = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners>
                {
@@ -402,27 +414,84 @@
    /**
     * 将带有流程号和检验单号的新记录插入表中
     */
    public dynamic SaveProcessNo(string ReleaseNo,string ProcessNo)
    public dynamic SaveProcessNo(string ReleaseNo, string ProcessNo, string StaffNo, string Department, string IqcStatus = null)
    {
        var QcIssueResults = GetQcIssueResults(ReleaseNo, ProcessNo, IqcStatus);
        var QcIssueResults = GetQcIssueResults(ReleaseNo, ProcessNo);
        var ApplicantResults = GetApplicantResults(ProcessNo, StaffNo);
        var DepartmentResults = GetDepartmentResults(ProcessNo, Department);
        var db = SqlSugarHelper.GetInstance();
        db.Insertable(ApplicantResults).ExecuteCommand(); // 插入申请人数据
        db.Insertable(DepartmentResults).ExecuteCommand(); // 插入部门数据
        return UseTransaction(db =>
        {
            return SaveOrUpdateData(db, QcIssueResults) ? 1 : 0;
        }) > 0;
            try
            {
                // 统一使用事务db
                //SaveOrUpdateApplicantData(db, ApplicantResults);
                //SaveOrUpdateDepartmentData(db, DepartmentResults);
                SaveOrUpdateData(db, QcIssueResults);
                return 1;
            }
            catch
            {
                db.RollbackTran();
                throw;
            }
        });
    }
    public QcIssueResults GetQcIssueResults(string ReleaseNo, string ProcessNo)
    public QcIssueResults GetQcIssueResults(string ReleaseNo, string ProcessNo, string IqcStatus = null)
    {
        var QcIssueResults = new QcIssueResults
        {
            ProcessNo = ProcessNo,
            INSTANCEID = ProcessNo,
            ReleaseNo = ReleaseNo,
            QcStatu = ""
            QcStatu = "",
            FLOW_CONDITION = IqcStatus != null ? GetFlowConditionValue(IqcStatus) : null
        };
        return QcIssueResults;
    }
    public IqcApplicant GetApplicantResults(string ProcessNo, string StaffNo)
    {
        var db = SqlSugarHelper.GetInstance();
        var stafflist = db.Queryable<DingNameCode>()
           .Where(t => t.STAFF_NO == StaffNo)
           .Select(t => new DingNameCode
           {
               STAFF_NAME = t.STAFF_NAME,
               PHONE_NUMBER = t.PHONE_NUMBER
           })
           .ToList();
        var ApplicantResults = new IqcApplicant
        {
            INSTANCEID = ProcessNo,
            APPLICANTID = StaffNo,
            APPLICANTNAME = stafflist[0].STAFF_NAME
        };
        return ApplicantResults;
    }
    public IqcDepartment GetDepartmentResults(string ProcessNo, string Department)
    {
        var DepartmentResults = new IqcDepartment
        {
            INSTANCEID = ProcessNo,
            DEPARTMENTNAME = Department
        };
        return DepartmentResults;
    }
    /**
@@ -430,28 +499,46 @@
    */
    public dynamic Save(ErpQcIssueResult erpQcIssueResult)
    {
        var json = JsonConvert.SerializeObject(erpQcIssueResult);
        //var json = JsonConvert.SerializeObject(erpQcIssueResult);
        //var saveSuccess = UseTransaction(db =>
        ////var saveSuccess = UseTransaction(db =>
        ////{
        ////    var data = GetMesQcIssueResults(erpQcIssueResult);
        ////    return SaveOrUpdateData(db, data);
        ////});
        //return new
        //{
        //    var data = GetMesQcIssueResults(erpQcIssueResult);
        //    return SaveOrUpdateData(db, data);
        //});
        //    SerializedPayload = json,
        //    ServerTime = DateTime.UtcNow.ToString("O")
        //};
        return new
        var mesQcIssueResults = GetMesQcIssueResults(erpQcIssueResult);
        return UseTransaction(db =>
        {
            SerializedPayload = json,
            ServerTime = DateTime.UtcNow.ToString("O")
        };
            return SaveOrUpdateData(db, mesQcIssueResults) ? 1 : 0;
        }) > 0;
    }
    public QcIssueResults GetMesQcIssueResults(ErpQcIssueResult erpQcIssueResult)
    {
        var mesQcIssueResults = new QcIssueResults
        {
            ProcessNo = erpQcIssueResult.ProcessNo,
            INSTANCEID = erpQcIssueResult.ProcessNo,
            FReview = erpQcIssueResult.FReview,
            QcStatu = erpQcIssueResult.QcStatus
            APPLICATIONNUM = erpQcIssueResult.ApplicationQuantity.ToString(),
            BADCAUSES = erpQcIssueResult.BadCauses,
            BELONGINGWORKSHOP = erpQcIssueResult.AffiliatedWorkshop,
            REVIEWSTATUS = erpQcIssueResult.FReview,
            QcStatu = erpQcIssueResult.QcStatus,
            ITEMNAME = erpQcIssueResult.ItemName,
            ITEMNO = erpQcIssueResult.ItemNo,
            SUPPLIERNAME = erpQcIssueResult.SupplierName,
            REMARK = erpQcIssueResult.Remark,
            APPLICATIONRESON = erpQcIssueResult.Reason,
            FLOW_CONDITION = GetFlowConditionValue(erpQcIssueResult.FReview) // 根据评审状态设置流程条件
        };
        return mesQcIssueResults;
@@ -465,7 +552,7 @@
        // 查询 QcIssueResults 表中是否存在匹配的记录
        var mapping = db.Queryable<QcIssueResults>()
            .Where(t => t.ProcessNo == qcIssueResults.ProcessNo)
            .Where(t => t.INSTANCEID == qcIssueResults.INSTANCEID)
            .Select(t => new QcIssueResults
            {
                ReleaseNo = t.ReleaseNo,
@@ -474,7 +561,7 @@
        if (mapping.Any())
        {
            if (qcIssueResults.QcStatu=="拒绝")
            if (qcIssueResults.QcStatu == "拒绝")
            {
                string ReleaseNo = mapping.FirstOrDefault().ReleaseNo;
@@ -483,9 +570,21 @@
                    .SetColumns(t => new QcIssueResults
                    {
                        ReleaseNo = ReleaseNo,
                        FReview = qcIssueResults.FReview
                        INSTANCEID = qcIssueResults.INSTANCEID,
                        FReview = qcIssueResults.FReview,
                        APPLICATIONNUM = qcIssueResults.APPLICATIONNUM,
                        BADCAUSES = qcIssueResults.BADCAUSES,
                        BELONGINGWORKSHOP = qcIssueResults.BELONGINGWORKSHOP,
                        REVIEWSTATUS = qcIssueResults.REVIEWSTATUS,
                        QcStatu = qcIssueResults.QcStatu,
                        ITEMNAME = qcIssueResults.ITEMNAME,
                        ITEMNO = qcIssueResults.ITEMNO,
                        SUPPLIERNAME = qcIssueResults.SUPPLIERNAME,
                        REMARK = qcIssueResults.REMARK,
                        APPLICATIONRESON = qcIssueResults.APPLICATIONRESON,
                        FLOW_CONDITION = qcIssueResults.FLOW_CONDITION
                    })
                    .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 显式指定更新条件
                    .Where(t => t.INSTANCEID == qcIssueResults.INSTANCEID) // 显式指定更新条件
                    .ExecuteCommand();
                // 查询 UpdateMesQaItems 表中是否存在匹配的记录
@@ -497,41 +596,28 @@
                if (existingRecord != null)
                {
                    string result = null;
                    bool returnValue = false;
                    try
                    {
                        string connectionString = "User Id=yc_dev;Password=ycdev;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.100)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)))";
                        using (OracleConnection connection = new OracleConnection(connectionString))
                        //定义输入参数
                        var inputParam1 = new SugarParameter("pi_no", existingRecord.ReleaseNo);
                        var inputParam2 = new SugarParameter("pi_user", "PL017");
                        // 定义输出参数
                        var outParam1 = new SugarParameter("po_result", null, true);
                        var outParam2 = new SugarParameter("po_msg", null, true);
                        // 使用 SqlSugar 执行存储过程
                        Db.Ado.ExecuteCommand("BEGIN PRC_MES_IQC_CG_REVOCK(:pi_no,:pi_user,:po_result,:po_msg ); END;", inputParam1, inputParam2, outParam1, outParam2);
                        // 获取输出参数的值
                        int result = int.Parse((string)outParam1.Value);
                        string message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value;
                        if (result == 1)
                        {
                            using (OracleCommand command = new OracleCommand("PRC_MES_IQC_CG_REVOCK", connection))
                            {
                                command.CommandType = CommandType.StoredProcedure;
                                // 添加输入参数
                                command.Parameters.Add("pi_no", OracleDbType.Varchar2).Value = existingRecord.ReleaseNo; // 替换为实际值
                                command.Parameters.Add("pi_user", OracleDbType.Varchar2).Value = "PL017"; // 替换为实际值
                                                                                                                       // 添加输出参数
                                OracleParameter poResult = new OracleParameter("po_result", OracleDbType.Int32, ParameterDirection.Output);
                                OracleParameter poMsg = new OracleParameter("po_msg", OracleDbType.Varchar2, 4000, ParameterDirection.Output);
                                command.Parameters.Add(poResult);
                                command.Parameters.Add(poMsg);
                                // 打开连接并执行命令
                                connection.Open();
                                command.ExecuteNonQuery();
                                // 处理返回值
                                if (poResult.Value != null && poResult.Value.ToString() == "0")
                                {
                                    returnValue = true;
                                }
                                else
                                {
                                    // 输出错误信息
                                    string errorMsg = poMsg.Value != null ? poMsg.Value.ToString() : "Unknown error occurred";
                                    Console.WriteLine("Error: " + errorMsg);
                                }
                            }
                            //存储过程失败则事务进行回滚
                            db.Ado.RollbackTran();
                            throw new Exception(message);
                        }
                        return returnValue;
                        // 提交事务
                        db.Ado.CommitTran();
                        return true;
                    }
                    catch (Exception ex)
                    {
@@ -544,7 +630,8 @@
                    throw new Exception("未找到需要更新的记录");
                }
            }
            else{
            else
            {
                string ReleaseNo = mapping.FirstOrDefault().ReleaseNo;
                // 只更新 ReleaseNo 和 FReview 两个字段
@@ -552,9 +639,21 @@
                    .SetColumns(t => new QcIssueResults
                    {
                        ReleaseNo = ReleaseNo,
                        FReview = qcIssueResults.FReview
                        INSTANCEID = qcIssueResults.INSTANCEID,
                        FReview = qcIssueResults.FReview,
                        APPLICATIONNUM = qcIssueResults.APPLICATIONNUM,
                        BADCAUSES = qcIssueResults.BADCAUSES,
                        BELONGINGWORKSHOP = qcIssueResults.BELONGINGWORKSHOP,
                        REVIEWSTATUS = qcIssueResults.REVIEWSTATUS,
                        QcStatu = qcIssueResults.QcStatu,
                        ITEMNAME = qcIssueResults.ITEMNAME,
                        ITEMNO = qcIssueResults.ITEMNO,
                        SUPPLIERNAME = qcIssueResults.SUPPLIERNAME,
                        REMARK = qcIssueResults.REMARK,
                        APPLICATIONRESON = qcIssueResults.APPLICATIONRESON,
                        FLOW_CONDITION = qcIssueResults.FLOW_CONDITION
                    })
                    .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 显式指定更新条件
                    .Where(t => t.INSTANCEID == qcIssueResults.INSTANCEID) // 显式指定更新条件
                    .ExecuteCommand();
                // 查询 UpdateMesQaItems 表中是否存在匹配的记录
@@ -567,7 +666,7 @@
                if (existingRecord != null)
                {
                    // 更新 UpdateMesQaItems 表中的字段
                    existingRecord.FngHandle = qcIssueResults.FReview;
                    existingRecord.FngHandle = qcIssueResults.REVIEWSTATUS;
                    if (existingRecord.FngHandle == "退货")
                    {
                        existingRecord.FMRMODE = "退料补料";
@@ -579,6 +678,44 @@
                    // 执行更新操作
                    updateResult = db.Updateable(existingRecord).ExecuteCommand();
                    if (updateResult > 0)
                    {
                        try
                        {
                            //定义输入参数
                            var inputParam1 = new SugarParameter("PI_BILLNO", ReleaseNo);
                            var inputParam2 = new SugarParameter("PI_USER", "PL017");
                            var inputParam3 = new SugarParameter("PI_HANDLE", existingRecord.FngHandle);
                            var inputParam4 = new SugarParameter("PI_TLFS", existingRecord.FMRMODE);
                            var inputParam5 = new SugarParameter("PI_REMARK", "");
                            // 定义输出参数
                            var outParam1 = new SugarParameter("PO_RESULT", null, true);
                            var outParam2 = new SugarParameter("PO_MSG", null, true);
                            // 使用 SqlSugar 执行存储过程
                            Db.Ado.ExecuteCommand("BEGIN PRC_MES_IQC_CG_SUBMIT(:PI_BILLNO,:PI_BILLNO,:PI_HANDLE,:PI_TLFS,:PI_REMARK,:PO_RESULT,:PO_MSG); END;", inputParam1, inputParam2, inputParam3, inputParam4, inputParam5, outParam1, outParam2);
                            // 获取输出参数的值
                            int result = int.Parse((string)outParam1.Value);
                            string message = outParam2.Value == DBNull.Value ? string.Empty : (string)outParam2.Value;
                            if (result == 1)
                            {
                                //存储过程失败则事务进行回滚
                                db.Ado.RollbackTran();
                                throw new Exception(message);
                            }
                            // 提交事务
                            db.Ado.CommitTran();
                            return true;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Exception: " + ex.Message);
                            return false;
                        }
                    }
                    return updateResult > 0; // 如果更新成功,返回 true
                }
@@ -595,10 +732,25 @@
            if (orUpdate) return true;
            throw new NotImplementedException("插入或更新失败");
        }
    }
    /**
     * 根据评审状态获取流程条件值
     */
    private string GetFlowConditionValue(string iqcStatus)
    {
        switch (iqcStatus)
        {
            case "退货":
                return "3";
            case "特采/让步使用":
                return "1";
            case "挑选/返工使用":
                return "2";
            default:
                return "0"; // 默认值
        }
    }
}
// 响应模型