From 2701067facd19ce46f123990abb561009125ece9 Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期四, 20 三月 2025 20:21:01 +0800 Subject: [PATCH] Merge branch 'master' of http://43.142.96.171:8080/r/~sjz/YC --- MES.Service/service/QcIssueResult/QcIssueResultManager.cs | 401 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 401 insertions(+), 0 deletions(-) diff --git a/MES.Service/service/QcIssueResult/QcIssueResultManager.cs b/MES.Service/service/QcIssueResult/QcIssueResultManager.cs new file mode 100644 index 0000000..9427856 --- /dev/null +++ b/MES.Service/service/QcIssueResult/QcIssueResultManager.cs @@ -0,0 +1,401 @@ +锘縰sing System; +using System.Collections.Generic; +using AlibabaCloud.OpenApiClient.Models; +using AlibabaCloud.SDK.Dingtalkworkflow_1_0; +using AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models; +using AlibabaCloud.SDK.Dingtalkoauth2_1_0; +using AlibabaCloud.SDK.Dingtalkoauth2_1_0.Models; +using AlibabaCloud.TeaUtil.Models; +using Tea; +using System.Diagnostics; +using MES.Service.Dto.webApi; +using MES.Service.Modes; +using SqlSugar; +using MES.Service.DB; +using MES.Service.Modes.QcIssueResult; +using MES.Service.Dto.webApi.QcIssueResult; +using MES.Service.Dto.webApi.DeliveryNote; +using MES.Service.Modes.DeliveryNote; + +namespace MES.Service.service.QcIssueResult; + +//寮傚父澶勭疆鍗曠粨鏋滆〃 +[SugarTable("MES_QCISSUE_RESULT")] +public class QcIssueResultManager: Repository<QcIssueResults> +{ + /** + * 浣跨敤 Token 鍒濆鍖栬处鍙稢lient + * @return Client + * @throws Exception + */ + public static AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client CreateClient() + { + AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config(); + config.Protocol = "https"; + config.RegionId = "central"; + return new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client(config); + } + + public static AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client CreateClient1() + { + AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config(); + config.Protocol = "https"; + config.RegionId = "central"; + return new AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client(config); + } + + /** + * 鑾峰彇閽夐拤鐨� Access Token + * @return string 杩斿洖鑾峰彇鍒扮殑 Access Token + */ + public string GetToken() + { + AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client client = CreateClient1(); + AlibabaCloud.SDK.Dingtalkoauth2_1_0.Models.GetAccessTokenRequest getAccessTokenRequest = new AlibabaCloud.SDK.Dingtalkoauth2_1_0.Models.GetAccessTokenRequest + { + AppKey = "dingyzos0r1bizj7g6lr", + AppSecret = "-HP4RvK2OUbqhG3iBUpd_TPe5MZRj8cfLc0b8Skt8rhC3I38kVLY9SS8P3kLWFcH", + }; + + try + { + var response = client.GetAccessToken(getAccessTokenRequest); + return response.Body.AccessToken; // 杩斿洖鑾峰彇鍒扮殑 Access Token + } + catch (TeaException err) + { + Console.WriteLine($"TeaException: Code={err.Code}, Message={err.Message}"); + return null; + } + catch (Exception _err) + { + Console.WriteLine($"Exception: {_err.Message}"); + return null; + } + } + + /** + * 鏌ョ湅鏈夋棤鑷�夊鎵硅妭鐐� + * @return string 杩斿洖鍚姩缁撴灉 + */ + public string GetForecast() + { + // 鑾峰彇 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.ProcessForecastHeaders processForecastHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ProcessForecastHeaders(); + processForecastHeaders.XAcsDingtalkAccessToken = accessToken; + AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ProcessForecastRequest.ProcessForecastRequestFormComponentValues formComponentValues0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ProcessForecastRequest.ProcessForecastRequestFormComponentValues + { + Name = "PhoneField", + Value = "123xxxxxxxx", + }; + AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ProcessForecastRequest processForecastRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ProcessForecastRequest + { + ProcessCode = "PROC-BBA5632D-DC7C-4267-A3E2-757E2B7023BC", + DeptId = 1, + UserId = "923188102", + FormComponentValues = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ProcessForecastRequest.ProcessForecastRequestFormComponentValues> + { + formComponentValues0 + }, + }; + try + { + var response = client.ProcessForecastWithOptions(processForecastRequest, processForecastHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); + return $"閽夐拤宸ヤ綔娴佸疄渚嬪惎鍔ㄦ垚鍔�: {Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)}"; + } + catch (TeaException err) + { + + return $"TeaException: Code={err.Code}, Message={err.Message}"; + + } + catch (Exception _err) + { + return $"Exception: {_err.Message}"; + } + } + + + /** + * 鍚姩閽夐拤宸ヤ綔娴佸疄渚� + * @return string 杩斿洖鍚姩缁撴灉 + */ + + public string GetProcessNo(GetQcIssueResultDetail getQcIssueResultDetail) + { + + var db = SqlSugarHelper.GetInstance(); + var mapping = db.Queryable<DingNameCode>() + .Where(t => t.DingDingName == getQcIssueResultDetail.Fname) + .Select(t => new DingNameCode + { + DingDingCode=t.DingDingCode, + }) + .ToList(); + string UserId = mapping.FirstOrDefault().DingDingCode; + + + + Debug.WriteLine(UserId); + + // 鑾峰彇 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> + { + 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> + { + 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> + { + 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> + { + targetSelectActioners0 + }, + Approvers = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers> + { + approvers0 + }, + CcList = new List<string> + { + UserId + }, + 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}"; + //} + } + + + /** + * 灏嗗甫鏈夋祦绋嬪彿鍜屾楠屽崟鍙风殑鏂拌褰曟彃鍏ヨ〃涓� + */ + public dynamic SaveProcessNo(string ReleaseNo,string ProcessNo) + { + + var QcIssueResults = GetQcIssueResults(ReleaseNo, ProcessNo); + + return UseTransaction(db => + { + return SaveOrUpdateData(db, QcIssueResults) ? 1 : 0; + }) > 0; + } + + public QcIssueResults GetQcIssueResults(string ReleaseNo, string ProcessNo) + { + var QcIssueResults = new QcIssueResults + { + ProcessNo = ProcessNo, + ReleaseNo = ReleaseNo + }; + + return QcIssueResults; + } + + /** + * 鏍规嵁娴佺▼鍙锋洿鏂拌〃鐨勮褰� + */ + public dynamic Save(ErpQcIssueResult erpQcIssueResult) + { + + var mesQcIssueResults = GetMesQcIssueResults(erpQcIssueResult); + + return UseTransaction(db => + { + return SaveOrUpdateData(db, mesQcIssueResults) ? 1 : 0; + }) > 0; + } + + public QcIssueResults GetMesQcIssueResults(ErpQcIssueResult erpQcIssueResult) + { + var mesQcIssueResults = new QcIssueResults + { + ProcessNo = erpQcIssueResult.ProcessNo, + FReview = erpQcIssueResult.FReview + }; + + return mesQcIssueResults; + } + + /** + * 鎻掑叆鍜屾洿鏂版暟鎹簱琛� + */ + private bool SaveOrUpdateData(SqlSugarScope db, QcIssueResults qcIssueResults) + { + + // 妫�鏌rocessNo鏄惁宸茬粡瀛樺湪浜庢暟鎹簱涓� + var existingRecord = db.Queryable<QcIssueResults>() + .Where(it => it.ProcessNo == qcIssueResults.ProcessNo) + .First(); // 浣跨敤FirstOrDefault鏇夸唬 + + if (existingRecord != null) + { + // 濡傛灉瀛樺湪锛屾洿鏂拌褰� + existingRecord.ProcessNo = qcIssueResults.ProcessNo; // 鍋囪Data鏄渶瑕佹洿鏂扮殑瀛楁 + existingRecord.FReview = qcIssueResults.FReview; // 鏇存柊鍏朵粬瀛楁 + // ... 鏇存柊鍏朵粬闇�瑕佹洿鏂扮殑瀛楁 + + // 鎵ц鏇存柊鎿嶄綔 + var updateResult = db.Updateable(existingRecord).ExecuteCommand(); + return updateResult > 0; // 濡傛灉鏇存柊鎴愬姛锛岃繑鍥瀟rue + } + else + { + 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