找回密码
 注册成为天翎用户
查看: 1024|回复: 3

[已解决] 定时任务问题

[复制链接]
osboer 发表于 2017-7-5 10:06:29 | 显示全部楼层 |阅读模式
我希望实现这样的效果,不知道使用什么方式比较好?
一张单据上面有一个时间字段,一个状态字段(单选框:是/否/其它)。
如果超过时间字段三个月后,状态字段自动变成"否"。
karrman 发表于 2017-7-5 18:16:34 | 显示全部楼层
  1. (function(){
  2.     //对于里程碑明细,如果状态为进行中,要求结束时间早于当前系统时间,则为延时,需更新执行情况
  3.         //对于项目主计划,如果状态为进行中的里程碑明细,最大要求结束时间早于当前系统时间,则为延时,需更新执行情况
  4.     var tis="";
  5.     var applicationid="11e5-26d9-7e8b1146-8e99-6ba6036284cd";
  6.         var domainid="11e4-e7f0-a1a96d63-a4df-d5a3d77a980c";
  7.         var process = createProcess("cn.myapps.core.dynaform.dts.datasource.ejb.DataSourceProcess");
  8.         var process2 = getDocProcess(applicationid);
  9.                                                                
  10.     var updatesql1="update  tlk_里程碑明细 set item_执行情况='延时' where ITEM_状态='进行中' and (ITEM_要求结束时间 < GETDATE() )";
  11.         
  12.         process.createOrUpdate("CRM",updatesql1,applicationid);
  13.         var updatesql2= " update  tlk_项目主计划排产管理 set item_执行情况='延时' where ITEM_状态='进行中' and  id in ( select ITEM_主计划ID "
  14.                     +"  from tlk_里程碑明细  where ITEM_状态='进行中'  group by ITEM_主计划ID  having MAX(ITEM_要求结束时间) > GETDATE())";
  15.         process.createOrUpdate("CRM",updatesql2,applicationid);
  16.         
  17.         //距离ITEM_要求结束时间前3天,发邮件给负责人;
  18.         var t_date=format(getToday(), "yyyy-MM-dd");
  19.         var data_sql="select * from tlk_里程碑明细 where  ITEM_状态='进行中' and   CONVERT(varchar(10),DATEADD(day,-3,ITEM_要求结束时间),120) ='"+t_date+"'  ";
  20.         println("data_sql====="+data_sql);
  21.         var notice_mail=process2.queryBySQL(data_sql,domainid).datas;
  22.         if(notice_mail!=null){
  23.                 for(var iter=notice_mail.iterator();iter.hasNext();){
  24.                         var doc1=iter.next();
  25.                         var docid=doc1.getId();
  26.                         var userid=doc1.getItemValueAsString("负责人")
  27.                         var to=getUserById(userid).getEmail();
  28.                         var subject="项目主计划里程碑任务还有三天就延时";
  29.                         //var url="http://localhost:8080/obpm/portal/dynaform/document/view.action?_docid="+docid+"&_formid=11e5-bf27-bddf0eff-9be5-cd331af8fb75&_templateForm=11e5-bf6a-5609f59a-a1e8-9de6c3546a07&signatureExist=false";
  30.                         var url1 = "http://localhost:8080/obpm"+"/portal/dynaform/view/displayViewWithPermission.action?_viewid=11e5-ba7e-56fc2a31-8f24-0d6a2cd44228&clearTemp=true&application=11e5-26d9-7e8b1146-8e99-6ba6036284cd&_resourceid=11e5-ba7f-3398c1a1-8f24-0d6a2cd44228 ";
  31.                         //var content="项目名称: "+doc1.getItemValueAsString("项目名称")+";产品名称:"+doc1.getItemValueAsString("产品名称")+" ;里程碑:"+doc1.getItemValueAsString("里程碑");
  32.                         var content="<html><head><meta http-equiv="content-type" content="text/html; charset=gb2312" /> "
  33.                        + "<title> 项目主计划里程碑任务</title></head><body><a href="+url+" target="_blank">请处理</a></body></html>";
  34.                         println("content===="+content);
  35.                         sendEmailBySystemUser(to, subject, content);
  36.                         
  37.                 }
  38.                
  39.         }
  40.         
  41.         

  42.     return tis;
  43. })()
复制代码
回复

使用道具 举报

 楼主| osboer 发表于 2017-7-6 17:09:12 | 显示全部楼层
可以结贴,谢谢!
回复

使用道具 举报

karrman 发表于 2017-7-6 18:10:55 | 显示全部楼层
感谢反馈,可以结贴!
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 21:20

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表