随笔 - 95,  文章 - 0,  评论 - 0,  阅读 - 14253

定时器

复制代码
//定义一个定时器类(类名格式:自定义功能名 + _Timer),且继承H3.SmartForm.Timer类

public class MyTest_Timer: H3.SmartForm.Timer
{
    //构造方法,跟类名保持一致,里面不必书写代码,但是必须存在
    public MyTest_Timer() { }
    //重写定时器引擎执行的方法,必须存在,且方法名必须为OnWork
    protected override void OnWork(H3.IEngine engine)
    {
        //此方法每隔4小时调用一次
        Execute_1(engine);

    }
复制代码
复制代码
定时提醒消息,测试版(4小时提醒)
using
System; using System.Collections.Generic; using System.Text; using H3; using System.Data; public class D002033374297a54cd74616a92878498743df9a: H3.SmartForm.SmartFormController { public D002033374297a54cd74616a92878498743df9a(H3.SmartForm.SmartFormRequest request): base(request) { } protected override void OnLoad(H3.SmartForm.LoadSmartFormResponse response) { MyTest_Timer1 timer = new MyTest_Timer1(); timer.DoTask(this.Engine); base.OnLoad(response); } protected override void OnSubmit(string actionName, H3.SmartForm.SmartFormPostValue postValue, H3.SmartForm.SubmitSmartFormResponse response) { base.OnSubmit(actionName, postValue, response); } } public class MyTest_Timer1: H3.SmartForm.Timer { //构造方法,跟类名保持一致,里面不必书写代码,但是必须存在 public MyTest_Timer1() { } //重写定时器引擎执行的方法,必须存在,且方法名必须为OnWork protected override void OnWork(H3.IEngine engine) {
    //4小时提醒取消注释
// string sql = "select * from I_D002033924d22d0dbd243ce808548bc6528367d where F0000003<now() and F0000002>0"; // DataTable Dt = engine.Query.QueryTable(sql, null); // if(Dt != null && Dt.Rows.Count > 0) // { // foreach(DataRow item in Dt.Rows) // { // H3.DataModel.BizObject biz = H3.DataModel.BizObject.Load(H3.Organization.User.SystemUserId, engine, "D002033924d22d0dbd243ce808548bc6528367d", item["ObjectId"] + string.Empty, false); // SendMessage(engine, biz); // } // } DoTask(engine); } //独立出来在提交事件中调用 //点击提醒 public void DoTask(H3.IEngine engine) { string sql = "select * from I_D002033924d22d0dbd243ce808548bc6528367d where F0000003<now() and F0000002>0"; DataTable Dt = engine.Query.QueryTable(sql, null); if(Dt != null && Dt.Rows.Count > 0) { foreach(DataRow item in Dt.Rows) { H3.DataModel.BizObject biz = H3.DataModel.BizObject.Load(H3.Organization.User.SystemUserId, engine, "D002033924d22d0dbd243ce808548bc6528367d", item["ObjectId"] + string.Empty, false); SendMessage(engine, biz); } } } public void SendMessage(H3.IEngine engine, H3.DataModel.BizObject biz) { H3.Task.UserTask task = new H3.Task.UserTask(); task.ObjectId = Guid.NewGuid().ToString();//Guid码 //select * from H_user where name like '%%' and state=0 //查询用户名ididu8im task.Sender = H3.Organization.User.SystemUserId;//任务的发起人id task.UserId = "8b9de57e-2ebc-4d75-82cf-d891b0b7e09b"; //任务的接收人id task.AppCode = "D002033lingtest";//应用编码(appcode) task.TaskType = H3.Task.TaskType.Reminder; //任务类型为提醒 task.SchemaCode = "D002033924d22d0dbd243ce808548bc6528367d"; //表单编码 task.TargetType = H3.LinkTargetType.BizObject; //关联类型 task.TargetId = biz.ObjectId; //关联业务对象的ID task.TargetName = biz.Name; //关联业务对象的数据标题 task.Name = "您的客户跟进日期快要到了,请尽快跟进!"; //提醒标题 task.Summary = "您的客户跟进日期快要到了,请尽快跟进!"; //提醒的内容 task.AlertTime = DateTime.Now; // 提醒时间 task.ReminderType = H3.Task.ReminderType.Once; //提醒类型 task.StartTime = DateTime.Now; //开始时间 task.EndTime = DateTime.Now; //截止时间 task.TaskState = H3.Task.TaskState.Unfinished; //任务状态 task.AlertState = H3.Task.AlertState.Waiting; //提醒的状态 engine.Request.Engine.TaskManager.AddTask(task);//添加任务 } }
复制代码

 

posted on   天涯何  阅读(78)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示