Пример #1
0
        internal static async Task DoNoticeAsync(JobBaseInfo jobBaseInfo, string message)
        {
            var noticeDingConfig = ConfigItems.JobsConfig?.NoticeDingConfig;

            if (noticeDingConfig == null)
            {
                noticeDingConfig = new NoticeDingConfig
                {
                    NoticeDingToken  = ConfigItems.DingtalkToken,
                    NoticeDingPhones = ConfigItems.DingtalkPhones,
                    NoticeDingAtAll  = ConfigItems.DingtalkAtAll,
                    NoticeDingIsOpen = !string.IsNullOrEmpty(ConfigItems.DingtalkToken),
                };
            }
            var token = noticeDingConfig?.NoticeDingToken ?? ConfigItems.DingtalkToken;

            if (string.IsNullOrEmpty(token))
            {
                return;
            }
            var postData = GetDingTalkPostData(jobBaseInfo, message, noticeDingConfig);

            if (postData == null)
            {
                return;
            }

            var requestUri = $"https://oapi.dingtalk.com/robot/send?access_token={token}";
            var rlt        = await HttpPostAsync(requestUri, postData);

            JobLogHelper.Debug($"DoNoticeAsync response is {rlt}, \r\n message is {postData.ToJsonStr()} ,\r\n token is {token}", nameof(DoNoticeAsync));
        }
Пример #2
0
 /// <summary>
 /// 初始化数据
 /// </summary>
 public override void ExecuteDataInitialize()
 {
     base.SynchState = SynchState.Busy;
     try
     {
         m_EmrHelper = DataAccessFactory.DefaultDataAccess;
         DataTable data        = m_EmrHelper.ExecuteDataTable("select * from RECORDDETAIL t", CommandType.Text);
         int       rowAnalysis = 0;
         foreach (DataRow row in data.Rows)
         {
             xmlDoc = new XmlDocument();
             xmlDoc.LoadXml(row["content"].ToString());
         }
         JobLogHelper.WriteLog(new JobExecuteInfoArgs(Parent, "AnalysisDoc", data.Rows.Count, rowAnalysis, DateTime.Now, true, String.Empty, TraceLevel.Info));
     }
     catch (Exception ex)
     {
         JobLogHelper.WriteLog(new JobExecuteInfoArgs(this.Parent, ex.Message));
         throw ex;
     }
     finally
     {
         base.SynchState = SynchState.Stop;
     }
 }
Пример #3
0
 /// <summary>
 /// 初始化数据
 /// </summary>
 public override void ExecuteDataInitialize()
 {
     base.SynchState = SynchState.Busy;
     try
     {
         m_EmrHelper = DataAccessFactory.DefaultDataAccess;
         DataTable data        = m_EmrHelper.ExecuteDataTable("select * from RECORDDETAIL t where t.createtime = (select max(a.createtime) from RECORDDETAIL a )", CommandType.Text);
         int       rowAnalysis = 0;
         foreach (DataRow row in data.Rows)
         {
             int flag = 1;
             xmlDoc = new XmlDocument();
             xmlDoc.LoadXml(row["content"].ToString());
             XmlNodeList    xmlNode   = xmlDoc.GetElementsByTagName("selement");
             SqlParameter[] sqlParams = new SqlParameter[]
             {
                 new SqlParameter("@id", SqlDbType.VarChar, 50),
                 new SqlParameter("@recid", SqlDbType.Int, 9),
                 new SqlParameter("@noofinpat", SqlDbType.Int, 9),
                 new SqlParameter("@sortid", SqlDbType.VarChar, 50),
                 new SqlParameter("@elementnames", SqlDbType.VarChar, 50),
                 new SqlParameter("@elementcode", SqlDbType.VarChar, 50),
                 new SqlParameter("@elementvalue", SqlDbType.VarChar, 50),
                 new SqlParameter("@createtime", SqlDbType.VarChar, 50),
                 new SqlParameter("@flag", SqlDbType.Int, 1)
             };
             sqlParams[1].Value = Decimal.Parse(row["ID"].ToString());
             sqlParams[2].Value = int.Parse(row["NOOFINPAT"].ToString());
             sqlParams[3].Value = row["SORTID"].ToString();
             sqlParams[7].Value = row["CREATETIME"].ToString();
             foreach (XmlNode node in xmlNode)
             {
                 sqlParams[8].Value = flag;
                 sqlParams[0].Value = Guid.NewGuid().ToString();
                 sqlParams[4].Value = node.Attributes["name"].Value;
                 sqlParams[5].Value = node.Attributes["code"].Value;
                 sqlParams[6].Value = node.Attributes["text"].Value;
                 m_EmrHelper.ExecuteDataTable("AnalysisDocPak.usp_updateOrInsertAnalysisDoc", sqlParams, CommandType.StoredProcedure);
                 rowAnalysis++;
                 flag = 0;
             }
         }
         JobLogHelper.WriteLog(new JobExecuteInfoArgs(Parent, "AnalysisDoc", data.Rows.Count, rowAnalysis, DateTime.Now, true, String.Empty, TraceLevel.Info));
     }
     catch (Exception ex)
     {
         JobLogHelper.WriteLog(new JobExecuteInfoArgs(this.Parent, ex.Message));
         throw ex;
     }
     finally
     {
         base.SynchState = SynchState.Stop;
     }
 }
Пример #4
0
 /// <summary>
 /// 执行方法
 /// </summary>
 public override void Execute()
 {
     base.SynchState = SynchState.Busy;
     try
     {
         m_EmrHelper = DataAccessFactory.DefaultDataAccess;
         DataTable data        = m_EmrHelper.ExecuteDataTable("select * from RECORDDETAIL t where t.createtime >= (select max(t.createtime) from ANALYSISDOC t )", CommandType.Text);
         int       rowAnalysis = 0;
         foreach (DataRow row in data.Rows)
         {
         }
         JobLogHelper.WriteLog(new JobExecuteInfoArgs(Parent, "AnalysisDoc", data.Rows.Count, rowAnalysis, DateTime.Now, true, String.Empty, TraceLevel.Info));
     }
     catch (Exception ex)
     {
         JobLogHelper.WriteLog(new JobExecuteInfoArgs(this.Parent, ex.Message));
         throw ex;
     }
     finally
     {
         base.SynchState = SynchState.Stop;
     }
 }