From 7883316c61d4f8fa70fe6cde0c0f53e9e3d8d1d0 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期四, 15 五月 2025 14:22:40 +0800
Subject: [PATCH] 1.OA->MES审批接口开发。 2.OA->MES退回接口开发。 3.MES->OA由同步调整为异步。

---
 Controllers/QC/OAJyController.cs    |    4 +-
 Controllers/QC/OaToMesController.cs |   54 +++++++++++++++++++++++++++
 service/QC/OaApi.cs                 |   26 ++++++------
 service/Warehouse/MesXkyService.cs  |    2 
 4 files changed, 70 insertions(+), 16 deletions(-)

diff --git a/Controllers/QC/OAJyController.cs b/Controllers/QC/OAJyController.cs
index 2e2234e..d1efc34 100644
--- a/Controllers/QC/OAJyController.cs
+++ b/Controllers/QC/OAJyController.cs
@@ -15,11 +15,11 @@
     OaApiService m = new OaApiService();
 
     [HttpPost("SumbitIQCToOA")]
-    public async Task<ResponseResult> SumbitIQCToOA(dynamic queryObj)
+    public  ResponseResult SumbitIQCToOA(dynamic queryObj)
     {
         try
         {
-            dynamic resultInfos = await m.SubmitIQCToOA(queryObj);
+            dynamic resultInfos =  m.SubmitIQCToOA(queryObj);
             
             return new ResponseResult
             {
diff --git a/Controllers/QC/OaToMesController.cs b/Controllers/QC/OaToMesController.cs
new file mode 100644
index 0000000..741152d
--- /dev/null
+++ b/Controllers/QC/OaToMesController.cs
@@ -0,0 +1,54 @@
+using System.Dynamic;
+using Microsoft.AspNetCore.Mvc;
+using NewPdaSqlServer.Dto.service;
+using NewPdaSqlServer.entity;
+using NewPdaSqlServer.service.QC;
+using NewPdaSqlServer.util;
+using Newtonsoft.Json.Linq;
+
+namespace NewPdaSqlServer.Controllers.QC;
+
+[Route("api/[controller]")]
+[ApiController]
+public class OaToMesController : ControllerBase
+{
+    OaApiService m = new OaApiService();
+
+    [HttpPost("ApproveIqcEx")]
+    public ResponseResult ApproveIqc(dynamic queryObj)
+    {
+        try
+        {
+            return new ResponseResult
+            {
+                status = 0,
+                message = "寮傚父澶勭疆鍗曞鎵规帴鍙e紑鍙戜腑",
+                data = ""
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+
+    [HttpPost("RetrunIqcEx")]
+    public ResponseResult APVMes_QC_Exceptional(dynamic queryObj)
+    {
+        try
+        {
+            return new ResponseResult
+            {
+                status = 0,
+                message = "寮傚父澶勭疆鍗曢��鍥炴帴鍙e紑鍙戜腑",
+                data = ""
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/service/QC/OaApi.cs b/service/QC/OaApi.cs
index 60c3601..b185592 100644
--- a/service/QC/OaApi.cs
+++ b/service/QC/OaApi.cs
@@ -33,7 +33,7 @@
         _httpClient.Timeout = TimeSpan.FromSeconds(30);
     }
 
-    public async Task<dynamic> SubmitIQCToOA(dynamic queryObj)
+    public  dynamic SubmitIQCToOA(dynamic queryObj)
     {
         // 淇敼鍙傛暟楠岃瘉瀛楁鍚�
         if (string.IsNullOrEmpty(queryObj.userId.ToString())) throw new Exception("鐢ㄦ埛id涓嶅厑璁镐负绌�");
@@ -47,12 +47,12 @@
             //var query = JObject.FromObject(queryObj);
 
             // 1. 娉ㄥ唽鑾峰彇鍑瘉
-            var registResult = await GetRegistAsync();
+            var registResult =  GetRegistAsync();
             var secret = registResult["secrit"].ToString();
             var spk = registResult["spk"].ToString();
 
             // 2. 鑾峰彇璁块棶浠ょ墝
-            var tokenResult = await ApplyTokenAsync(secret, spk);
+            var tokenResult =  ApplyTokenAsync(secret, spk);
             var token = tokenResult["token"].ToString();
 
             // 3. 鍑嗗璇锋眰澶达紙绉婚櫎Content-Type璁剧疆锛�
@@ -65,7 +65,7 @@
             var requestData = BuildRequestData(queryObj);
 
             // 5. 鍙戦�佽姹�
-            var response = await PostFormAsync(WorkflowUrl, requestData);
+            var response = PostForm(WorkflowUrl, requestData);
 
             // 鏂板鏃ュ織璁板綍锛堝湪杩斿洖鍝嶅簲鍓嶏級
             using (var conn = new SqlConnection(DbHelperSQL.strConn))
@@ -430,7 +430,7 @@
         };
     }
 
-    private async Task<JObject> GetRegistAsync()
+    private  JObject GetRegistAsync()
     {
         using var rsa = new RSACryptoServiceProvider(2048);
         var cpk = Convert.ToBase64String(rsa.ExportRSAPublicKey());
@@ -439,18 +439,18 @@
         _httpClient.DefaultRequestHeaders.Add("appid", AppId);
         _httpClient.DefaultRequestHeaders.Add("cpk", cpk);
 
-        var response = await _httpClient.PostAsync(BaseUrl + "regist", null);
-        return JObject.Parse(await response.Content.ReadAsStringAsync());
+        var response = _httpClient.PostAsync(BaseUrl + "regist", null).Result;
+        return JObject.Parse(response.Content.ReadAsStringAsync().Result);
     }
 
-    private async Task<JObject> ApplyTokenAsync(string secret, string spk)
+    private JObject ApplyTokenAsync(string secret, string spk)
     {
         _httpClient.DefaultRequestHeaders.Clear();
         _httpClient.DefaultRequestHeaders.Add("appid", AppId);
         _httpClient.DefaultRequestHeaders.Add("secret", RSAEncrypt(secret, spk));
 
-        var response = await _httpClient.PostAsync(BaseUrl + "applytoken", null);
-        return JObject.Parse(await response.Content.ReadAsStringAsync());
+        var response = _httpClient.PostAsync(BaseUrl + "applytoken", null).Result;
+        return JObject.Parse(response.Content.ReadAsStringAsync().Result);
     }
 
     private string RSAEncrypt(string data, string publicKey)
@@ -475,7 +475,7 @@
         return encryptedContent;
     }
 
-    private async Task<dynamic> PostFormAsync(string url, Dictionary<string, object> data)
+    private dynamic PostForm(string url, Dictionary<string, object> data)
     {
         // 鏀圭敤FormUrlEncodedContent骞舵纭缃瓹ontent-Type
         var formData = new List<KeyValuePair<string, string>>();
@@ -487,8 +487,8 @@
         var content = new FormUrlEncodedContent(formData);
         content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/x-www-form-urlencoded");
 
-        var response = await _httpClient.PostAsync(url, content);
-        var responseString = await response.Content.ReadAsStringAsync();
+        var response = _httpClient.PostAsync(url, content).Result;
+        var responseString = response.Content.ReadAsStringAsync().Result;
 
         // 娣诲姞鍝嶅簲鍏冩暟鎹�
         var responseInfo = new JObject
diff --git a/service/Warehouse/MesXkyService.cs b/service/Warehouse/MesXkyService.cs
index c09c8d7..e14486b 100644
--- a/service/Warehouse/MesXkyService.cs
+++ b/service/Warehouse/MesXkyService.cs
@@ -66,8 +66,8 @@
             if (responseJson.result != 1)
                 throw new ApplicationException(responseJson.errorMsg);
 
+            // 鏂板鏁版嵁瀛樺偍閫昏緫锛屽偍瀛樹富琛ㄩ�昏緫
             var result = 0;
-            // 鏂板鏁版嵁瀛樺偍閫昏緫
            List<DeliveryNotice> noticeList = JsonConvert.DeserializeObject<List<DeliveryNotice>>(responseJson.dataList.ToString());
             noticeList.ForEach(n => n.Id = Guid.NewGuid());  // 鏂板GUID璧嬪��
             Db.Ado.UseTran(() =>

--
Gitblit v1.9.3