天涯何

博客园 首页 新随笔 联系 管理

定时器

//定义一个定时器类(类名格式:自定义功能名 + _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 2022-04-11 23:32  天涯何  阅读(90)  评论(0)    收藏  举报