From ecfbe5ea628de435225aa26c4c7f5e1d9c549cc9 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期六, 17 五月 2025 10:38:49 +0800
Subject: [PATCH] 1.其他出入库问题优化 2.携客云送货单明细数据接通

---
 service/QC/OaApi.cs |   68 +++++++++++++++++++++++++--------
 1 files changed, 51 insertions(+), 17 deletions(-)

diff --git a/service/QC/OaApi.cs b/service/QC/OaApi.cs
index c299283..b185592 100644
--- a/service/QC/OaApi.cs
+++ b/service/QC/OaApi.cs
@@ -1,4 +1,4 @@
-锘�// OaApiService.cs
+// OaApiService.cs
 using System;
 using System.Collections.Generic;
 using System.Dynamic;
@@ -33,10 +33,11 @@
         _httpClient.Timeout = TimeSpan.FromSeconds(30);
     }
 
-    public async Task<dynamic> SubmitIQCToOA(dynamic queryObj)
+    public  dynamic SubmitIQCToOA(dynamic queryObj)
     {
         // 淇敼鍙傛暟楠岃瘉瀛楁鍚�
-        //if (queryObj.userId.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛id涓嶅厑璁镐负绌�");
+        if (string.IsNullOrEmpty(queryObj.userId.ToString())) throw new Exception("鐢ㄦ埛id涓嶅厑璁镐负绌�");
+        if (string.IsNullOrEmpty(queryObj.qcczdGuid.ToString())) throw new Exception("寮傚父澶勭疆鍗昳d涓嶈兘涓虹┖");
         //if (queryObj.qcczdGuid.IsNullOrEmpty()) throw new Exception("寮傚父澶勭疆鍗昳d涓嶈兘涓虹┖"); // 鍘熷弬鏁板悕涓� qcczdGuid
 
         try
@@ -46,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璁剧疆锛�
@@ -64,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))
@@ -103,9 +104,42 @@
                 }
             }
 
-            return JObject.Parse(response.Content.ToString());  // 鐩存帴瑙f瀽涓篔Object
+            var result = JObject.Parse(response.Content.ToString());
 
+            // 鏂板鐘舵�佹洿鏂帮紙褰揙A杩斿洖鎴愬姛鏃讹級
+            if (result.code?.ToString() == "SUCCESS")
+            {
+                var updateSql = @"UPDATE Mes_QC_Exceptional
+SET checkStatus = 1,
+    checkDate   = GETDATE(),
+    checkBy     = (select top 1 u.[ACCOUNT] from [dbo].[SYS_USER] u where u.guid = @edtUserCode)
+WHERE GUID = @inOrderGuid";
+                
+                using (var conn = new SqlConnection(DbHelperSQL.strConn))
+                {
+                    using (var cmd = new SqlCommand(updateSql, conn))
+                    {
+                        try
+                        {
+                            conn.Open();
+                            //cmd.Parameters.AddWithValue("@dt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                            cmd.Parameters.AddWithValue("@edtUserCode", queryObj.userId?.ToString());
+                            cmd.Parameters.AddWithValue("@inOrderGuid", queryObj.qcczdGuid?.ToString());
+                            cmd.ExecuteNonQuery();
+                        }
+                        catch (Exception updateEx)
+                        {
+                            Console.WriteLine($"鐘舵�佹洿鏂板け璐�: {updateEx.Message}");
+                        }
+                        finally
+                        {
+                            conn.Close();
+                        }
+                    }
+                }
+            }
 
+            return result;  // 鐩存帴瑙f瀽涓篔Object
 
         }
         catch (Exception ex)
@@ -396,7 +430,7 @@
         };
     }
 
-    private async Task<JObject> GetRegistAsync()
+    private  JObject GetRegistAsync()
     {
         using var rsa = new RSACryptoServiceProvider(2048);
         var cpk = Convert.ToBase64String(rsa.ExportRSAPublicKey());
@@ -405,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)
@@ -441,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>>();
@@ -453,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
@@ -475,4 +509,4 @@
     {
         _httpClient?.Dispose();
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3