|
|
本帖最后由 wxp774777 于 2021-5-23 13:45 编辑
【myApps/OBPM版本号】:v4.4- sp 21 临时地址里4月30日上传版本
【浏览器类型】:Chrome/其他
【联系方式-QQ】:774777387
【联系电话】: 18079141110
【问题描述】:
1.定时任务中设置了一个每隔一分钟执行的脚步,脚本的目的是定时从人脸识别设备数据库中读取签到记录并与本地数据库配对,将结果写入表单用以后续使用。目前出现问题是定时任务启动以后会不定期自动停止,但是后台还是显示在running的状态,且运行次数不增加,需要手动停止运行并重新开始,无法核查到出错信息。
2.查询论坛帖子有手动在前台开启和停止定时任务的脚本,但时间久远,想问下4.4版本是否有功能一致的脚本代码。引用帖子链接:任务通过脚本调起
www.teemlink.com/bbs/forum.php?m ... 6&fromuid=48714
(出处: 天翎MyApps社区论坛)
附1:定时任务执行代码:
- var applicationid="11de-f053-df18d577-aeb6-19a7865cfdb6";
- var domainid="11e7-07e8-6ad6ab7f-977a-25e53bf4caad";
- var user="11e7-085e-3e59ccf2-977a-25e53bf4caad"
- var UserProcessBean = new Packages.cn.myapps.authtime.user.service.UserProcessBean();
- var UserVO = UserProcessBean.doView(user);
- var webUser = new Packages.cn.myapps.base.web.WebUser(UserVO);
-
- var rldqdxsxxsql=" select * from v_rldqdxsxx ";
- var DataSourceDesignTimeServiceImpl = new Packages.cn.myapps.designtime.datasource.service.DataSourceDesignTimeServiceImpl();
- var rldqddatas=DataSourceDesignTimeServiceImpl.queryDataSourceSQL("办公管理系统模板_DS",rldqdxsxxsql,applicationid)
- if(rldqddatas!=null){
- for(var rldqditerator = rldqddatas.iterator();rldqditerator.hasNext();){
- var map = rldqditerator.next();//取值
- var bj= map.get("班级");
- var kc= map.get("课程");
- var xsxm= map.get("学生姓名");
- var xq= map.get("item_校区");
- var xsbh= map.get("item_学生编号");
- var kcid= map.get("item_kcid");
- var rlid= map.get("item_rlid");
- var sid= map.get("item_sid");
-
- var createMonitoProcess = new Packages.cn.myapps.runtime.dynaform.document.ejb.DocumentProcessBean.createMonitoProcess(applicationid);
- var sql="select * from tlk_校区信息 where item_校区='"+xq+"'";
- var query = createMonitoProcess.queryBySQL(sql,domainid).datas;
- if(query!=null){
- var xqiter =query.iterator();
- if(xqiter != null && xqiter.hasNext()){
- doc = xqiter.next();
- var schoolid = doc.getItemValueAsString("schoolid");
- var weid = doc.getItemValueAsString("weid");
- }
- }
-
-
- var rlqdsjxxsql="select * from v_rlqddtxx where user_id ='"+rlid+"'and user_name ='"+xsxm+"' ";
- var wxkcdatas=DataSourceDesignTimeServiceImpl.queryDataSourceSQL("face",rlqdsjxxsql,applicationid)
- if(wxkcdatas!=null){
- for(var wxkciterator = wxkcdatas.iterator();wxkciterator.hasNext();){
- var map2 = wxkciterator.next();//取值
- var qdjq= map2.get("dev_address");
- var qdsj= map2.get("recog_time");
- var tpsrc1= map2.get("recog_photo");
- var tpsrc1 = tpsrc1.replaceAll("\\\","/");
- var tpsrc="rl.txgoa.com"+tpsrc1;
-
- var instrljxtsql="INSERT INTO `ims_wx_school_qdtask`( `weid`, `schoolid`, `sid`, `tid`, `qdjq`, `createtime`, `qdtime`, `rlid`) VALUES ('"+weid+"','"+schoolid+"','"+sid+"', '1','"+qdjq+"',unix_timestamp(now()) ,'"+qdsj+"','"+rlid+"')";
- var instrljxt = DataSourceDesignTimeServiceImpl.queryInsert('wxjxt', instrljxtsql,applicationid);
- instrljxt;
-
- var process = getDocumentProcess();
- var formProcess = getFormProcess();
- var subform = formProcess.doView("__Bu21JNz6sMIlWS1geac");//需要插入数据的表单ID值。可以通过数据库客户端查看那张表的formid字段值就可以。
- var newDoc = process.doNew(subform,webUser,createParamsTable());
- newDoc.setAuthor(user);
- newDoc.setIstmp(false);
- newDoc.setApplicationid(applicationid);
- newDoc.setDomainid(domainid);
- newDoc.addStringItem("校区",xq);
- newDoc.addStringItem("班级",bj);
- newDoc.addStringItem("课程",kc);
- newDoc.addStringItem("学生姓名",xsxm);
- newDoc.addStringItem("学生编号",xsbh);
- newDoc.addStringItem("kcid",kcid);
- newDoc.addStringItem("sid",sid);
- newDoc.addStringItem("签到机器",qdjq);
- newDoc.addStringItem("签到照片",tpsrc);
- newDoc.addDateItem("入校时间", qdsj);
- process.doCreate(newDoc);
-
- }
- }
- }
- var upsql="update `tlk_校区信息` , `tlk_人脸识别记录回传` set `tlk_人脸识别记录回传`.ITEM_WEID = `tlk_校区信息`.ITEM_WEID,`tlk_人脸识别记录回传`.ITEM_SCHOOLID =`tlk_校区信息`.ITEM_SCHOOLID WHERE `tlk_人脸识别记录回传`.`ITEM_校区` = `tlk_校区信息`.`ITEM_校区`";
- var xqup= DataSourceDesignTimeServiceImpl.createOrUpdate("办公管理系统模板_DS",upsql,applicationid);
- }
复制代码 |
|