duhe
2024-08-28 da91e51f6891985236fbd5e5f1d2fbaf437c6a81
钉钉数据同步:分层审核管理 同步 实例状态
1个文件已修改
73 ■■■■■ 已修改文件
WebAPI/Controllers/数据同步/钉钉同步/DD_DataSynchronizationController.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/Êý¾Ýͬ²½/¶¤¶¤Í¬²½/DD_DataSynchronizationController.cs
@@ -154,6 +154,7 @@
            public string HOriginator;                          //发起人
            public string HTitle;                               //单据标题
            public string HInstanceStatus;                      //实例状态
            //单据内容
            public string HEmployeeID;                          //成员ID
@@ -543,6 +544,50 @@
                    // err ä¸­å«æœ‰ code å’Œ message å±žæ€§ï¼Œå¯å¸®åŠ©å¼€å‘å®šä½é—®é¢˜
                }
                msg = "错误代码" + err.Code + ":" + err.Message;
                return false;
            }
        }
        #endregion
        #region èŽ·å– å®œæ­ æ ¹æ®æµç¨‹å®žä¾‹ID获取流程实例
        public bool getInstanceStatusByInstanceID__YiDa(string appType, string systemToken, string userID, string instanceID, ref GetInstanceByIdResponse response, ref string msg)
        {
            AlibabaCloud.SDK.Dingtalkyida_1_0.Client client = CreateClient5();
            AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetInstanceByIdHeaders getInstanceByIdHeaders = new AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetInstanceByIdHeaders();
            getInstanceByIdHeaders.XAcsDingtalkAccessToken = this.accessToken;
            AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetInstanceByIdRequest getInstanceByIdRequest = new AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetInstanceByIdRequest
            {
                SystemToken = systemToken,
                Language = "12",
                UserId = userID,
                AppType = appType,
            };
            try
            {
                GetInstanceByIdResponse getInstanceByIdResponse = client.GetInstanceByIdWithOptions(instanceID, getInstanceByIdRequest, getInstanceByIdHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions());
                response = getInstanceByIdResponse;
                return true;
            }
            catch (TeaException err)
            {
                if (!AlibabaCloud.TeaUtil.Common.Empty(err.Code) && !AlibabaCloud.TeaUtil.Common.Empty(err.Message))
                {
                    // err ä¸­å«æœ‰ code å’Œ message å±žæ€§ï¼Œå¯å¸®åŠ©å¼€å‘å®šä½é—®é¢˜
                }
                msg = err.Message;
                return false;
            }
            catch (Exception _err)
            {
                TeaException err = new TeaException(new Dictionary<string, object>
                {
                    { "message", _err.Message }
                });
                if (!AlibabaCloud.TeaUtil.Common.Empty(err.Code) && !AlibabaCloud.TeaUtil.Common.Empty(err.Message))
                {
                    // err ä¸­å«æœ‰ code å’Œ message å±žæ€§ï¼Œå¯å¸®åŠ©å¼€å‘å®šä½é—®é¢˜
                }
                msg = _err.Message;
                return false;
            }
        }
@@ -1079,6 +1124,30 @@
                                oItem.HCloseConfirm = response.Body.Result[i].FormData["selectField_ltpe6mdd"].ToString().Replace("'", "");
                            }
                            //获取实例状态
                            GetInstanceByIdResponse response1 = new GetInstanceByIdResponse();
                            if(getInstanceStatusByInstanceID__YiDa(appType, systemToken, userID, oItem.HInstanceID, ref response1, ref msg) == false)
                            {
                                return false;
                            }
                            oItem.HInstanceStatus = response1.Body.InstanceStatus;
                            if(oItem.HInstanceStatus == "RUNNING")
                            {
                                oItem.HInstanceStatus = "运行中";
                            }else if(oItem.HInstanceStatus== "TERMINATED")
                            {
                                oItem.HInstanceStatus = "已终止";
                            }
                            else if (oItem.HInstanceStatus == "COMPLETED")
                            {
                                oItem.HInstanceStatus = "已完成";
                            }
                            else if (oItem.HInstanceStatus == "ERROR")
                            {
                                oItem.HInstanceStatus = "异常";
                            }
                            lsmain.Add(oItem);
                        }
                        catch (Exception e)
@@ -1148,7 +1217,7 @@
                        ",HCheckLevel,HCheckArea,HPhoto_NoSatisfyRequire,HDescription_NoSatisfyRequire,HQuestionType,HRequire_ModifyDate,HEmployeeID_Duty,HEmployee_Duty" +
                        ",HQuestionIsNoModify" +
                        ",HReason_NoModify,HReasonAnalysis,HMethod_Modify" +
                        ",HDate_Achieve,HFile_Evidence,HCloseConfirm" +
                        ",HDate_Achieve,HFile_Evidence,HCloseConfirm,HInstanceStatus" +
                        ") " +
                        "values(" +
                        "'" + oItem.HMakerID + "'" +
@@ -1178,7 +1247,7 @@
                        "," + (oItem.HDate_Achieve==null?"null":"'"+ oItem.HDate_Achieve+ "'") + "" +
                        ",'" + (oItem.HFile_Evidence==null?"": oItem.HFile_Evidence) + "'" +
                        ",'" + (oItem.HCloseConfirm==null?"": oItem.HCloseConfirm) + "'" +
                        ",'" + (oItem.HInstanceStatus==null?"":oItem.HInstanceStatus) + "'" +
                        ")";
                    oCN.RunProc(sql_main);