From 263e0e39c18a4ade744b4d1111fe8dc9de7875e8 Mon Sep 17 00:00:00 2001
From: zyf <1071160500@qq.com>
Date: 星期一, 29 九月 2025 17:11:20 +0800
Subject: [PATCH] 平板纠正措施单(推送部分暂未完成)
---
MES.Service/service/QC/SJService.cs | 372 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 372 insertions(+), 0 deletions(-)
diff --git a/MES.Service/service/QC/SJService.cs b/MES.Service/service/QC/SJService.cs
index 555ec39..3708add 100644
--- a/MES.Service/service/QC/SJService.cs
+++ b/MES.Service/service/QC/SJService.cs
@@ -6,6 +6,13 @@
using DbType = System.Data.DbType;
using System.Data;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
+using AlibabaCloud.TeaUtil.Models;
+using MES.Service.Modes.QcIssueResult;
+using Newtonsoft.Json;
+using System.Diagnostics;
+using Tea;
+using MES.Service.Modes.DingAPI;
+using static System.Runtime.InteropServices.JavaScript.JSType;
namespace MES.Service.service.QC;
@@ -176,6 +183,25 @@
result = "鏈娴�",
isCheck = 0
}).ToList();
+ }
+
+ public List<SJBadReason>? GetReason(string billNo)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ var count = db.Queryable<SJBadReason>().Where(s => s.BillNo == billNo).Count();
+
+ if (count <= 0) return null;
+
+ var reason = db
+ .Queryable<SJBadReason>()
+ .Where(s => s.BillNo == billNo).Select(
+ b => new SJBadReason
+ {
+ Reason =b.Reason
+ }).ToList();
+
+ return reason;
}
public List<QsItemIpiItem> getQSItems(decimal? pid, decimal? id)
@@ -587,4 +613,350 @@
});
}
+ /// <summary>
+ /// 鑾峰彇閽夐拤閮ㄩ棬
+ /// </summary>
+ /// <returns></returns>
+ public List<DingDept> getDingDept()
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<DingDept>()
+ .Where(b => b.NoChild== 1)
+ .Select(b => new DingDept
+ {
+ Id=b.Id,
+ Name=b.Name
+ })
+ .ToList();
+ }
+
+ public List<DeptNode> BuildDeptTree()
+ {
+ var db = SqlSugarHelper.GetInstance();
+ var flatList = db.Queryable<DingDept>()
+ .ToList();
+ var lookup = flatList.ToDictionary(
+ d => d.Id,
+ d => new DeptNode
+ {
+ Id = d.Id,
+ Label = d.Name,
+ Value = d.Id
+ });
+
+ List<DeptNode> roots = new();
+
+ foreach (var dept in flatList)
+ {
+ if ((dept.Pid > 0 && lookup.ContainsKey(dept.Pid)))
+ {
+ lookup[dept.Pid].Children.Add(lookup[dept.Id]);
+ }
+ else
+ {
+ // parentId 涓� null 鐨勫氨鏄牴鑺傜偣
+ roots.Add(lookup[dept.Id]);
+ }
+ }
+
+ return roots;
+ }
+
+ /// <summary>
+ /// 鑾峰彇閽夐拤鍛樺伐
+ /// </summary>
+ /// <returns></returns>
+ public List<DingStaff> getDingUser()
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<DingStaff>()
+ .Select(b => new DingStaff
+ {
+ StaffName=b.StaffName,
+ Id=b .Id
+ })
+ .ToList();
+ }
+
+
+
+ /// <summary>
+ /// 寮傚父澶勭疆鍗曟帹閫侀拤閽�
+ /// </summary>
+ /// <returns></returns>
+ public static AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client CreateClient()
+ {
+ AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
+ config.Protocol = "https";
+ config.RegionId = "central";
+ return new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client(config);
+ }
+
+ public static AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client CreateClient1()
+ {
+ AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
+ config.Protocol = "https";
+ config.RegionId = "central";
+ return new AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client(config);
+ }
+
+
+ public string GetToken()
+ {
+ AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client client = CreateClient1();
+ AlibabaCloud.SDK.Dingtalkoauth2_1_0.Models.GetAccessTokenRequest getAccessTokenRequest = new AlibabaCloud.SDK.Dingtalkoauth2_1_0.Models.GetAccessTokenRequest
+ {
+ AppKey = "dingyzos0r1bizj7g6lr",
+ AppSecret = "-HP4RvK2OUbqhG3iBUpd_TPe5MZRj8cfLc0b8Skt8rhC3I38kVLY9SS8P3kLWFcH",
+ };
+
+ try
+ {
+ var response = client.GetAccessToken(getAccessTokenRequest);
+ return response.Body.AccessToken; // 杩斿洖鑾峰彇鍒扮殑 Access Token
+ }
+ catch (TeaException err)
+ {
+ Console.WriteLine($"TeaException: Code={err.Code}, Message={err.Message}");
+ return null;
+ }
+ catch (Exception _err)
+ {
+ Console.WriteLine($"Exception: {_err.Message}");
+ return null;
+ }
+ }
+
+ public string DingJZCSD(JzcsdData InData)
+ {
+
+ var db = SqlSugarHelper.GetInstance();
+
+ decimal numUserId = db.Queryable<DingStaff>()
+ .Where(t => t.StaffName == InData.Fname)
+ .Select(t => t.Id)
+ .First();
+ if (numUserId > 0)
+ {
+ string UserId = Convert.ToString(numUserId);
+
+
+ // 浣跨敤 JSON 搴忓垪鍖栬緭鍑哄璞$殑璇︾粏鍐呭
+ string InDataJson = JsonConvert.SerializeObject(InData, Formatting.Indented);
+ Debug.WriteLine("InDataDetail: " + InDataJson);
+
+ // 鑾峰彇 Access Token
+ string accessToken = GetToken();
+ if (string.IsNullOrEmpty(accessToken))
+ {
+ return "鑾峰彇 Access Token 澶辫触";
+ }
+
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client client = CreateClient();
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceHeaders startProcessInstanceHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceHeaders();
+ Debug.WriteLine(accessToken);
+ startProcessInstanceHeaders.XAcsDingtalkAccessToken = accessToken; // 浣跨敤鑾峰彇鍒扮殑 Access Token
+ /*
+ 浜у搧鍨嬪彿 TextField-K2AD4O5B
+ 绾犳浜嬮」鏉ユ簮 DDMultiSelectField_19MZJHE2ZWM80
+ 鎻愬嚭浜哄憳 InnerContactField_WY9BZDYT7W00
+ 鎻愬嚭鏃ユ湡 DDDateField_JD4ISXXCNLS0
+ 鎺ユ敹閮ㄩ棬 DepartmentField_SLLT1GL6RC00
+ 璐熻矗浜� InnerContactField_1I3FYOICN4N40
+ 鍥炲鏃ユ湡 DDDateField_1NPTPIPNEI1S0
+ 闂鎻忚堪 TextareaField_1FUN513WLK4G0
+ 瀹℃壒閫夋嫨 DDSelectField_WE67NWABXM80
+ */
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ {
+ //浜у搧鍨嬪彿
+ Name = "TextField-K2AD4O5B",
+ Value = InData.Imodel
+ };
+
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues1 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ {
+ //绾犳浜嬮」鏉ユ簮
+ Name = "DDMultiSelectField_19MZJHE2ZWM80",
+ Value = InData.Source
+ /* Value = JsonConvert.SerializeObject(new[] {
+ new { value = InData.Source, label = "鍐呴儴瀹℃牳" }
+ })*/
+ };
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues2 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ {
+ //鎻愬嚭浜哄憳
+ Name = "InnerContactField_WY9BZDYT7W00",
+ Value = UserId,
+ };
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues3 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ {
+ //鎻愬嚭鏃ユ湡
+ Name = "DDDateField_JD4ISXXCNLS0",
+ Value = DateTime.Now.ToString("yyyy-MM-dd"),
+ };
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues4 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ {
+ //鎺ユ敹閮ㄩ棬
+ Name = "DepartmentField_SLLT1GL6RC00",
+ Value = InData.selectedDeptID,
+ };
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues5 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ {
+ //璐熻矗浜�
+ Name = "InnerContactField_1I3FYOICN4N40",
+ Value = InData.selectedUserID
+ };
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues6 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ {
+ //鍥炲鏃ユ湡
+ Name = "DDDateField_1NPTPIPNEI1S0",
+ Value = InData.ReplyDate,
+ };
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues7 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ {
+ //闂鎻忚堪
+ Name = "TextareaField_1FUN513WLK4G0",
+ Value = InData.Reason,
+ };
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues8 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ {
+ //瀹℃壒閫夋嫨
+ Name = "DDSelectField_WE67NWABXM80",
+ Value = InData.selectedADeptID,
+ };
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues8 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ //{
+ // //DDSelectField_WE67NWABXM80
+ // Name = "InnerContactField_1I3FYOICN4N40",
+ // Value = InData.se,
+ //};
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues9 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ //{
+ // //鍥炲鏃ユ湡
+ // Name = "DDDateField_1NPTPIPNEI1S0",
+ // Value = Convert.ToString(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()),
+ //};
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues10 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ //{
+ // //鎻愬嚭閮ㄩ棬
+ // Name = "DepartmentField_184EOWTFMJUK0",
+ // Value = "鎸戦�夊唴瀹�",
+ //};
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues11 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ //{
+ // //绾犳鎺柦
+ // Name = "TextareaField_1PZP4OZ8GSKG0",
+ // Value = InData.Action,
+ //};
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues12 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ //{
+ // //绾犳鎺柦璐熻矗浜�
+ // Name = "InnerContactField_9PR03WUFX7O0",
+ // Value = ActionUserId,
+ //};
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues13 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ //{
+ // //瀹炰緥ID
+ // Name = "api_instanceId",
+ // Value = accessToken,
+ //};
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues14 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ //{
+ // //璁″垝瀹屾垚鏃堕棿
+ // Name = "DDDateField_1G5HG8KPCY2O0",
+ // Value = "鍚�",
+ //};
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues15 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ //{
+ // //鎻愬嚭鏃ユ湡
+ // Name = "DDDateField_JD4ISXXCNLS0",
+ // Value = Convert.ToString(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()),
+ //};
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues16 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ //{
+ // //鍘熷洜鍒嗘瀽
+ // Name = "TextareaField_N3W50F154DS0",
+ // Value = InData.,
+ //};
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues17 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues
+ //{
+ // //浜у搧鍨嬪彿
+ // Name = "TextField-K2AD4O5B",
+ // Value = "闄勪欢",
+ //};
+
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners targetSelectActioners0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners
+ //{
+ // //
+ // ActionerKey = "null",
+ // ActionerUserIds = new List<string>
+ //{
+ // UserId
+ //},
+ //};
+ //AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers approvers0 = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers
+ //{
+ // ActionType = "OR",
+ // UserIds = new List<string>
+ //{
+ // UserId
+ //},
+ //};
+
+
+ AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest startProcessInstanceRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest
+ {
+ OriginatorUserId = UserId,
+ ProcessCode = "PROC-BBA5632D-DC7C-4267-A3E2-757E2B7023BC",
+ DeptId = 1,
+ FormComponentValues = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues>
+ {
+ formComponentValues1,formComponentValues2,formComponentValues3, formComponentValues4, formComponentValues5, formComponentValues6, formComponentValues7, formComponentValues8
+ //formComponentValues9,formComponentValues10, formComponentValues11, formComponentValues12, formComponentValues13, formComponentValues14
+ },
+ // TargetSelectActioners = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners>
+ //{
+ // targetSelectActioners0
+ //},
+ // Approvers = new List<AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.StartProcessInstanceRequest.StartProcessInstanceRequestApprovers>
+ //{
+ // approvers0
+ //},
+ CcList = new List<string>
+ {
+ UserId
+ },
+ CcPosition = "START",
+
+ };
+ // 搴忓垪鍖� FormComponentValues 鍒楄〃涓� JSON 鏍煎紡
+ string formComponentValuesJson = JsonConvert.SerializeObject(startProcessInstanceRequest.FormComponentValues, Formatting.Indented);
+ Debug.WriteLine("FormComponentValues: " + formComponentValuesJson);
+ try
+ {
+ string requestContent = Newtonsoft.Json.JsonConvert.SerializeObject(startProcessInstanceRequest);
+ Debug.WriteLine("startProcessInstanceRequest鍐呭锛�");
+ Debug.WriteLine(requestContent);
+ var response = client.StartProcessInstanceWithOptions(startProcessInstanceRequest, startProcessInstanceHeaders, new RuntimeOptions());
+ return $"閽夐拤宸ヤ綔娴佸疄渚嬪惎鍔ㄦ垚鍔�: {Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)}";
+ }
+ catch (TeaException err)
+ {
+ string requestContent = Newtonsoft.Json.JsonConvert.SerializeObject(startProcessInstanceRequest);
+ Debug.WriteLine("startProcessInstanceRequest鍐呭锛�");
+ Debug.WriteLine(startProcessInstanceRequest);
+ return $"TeaException: Code={err.Code}, Message={err.Message}";
+ }
+ catch (Exception _err)
+ {
+ return $"Exception: {_err.Message}";
+ }
+ }
+ else
+ {
+ return "鎮ㄤ笉鏄叕鍙告垚鍛樻垨杩樻湭琚姞鍏ュ埌鏁版嵁搴撲腑鎴栧悕瀛楀~鍐欓敊璇紝鏈壘鍒板尮閰嶇殑鐢ㄦ埛淇℃伅";
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3