# 冗余节点合并

# 需求场景

  • 任意审批节点退回申请人,修改完成后可直接提交原退回节点


# 错误演示

  • 为实现任意审核节点退回,增加4处填表人修改与项目负责人确认环节
  • 相同功能节点太多,不利于维护



# 优化后

  • 利用流程全局变量+动态脚本判断,控制流程走线



# 开发要点

  • 在各审批节点退填表人动作 增加执行脚本
//设置全局变量 varReturnSource
//此处设置变量值为步骤节点名称 YxApprover
$.put("varReturnSource","YxApprover");
1
2
3



  • 在“重新提交”动作后增加 判断节点
//根据变量 varReturnSource 返回对应action
//变量为null和空值 返回默认YxApprover步骤 其他情况返回变量值
$if(null==$.get("varReturnSource") || "".equals($.get("varReturnSource")) 
    || "ProjectLeader".equals($.get("varReturnSource"))
){
  return "YxApprover";
}

return $.get("varReturnSource");
1
2
3
4
5
6
7
8
9