目录

每月定点算报表发邮件

用例详情

每月最后一天17点将工资核算表以邮件的正文的方式推送给董事长并抄送HR经理。

用例解析

此用例重点需要实现每月最后一天17点定时发送邮件,此时可通过Icycle任务周期循环接口实现此功能。

用例实现

TaskInfo ti = new TaskInfo();// 任务信息类
ti.setTaskClass("com.runqian.schedule.task.ReportTask");//任务类
ti.setTaskCycleclass("com.runqianapp.schedule.example.cycle.MonthEndCycle");//详见自定义周期-每月最后一天
ti.setTaskListenerClass("");//任务监听类,可以为空
ti.setTaskStarttime("2013-08-31 17:00:00");//任务首次执行时间
ti.setTaskTestclass("com.runqian.schedule.test.TrueTest");//执行测试类,必须进行设置
ti.setTaskTestparam("");//执行测试类参数,若设置的执行测试类需要传递参数,则可以使用此方法设置参数值
idba = ScheduleConfig.getInitDBAccess();//获取数据库连接
taskId = PKGenerator.getInstance().getId("t_task.task_id", idba);// 得到任务主键值
ti.setTaskId(taskId);//设置任务id
ti.setTaskName("调度器示例1" + taskId);//设置任务名称
TaskManager.addTask(ti.toJSON());//添加任务(对应数据库t_task表)
args_ids = PKGenerator.getInstance().getIds("t_taskargument.arg_id", 8, idba);// 得到任务参数主键值,这里创建8个参数
ArgumentInfo info1 = new ArgumentInfo();// 任务参数类
info1.setArgId(args_ids[0]);//参数id
info1.setTaskId(taskId);//参数所属的任务id
info1.setArgName("reportFile");//参数名称 此参数代表调度的资源
info1.setArgTitle("报表导出名字");//别名
info1.setArgType(ArgumentInfo.TYPE_VALUE);//参数类型:ArgumentInfo.TYPE_VALUE:字符串;ArgumentInfo.TYPE_EXP:润乾表达式
info1.setArgValue("00,工资单.raq");//参数值 00:相对路径(相对reportHome)10:绝对路径 20:平台的订阅调度,值是res_id
说明:详细代码请参考DemoTaskManager.java