package com.vci.web.dao;
|
|
import com.vci.corba.omd.data.LinkObject;
|
import com.vci.corba.workflow.WorkflowServicePrx;
|
import com.vci.corba.workflow.data.TasksAssignedInfo;
|
import com.vci.dto.ProcessTemplateVO;
|
import com.vci.model.WFProcessClassifyDO;
|
import com.vci.model.WFProcessTemplateDO;
|
import com.vci.pagemodel.*;
|
import com.vci.starter.web.exception.VciBaseException;
|
import com.vci.starter.web.pagemodel.DataGrid;
|
import com.vci.starter.web.pagemodel.PageHelper;
|
|
import java.util.Collection;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
public interface WebProcessDaoI {
|
|
/**
|
* 获取流程分类下的流程模板
|
* @param type 流程分类的名称
|
* @param filterTemplate 过滤模板
|
* @param showAll 是否查询全部版本(包含停用)
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ProcessTemplateVO> getTemplatesByType(String type, String filterTemplate, boolean showAll) throws VciBaseException;
|
|
/**
|
* 获取流程模板下的任务节点,以及任务节点上配置的责任人
|
* @param processOid 流程模板
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ProcessNodeVO> getAllProcessNode(String processOid) throws VciBaseException;
|
|
/**
|
* 获取流程中的第一个节点的名称
|
* @param deployId 部署主键
|
* @return
|
* @throws VciBaseException
|
*/
|
String getFirstNodeName(String deployId) throws VciBaseException;
|
/**
|
* 获取流程模板对应的流程引擎里的部署主键
|
* @param processOid 流程模板主键
|
* @return
|
* @throws VciBaseException
|
*/
|
String getJbpmDeploymentId(String processOid) throws VciBaseException;
|
|
/**
|
* 获取流程模板对应的引擎里的部署主键
|
* @param executionId
|
* @return
|
* @throws VciBaseException
|
*/
|
String getJbpmDeploymentIdByExecutionId(String executionId)
|
throws VciBaseException;
|
|
/**
|
* 获取流程模板的xml的内容
|
* @param jbpmDeploymentId 流程的部署主键
|
* @return xml的二进制内容
|
*/
|
byte[] getProcessXmlContent(String jbpmDeploymentId) throws VciBaseException;
|
|
/**
|
* 获取流程模板中所有的节点名称
|
* @param processOid 流程模板主键
|
* @return
|
* @throws VciBaseException
|
*/
|
String[] getAllProcessNodeName(String processOid) throws VciBaseException;
|
|
/**
|
* 根据流程引擎中的部署主键来获取所有的任务节点
|
* @param deploymentId
|
* @return
|
* @throws VciBaseException
|
*/
|
String[] getAllProcessNodeNameByDeploy(String deploymentId)
|
throws VciBaseException;
|
|
/**
|
* 获取模板中节点设置的负责人
|
* @param deploymentId 引擎中的部署主键
|
* @param taskName 任务节点名称
|
* @return
|
* @throws VciBaseException
|
*/
|
ProcessNodeVO getNodePresideUsersByDeploy(String deploymentId, String taskName)
|
throws VciBaseException;
|
|
/**
|
* 获取模板中的节点设置的负责人
|
* @param processOid 流程主键
|
* @param taskName 任务节点
|
* @return
|
* @throws VciBaseException
|
*/
|
ProcessNodeVO getNodePresideUsers(String processOid, String taskName)
|
throws VciBaseException;
|
/**
|
* 获取任务的处理人
|
* @param executionid 执行主键
|
* @param taskName 任务名称
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ProcessUserVO> getNodePresideUsersByTask(String executionid, String taskName) throws VciBaseException;
|
|
/**
|
* 获取某个用户的待办实现
|
* @param conditionMap 查询条件
|
* @param ph
|
* @param userId 用户名-不能为空
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getUndoTask(
|
Map<String, String> conditionMap, PageHelper ph, String userId) throws VciBaseException;
|
|
/**
|
* 使用流程实例获取所有的待办信息
|
* @param processInstanceId 流程的实例主键
|
* @param mill 时间
|
* @return 待办的任务
|
*/
|
DataGrid getUndoTaskByInstanceId(String processInstanceId,long mill);
|
|
/**
|
* 获取某个用户已经处理的任务
|
* @param conditionMap 查询条件
|
* @param ph
|
* @param userId 用户名-不能为空
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getDoneProcess(Map<String, String> conditionMap, PageHelper ph, String userId) throws VciBaseException;
|
|
/**
|
* 获取已经完成的流程
|
* @param conditionMap
|
* @param ph
|
* @param userId 用户名,为空表示所有人
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getCompletedProcess(Map<String, String> conditionMap, PageHelper ph, String userId) throws VciBaseException;
|
|
/**
|
* 获取终止的流程
|
* @param conditionMap
|
* @param ph
|
* @param userId
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getObsoledtedProcess(Map<String, String> conditionMap, PageHelper ph, String userId) throws VciBaseException;
|
|
/**
|
* 获取挂起的流程
|
* @param conditionMap
|
* @param ph
|
* @param userId
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getSuspendedProcess(Map<String, String> conditionMap, PageHelper ph, String userId) throws VciBaseException;
|
|
/**
|
* 获取正在执行的流程
|
* @param conditionMap
|
* @param ph
|
* @param userId
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getExecutingProcess(Map<String, String> conditionMap, PageHelper ph, String userId) throws VciBaseException;
|
|
/**
|
* 获取某个用户发起的所有流程信息
|
* @param conditionMap
|
* @param ph
|
* @param userId 用户名,不能为空
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getCreateProcess(Map<String, String> conditionMap, PageHelper ph, String userId) throws VciBaseException;
|
|
/**
|
* 根据待办任务的主键来获取待办任务对象
|
* @param oid
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ProcessTaskVO> getTaskByOid(String oid) throws VciBaseException;
|
|
/**
|
* 还有任务的主键获取任务CBO对象
|
* @param oid 主键
|
* @return CBO对象
|
* @throws VciBaseException 查询出错会抛出异常
|
*/
|
List<Map> getTaskCBOByOid(String oid) throws VciBaseException;
|
|
/**
|
* 根据流程的主键来获取流程的对象
|
* @param oid
|
* @return
|
* @throws VciBaseException
|
*/
|
ProcessInstanceVO getProcessByOid(String oid) throws VciBaseException;
|
|
/**
|
* 获取流程中的变量,平台只支持字符串.....
|
* @param executionId
|
* @param key
|
* @return
|
* @throws VciBaseException
|
*/
|
String getVariablesInProcess(String executionId, String key)
|
throws VciBaseException;
|
|
/**
|
* 获取任务中关联的所有数据
|
* @param taskOid 任务的主键
|
* @param processOid 流程的主键
|
* @param referColumns 引用的列
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getDataByTask(String taskOid, String processOid, String referColumns) throws VciBaseException;
|
|
/**
|
* 获取任务关联的链接类型
|
* @param taskOid 任务主键
|
* @param executionId 流程执行主键
|
* @return
|
* @throws VciBaseException
|
*/
|
List<LinkObject> getDataCloInTask(String taskOid, String executionId) throws VciBaseException;
|
|
/**
|
* 获取流程中包含的所有数据
|
* @param executionId 流程执行ID
|
* @param referColumns 参照的列
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getDataByProcess(String executionId, String referColumns) throws VciBaseException;
|
|
/**
|
* 获取流程历史
|
* @param executionId
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ProcessHistoryVO> getHistory(String executionId) throws VciBaseException;
|
|
/**
|
* 获取流程图的二进制数据
|
* @param executionId 流程执行主键
|
* @param taskName 任务名称
|
* @return
|
*/
|
byte[] getProcessPicture(String executionId, String taskName) throws VciBaseException;
|
|
/**
|
* 获取流程模板上的流程图的二进制数据
|
* @param deployId
|
* @return
|
* @throws VciBaseException
|
*/
|
byte[] getProcessTemplatePicture(String deployId) throws VciBaseException;
|
|
/**
|
* 获取任务的路由
|
* @param taskoid jbpm中的任务主键
|
* @return
|
* @throws VciBaseException
|
*/
|
String[] getAllOutComes(String taskoid) throws VciBaseException;
|
|
/**
|
* 获取下一步的任务
|
* @param executionid 流程执行主键
|
* @param taskName 当前任务的名称
|
* @param outCome 路由名称
|
* @return 因为有分支的情况,所以下一步任务会有多个
|
*/
|
String getNextTaskName(String executionid, String taskName, String outCome) throws VciBaseException;
|
|
/**
|
* 获取平台的流程服务
|
* @return
|
*/
|
WorkflowServicePrx getWorkService() throws VciBaseException;
|
|
/**
|
* 任务与数据关联的链接类型
|
* @return
|
*/
|
String getTaskDataLink();
|
|
/**
|
* 任务的业务类型
|
* @return
|
*/
|
String getWorkitemBtmType();
|
|
/**
|
* 根据部署主键,获取流程模板对象
|
* @param deployId 部署主键
|
* @return
|
* @throws VciBaseException
|
*/
|
ProcessTemplateVO getTemplateByDeployId(String deployId) throws VciBaseException;
|
|
String getWorkIntanceBtmType();
|
|
/**
|
* 添加流程代理--可以设置现在生效还是后续生效
|
* @param userId 代理人的用户名
|
* @param startDate 开始日期
|
* @param endDate 结束日期
|
* @param isNowEnable 是否立即生效 ----这个参数先都设置为true
|
* @throws VciBaseException
|
*/
|
void beginProxy(String userId, Date startDate, Date endDate, boolean isNowEnable) throws VciBaseException;
|
|
/**
|
* 停止流程代理
|
* @throws VciBaseException
|
*/
|
void endProxy() throws VciBaseException;
|
|
/**
|
* 获取流程代理信息
|
* @return
|
* @throws VciBaseException
|
*/
|
TasksAssignedInfo getProxy() throws VciBaseException;
|
|
/**
|
* 结束流程
|
* @param executionId
|
* @throws VciBaseException
|
*/
|
void endProcess(String executionId) throws VciBaseException;
|
|
/**
|
* 根据业务类型查询正在执行的流程
|
* @param bussinessOid 业务类型数据
|
* @param btmName 业务类型名称
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ProcessInstanceVO> listExecutingProcessByBussinessOid(String bussinessOid, String btmName) throws VciBaseException;
|
|
/**
|
* 批量终止流程,
|
* @param executionIds 流程的执行主键
|
* @param note 终止原因
|
* @throws VciBaseException
|
*/
|
void batchEndProcess(Collection<String> executionIds, String note) throws VciBaseException;
|
|
/**
|
* 流程分类的数据对象转换为显示对象
|
* @param doCollection 数据对象的集合
|
* @return 显示对象
|
*/
|
List<ProcessClassifyVO> processClassifyDO2VOs(Collection<WFProcessClassifyDO> doCollection);
|
|
/**
|
* 流程分类的数据对象转换为显示对象
|
* @param classifyDO 数据对象
|
* @return 显示对象
|
*/
|
ProcessClassifyVO processClassifyDO2VO(WFProcessClassifyDO classifyDO);
|
/**
|
* 流程模板的数据对象转换为显示对象
|
* @param doCollection 数据对象集合
|
* @return 显示对象
|
*/
|
List<ProcessTemplateVO> processTemplateDO2VOs(Collection<WFProcessTemplateDO> doCollection);
|
|
/**
|
* 流程模板的数据对象转换为显示对象
|
* @param templateDO 数据对象
|
* @return 显示对象
|
*/
|
ProcessTemplateVO processTemplateDO2VO(WFProcessTemplateDO templateDO);
|
|
/**
|
* 使用用户名查询待办任务的个数
|
* @param username 用户名
|
* @return 个数
|
*/
|
int countUndoTaskByUsername(String username);
|
}
|