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

[已解决] 关于定时任务开发调试遇到的问题

[复制链接]
wxp774777 发表于 2021-2-1 18:04:52 | 显示全部楼层 |阅读模式
本帖最后由 问题汇总专家 于 2021-4-2 12:18 编辑

版本:V4.4 SP21 2021-01-24版

具体场景:系统使用定时任务,每天晚上自动核算每个老师的课时总额,根据课时总额计算课时单价  因带班人数不断变化,所以需要每天核算

实现方法:定时任务,设定每晚凌晨一点,通过角色id获取每个老师的用户id  根据用户id去数据库中统计每个老师的总课时量,根据总课时量计算单次课时工资单价,并把计算好的结果写入表单

当前通过按钮已测试通过的代码:
(function(){              
             var day= getToday();            
              var rq = format(day,"yyyy-MM-dd");            
             var applicationid="11de-f053-df18d577-aeb6-19a7865cfdb6";            
             var domainid="11e7-07e8-6ad6ab7f-977a-25e53bf4caad";            
             var roleid= getRoleIdByName("教师");        //获取角色id            
             var deptUnderList=getDepartmentByLevel(1);            
             for(var iter1=deptUnderList.iterator();iter1.hasNext();){            
               var deptUnder=iter1.next();            
               var xqid=deptUnder.getId();  //获取校区id            
               Packages.java.lang.System.out.println(xqid);      
             var roles = getUsersByDptIdAndRoleId(xqid,roleid);            
             for(var iter=roles.iterator();roles !=null && iter.hasNext();){              
               var roles1 = iter.next();            
               var user = roles1.getId();  
               Packages.java.lang.System.out.println(user);   
  
               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 username = webUser.getName();            
  Packages.java.lang.System.out.println(username);   
                 
              var dbssql=" select * from  v_bjxx where 主班老师='"+username+"' and item_状态='开课' ";            
              var dbsprocess = getDocProcess(applicationid);            
              var dbs=dbsprocess.countBySQL(dbssql,domainid);            
                          
              var dykssql=" select sum(单月课时) from  v_bjxx where 主班老师='"+username+"' and item_状态='开课' ";            
              var dyksprocess = getDocProcess(applicationid);            
              var dyks=dyksprocess.sumBySQL(dykssql,domainid);            
                  
             var value="";            
             var yj = dyks;            
             if ( yj <= 300 ){            
              value = 1.2;            
             }else if ( yj <= 460 ){            
                     value = 1.4;            
             }else if ( yj <= 650 ){            
                     value = 1.6;            
             }else if ( yj <= 800 ){            
                     value = 1.8;            
             }else if ( yj > 800 ){            
                     value = 2.2;            
             }else {            
                     value = "系统错误";            
             }            
                          
             var  process = getDocumentProcess();            
             var formProcess = getFormProcess();            
             var subform = formProcess.doView("11e9-e533-3fb4b1b5-8890-e77511fb2d96");//需要插入数据的表单ID值。可以通过数据库客户端查看那张表的formid字段值就可以。            
             var newDoc = process.doNew(subform,webUser,createParamsTable());            
                             newDoc.setAuthor(user);            
                             newDoc.setIstmp(false);            
                             newDoc.setApplicationid(applicationid);            
                             newDoc.setDomainid(domainid);                     
                             newDoc.addStringItem("教师ID",user);            
                             newDoc.addStringItem("教师姓名",username);            
                             newDoc.addStringItem("带班数",dbs);            
                             newDoc.addStringItem("月基准课时",dyks);            
                             newDoc.addStringItem("课时单价",value);            
                     newDoc.addDateItem("日期", getToday());            
                             process.doCreate(newDoc);                     
                                  
             }            
             }            
             })();



问题描述:在按钮中自定义脚本测试没问题,放到任务中无任何反应,由于任务并没有输出和调试界面,所以也不清楚具体出错在哪?

问题需求:1.能否提供一下具体任务脚本开发调试 的界面 或者输出到控制台或者debug页面的方法
2.由于后期主要涉及数据库操作,能否提供一下以下函数的任务界面写法
queryBySQL(sql)
findBySQL(sql)
countBySQL(sql)
sumBySQL(sql)

queryByDSName(dsName,sql)
insertByDSName(dsName,sql)
updateByDSName(dsName,sql)
deleteByDSName(dsName,sql)
nuan1989 发表于 2021-2-2 10:04:49 | 显示全部楼层
1.能否提供一下具体任务脚本开发调试 的界面 或者输出到控制台或者debug页面的方法


-------------------
2.由于后期主要涉及数据库操作,能否提供一下以下函数的任务界面写法
自己去群里找文档, 文档太大上传不了.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
回复

使用道具 举报

问题汇总专家 发表于 2021-4-2 12:18:17 | 显示全部楼层
关于您所提出的问题,目前同事这边已经给出出解决方法了哦,由于该帖楼主超过7天未响应,故该贴状态改为"已解决",后续如有其他问题可重新发帖或在我们的技术QQ群发出响应,我们将为您安排技术同事解答哟~~
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-15 00:11

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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