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