cnf
2025-07-10 8f25fecab6e6a79096b9940ab3432401b9045b39
MES.Service/service/QcIssueResult/QcIssueResultManager.cs
@@ -16,11 +16,14 @@
using MES.Service.Dto.webApi.QcIssueResult;
using MES.Service.Dto.webApi.DeliveryNote;
using MES.Service.Modes.DeliveryNote;
using Newtonsoft.Json;
using Oracle.ManagedDataAccess.Client;
using System.Data;
namespace MES.Service.service.QcIssueResult;
//异常处置单结果表
[SugarTable("MES_QCISSUE_RESULT")]
[SugarTable("MES_QA_ITEMS_DETECT_01")]
public class QcIssueResultManager: Repository<QcIssueResults>
{
    /**
@@ -138,166 +141,175 @@
               DingDingCode=t.DingDingCode,
            })
            .ToList();
        string UserId = mapping.FirstOrDefault().DingDingCode;
        if (mapping.Any())
        {
            string UserId = mapping.FirstOrDefault().DingDingCode;
            // 使用 JSON 序列化输出对象的详细内容
            string getQcIssueResultDetailJson = JsonConvert.SerializeObject(getQcIssueResultDetail, Formatting.Indented);
            Debug.WriteLine("GetQcIssueResultDetail: " + getQcIssueResultDetailJson);
        Debug.WriteLine(UserId);
            // 获取 Access Token
            string accessToken = GetToken();
            if (string.IsNullOrEmpty(accessToken))
            {
                return "获取 Access Token 失败";
            }
        // 获取 Access Token
        string accessToken = GetToken();
        if (string.IsNullOrEmpty(accessToken))
        {
            return "获取 Access Token 失败";
        }
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client client = CreateClient();
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceHeaders startProcessInstanceHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceHeaders();
          Debug.WriteLine(accessToken);
        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 = "产品名称",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues2 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "TextField_DYFD1EESLVC0",
            Value = "规格型号",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues3 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "TextField_1AVN2BNVY1OG0",
            Value = "数量",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues4 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "TextField_1DKEMESOOGSG0",
            Value = "送检单位",
        };
        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"),
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues6 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "TextField_WBNBWGFHR000",
            Value = "订单号",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues7 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "TextareaField_1ZP3BDPMYY800",
            Value = "对不合格或潜在不合格的描述:",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues8 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "SignatureField_SKF9Q82DZUO0",
            Value = getQcIssueResultDetail.Fname,
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues9 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "DDSelectField_1AK82Q8A2NB40",
            Value = "退货",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues10 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "TextareaField_1LM82CPPR35S0",
            Value = "挑选内容",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues11 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "TextareaField_AK4JLDDNS2O0",
            Value = "让步接收内容",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues12 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "TextareaField_K69R6770WLS0",
            Value = "退货备注",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues13 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "TextareaField_194UFGLMI02O0",
            Value = "报废备注",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues14 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "DDSelectField_1RN2L4RWQ0AO0",
            Value = "否",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues15 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "InnerContactField_WNG7AU9R2AO0",
            Value = "加签",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues16 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
        {
            Name = "DDAttachment_23VB5MMC1R1C0",
            Value = "附件",
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners targetSelectActioners0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners
        {
            ActionerKey = "null",
            ActionerUserIds = new List<string>
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client client = CreateClient();
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceHeaders startProcessInstanceHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceHeaders();
            Debug.WriteLine(accessToken);
            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,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues2 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextField_DYFD1EESLVC0",
                Value = getQcIssueResultDetail.ItemModel,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues3 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextField_1AVN2BNVY1OG0",
                Value = getQcIssueResultDetail.FbatchQty,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues4 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextField_1DKEMESOOGSG0",
                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"),
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues6 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextField_WBNBWGFHR000",
                Value = getQcIssueResultDetail.CgOrder,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues7 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextareaField_1ZP3BDPMYY800",
                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 = getQcIssueResultDetail.Fname,
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues9 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "DDSelectField_1AK82Q8A2NB40",
                Value = "退货",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues10 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextareaField_1LM82CPPR35S0",
                Value = "挑选内容",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues11 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextareaField_AK4JLDDNS2O0",
                Value = "让步接收内容",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues12 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextareaField_K69R6770WLS0",
                Value = "退货备注",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues13 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "TextareaField_194UFGLMI02O0",
                Value = "报废备注",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues14 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "DDSelectField_1RN2L4RWQ0AO0",
                Value = "否",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues15 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "InnerContactField_WNG7AU9R2AO0",
                Value = "加签",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues16 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
            {
                Name = "DDAttachment_23VB5MMC1R1C0",
                Value = "附件",
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners targetSelectActioners0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners
            {
                ActionerKey = "null",
                ActionerUserIds = new List<string>
            {
               UserId
            },
        };
        AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers approvers0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers
        {
            ActionType = "OR",
            UserIds = new List<string>
            };
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers approvers0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers
            {
                ActionType = "OR",
                UserIds = new List<string>
            {
                UserId
            },
        };
            };
        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",
            DeptId = 1,
            FormComponentValues = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues>
            AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest startProcessInstanceRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest
            {
                 formComponentValues1,formComponentValues2,formComponentValues3, formComponentValues4, formComponentValues5, formComponentValues6, formComponentValues7, formComponentValues8,
                OriginatorUserId = UserId,
                ProcessCode = "PROC-BBA5632D-DC7C-4267-A3E2-757E2B7023BC",
                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
            },
            TargetSelectActioners = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners>
                TargetSelectActioners = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners>
            {
                targetSelectActioners0
            },
            Approvers = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers>
                Approvers = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers>
            {
                approvers0
            },
            CcList = new List<string>
                CcList = new List<string>
            {
               UserId
            },
            CcPosition = "START",
                CcPosition = "START",
        };
        return "1";
        //try
        //{
        //    string requestContent = Newtonsoft.Json.JsonConvert.SerializeObject(startProcessInstanceRequest);
        //    Debug.WriteLine("startProcessInstanceRequest内容:");
        //    Debug.WriteLine(requestContent);
        //    var response = client.StartProcessInstanceWithOptions(startProcessInstanceRequest, startProcessInstanceHeaders, new RuntimeOptions());
        //    return $"钉钉工作流实例启动成功: {Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)}";
        //}
        //catch (TeaException err)
        //{
        //    string requestContent = Newtonsoft.Json.JsonConvert.SerializeObject(startProcessInstanceRequest);
        //    Debug.WriteLine("startProcessInstanceRequest内容:");
        //    Debug.WriteLine(startProcessInstanceRequest);
        //    return $"TeaException: Code={err.Code}, Message={err.Message}";
        //}
        //catch (Exception _err)
        //{
        //    return $"Exception: {_err.Message}";
        //}
            };
            // 序列化 FormComponentValues 列表为 JSON 格式
            string formComponentValuesJson = JsonConvert.SerializeObject(startProcessInstanceRequest.FormComponentValues, Formatting.Indented);
            Debug.WriteLine("FormComponentValues: " + formComponentValuesJson);
            try
            {
                string requestContent = Newtonsoft.Json.JsonConvert.SerializeObject(startProcessInstanceRequest);
                Debug.WriteLine("startProcessInstanceRequest内容:");
                Debug.WriteLine(requestContent);
                var response = client.StartProcessInstanceWithOptions(startProcessInstanceRequest, startProcessInstanceHeaders, new RuntimeOptions());
                return $"钉钉工作流实例启动成功: {Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)}";
            }
            catch (TeaException err)
            {
                string requestContent = Newtonsoft.Json.JsonConvert.SerializeObject(startProcessInstanceRequest);
                Debug.WriteLine("startProcessInstanceRequest内容:");
                Debug.WriteLine(startProcessInstanceRequest);
                return $"TeaException: Code={err.Code}, Message={err.Message}";
            }
            catch (Exception _err)
            {
                return $"Exception: {_err.Message}";
            }
        }
        else {
            return "您不是公司成员或还未被加入到数据库中或名字填写错误,总之未找到匹配的用户信息";
        }
    }
@@ -320,7 +332,10 @@
        var QcIssueResults = new QcIssueResults
        {
            ProcessNo = ProcessNo,
            ReleaseNo = ReleaseNo
            ReleaseNo = ReleaseNo,
            QcStatu = "",
            TCSTATU =""
        };
        return QcIssueResults;
@@ -345,7 +360,20 @@
        var mesQcIssueResults = new QcIssueResults
        {
            ProcessNo = erpQcIssueResult.ProcessNo,
            FReview = erpQcIssueResult.FReview
            FReview = erpQcIssueResult.FReview,
            QcStatu = erpQcIssueResult.QCSTATU,
            QCREMARK = erpQcIssueResult.QcRemark,
            SELECTREMARK = erpQcIssueResult.SelectRemark,
            DATA = erpQcIssueResult.DATA,
            CGORDER = erpQcIssueResult.CGORDER,
            SJPLACE = erpQcIssueResult.SJPLACE,
            NUM = erpQcIssueResult.NUM,
            BFREMARK = erpQcIssueResult.BFREMARK,
            THREMARK = erpQcIssueResult.THREMARK,
            TCSTATU = erpQcIssueResult.TCSTATU,
            MODEL =erpQcIssueResult.MODEL,
            RBJSREMARK =erpQcIssueResult.RBJSREMARK,
            RETURN_DATE=System.DateTime.Now
        };
        return mesQcIssueResults;
@@ -357,45 +385,368 @@
    private bool SaveOrUpdateData(SqlSugarScope db, QcIssueResults qcIssueResults)
    {
        // 检查ProcessNo是否已经存在于数据库中
        var existingRecord = db.Queryable<QcIssueResults>()
                               .Where(it => it.ProcessNo == qcIssueResults.ProcessNo)
                               .First(); // 使用FirstOrDefault替代
        // 查询 QcIssueResults 表中是否存在匹配的记录
        var mapping = db.Queryable<QcIssueResults>()
            .Where(t => t.ProcessNo == qcIssueResults.ProcessNo)
            .Select(t => new QcIssueResults
            {
                ReleaseNo = t.ReleaseNo,
            })
            .ToList();
        if (existingRecord != null)
        if (mapping.Any())
        {
            // 如果存在,更新记录
            existingRecord.ProcessNo = qcIssueResults.ProcessNo; // 假设Data是需要更新的字段
            existingRecord.FReview = qcIssueResults.FReview; // 更新其他字段
                                                                   // ... 更新其他需要更新的字段
            if (qcIssueResults.TCSTATU == "是")
            {
                if (qcIssueResults.QcStatu == "拒绝")
                {
                    string ReleaseNo = mapping.FirstOrDefault().ReleaseNo;
            // 执行更新操作
            var updateResult = db.Updateable(existingRecord).ExecuteCommand();
            return updateResult > 0; // 如果更新成功,返回true
                    // 只更新 ReleaseNo 和 FReview 两个字段
                    var updateResult = db.Updateable<QcIssueResults>()
                        .SetColumns(t => new QcIssueResults
                        {
                            ReleaseNo = ReleaseNo,
                            FReview = qcIssueResults.FReview,
                            QcStatu = qcIssueResults.QcStatu,
                            QCREMARK = qcIssueResults.QCREMARK,
                            SELECTREMARK = qcIssueResults.SELECTREMARK,
                            DATA = qcIssueResults.DATA,
                            CGORDER = qcIssueResults.CGORDER,
                            SJPLACE = qcIssueResults.SJPLACE,
                            NUM = qcIssueResults.NUM,
                            BFREMARK = qcIssueResults.BFREMARK,
                            THREMARK = qcIssueResults.THREMARK,
                            TCSTATU = qcIssueResults.TCSTATU,
                            MODEL = qcIssueResults.MODEL,
                            RBJSREMARK = qcIssueResults.RBJSREMARK,
                            RETURN_DATE=System.DateTime.Now
                        })
                        .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 显式指定更新条件
                        .ExecuteCommand();
                    // 查询 UpdateMesQaItems 表中是否存在匹配的记录
                    var existingRecord = db.Queryable<UpdateMesQaItems>()
                        .Where(it => it.ReleaseNo == ReleaseNo)
                        .First(); // 使用 First 获取第一条记录
                    Debug.WriteLine($"查询到的 mapping: {JsonConvert.SerializeObject(existingRecord)}");
                    if (existingRecord != null)
                    {
                        bool returnValue = false;
                        try
                        {
                            //定义输入参数
                            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)
                            {
                                //存储过程失败则事务进行回滚
                                db.Ado.RollbackTran();
                                throw new Exception(message);
                            }
                            // 提交事务
                            db.Ado.CommitTran();
                            return true;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Exception: " + ex.Message);
                            return false;
                        }
                    }
                    else
                    {
                        throw new Exception("未找到需要更新的记录");
                    }
                }
                else
                {
                    string ReleaseNo = mapping.FirstOrDefault().ReleaseNo;
                    // 只更新 ReleaseNo 和 FReview 两个字段
                    var updateResult = db.Updateable<QcIssueResults>()
                        .SetColumns(t => new QcIssueResults
                        {
                            ReleaseNo = ReleaseNo,
                            FReview = qcIssueResults.FReview,
                            QcStatu = qcIssueResults.QcStatu,
                            QCREMARK = qcIssueResults.QCREMARK,
                            SELECTREMARK = qcIssueResults.SELECTREMARK,
                            DATA = qcIssueResults.DATA,
                            CGORDER = qcIssueResults.CGORDER,
                            SJPLACE = qcIssueResults.SJPLACE,
                            NUM = qcIssueResults.NUM,
                            BFREMARK = qcIssueResults.BFREMARK,
                            THREMARK = qcIssueResults.THREMARK,
                            TCSTATU = qcIssueResults.TCSTATU,
                            MODEL = qcIssueResults.MODEL,
                            RBJSREMARK = qcIssueResults.RBJSREMARK,
                            RETURN_DATE = System.DateTime.Now
                        })
                        .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 显式指定更新条件
                        .ExecuteCommand();
                    // 查询 UpdateMesQaItems 表中是否存在匹配的记录
                    var existingRecord = db.Queryable<UpdateMesQaItems>()
                        .Where(it => it.ReleaseNo == ReleaseNo)
                        .First(); // 使用 First 获取第一条记录
                    Debug.WriteLine($"查询到的 mapping: {JsonConvert.SerializeObject(existingRecord)}");
                    if (existingRecord != null)
                    {
                        // 更新 UpdateMesQaItems 表中的字段
                        existingRecord.FngHandle = "特采直接使用";
                        existingRecord.FMRMODE = null;
                        // 执行更新操作
                        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", "特采直接使用");
                                var inputParam4 = new SugarParameter("PI_TLFS", "");
                                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
                    }
                    else
                    {
                        throw new Exception("未找到需要更新的记录");
                    }
                }
            }
            else
            {
                if (qcIssueResults.QcStatu == "拒绝")
                {
                    string ReleaseNo = mapping.FirstOrDefault().ReleaseNo;
                    // 只更新 ReleaseNo 和 FReview 两个字段
                    var updateResult = db.Updateable<QcIssueResults>()
                        .SetColumns(t => new QcIssueResults
                        {
                            ReleaseNo = ReleaseNo,
                            FReview = qcIssueResults.FReview,
                            QcStatu = qcIssueResults.QcStatu,
                            QCREMARK = qcIssueResults.QCREMARK,
                            SELECTREMARK = qcIssueResults.SELECTREMARK,
                            DATA = qcIssueResults.DATA,
                            CGORDER = qcIssueResults.CGORDER,
                            SJPLACE = qcIssueResults.SJPLACE,
                            NUM = qcIssueResults.NUM,
                            BFREMARK = qcIssueResults.BFREMARK,
                            THREMARK = qcIssueResults.THREMARK,
                            TCSTATU = qcIssueResults.TCSTATU,
                            MODEL = qcIssueResults.MODEL,
                            RBJSREMARK = qcIssueResults.RBJSREMARK,
                            RETURN_DATE = System.DateTime.Now
                        })
                        .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 显式指定更新条件
                        .ExecuteCommand();
                    // 查询 UpdateMesQaItems 表中是否存在匹配的记录
                    var existingRecord = db.Queryable<UpdateMesQaItems>()
                        .Where(it => it.ReleaseNo == ReleaseNo)
                        .First(); // 使用 First 获取第一条记录
                   Console.WriteLine($"查询到的 mapping: {JsonConvert.SerializeObject(existingRecord)}");
                    if (existingRecord != null)
                    {
                        try
                        {
                            //定义输入参数
                            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)
                            {
                                //存储过程失败则事务进行回滚
                                db.Ado.RollbackTran();
                                throw new Exception(message);
                            }
                            // 提交事务
                            db.Ado.CommitTran();
                            return true;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Exception: " + ex.Message);
                            return false;
                        }
                    }
                    else
                    {
                        throw new Exception("未找到需要更新的记录");
                    }
                }
                else
                {
                    string ReleaseNo = mapping.FirstOrDefault().ReleaseNo;
                    // 只更新 ReleaseNo 和 FReview 两个字段
                    var updateResult = db.Updateable<QcIssueResults>()
                        .SetColumns(t => new QcIssueResults
                        {
                            ReleaseNo = ReleaseNo,
                            FReview = qcIssueResults.FReview,
                            QcStatu = qcIssueResults.QcStatu,
                            QCREMARK = qcIssueResults.QCREMARK,
                            SELECTREMARK = qcIssueResults.SELECTREMARK,
                            DATA = qcIssueResults.DATA,
                            CGORDER = qcIssueResults.CGORDER,
                            SJPLACE = qcIssueResults.SJPLACE,
                            NUM = qcIssueResults.NUM,
                            BFREMARK = qcIssueResults.BFREMARK,
                            THREMARK = qcIssueResults.THREMARK,
                            TCSTATU = qcIssueResults.TCSTATU,
                            MODEL = qcIssueResults.MODEL,
                            RBJSREMARK = qcIssueResults.RBJSREMARK,
                        })
                        .Where(t => t.ProcessNo == qcIssueResults.ProcessNo) // 显式指定更新条件
                        .ExecuteCommand();
                    // 查询 UpdateMesQaItems 表中是否存在匹配的记录
                    var existingRecord = db.Queryable<UpdateMesQaItems>()
                        .Where(it => it.ReleaseNo == ReleaseNo)
                        .First(); // 使用 First 获取第一条记录
                    Debug.WriteLine($"查询到的 mapping: {JsonConvert.SerializeObject(existingRecord)}");
                    if (existingRecord != null)
                    {
                        // 更新 UpdateMesQaItems 表中的字段
                        existingRecord.FngHandle = qcIssueResults.FReview;
                        if (existingRecord.FngHandle == "退货")
                        {
                            existingRecord.FMRMODE = "退料补料";
                        }
                        else if (existingRecord.FngHandle == "挑选使用")
                        {
                            existingRecord.FMRMODE = "退料补料";
                        }
                        else if (existingRecord.FngHandle == "报废")
                        {
                            existingRecord.FMRMODE = "退料补料";
                        }
                        else
                        {
                            existingRecord.FMRMODE = null;
                        }
                        // 执行更新操作
                        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
                    }
                    else
                    {
                        throw new Exception("未找到需要更新的记录");
                    }
                }
            }
        }
        else
        {
            // 如果 mapping 为空,插入新记录到 QcIssueResults 表
            var orUpdate = base.Insert(qcIssueResults);
            if (orUpdate) return true;
            throw new NotImplementedException("插入或更新失败");
        }
    }
    ///**
    // * 将带有流程号和检验单号的新记录插入表中
    // */
    //public dynamic GetDingUserId()
    //{
    //    return UseTransaction(db =>
    //    {
    //        return SaveOrUpdateData(db) ? 1 : 0;
    //    }) > 0;
    //}
    //public string FindDingUserId(SqlSugarScope db,DingNameCode dingNameCode)
    //{
    //}
}