天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

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

[已解决] 如何做一个超时提醒的定时任务?

[复制链接]
June 发表于 2021-6-29 21:06:10 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v4.4- sp XX
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:


如何做一个超时提醒的定时任务?






1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\"已解决可结帖\"
 楼主| June 发表于 2021-6-29 21:06:53 | 显示全部楼层
你好可以参考这个:
#include "sysfunction";        
(function(){        
        var title = "请尽快确认事件等级!";        
        var content = "汇报的事件超过24小时未确认等级,请相关人员尽快确认事件等级!";        
        var starttodaytime =adjustMonth(getToday(),-2);        
        var starttoday= $TOOLS.DATE_UTIL.format(starttodaytime,"yyyy-MM-dd");        
        var sqlappid=sysfunction.APPLICATIONID;              
        var process = createProcess("cn.myapps.runtime.datasource.service.DataSourceService");        
        var sql = "SELECT ID,DOMAINID,FORMID ,ITEM_APPLICANTID,ITEM_OPINION_LEADER,LASTMODIFIED,ITEM_BIAOID ,ITEM_ALLID,ITEM_CES,ITEM_COMPANY,ITEM_APPLICANT,ITEM_TITLE from(select * from(SELECT ITEM_CES,ITEM_ALLID,ITEM_OPINION_LEADER,LastModified,DOMAINID,ID,FORMID,APPLICATIONID,ITEM_BIAOID,ITEM_AREA,ITEM_COMPANY,ITEM_APPLICANT,ITEM_APPLICANTID,ITEM_APPLY_DATE,ITEM_HAPPEN_DATE,ITEM_ADDRESS,ITEM_PARTY,ITEM_TITLE,ITEM_EVENT_WEDGE,ITEM_EVENT_PROPERTY,ITEM_EVENT_LEVEL,ITEM_TIMES AS ITEM_TIMESS,ITEM_STATE FROM TLK_WSSJ_APPLICATION WHERE ITEM_STATE = '汇报中' ORDER BY LASTMODIFIED DESC)AB GROUP BY ITEM_BIAOID) tlk WHERE ITEM_STATE = '汇报中' AND (ITEM_EVENT_LEVEL = '' OR ITEM_EVENT_LEVEL IS NULL) ";        
        var query = process.queryDataSourceSQL(sysfunction.DATASOURCENAME,sql,sqlappid);        
        if (query!=null && query.size()>0) {        
                for(var iter=query.iterator(); iter.hasNext();){         
                        var data = iter.next();        
                        var hbid = data.get("ID");        
                        var formid = data.get("FORMID");        
                        var eventTitle = data.get("ITEM_TITLE"); //事件名称        
                        var eventLevel = "0";//事件等级未确认        
                        var status = "2";//待确认        
                        var appid = data.get("ITEM_APPLICANTID");//申请人ID        
                        var appName = data.get("ITEM_APPLICANT");//申请人        
                        var deptid = data.get("ITEM_COMPANY");               
                        var depName =sysfunction.getDepNameById(deptid); //公司名        
                        var description = depName + appName + content        
                        var eventId = data.get("ITEM_BIAOID");//事件id        
                        var srart = format(data.get("LASTMODIFIED"),"yyyy-MM-dd HH:mm:ss");        
                        var end = format(getToday(),"yyyy-MM-dd HH:mm:ss");        
                        var diff = diffHours(srart,end);        
                        if(diff >= 24){        
                                var url = sysfunction.getWeiXinEventUrl(formid, hbid,eventId,eventLevel,status);        
                                var leader = data.get("ITEM_OPINION_LEADER");               
                                if( leader != null && leader.trim().length() > 0) {                                          
                                        var leaders = splitText(leader, ";");        
                                        for (var i=0; i<leaders.length; i++) {
                                                var userid = leaders[i];
                                                var flag = sysfunction.userContainsRoles(userid,"分公司负责人;区域经理;公共关系区域总监;公共关系总经理;行政总裁");
                                                if(flag){//发送提醒
                                                        if(!(userid.equals(appid)) ) {
                                                                var users = getUserById(userid);  
                                                                if(users != null){  
                                                                        println("发送给角色人员-"+users.getName() + "---"+title+"   "+description);      
                                                                        sendWeixinRichTextMessage(userid, title, description, url, "", sysfunction.DOMAINID, sysfunction.APPLICATIONID);  
                                                                }                                                          
                                                        }                                                  
                                                }                                                 
                                        }            
                                        //sendWeixinRichTextMessage(users.getLoginno(), subject, content, url, "", sysfunction.DOMAINID, sysfunction.APPLICATIONID);           
                                        //发送给提交人自己        
                                        var app = getUserById(appid);         
                                        var ownstatus = "0"; //无状态        
                                        var ownurl = sysfunction.getWeiXinEventUrl(formid, hbid,eventId,eventLevel,ownstatus);        
                                        var owndescription = "你提交的" + eventTitle + "事件超过24小时未确认等级,请提醒相关人员尽快确认事件等级!";        
                                        if(app != null ){        
                                                println("发送给提交人-"+app.getName() + "---"+title+"   "+owndescription);        
                                                sendWeixinRichTextMessage(appid, title, owndescription, ownurl, "", sysfunction.DOMAINID, sysfunction.APPLICATIONID);   
                                           println("发送完成");  
                                        }        
                                }        
                        }        
                }                        
        }        
})();

本版积分规则

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

GMT+8, 2026-8-12 20:37

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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