From d84ac8a7ee3121b791d8d4d59ab6f2b766796948 Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期一, 24 三月 2025 13:45:34 +0800 Subject: [PATCH] 异常处置单完成 --- MES.Service/service/QcIssueResult/QcIssueResultManager.cs | 355 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 190 insertions(+), 165 deletions(-) diff --git a/MES.Service/service/QcIssueResult/QcIssueResultManager.cs b/MES.Service/service/QcIssueResult/QcIssueResultManager.cs index 9427856..97f3728 100644 --- a/MES.Service/service/QcIssueResult/QcIssueResultManager.cs +++ b/MES.Service/service/QcIssueResult/QcIssueResultManager.cs @@ -16,11 +16,12 @@ using MES.Service.Dto.webApi.QcIssueResult; using MES.Service.Dto.webApi.DeliveryNote; using MES.Service.Modes.DeliveryNote; +using Newtonsoft.Json; namespace MES.Service.service.QcIssueResult; //寮傚父澶勭疆鍗曠粨鏋滆〃 -[SugarTable("MES_QCISSUE_RESULT")] +[SugarTable("MES_QA_ITEMS_DETECT_01")] public class QcIssueResultManager: Repository<QcIssueResults> { /** @@ -138,166 +139,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 = "璁㈠崟鍙�", + }; + 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 "鎮ㄤ笉鏄叕鍙告垚鍛樻垨杩樻湭琚姞鍏ュ埌鏁版嵁搴撲腑鎴栧悕瀛楀~鍐欓敊璇紝鎬讳箣鏈壘鍒板尮閰嶇殑鐢ㄦ埛淇℃伅"; + } } @@ -357,45 +367,60 @@ private bool SaveOrUpdateData(SqlSugarScope db, QcIssueResults qcIssueResults) { - // 妫�鏌rocessNo鏄惁宸茬粡瀛樺湪浜庢暟鎹簱涓� - 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; // 鏇存柊鍏朵粬瀛楁 - // ... 鏇存柊鍏朵粬闇�瑕佹洿鏂扮殑瀛楁 + string ReleaseNo = mapping.FirstOrDefault().ReleaseNo; - // 鎵ц鏇存柊鎿嶄綔 - var updateResult = db.Updateable(existingRecord).ExecuteCommand(); - return updateResult > 0; // 濡傛灉鏇存柊鎴愬姛锛岃繑鍥瀟rue + // 鍙洿鏂� ReleaseNo 鍜� FReview 涓や釜瀛楁 + var updateResult = db.Updateable<QcIssueResults>() + .SetColumns(t => new QcIssueResults + { + ReleaseNo = ReleaseNo, + FReview = qcIssueResults.FReview + }) + .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; + + // 鎵ц鏇存柊鎿嶄綔 + + updateResult = db.Updateable(existingRecord).ExecuteCommand(); + 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) - //{ - - //} + } \ No newline at end of file -- Gitblit v1.9.3