1. 概述
现有内部人员主数据,如下图,其数据维护流程为:新增或修改产品部的人员需要审批用户1审批,新增或修改事业部的人员需要审批用户2审批。可从填报数据中获取维护的人员到底属于事业部还是产品部,BMMC字段存放的是人员所属部门。
接下来,我们来看下此场景下的工作流该如何制作。
2. 操作步骤
2.1 制作工作流
1)绘制流程图及基本设置参考制作《主数据维护工作流》完成下图工作流绘制,并完成url活动的设置,各审批活动办理人的设置,其中审批活动1的办理人为审批用户1,审核活动2的办理人为审批用户2。
接下来我们来设置第一个网关的流向条件。首先,定义一个部门名称变量@BMMC,如下动图。
接着,我们设置流向条件,流向条件表达式中使用上面定义的变量@BMMC,左边条件流的流向条件为@BMMC='产品部',右边条件流的流向条件为@BMMC='事业部',如下动图。
接着给两个审批活动添加后置脚本,实现退回重审时修改主数据状态。添加的脚本如下:
import com.esen.emasterdata.workflow.MasterdataOperWorkflowUtils;
import com.esen.util.StrFunc;
import com.esen.ecore.spring.SpringContextHolder;
import com.esen.emasterdata.api.service.MasterDataMaintainService;
import com.esen.emasterdata.api.constant.EmdmConst;
MasterdataOperWorkflowUtils.afterApplyWorkflow(MASTERID,SYSID,OPER,I_FLOWTO);
if (StrFunc.compareStr(I_FLOWTO, "2")) {
MasterdataOperWorkflowUtils.afterApplyWorkflow(MASTERID,SYSID,OPER,I_FLOWTO);
}
然后,给最后一个活动:“脚本活动”添加脚本,实现审批通过时修改主数据状态。添加的脚本如下:
import com.esen.emasterdata.workflow.MasterdataOperWorkflowUtils;
import com.esen.util.StrFunc;
import com.esen.ecore.spring.SpringContextHolder;
import com.esen.emasterdata.api.service.MasterDataMaintainService;
MasterdataOperWorkflowUtils.afterApplyWorkflow(MASTERID,SYSID,OPER,"1");
MasterDataMaintainService maintainService= SpringContextHolder.getBean(MasterDataMaintainService.class);
maintainService.removeDataActInfo(MASTERID,SYSID);
最后,保存并发布该工作流,完成工作流制作。
2.2 绑定工作流并参数赋值
在【主数据模型】-【审批流程】页面,给各主数据操作绑定审批流程为上面新建的工作流,并添加工作流参数设置,将工作流中参数与基本视图字段进行对应,如图所示,保存设置后发布模型。
2.3 验证工作流
在【主数据维护】-【主数据申请】页面新增一个产品部的员工,如图。
提交后在主数据申请列表页面查看审批状态,状态显示待sp处理(审批用户1),点击文字查看工作流流程详情。
在【主数据维护】-【主数据申请】页面新增一个事业部的员工,如图。
在主数据申请列表页面查看审批状态,状态显示待sp2处理(审批用户2),点击文字查看工作流流程详情。
请先登录