你好可以参考这个:
#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("发送完成");
}
}
}
}
}
})(); |