fixflow从6.0版本开始使用新的域名org.foxbpm
新的git地址:https://github.com/FoxBPM/FoxBPM
foxbpm根据开源后用户反馈信息,新版本对用户代理功能进行了优化,新版本用户代理功能介绍:
需求描述
在实际的用户环境中,请假是被允许的,但是在一些工作流程中,某人请假后,他需要审批的流程不能停滞,需要有人代替他处理他的工作,由此,就产生了任务代理一种功能。
使用场景
公司财务部审批发票节点操作员A在7月1号到7月30号请假,根据部门协调,审批发票的工作就交给了同事B,由B代理A在7.01-7.30时间内审批发票。
表结构说明
表1:代理主表:Foxbpm_agent
id | 唯一主键 |
Agent_user | 被代理人(发起者) |
startTime | 代理开始时间 |
endTime | 代理结束时间 |
status | 启用状态(1是启用) |
表2:代理明细表:foxbpm_agent_details
id | 唯一主键 |
Agent_id | 代理编号(外键) |
processDefnition_key | 代理流程(‘_all_flow_’表示所有流程) |
Agent_toUser | 代理人(接受者) |
表数据
上面实际场景中的数据如下:
表3:代理主表数据:Foxbpm_agent
id | Agent_user | startTime | endTime | status |
34e21141 | A | 2014-07-01 | 2014-07-30 | 1 |
表4:代理明细表数据:Foxbpm_agent_details
id | Agent_id | Process_key | Agent_toUser |
8e96-af7d | 34e21141 | OA_EXPENSIVE | B |
API接口
- 任务查询API示例(查询A代理给B的所有任务)
- TaskQuery taskQuery = taskService.createTaskQuery();
- taskQuery.taskAssignee("B");
- taskQuery.taskCandidateUser("B");
- taskQuery.isAgent(true);
- taskQuery.agentId("A");
- 其他相关API
- /**
- * 增加代理
- * 会级联插入对象中的代理明细信息
- * @param agentInfo 代理实体
- */
- void addAgent(AgentEntity agentInfo);
- /**
- * 增加代理明细
- * @param agentDetails 代理明细
- */
- void addAgentDetails(AgentDetailsEntity agentDetails);
- /**
- * 更新代理主表信息,{不会}级联更新明细
- * @param agentInfo
- */
- void updateAgentEntity(AgentEntity agentInfo);
- /**
- * 更新代理明细
- * @param agentDetails
- */
- void updateAgentDetailsEntity(AgentDetailsEntity agentDetails);
- /**
- * 删除代理信息,
- * 会级联删除代理明细
- * @param agentId
- */
- void deleteAgent(String agentId);
- /**
- * 删除代理明细
- * @param agentDetailsId
- */
- void deleteAgentDetails(String agentDetailsId);
foxbpm6.0最新版本尚未发布稳定版本,新项目git地址:https://github.com/FoxBPM/FoxBPM
大家如果有好的思路或者对fixflow有好的建议,可以发邮件或者留言给我,开源需要大家的力量~