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