条件示例
配置条件时,支持表达式和Groovy脚本两种类型,推荐使用Groovy,且下列例子均使用的Groovy脚本类型
获取主表字段
form_data_snapshot["数据源"]["数据表"][0]["字段名"]
循环遍历明细表数据
//示例:判断采购物料中是否存在电子产品类型的物料
//定义结果变量
Boolean result = false;
//遍历明细表数据
form_data_snapshot["数据源"]["明细表"].each{
if(it["type"] == "电子产品"){
result = true;
return;
}
}
return result;
判断职位
import com.zerocloud.common.core.model.ou.ZcOUMember
def userName=ZcProcessOuUtils.getInitiator(execution).getUserName();
List<ZcOUMember> ouMembers = ZcProcessOuUtils.getOUMembersByUserName(userName);
Boolean result = false;
ouMembers.each{
//判断职位时,根据职位编码来判断
if(it["positionCode"] == "CEO"){
result = true;
return;
}
}
return result;
判断发起人所属部门级别判断
//1.initiator_ouMemberSid为发起人ouMemberSid,一人多职时如果发起人切换发起职位,此值会跟随自动调整;
//2.“子公司”可替换为所需判断的具体部门级别
//3.上述条件包含了,发起人所在直接上级与间接上级部门中是否包含“子公司”级
ZcProcessOrgUtils.getOUMemberParentLevelOU(initiator_ouMemberSid, "子公司") != null