天天看點

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有好的建議,可以發郵件或者留言給我,開源需要大家的力量~

繼續閱讀