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)); }
/// <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; } }
/// <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; } }
/// <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; } }