From 8a20e14ad405620bbbb8e857959941692bdc17a8 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期二, 20 五月 2025 13:27:41 +0800 Subject: [PATCH] 1.OA->MES接口开发 2.MES->OA字段优化 --- service/QC/OaApi.cs | 28 +++++++++++++++------------- 1 files changed, 15 insertions(+), 13 deletions(-) diff --git a/service/QC/OaApi.cs b/service/QC/OaApi.cs index 60c3601..8430e3b 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)) @@ -187,6 +187,7 @@ // 浣跨敤鍙傛暟鍖栨煡璇㈤槻姝QL娉ㄥ叆 const string mainSql = @" SELECT TOP 1 + A.fBillNo AS ycczdh, C.item_no AS wlbm, C.item_name AS jzmcwlmc, D.supp_name AS khgys, @@ -212,6 +213,7 @@ // 瀛楁鏄犲皠閰嶇疆锛堝瓧娈靛悕 -> 鏁版嵁搴撳垪鍚嶏級 var fieldMappings = new Dictionary<string, (string Field, string Default)> { + ["ycczdh"] = ("ycczdh", "N/A"), ["wlbm"] = ("wlbm", "N/A"), ["khgys"] = ("khgys", "N/A"), ["jzmcwlmc"] = ("jzmcwlmc", "N/A"), @@ -430,7 +432,7 @@ }; } - private async Task<JObject> GetRegistAsync() + private JObject GetRegistAsync() { using var rsa = new RSACryptoServiceProvider(2048); var cpk = Convert.ToBase64String(rsa.ExportRSAPublicKey()); @@ -439,18 +441,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 +477,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 +489,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 -- Gitblit v1.9.3