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

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

[流程] 审批时限自动审批【脚本-自动审批】

[复制链接]
kimi 发表于 2013-10-27 10:12:52 | 显示全部楼层 |阅读模式
Q:判断当前提交人和下一级审批人是不是同一个人来的,如果是同一个人则我自动中过下一节点,请问该功能怎么实现呢?
A:您好:如下现在表单对应流程的是:开始---登记---审批---归档---完成  这里的登记、审批、归档是人工节点,如果想实现当审批节点的处理人和归档节点处理人是同一个人时,您可以开启归档节点的审批时限功能,然后采用脚本模式,脚本代码的逻辑为如果是同一个人时返回一个比现在小的日期,如果不是同一个人时返回一个比现在大很多的日期,归档节点审批时限脚本类似如下:

  1. var value1=getLastApprover();//上一步提交者(审批节点的提交者)
  2. var value2="2100-01-01 00:00:00";
  3. var doc = $CURRDOC.getCurrDoc();
  4. var stateMachineUtil = new Packages.cn.myapps.core.workflow.engine.StateMachineUtil();
  5. var params = getParamsTable();
  6. var fd = doc.getState().getFlowVO().toFlowDiagram();
  7. var node = fd.getElementByID('1382621712804');//传入要获取审批人的节点的id(归档节点的id)
  8. var domainid=getDomainid();
  9. var applicationid=getApplication();
  10. var webUser=getWebUser();
  11. //获取归档节点审批人的集合
  12. var users = stateMachineUtil.getPrincipalList(doc,params,node,domainid,applicationid,webUser);//返回的是用户对象的集合
  13. println(users+"  =======users====");
  14. for(var iter = users.iterator(); iter.hasNext(); ) {
  15.     var uservo = iter.next();
  16.     if(value1.getName().equals(uservo.getName())){  //判断如果上一步提交者也可以审批当前节点,那审批时间就返回一个比当前时间小的日期
  17.              value2="2013-01-01 00:00:00";
  18.              break;
  19.         }              
  20. }
  21. value2;
复制代码

本版积分规则

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

GMT+8, 2026-8-12 15:07

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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