From 986bbf207ec3ecab9dfbf3fed50b565d2a2676fc Mon Sep 17 00:00:00 2001
From: xwt <2740516069@qq.com>
Date: 星期六, 19 七月 2025 14:48:27 +0800
Subject: [PATCH] 来料检上传附件

---
 StandardInterface/MES.Service/service/QcIssueResult/QcIssueResultManager.cs |  304 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 227 insertions(+), 77 deletions(-)

diff --git a/StandardInterface/MES.Service/service/QcIssueResult/QcIssueResultManager.cs b/StandardInterface/MES.Service/service/QcIssueResult/QcIssueResultManager.cs
index 72200c6..b4848cc 100644
--- a/StandardInterface/MES.Service/service/QcIssueResult/QcIssueResultManager.cs
+++ b/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 鍒濆鍖栬处鍙稢lient
@@ -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,
@@ -250,12 +250,12 @@
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues1 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
             {
                 Name = "TextField_K5AVR59BD28",
-                Value = getQcIssueResultDetail.ItemModel,
+                Value = getQcIssueResultDetail.ItemNo,
             };
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues2 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
             {
                 Name = "TextField_1LW382XRH1DS0",
-                Value = getQcIssueResultDetail.ItemName ,
+                Value = getQcIssueResultDetail.ItemName,
             };
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues3 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
             {
@@ -270,12 +270,12 @@
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues5 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
             {
                 Name = "TextField_1DAQ9890FDWG0",
-                Value = "娴嬭瘯浜у搧璐ㄩ噺鐘跺喌鍙婄敵璇峰師鍥�",
+                Value = getQcIssueResultDetail.AppicationReason,
             };
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues6 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
             {
                 Name = "DDSelectField_76Z6HC5W1F0",
-                Value = "澶栬涓嶈壇",
+                Value = getQcIssueResultDetail.BadReason,
             };
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues7 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
             {
@@ -286,31 +286,31 @@
             {
                 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_1AL6MWUUUOHS0",
-                Value = "閫�璐�",
+                Value = getQcIssueResultDetail.IqcStatus,
             };
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues10 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
             {
                 Name = "DepartmentField_10ZVNJNJCRJK0",
-                Value = "娴嬭瘯鐢宠閮ㄩ棬",
+                Value = getQcIssueResultDetail.Department,
             };
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues11 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
             {
                 Name = "DDSelectField_HG2SQUPO2NK0",
-                Value = "鐢熶骇涓�閮�",
+                Value = getQcIssueResultDetail.WorkShop,
             };
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues12 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
             {
-                Name = "DDPhotoField_QD15KYR764G0\r\n",
+                Name = "DDPhotoField_QD15KYR764G0",
                 Value = "娴嬭瘯涓嶈壇鍥剧墖",
             };
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues13 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
             {
-                Name = "DDAttachment_GLZLFSIWK9S0\r\n",
+                Name = "DDAttachment_GLZLFSIWK9S0",
                 Value = "闄勪欢",
             };
             AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues14 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
@@ -327,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
             {
@@ -354,7 +364,7 @@
                 FormComponentValues = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues>
                 {
                      formComponentValues1,formComponentValues2,formComponentValues3, formComponentValues4, formComponentValues5, formComponentValues6, formComponentValues7, formComponentValues8,
-                     formComponentValues9, formComponentValues11
+                     formComponentValues9, formComponentValues11, formComponentValues17, formComponentValues18
                 },
                 TargetSelectActioners = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners>
                 {
@@ -404,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;
     }
 
     /**
@@ -432,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;
@@ -467,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,
@@ -476,7 +561,7 @@
 
         if (mapping.Any())
         {
-            if (qcIssueResults.QcStatu=="鎷掔粷")
+            if (qcIssueResults.QcStatu == "鎷掔粷")
             {
                 string ReleaseNo = mapping.FirstOrDefault().ReleaseNo;
 
@@ -485,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 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰�
@@ -499,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)
                     {
@@ -546,7 +630,8 @@
                     throw new Exception("鏈壘鍒伴渶瑕佹洿鏂扮殑璁板綍");
                 }
             }
-            else{
+            else
+            {
                 string ReleaseNo = mapping.FirstOrDefault().ReleaseNo;
 
                 // 鍙洿鏂� ReleaseNo 鍜� FReview 涓や釜瀛楁
@@ -554,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 琛ㄤ腑鏄惁瀛樺湪鍖归厤鐨勮褰�
@@ -569,7 +666,7 @@
                 if (existingRecord != null)
                 {
                     // 鏇存柊 UpdateMesQaItems 琛ㄤ腑鐨勫瓧娈�
-                    existingRecord.FngHandle = qcIssueResults.FReview;
+                    existingRecord.FngHandle = qcIssueResults.REVIEWSTATUS;
                     if (existingRecord.FngHandle == "閫�璐�")
                     {
                         existingRecord.FMRMODE = "閫�鏂欒ˉ鏂�";
@@ -581,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
                 }
@@ -597,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"; // 榛樿鍊�
+        }
+    }
 }
 
 // 鍝嶅簲妯″瀷

--
Gitblit v1.9.3