yusijie
2024-09-18 359be0508a24daeabe1e687265aa6783961d1221
WebAPI/Controllers/Êý¾Ýͬ²½/¶¤¶¤Í¬²½/DD_DataSynchronizationController.cs
@@ -100,6 +100,8 @@
            public string HOriginator;                          //发起人
            public string HTitle;                               //单据标题
            public string HInstanceStatus;                      //实例状态
            public string HApprovedResult;                      //审批结果
            //单据内容
            public string HDate;                                //日期
@@ -124,6 +126,8 @@
            public string HOriginator;                          //发起人
            public string HTitle;                               //单据标题
            public string HInstanceStatus;                      //实例状态
            public string HApprovedResult;                      //审批结果
            //单据内容
            public string HDate;                                //日期
@@ -154,6 +158,8 @@
            public string HOriginator;                          //发起人
            public string HTitle;                               //单据标题
            public string HInstanceStatus;                      //实例状态
            public string HApprovedResult;                      //审批结果
            //单据内容
            public string HEmployeeID;                          //成员ID
@@ -191,6 +197,8 @@
            public string HOriginator;                          //发起人
            public string HTitle;                               //单据标题
            public string HInstanceStatus;                      //实例状态
            public string HApprovedResult;                      //审批结果
            //单据内容
            public string HQuestionType;                        //问题分类
@@ -397,7 +405,7 @@
                //OriginatorId = "12",                                                                                          //根据流程发起人工号查询。
                //TaskId = "12",                                                                                                //任务ID。
                CreateFromTimeGMT = DateTime.Now.ToString("dd") == "01"?"2022-01-01":DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd"),                                          //创建时间起始值。
                CreateFromTimeGMT = DateTime.Now.ToString("dd") == "01" ? "2022-01-01" : DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd"),                                          //创建时间起始值。
                CreateToTimeGMT = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"),                                               //创建时间终止值。
                PageSize = pageSize,                                                  //分页大小。
@@ -547,6 +555,50 @@
            }
        }
        #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;
            }
        }
        #endregion
        #endregion
        #region æ•°æ®åŒæ­¥æ–¹æ³•
@@ -599,32 +651,104 @@
                            int startindex = response.Body.Result[i].Title.IndexOf("zh_CN") + 8;
                            oItem.HTitle = startIndex + response.Body.Result[i].Title.Substring(startindex).Replace("\"}", "").Replace("'", "");
                            if (keys.Contains("dateField_lo6w37hk"))
                            //审核签到表
                            //if (keys.Contains("dateField_lo6w37hk"))
                            //{
                            //    double HDate_Temp = double.Parse(response.Body.Result[i].FormData["dateField_lo6w37hk"].ToString());
                            //    oItem.HDate = convertFromMillisecondsToDateString(HDate_Temp, "yyyy-MM-dd");
                            //}
                            //if (keys.Contains("selectField_lockncvh_id"))
                            //{
                            //    oItem.HArea = response.Body.Result[i].FormData["selectField_lockncvh_id"].ToString().Replace("'", "");
                            //}
                            //if (keys.Contains("selectField_lockncvg_id"))
                            //{
                            //    oItem.HCheckLevel = response.Body.Result[i].FormData["selectField_lockncvg_id"].ToString().Replace("'", "");
                            //}
                            //if (keys.Contains("employeeField_lo6w37hf"))
                            //{
                            //    oItem.HEmplpyee = ((List<object>)response.Body.Result[i].FormData["employeeField_lo6w37hf"])[0].ToString().Replace("'","");
                            //}
                            //if (keys.Contains("employeeField_lo6w37hf_id"))
                            //{
                            //    oItem.HEmployeeID = ((List<object>)response.Body.Result[i].FormData["employeeField_lo6w37hf_id"])[0].ToString().Replace("'", "");
                            //}
                            //签到表
                            if (keys.Contains("dateField_ls9ma7h3"))
                            {
                                double HDate_Temp = double.Parse(response.Body.Result[i].FormData["dateField_lo6w37hk"].ToString());
                                double HDate_Temp = double.Parse(response.Body.Result[i].FormData["dateField_ls9ma7h3"].ToString());
                                oItem.HDate = convertFromMillisecondsToDateString(HDate_Temp, "yyyy-MM-dd");
                            }
                            if (keys.Contains("selectField_lockncvh_id"))
                            if (keys.Contains("selectField_ls9ma7h9"))
                            {
                                oItem.HArea = response.Body.Result[i].FormData["selectField_lockncvh_id"].ToString().Replace("'", "");
                                oItem.HArea = response.Body.Result[i].FormData["selectField_ls9ma7h9"].ToString().Replace("'", "");
                            }
                            if (keys.Contains("selectField_lockncvg_id"))
                            if (keys.Contains("selectField_ls9ma7h7"))
                            {
                                oItem.HCheckLevel = response.Body.Result[i].FormData["selectField_lockncvg_id"].ToString().Replace("'", "");
                                oItem.HCheckLevel = response.Body.Result[i].FormData["selectField_ls9ma7h7"].ToString().Replace("'", "");
                            }
                            if (keys.Contains("employeeField_lo6w37hf"))
                            if (keys.Contains("employeeField_ls9ma7h5"))
                            {
                                oItem.HEmplpyee = ((List<object>)response.Body.Result[i].FormData["employeeField_lo6w37hf"])[0].ToString().Replace("'","");
                                oItem.HEmplpyee = ((List<object>)response.Body.Result[i].FormData["employeeField_ls9ma7h5"])[0].ToString().Replace("'", "");
                            }
                            if (keys.Contains("employeeField_lo6w37hf_id"))
                            if (keys.Contains("employeeField_ls9ma7h5_id"))
                            {
                                oItem.HEmployeeID = ((List<object>)response.Body.Result[i].FormData["employeeField_lo6w37hf_id"])[0].ToString().Replace("'", "");
                                oItem.HEmployeeID = ((List<object>)response.Body.Result[i].FormData["employeeField_ls9ma7h5_id"])[0].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 = "异常";
                            }
                            oItem.HApprovedResult = response1.Body.ApprovedResult;
                            if (oItem.HApprovedResult == "agree")
                            {
                                oItem.HApprovedResult = "同意";
                            }
                            else if (oItem.HApprovedResult == "disagree")
                            {
                                oItem.HApprovedResult = "拒绝";
                            }
                            else
                            {
                                oItem.HApprovedResult = "";
                            }
                            lsmain.Add(oItem);
                        }catch(Exception e)
                        {
@@ -660,7 +784,8 @@
            string appType = "APP_MMBPP3IFGFBX3VQAIKYX";
            string systemToken = "TP866A81107FVI9LBFQRZ9953YWZ2GYR2W6OL1L";
            string userID = "1933673646699149";
            string formUuid = "FORM-IQ8666B17ZZE7NQSA01K3DUN78UI3J1Z2W6OLX";
            //string formUuid = "FORM-IQ8666B17ZZE7NQSA01K3DUN78UI3J1Z2W6OLX";            //分层审核签到表
            string formUuid = "FORM-A01FFB0B63A34F18B7753F695F49190DJEY7";              //签到表
            int pageNumber = 1;
            int pageSize = 100;
@@ -680,7 +805,7 @@
            try
            {
                oCN.BeginTran();
              oCN.BeginTran();
                foreach (YD_FenCengShenHeQianDaoBiao oItem in lsmain)
                {
                    string sql_searchRepeat = "select * from DD_FenCengShenHeQianDaoBiao where HInstanceID = '" + oItem.HInstanceID + "'";
@@ -694,7 +819,8 @@
                    string sql_main = "insert into DD_FenCengShenHeQianDaoBiao" +
                        "(HMakerID,HMakeDate,HUpdaterID,HUpdater,HUpdateDate,HInstanceID,HOriginator,HTitle" +
                        ",HDate" +
                        ",HCheckLevel,HArea,HEmployeeID,HEmplpyee) " +
                        ",HCheckLevel,HArea,HEmployeeID,HEmplpyee" +
                        ",HInstanceStatus,HApprovedResult) " +
                        "values(" +
                        "'" + oItem.HMakerID + "'" +
                        ",'" + oItem.HMakeDate + "'" +
@@ -710,6 +836,8 @@
                        ",'" + (oItem.HArea==null?"": oItem.HArea) + "'" +
                        ",'" + (oItem.HEmployeeID==null?"": oItem.HEmployeeID) + "'" +
                        ",'" + (oItem.HEmplpyee==null?"": oItem.HEmplpyee) + "'" +
                        ",'" + (oItem.HInstanceStatus == null ? "" : oItem.HInstanceStatus) + "'" +
                        ",'" + (oItem.HApprovedResult == null ? "" : oItem.HApprovedResult) + "'" +
                        ")";
                    oCN.RunProc(sql_main);
@@ -820,7 +948,50 @@
                            {
                                oItem.HRiskRemak_Result = response.Body.Result[i].FormData["textareaField_lxblb9xa"].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 = "异常";
                            }
                            oItem.HApprovedResult = response1.Body.ApprovedResult;
                            if (oItem.HApprovedResult == "agree")
                            {
                                oItem.HApprovedResult = "同意";
                            }
                            else if (oItem.HApprovedResult == "disagree")
                            {
                                oItem.HApprovedResult = "拒绝";
                            }
                            else
                            {
                                oItem.HApprovedResult = "";
                            }
                            lsmain.Add(oItem);
                        }catch(Exception e)
                        {
@@ -886,7 +1057,8 @@
                    string sql_main = "insert into DD_XianChangBianHuaDianPingShenDan" +
                        "(HMakerID,HMakeDate,HUpdaterID,HUpdater,HUpdateDate,HInstanceID,HOriginator,HTitle" +
                        ",HDate" +
                        ",HDept,HChangeType,HRiskLevel,HChangeContent,HRiskRemark_Safe,HRiskRemark_Study,HRiskRemark_Quality,HRiskRemark_Equipment,HRiskRemark_Product,HRiskRemark_Result) " +
                        ",HDept,HChangeType,HRiskLevel,HChangeContent,HRiskRemark_Safe,HRiskRemark_Study,HRiskRemark_Quality,HRiskRemark_Equipment,HRiskRemark_Product,HRiskRemark_Result" +
                        ",HInstanceStatus,HApprovedResult) " +
                        "values(" +
                        "'" + oItem.HMakerID + "'" +
                        ",'" + oItem.HMakeDate + "'" +
@@ -908,6 +1080,8 @@
                        ",'" + (oItem.HRiskRemark_Equipment==null?"": oItem.HRiskRemark_Equipment) + "'" +
                        ",'" + (oItem.HRiskRemark_Product==null?"": oItem.HRiskRemark_Product) + "'" +
                        ",'" + (oItem.HRiskRemak_Result==null?"": oItem.HRiskRemak_Result) + "'" +
                        ",'" + (oItem.HInstanceStatus == null ? "" : oItem.HInstanceStatus) + "'" +
                        ",'" + (oItem.HApprovedResult == null ? "" : oItem.HApprovedResult) + "'" +
                        ")";
                    oCN.RunProc(sql_main);
@@ -1049,6 +1223,43 @@
                                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 = "异常";
                            }
                            oItem.HApprovedResult = response1.Body.ApprovedResult;
                            if (oItem.HApprovedResult== "agree")
                            {
                                oItem.HApprovedResult = "同意";
                            }else if(oItem.HApprovedResult== "disagree")
                            {
                                oItem.HApprovedResult = "拒绝";
                            }
                            else
                            {
                                oItem.HApprovedResult = "";
                            }
                            lsmain.Add(oItem);
                        }
                        catch (Exception e)
@@ -1118,7 +1329,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,HApprovedResult" +
                        ") " +
                        "values(" +
                        "'" + oItem.HMakerID + "'" +
@@ -1148,7 +1359,8 @@
                        "," + (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) + "'" +
                        ",'" + (oItem.HApprovedResult==null?"":oItem.HApprovedResult) + "'" +
                        ")";
                    oCN.RunProc(sql_main);
@@ -1224,7 +1436,46 @@
                                oItem.HDept_Duty = response.Body.Result[i].FormData["selectField_lxcunmsu"].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 = "异常";
                            }
                            oItem.HApprovedResult = response1.Body.ApprovedResult;
                            if (oItem.HApprovedResult == "agree")
                            {
                                oItem.HApprovedResult = "同意";
                            }
                            else if (oItem.HApprovedResult == "disagree")
                            {
                                oItem.HApprovedResult = "拒绝";
                            }
                            else
                            {
                                oItem.HApprovedResult = "";
                            }
                            List<YD_QRQCWenTiTiJiaoBiaoSub1> sub1List = new List<YD_QRQCWenTiTiJiaoBiaoSub1>();
                            if (keys_main.Contains("tableField_lx4azand"))
@@ -1367,6 +1618,12 @@
                oCN.BeginTran();
                foreach (YD_QRQCWenTiTiJiaoBiao oItem in lsmain)
                {
                    ////判断单据 å®žä¾‹çŠ¶æ€æ˜¯å¦ä¸º"已完成"且 å®¡æ‰¹ç»“果为"同意",若是则同步数据,否则不进行同步数据
                    //if (!(oItem.HInstanceStatus == "已完成" && oItem.HApprovedResult == "同意"))
                    //{
                    //    continue;
                    //}
                    string sql_searchRepeat = "select * from DD_QRQCWenTiTiJiaoBiao where HInstanceID = '" + oItem.HInstanceID + "'";
                    DataSet ds_searchRepeat = oCN.RunProcReturn(sql_searchRepeat, "DD_QRQCWenTiTiJiaoBiao");
                    if (ds_searchRepeat != null && ds_searchRepeat.Tables[0].Rows.Count > 0)
@@ -1382,7 +1639,8 @@
                    }
                    string sql_main = "insert into DD_QRQCWenTiTiJiaoBiao" +
                        "(HMakerID,HMakeDate,HUpdaterID,HUpdater,HUpdateDate,HInstanceID,HOriginator,HTitle,HQuestionType,HDept_Duty) " +
                        "(HMakerID,HMakeDate,HUpdaterID,HUpdater,HUpdateDate,HInstanceID,HOriginator,HTitle,HQuestionType,HDept_Duty" +
                        ",HInstanceStatus,HApprovedResult) " +
                        "values(" +
                        "'" + oItem.HMakerID + "'" +
                        ",'" + oItem.HMakeDate + "'" +
@@ -1395,6 +1653,8 @@
                        ",'" + (oItem.HQuestionType==null?"": oItem.HQuestionType) + "'" +
                        ",'" + (oItem.HDept_Duty==null?"": oItem.HDept_Duty) + "'" +
                        ",'" + (oItem.HInstanceStatus == null ? "" : oItem.HInstanceStatus) + "'" +
                        ",'" + (oItem.HApprovedResult == null ? "" : oItem.HApprovedResult) + "'" +
                        ")";
                    oCN.RunProc(sql_main);