本帖最后由 wcf123 于 2022-9-16 09:19 编辑
【myApps/OBPM版本号】:v4.4- sp XX
【浏览器类型】:360/其他
【联系方式-QQ】:871066339
【联系电话】: 15063361152
【问题描述】:编写定时任务,通过数据库查询数据后与当前日期进行比对,超时后进行数据插入,发现报错:
脚本如下:
(function(){
var value1="";
var process = getDocumentProcess();
var sql=" select * from tlk_任务执行 where item_完成状态='未完成'";
var query1 = process.query1BySQL(sql,'__DsqlZpZpf4NpJfYc8Vs');
Packages.java.lang.System.out.println("Today is" + query1);
if(query1!=null){
for (var iter = query1.iterator(); iter.hasNext();) {
var data1 = iter.next();
value1 = data1.getItemValueAsDate("完成时间");
var time = getToday();
Packages.java.lang.System.out.println(value1,time)
if(time>value1){//超时
var formProcess = getFormProcess();
var userVO = getUserById('__LegOrBWhGRYwWWZDPXG'); //根据接收人id获取用户对象
var webUser =new Packages.cn.myapps.base.web.WebUser(userVO);
var subform=formProcess.doView("__p61pYQcWnPOOBnAYiLZ");
var doc = process.doNew(subform,webUser,createParamsTable());
doc.addStringItem("任务标题",data1.getItemValueAsString("任务标题"));
doc.addDateItem("完成时间",data1.getItemValueAsDate("完成时间"));
doc.addStringItem("分配人",data1.getItemValueAsString("分配人"));
doc.addDateItem("分配时间",data1.getItemValueAsDate("分配时间"));
doc.addStringItem("完成状态","逾期");
doc.addStringItem("任务id",data1.getItemValueAsString("任务分配id"));//任务分配id
doc.addStringItem("任务执行人",data1.getItemValueAsString("执行人"));
doc.addStringItem("任务内容",data1.getItemValueAsString("任务内容"));
process.doCreate(doc);
}
}
}
})()
提示 for (var iter = query1.iterator(); iter.hasNext();) { 这句话中 iterator报错 ,脚本正确写法应该如何呢?
1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\"已解决可结帖\"
|