任务需求:
1、统计公司人员每周上交文章数量,每个部门有标准数量要求,每周五进行任务调度,如没达到数量人员,会以邮件方式发给个人,催发文章。达标者不发邮件。
2、邮件内容包括:人员姓名、每周标准数量、已完成数量、欠缺数量。
制作思路:
1、 调度器是基于SQL过滤好的数据,把每一条记录发给符合条件的人员。
如:通过SQL过滤好未达标者,需要发邮件的人员姓名、邮箱、和报表中需要看到的一些字段信息。达标者通过SQL过滤掉,即不发送。
2、 邮件中所看到的内容基于报表完成。
如:邮件中的姓名、文章个数、完成个数、欠缺个数,通过传参方式传到报表中,以便显示。
具体步骤:(模拟数据)
1、 编写sql语句,这也是很重要的一步。
select name,E_mail as mail,geshu ,2-geshu as qianque from
( select e.name,E_mail,count(*) as geshu from t_res t,employee e where RES_TYPE=10001
and res_path is not null and res_fatherid!=99999 and e.usernc=t.res_creator
and usernc in(SELECT usernc FROM addressBook,employee where dept='技术应用中心' and role='BI工程师'and employee.name=addressBook.name)
and CAST(res_createdate as datetime)<= getdate() and CAST(res_createdate as datetime) > dateadd(day,-7,getdate())
group by e.name,E_mail) a where a.geshu<2 and a.geshu>=0
//查询出某部门一周内文章数量小于2篇的人员,文章已交数量、欠缺数量、邮箱地址等。
如下图:
我们可以看到通过过滤我们过滤出三个没有达标的人员,也是调度要发送邮件的人员。
取出字段包括:name,mail,geshu,qianque //需要在调度器中配置的参数
2、 制作RAQ
此步即邮件中看到的内容。
这里我们不需要任何数据集,直接把SQL中取出的字段以参数的方式写到报表模板中。
配置参数:(注意数据类型更改)
报表模板如下图:
3、 调度器配置
部署调度器并登录。
1) 任务管理 ---添加任务---进入配置界面---基本属性设置如下:
2) 调度对象设置界面,需要配置地方以红框标出。
3) 任务参数设置界面
注:SQL中所有取出的字段名称,以参数方式放在此处,缺一不可。
4) 进入配置管理页面,配置邮件服务器参数如下:
5) 启动调度器,配置好第一次调度时间和周期。这里我们为了测试,点手动执行。
后台:
6) 检查邮箱,可收到邮件,如下图:
分别发到SQL所查询的人员