From da91e51f6891985236fbd5e5f1d2fbaf437c6a81 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期三, 28 八月 2024 10:45:07 +0800
Subject: [PATCH] 钉钉数据同步:分层审核管理 同步 实例状态

---
 WebAPI/Controllers/数据同步/钉钉同步/DD_DataSynchronizationController.cs |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 71 insertions(+), 2 deletions(-)

diff --git "a/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\351\222\211\351\222\211\345\220\214\346\255\245/DD_DataSynchronizationController.cs" "b/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\351\222\211\351\222\211\345\220\214\346\255\245/DD_DataSynchronizationController.cs"
index 46db0c1..0aec613 100644
--- "a/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\351\222\211\351\222\211\345\220\214\346\255\245/DD_DataSynchronizationController.cs"
+++ "b/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\351\222\211\351\222\211\345\220\214\346\255\245/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 = "閿欒浠g爜" + 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);

--
Gitblit v1.9.1