FoxBPM任务代理功能及相关接口说明

 

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接口

 

  1. 任务查询API示例(查询A代理给B的所有任务)
     TaskQuery taskQuery = taskService.createTaskQuery();
     taskQuery.taskAssignee("B");
     taskQuery.taskCandidateUser("B");
     taskQuery.isAgent(true);
     taskQuery.agentId("A");
     
  2.  其他相关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有好的建议,可以发邮件或者留言给我,开源需要大家的力量~

 

你可能感兴趣的:(工作流,foxbpm)