以采购为例,说明采购申请–总经理审批的简单流程
工作流程图:采购申请并未设置为Task节点,但最好应该设为Task节点
工作流核心问题:如何保证采购申请的审批人是应当的审批人?
1、若不用工作流:可以在申请表中第一个审批人都加入一个对应“审批是否通过”的字段,第一审批人直接查询所有申请表,第N审批人查询前面所有审批人对应“审批是否通过”字段为true的申请表
2、activiti思路:建立Task节点,第一个Task节点对应一个业务操作,每个Task都有一个Assignee(执行者),而采购申请表、上一级的审批表通过流程变量依次往下一Task节点传, 并且在下一节点获取,即可以知道Task对应的Assignee有哪些对应的采购申请的审批以及上一审批人的审批意见。
代码片段:
第一步:填写申请并启动流程
/**
1. 采购提交:提交人user,采购申请表purchaseApply,采购申请物资列表purchaseApplyItems,一个采购申请表中有多项采购物资列表
2. userAndRole表为用户Id和角色的对应表,可以通过用户的Id来查询用户的角色,而用户的角色在这里被设置为Task的Assignee(执行者)
3. 需要将采购申请表、采购申请物资列表保存到自己的数据库
*/