流程中有节点 A B C
其中B C的审批人为同一人。在C中写审批时限脚本如下:
function getApproveDeadLine(nodeid) {
var lastApprover = getLastApprover();
var deadLine = "2100-01-01 00:00:00";
var doc = $CURRDOC.getCurrDoc();
var stateMachineUtil = new Packages.cn.myapps.core.workflow.engine.StateMachineUtil();
var params = getParamsTable();
var fd = doc.getState().getFlowVO().toFlowDiagram();
var node = fd.getElementByID(nodeid);
var domainid = getDomainid();
var applicationid = getApplication();
var webUser = getWebUser();
var users = stateMachineUtil.getPrincipalList(doc, params, node, domainid,
applicationid, webUser);
println(users + "======approve=users====");
for (var iter = users.iterator(); iter.hasNext();) {
var uservo = iter.next();
println("lastApprover:"+lastApprover.getActorid());
println("curentApprover:"+uservo.getId());
if (lastApprover.getName().equals(uservo.getName())) {
deadLine = "2014-01-01 00:00:00";
break;
}
}
println("deadLine"+deadLine+" nodeid: "+nodeid);
return deadLine;
}
经过测试,这段脚本是在B提交的时候执行的,这时候var lastApprover = getLastApprover();
获得的值实际上是A节点的审批人,所以它没有办法跳过C节点,请问这是否是BUG? |