| | |
| | | return new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client(config); |
| | | } |
| | | |
| | | public string GetSpaceId() |
| | | public string GetProductionDetail( string InstanceId) |
| | | { |
| | | string accessToken = GetToken(); |
| | | if (string.IsNullOrEmpty(accessToken)) |
| | |
| | | return "获取 Access Token 失败"; |
| | | } |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client client = CreateClientOa(); |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetAttachmentSpaceHeaders getAttachmentSpaceHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetAttachmentSpaceHeaders(); |
| | | getAttachmentSpaceHeaders.XAcsDingtalkAccessToken = accessToken; |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetAttachmentSpaceRequest getAttachmentSpaceRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetAttachmentSpaceRequest |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetProcessInstanceHeaders getProcessInstanceHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetProcessInstanceHeaders(); |
| | | getProcessInstanceHeaders.XAcsDingtalkAccessToken = accessToken; |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetProcessInstanceRequest getProcessInstanceRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetProcessInstanceRequest |
| | | { |
| | | UserId = "923188102", |
| | | AgentId = 3179487642, |
| | | ProcessInstanceId = InstanceId, |
| | | }; |
| | | try |
| | | { |
| | | |
| | | var response = client.GetAttachmentSpaceWithOptions(getAttachmentSpaceRequest, getAttachmentSpaceHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); |
| | | return (Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)); |
| | | var response = client.GetProcessInstanceWithOptions(getProcessInstanceRequest, getProcessInstanceHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); |
| | | |
| | | // 将响应体转换为 JSON 字符串 |
| | | var responseJson = Newtonsoft.Json.JsonConvert.SerializeObject(response.Body); |
| | | |
| | | // 解析 JSON 字符串为动态对象 |
| | | dynamic responseObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseJson); |
| | | |
| | | |
| | | |
| | | // 查找 "生产制造单" 对应的 Value |
| | | string fileId = null; |
| | | foreach (var formValue in responseObj.Result.FormComponentValues) |
| | | { |
| | | if (formValue.Name == "生产制造单" && formValue.Value != null) |
| | | { |
| | | // 解析 Value 中的 JSON 数组 |
| | | var fileInfoArray = Newtonsoft.Json.JsonConvert.DeserializeObject<List<FileInfoProduction>>(formValue.Value.ToString()); |
| | | |
| | | if (fileInfoArray != null && fileInfoArray.Count > 0) |
| | | { |
| | | fileId = fileInfoArray[0].fileId; // 提取第一个文件的 fileId |
| | | |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | Debug.WriteLine(fileId); |
| | | |
| | | var result = GetDownloadUrl(fileId, InstanceId); |
| | | |
| | | return (Newtonsoft.Json.JsonConvert.SerializeObject(result)); |
| | | } |
| | | catch (TeaException err) |
| | | { |
| | |
| | | return $"Exception: {_err.Message}"; |
| | | } |
| | | } |
| | | public string GetProcessList() |
| | | |
| | | public string GetDownloadUrl(string fileId, string InstanceId) |
| | | { |
| | | |
| | | DateTime targetTime = new DateTime(2025, 3, 10, 0, 0, 0, DateTimeKind.Utc); |
| | | // 转换为 Unix 时间戳 |
| | | long unixTimestamp = ((DateTimeOffset)targetTime).ToUnixTimeMilliseconds(); |
| | | Debug.WriteLine(unixTimestamp); |
| | | |
| | | long currentTimestamp = ((DateTimeOffset)DateTime.UtcNow).ToUnixTimeMilliseconds(); |
| | | Debug.WriteLine(currentTimestamp); // 输出当前时间的 Unix 时间戳 |
| | | |
| | | string accessToken = GetToken(); |
| | | if (string.IsNullOrEmpty(accessToken)) |
| | |
| | | return "获取 Access Token 失败"; |
| | | } |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client client = CreateClientOa(); |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ListProcessInstanceIdsHeaders listProcessInstanceIdsHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ListProcessInstanceIdsHeaders(); |
| | | listProcessInstanceIdsHeaders.XAcsDingtalkAccessToken = accessToken; |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ListProcessInstanceIdsRequest listProcessInstanceIdsRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ListProcessInstanceIdsRequest |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GrantProcessInstanceForDownloadFileHeaders grantProcessInstanceForDownloadFileHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GrantProcessInstanceForDownloadFileHeaders(); |
| | | grantProcessInstanceForDownloadFileHeaders.XAcsDingtalkAccessToken = accessToken; |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GrantProcessInstanceForDownloadFileRequest grantProcessInstanceForDownloadFileRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GrantProcessInstanceForDownloadFileRequest |
| | | { |
| | | ProcessCode = "PROC-BBA5632D-DC7C-4267-A3E2-757E2B7023BC", |
| | | StartTime = unixTimestamp, |
| | | EndTime = currentTimestamp, |
| | | NextToken = 0, |
| | | MaxResults = 10, |
| | | UserIds = new List<string> |
| | | { |
| | | "923188102" |
| | | }, |
| | | //Statuses = new List<string> |
| | | // { |
| | | |
| | | // }, |
| | | }; |
| | | |
| | | try |
| | | { |
| | | var response = client.ListProcessInstanceIdsWithOptions(listProcessInstanceIdsRequest, listProcessInstanceIdsHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); |
| | | return (Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)); |
| | | } |
| | | catch (TeaException err) |
| | | { |
| | | return $"TeaException: Code={err.Code}, Message={err.Message}"; |
| | | } |
| | | catch (Exception _err) |
| | | { |
| | | return $"Exception: {_err.Message}"; |
| | | } |
| | | |
| | | } |
| | | |
| | | public string GetPermissions() |
| | | { |
| | | string accessToken = GetToken(); |
| | | if (string.IsNullOrEmpty(accessToken)) |
| | | { |
| | | return "获取 Access Token 失败"; |
| | | } |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client client = CreateClientOa(); |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetSpaceWithDownloadAuthHeaders getSpaceWithDownloadAuthHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetSpaceWithDownloadAuthHeaders(); |
| | | getSpaceWithDownloadAuthHeaders.XAcsDingtalkAccessToken = accessToken; |
| | | AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetSpaceWithDownloadAuthRequest getSpaceWithDownloadAuthRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetSpaceWithDownloadAuthRequest |
| | | { |
| | | UserId = "071839512032683883", |
| | | AgentId = 3179487642, |
| | | ProcessInstanceId = "3vHyv40ZQUe2zK6wvl11dg06561742534701", |
| | | FileId = "173564282626", |
| | | //FileIdList = new List<string> |
| | | // { |
| | | // "123" |
| | | // }, |
| | | ProcessInstanceId = InstanceId, |
| | | FileId = fileId, |
| | | }; |
| | | try |
| | | { |
| | | var response = client.GetSpaceWithDownloadAuthWithOptions(getSpaceWithDownloadAuthRequest, getSpaceWithDownloadAuthHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); |
| | | |
| | | var response = client.GrantProcessInstanceForDownloadFileWithOptions(grantProcessInstanceForDownloadFileRequest, grantProcessInstanceForDownloadFileHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); |
| | | |
| | | return (Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)); |
| | | } |
| | | catch (TeaException err) |
| | |
| | | * @return Client |
| | | * @throws Exception |
| | | */ |
| | | public static AlibabaCloud.SDK.Dingtalkyida_1_0.Client CreateClient() |
| | | { |
| | | AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config(); |
| | | config.Protocol = "https"; |
| | | config.RegionId = "central"; |
| | | return new AlibabaCloud.SDK.Dingtalkyida_1_0.Client(config); |
| | | } |
| | | //public static AlibabaCloud.SDK.Dingtalkyida_1_0.Client CreateClient() |
| | | //{ |
| | | // AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config(); |
| | | // config.Protocol = "https"; |
| | | // config.RegionId = "central"; |
| | | // return new AlibabaCloud.SDK.Dingtalkyida_1_0.Client(config); |
| | | //} |
| | | |
| | | public string GetFileUrl(string imageUrl) |
| | | { |
| | | //public string GetFileUrl(string imageUrl) |
| | | //{ |
| | | |
| | | string accessToken = GetToken(); |
| | | if (string.IsNullOrEmpty(accessToken)) |
| | | { |
| | | return "获取 Access Token 失败"; |
| | | } |
| | | AlibabaCloud.SDK.Dingtalkyida_1_0.Client client = CreateClient(); |
| | | AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlHeaders getOpenUrlHeaders = new AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlHeaders(); |
| | | getOpenUrlHeaders.XAcsDingtalkAccessToken = accessToken; |
| | | AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlRequest getOpenUrlRequest = new AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlRequest |
| | | { |
| | | SystemToken = "54A66HC1YDSSO9DP61Y93CWQ2W9B36IZZOY6MC81", |
| | | UserId = "923188102", |
| | | Language = "zh_CN", |
| | | FileUrl = imageUrl, |
| | | Timeout = 3600000, |
| | | }; |
| | | try |
| | | { |
| | | // string accessToken = GetToken(); |
| | | // if (string.IsNullOrEmpty(accessToken)) |
| | | // { |
| | | // return "获取 Access Token 失败"; |
| | | // } |
| | | // AlibabaCloud.SDK.Dingtalkyida_1_0.Client client = CreateClient(); |
| | | // AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlHeaders getOpenUrlHeaders = new AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlHeaders(); |
| | | // getOpenUrlHeaders.XAcsDingtalkAccessToken = accessToken; |
| | | // AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlRequest getOpenUrlRequest = new AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlRequest |
| | | // { |
| | | // SystemToken = "54A66HC1YDSSO9DP61Y93CWQ2W9B36IZZOY6MC81", |
| | | // UserId = "923188102", |
| | | // Language = "zh_CN", |
| | | // FileUrl = imageUrl, |
| | | // Timeout = 3600000, |
| | | // }; |
| | | // try |
| | | // { |
| | | |
| | | var response = client.GetOpenUrlWithOptions("APP_Q7PLYKXMKFUJ5HY6DMWR", getOpenUrlRequest, getOpenUrlHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); |
| | | return (Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)); |
| | | } |
| | | catch (TeaException err) |
| | | { |
| | | return $"TeaException: Code={err.Code}, Message={err.Message}"; |
| | | } |
| | | catch (Exception _err) |
| | | { |
| | | return $"Exception: {_err.Message}"; |
| | | } |
| | | } |
| | | // var response = client.GetOpenUrlWithOptions("APP_Q7PLYKXMKFUJ5HY6DMWR", getOpenUrlRequest, getOpenUrlHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); |
| | | // return (Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)); |
| | | // } |
| | | // catch (TeaException err) |
| | | // { |
| | | // return $"TeaException: Code={err.Code}, Message={err.Message}"; |
| | | // } |
| | | // catch (Exception _err) |
| | | // { |
| | | // return $"Exception: {_err.Message}"; |
| | | // } |
| | | //} |
| | | |
| | | |
| | | public dynamic Save(ErpProductionOrder erpProductionOrder) |
| | |
| | | if (orUpdate) return true; |
| | | throw new NotImplementedException("插入或更新失败"); |
| | | } |
| | | |
| | | |
| | | } |