From 02b26bfaca24386f7b4f4a5e9f336812370ed49b Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期一, 22 十二月 2025 09:45:46 +0800
Subject: [PATCH] 获取BOM参数调整
---
service/QC/OaApi.cs | 157 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 106 insertions(+), 51 deletions(-)
diff --git a/service/QC/OaApi.cs b/service/QC/OaApi.cs
index 5ec6b29..67e5712 100644
--- a/service/QC/OaApi.cs
+++ b/service/QC/OaApi.cs
@@ -58,12 +58,42 @@
// 2. 鑾峰彇璁块棶浠ょ墝
var tokenResult = ApplyTokenAsync(secret, spk);
var token = tokenResult["token"].ToString();
+ string oaUserId = "";
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("select_oa_userid", conn))
+ {
+
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ cmd.Parameters.Add(new SqlParameter("@guid", SqlDbType.VarChar, 100) { Value = queryObj.qcczdGuid.ToString() });
+
+ using (var reader = cmd.ExecuteReader())
+ {
+ if (reader.Read())
+ {
+ oaUserId = reader["result"]?.ToString();
+ }
+ }
+ }
+ catch (Exception logEx)
+ {
+ Console.WriteLine($"鑾峰彇OA鐢ㄦ埛ID澶辫触: {logEx.Message}");
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
// 3. 鍑嗗璇锋眰澶达紙绉婚櫎Content-Type璁剧疆锛�
_httpClient.DefaultRequestHeaders.Clear();
_httpClient.DefaultRequestHeaders.Add("token", token);
_httpClient.DefaultRequestHeaders.Add("appid", AppId);
- _httpClient.DefaultRequestHeaders.Add("userid", RSAEncrypt("1268", spk));
+ _httpClient.DefaultRequestHeaders.Add("userid", RSAEncrypt(oaUserId, spk));
// 4. 鏋勫缓璇锋眰浣�
var requestData = BuildRequestData(queryObj);
@@ -166,7 +196,7 @@
{
{"mainData", BuildMainData(queryObj)},
{"requestName", $"IQC寮傚父澶勭疆鍗曟祦绋�-{DateTime.Now:yyyyMMddHHmmss}"},
- {"workflowId", "600"},//娴嬭瘯锛�379 姝e紡锛�600
+ {"workflowId", "602"},//娴嬭瘯锛�379 姝e紡锛�600->602
//{"otherParams", BuildOtherParams()},
{"detailData", BuildDetailData(queryObj)}
};
@@ -378,57 +408,82 @@
private JArray BuildDetailData(dynamic queryObj)
{
- // 浣跨敤鍙傛暟鍖栨煡璇㈣幏鍙栨槑缁嗘暟鎹�
- const string mainSql = @"select ROW_NUMBER() over (ORDER BY Jy_Date) AS xh,releaseNo AS jydh, Jy_Date AS jydrq, batchQty as sjsl,
- chouQty AS cys, badQty AS bls, badProb AS bll,C.USER_NAME AS jyr
- from Mes_QC_Exceptional_Detail A
- LEFT JOIN MES_QA_ITEMS_DETECT_01 B ON A.releaseNo = B.release_no
- LEFT JOIN SYS_USER C ON C.ACCOUNT = B.fcheck_by
- WHERE pGuid = @guid";
-
- var details = Db.Ado.SqlQuery<dynamic>(mainSql, new { guid = queryObj.qcczdGuid });
-
- var tableRecords = new JArray();
-
- // 閬嶅巻姣忔潯鏄庣粏鏁版嵁
- foreach (var record in details ?? Enumerable.Empty<dynamic>())
+ // 灏嗙洿鎺QL鏌ヨ鏇挎崲涓哄瓨鍌ㄨ繃绋嬭皟鐢�
+ var parameters = new[]
{
- // 淇瀛楁绫诲瀷杞崲锛堟暟鍊肩被鍨嬪幓闄ゅ瓧绗︿覆鍖呰9锛�
- var fields = new JArray
- {
- //new JObject { ["fieldName"] = "xh", ["fieldValue"] = record.xh?.ToString() ?? "" },
- new JObject { ["fieldName"] = "jydh", ["fieldValue"] = record.jydh?.ToString() ?? "" },
- new JObject { ["fieldName"] = "jyr", ["fieldValue"] = record.jyr?.ToString() ?? "" },
- new JObject {
- ["fieldName"] = "jydrq",
- // 鏍煎紡鍖栦负"yyyy-MM-dd"瀛楃涓�
- ["fieldValue"] = (record.jydrq != null
- ? Convert.ToDateTime(record.jydrq).ToString("yyyy-MM-dd ")
- : DateTime.Now.ToString("yyyy-MM-dd"))
- },
- // 鏁板�煎瓧娈典繚鎸佹暟瀛楃被鍨嬭�岄潪瀛楃涓�
- // 淇鏁板�肩被鍨嬭浆鎹㈡柟寮�
- new JObject { ["fieldName"] = "sjsl", ["fieldValue"] = (float)(record.sjsl ?? 0m) },
- new JObject { ["fieldName"] = "cys", ["fieldValue"] = (float)(record.cys ?? 0) },
- new JObject { ["fieldName"] = "bls", ["fieldValue"] = (float)(record.bls ?? 0) },
- new JObject { ["fieldName"] = "bll", ["fieldValue"] = 1, }
- };
-
- tableRecords.Add(new JObject
- {
- ["recordOrder"] = 0, // 瀹為檯涓氬姟涓彲鑳介渶瑕佹牴鎹鍙疯缃�
- ["workflowRequestTableFields"] = fields
- });
- }
-
- return new JArray
- {
- new JObject
- {
- ["tableDBName"] = "formtable_main_321_dt1",//娴嬭瘯锛歠ormtable_main_33_dt1
- ["workflowRequestTableRecords"] = tableRecords
- }
+ new SugarParameter("@pi_guid", queryObj.qcczdGuid),
+ new SugarParameter("@inP1", null),
+ new SugarParameter("@inP2", null),
+ new SugarParameter("@inP3", null),
+ new SugarParameter("@inP4", null)
};
+
+ try
+ {
+ var details = Db.Ado.SqlQuery<dynamic>(
+ "EXEC select_oa_BuildDetailData @pi_guid,@inP1,@inP2,@inP3,@inP4",
+ parameters);
+
+
+ var tableRecords = new JArray();
+
+ // 閬嶅巻姣忔潯鏄庣粏鏁版嵁
+ foreach (var record in details ?? Enumerable.Empty<dynamic>())
+ {
+ // 淇瀛楁绫诲瀷杞崲锛堟暟鍊肩被鍨嬪幓闄ゅ瓧绗︿覆鍖呰9锛�
+ var fields = new JArray
+ {
+ //new JObject { ["fieldName"] = "xh", ["fieldValue"] = record.xh?.ToString() ?? "" },
+ new JObject { ["fieldName"] = "jydh", ["fieldValue"] = record.jydh?.ToString() ?? "" },
+ new JObject { ["fieldName"] = "jyr", ["fieldValue"] = record.jyr?.ToString() ?? "" },
+ new JObject { ["fieldName"] = "xblb", ["fieldValue"] = record.xblb?.ToString() ?? "" },
+ new JObject {
+ ["fieldName"] = "jydrq",
+ // 鏍煎紡鍖栦负"yyyy-MM-dd"瀛楃涓�
+ ["fieldValue"] = (record.jydrq != null
+ ? Convert.ToDateTime(record.jydrq).ToString("yyyy-MM-dd ")
+ : DateTime.Now.ToString("yyyy-MM-dd"))
+ },
+ // 鏁板�煎瓧娈典繚鎸佹暟瀛楃被鍨嬭�岄潪瀛楃涓�
+ // 淇鏁板�肩被鍨嬭浆鎹㈡柟寮�
+ new JObject { ["fieldName"] = "sjsl", ["fieldValue"] = (float)(record.sjsl ?? 0m) },
+ new JObject { ["fieldName"] = "cys", ["fieldValue"] = (float)(record.cys ?? 0) },
+ new JObject { ["fieldName"] = "bls", ["fieldValue"] = (float)(record.bls ?? 0) },
+ new JObject { ["fieldName"] = "bll", ["fieldValue"] = 1, }
+ };
+
+ tableRecords.Add(new JObject
+ {
+ ["recordOrder"] = 0, // 瀹為檯涓氬姟涓彲鑳介渶瑕佹牴鎹鍙疯缃�
+ ["workflowRequestTableFields"] = fields
+ });
+ }
+
+ return new JArray
+ {
+ new JObject
+ {
+ ["tableDBName"] = "formtable_main_321_dt1",//娴嬭瘯锛歠ormtable_main_33_dt1
+ ["workflowRequestTableRecords"] = tableRecords
+ }
+ };
+ }
+ catch (Exception ex)
+ {
+ throw new Exception($"鏌ヨ寮傚父鏄庣粏澶辫触: {ex.Message}");
+ }
+
+ // // 浣跨敤鍙傛暟鍖栨煡璇㈣幏鍙栨槑缁嗘暟鎹�
+ // const string mainSql = @"select ROW_NUMBER() over (ORDER BY Jy_Date) AS xh,releaseNo AS jydh, Jy_Date AS jydrq, batchQty as sjsl,
+ // chouQty AS cys, badQty AS bls, badProb AS bll,C.USER_NAME AS jyr
+ // from Mes_QC_Exceptional_Detail A
+ // LEFT JOIN MES_QA_ITEMS_DETECT_01 B ON A.releaseNo = B.release_no
+ // LEFT JOIN SYS_USER C ON C.ACCOUNT = B.fcheck_by
+ // WHERE pGuid = @guid";
+
+ // var details = Db.Ado.SqlQuery<dynamic>(mainSql, new { guid = queryObj.qcczdGuid });
+
+
}
private JObject BuildOtherParams()
--
Gitblit v1.9.3