package com.vci.web.service;
|
|
import com.vci.file.pagemodel.VciFileObjectVO;
|
import com.vci.starter.web.exception.VciBaseException;
|
import com.vci.starter.web.pagemodel.DataGrid;
|
import com.vci.starter.web.pagemodel.PageHelper;
|
import com.vci.starter.web.pagemodel.Tree;
|
import com.vci.starter.web.pagemodel.TreeQueryObject;
|
import com.vci.web.pageModel.*;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 流程相关定义查询服务
|
* @author weidy
|
*/
|
public interface WebProcessDefineServiceI {
|
|
/**
|
* 获取某个分类下的userid可以使用的流程模板
|
* @param type 流程分类
|
* @param filterTemplate 指定模板
|
* @param showAll 是否显示所有版本,false时只显示启用的版本
|
* @return 可用的流程模版
|
* @throws VciBaseException
|
*/
|
List<ProcessTemplateVO> getMyTemplates(String type, String filterTemplate,boolean showAll) throws VciBaseException;
|
|
|
/**
|
* 获取某个分类下的所有流程模板
|
* @param type 流程分类
|
* @return 该分类下的所有的流程模板
|
* @throws VciBaseException
|
*/
|
List<ProcessTemplateVO> getAllTemplates(String type) throws VciBaseException;
|
|
|
/**
|
* 获取流程中定义的所有任务节点
|
* @param processOid 流程模版的主键
|
* @param isQueryUser 是否查询节点中的用户
|
* @param maxSecret 数据中的最大密级值
|
* @return 该流程模版中所有的任务节点,其中包含所有可以选择的用户
|
* @throws VciBaseException
|
*/
|
List<ProcessNodeVO> getAllProcessNode(String processOid, boolean isQueryUser, int maxSecret) throws VciBaseException;
|
|
/**
|
* 获取流程中定义的所有任务节点名称
|
* @param processTemplateOid 流程模版的主键
|
* @return 返回任务节点名称
|
* @throws VciBaseException
|
*/
|
List<String> getAllProcessNodeName(String processTemplateOid) throws VciBaseException;
|
|
/**
|
* 获取流程中某个节点的所有可以选择的用户
|
* @param node 流程模版的主键
|
* @return 所有可以选择的用户
|
* @throws VciBaseException
|
*/
|
List<ProcessUserVO> getProcessUsersByNode(ProcessNodeVO node, int maxSecret) throws VciBaseException;
|
|
/**
|
* 获取流程模板中所有节点的负责人
|
*/
|
List<ProcessUserVO> getAllProcessUsersInProcess(String processTemplateOid,
|
String nodeName) throws VciBaseException;
|
/**
|
* 获取部署id
|
* @param executionId 执行主键
|
* @return
|
* @throws VciBaseException
|
*/
|
String getDeployIdByExecutionId(String executionId) throws VciBaseException;
|
|
/**
|
* 获取任务中设置的当前处理人
|
* @param taskOid 任务主键
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ProcessUserVO> getProcessUserByTask(String taskOid) throws VciBaseException;
|
|
/**
|
* 获取我的待办事项--平台不支持查询数据总条数,不清楚在这种情况下,start和pagesize是用来做什么用的
|
* @param conditionMap 条件查询
|
* @param ph 分页和排序
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getMyUndoProcessTask(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
/**
|
* 获取我处理了的任务
|
* @param conditionMap 查询条件
|
* @param ph 分页信息
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getMyDoneProcessTask(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
/**
|
* 获取我的已经完成的流程
|
* @param conditionMap 查询条件
|
* @param ph 分页信息
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getMyCompletedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
|
/**
|
* 获取所有已经完成的流程
|
* @param conditionMap 查询条件
|
* @param ph 分页信息
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getAllCompletedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
|
/**
|
* 获取我的终止的流程
|
* @param conditionMap 查询条件
|
* @param ph 分页信息
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getMyObsoledtedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
|
/**
|
* 获取所有终止的流程
|
* @param conditionMap 查询条件
|
* @param ph 分页信息
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getAllObsoledtedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
|
/**
|
* 获取我的挂起的流程
|
* @param conditionMap 查询条件
|
* @param ph 分页信息
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getMySuspendedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
|
/**
|
* 获取所有挂起的流程
|
* @param conditionMap 查询条件
|
* @param ph 分页信息
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getAllSuspendedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
/**
|
* 获取我发起的所有正在执行的流程
|
* @param conditionMap 查询条件
|
* @param ph 分页信息
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getMyExecutingProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
|
/**
|
* 获取所有正在执行的流程
|
* @param conditionMap 查询条件
|
* @param ph 分页信息
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getAllExecutingProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
/**
|
* 获取我发起的所有流程
|
* @param conditionMap 查询条件
|
* @param ph 分页信息
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getMyCreateProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
|
|
/**
|
* 获取数据区域显示的表格信息--
|
* @param executionid 流程的执行主键,executionid
|
* @param taskOid 任务的主键
|
* @return map,其中btmType为业务类型,tableCode为表格编号
|
* @throws VciBaseException
|
*/
|
Map<String, Object> getDataTableDefine(String executionid, String taskOid) throws VciBaseException;
|
|
|
/**
|
* 获取数据区域显示的数据
|
* @param taskOid 任务主键,等于workitem里的oid
|
* @param processOid 流程主键,等于workflowinstance里的主键
|
* @param referColumn 引用的列
|
* @return
|
* @throws VciBaseException
|
*/
|
DataGrid getDataInProcess(String taskOid, String processOid, String referColumn) throws VciBaseException;
|
|
/**
|
* 获取流程的历史
|
* @param executionId 流程实例的主键
|
* @param showCurrentNode 是否显示当前的节点
|
* @return 这个流程中所有历史
|
* @throws VciBaseException
|
*/
|
DataGrid getHistory(String executionId, boolean showCurrentNode) throws VciBaseException;
|
|
/**
|
* 获取当前流程中的流程图
|
* @param executionId 当前流程的执行实例id
|
* @param taskOid 当前任务节点主键
|
* @return
|
* @throws VciBaseException
|
*/
|
byte[] getProcessPicture(String executionId, String taskOid) throws VciBaseException;
|
|
|
/**
|
* 获取流程模版中的流程图
|
* @param executionId 执行ID,
|
* @return
|
* @throws VciBaseException
|
*/
|
byte[] getProcessTemplatePicture(String executionId) throws VciBaseException;
|
|
/**
|
* 根据主键获取任务信息
|
* @param taskOid
|
* @return
|
* @throws VciBaseException
|
*/
|
List<ProcessTaskVO> getTaskByOid(String taskOid) throws VciBaseException;
|
|
/**
|
* 查询任务的路由
|
* @param taskId 任务主键
|
* @param isQueryNextNode 是否查询下一个任务节点的负责人
|
* @return 所有的路由信息
|
* @throws VciBaseException
|
*/
|
List<ProcessOutcomeVO> getOutCome(String taskId, boolean isQueryNextNode) throws VciBaseException;
|
|
|
/**
|
* 获取根据规则产生的流程名称
|
* @param btmtype 业务类型
|
* @param data 数据
|
* @return
|
* @throws VciBaseException
|
*/
|
String getNameFromRule(String btmtype, Map<String, String> data) throws VciBaseException;
|
|
/**
|
* 检验任务是否使用同一个流程模板,是否同一个任务节点
|
* @param taskOids 任务主键
|
* @return
|
* @throws VciBaseException
|
*/
|
boolean checkUseSameTemplate(String taskOids) throws VciBaseException;
|
|
/**
|
* 获取流程中关联的数据关联的文件
|
* @param conditionMap 查询条件
|
* @param taskOid 任务主键
|
* @param executionId 流程执行主键
|
* @param pageHelper 分页信息
|
* @return
|
*/
|
DataGrid getFilesInProcess(Map<String, String> conditionMap, String taskOid, String executionId, PageHelper pageHelper) throws VciBaseException;
|
|
/**
|
* 批量获取流程中的变量信息
|
* @param executionId 流程标识
|
* @param keys 流程变量
|
* @return
|
* @throws VciBaseException
|
*/
|
Map<String,String> getVariablesInProcess(String executionId, String keys) throws VciBaseException;
|
|
|
/**
|
* 根据业务数据,获取正在执行的流程
|
* @param bussinessOid 业务类型数据
|
* @param btmName 业务类型名
|
* @return
|
* @throws VciBaseException
|
*/
|
List<String> listExecutingProcessByBussinessOid(String bussinessOid, String btmName) throws VciBaseException;
|
|
/**
|
* 获取审批意见文件
|
* @param taskOids 任务的主键
|
* @return 文件的信息
|
*/
|
DataGrid<VciFileObjectVO> listAuditSuggestFile(String taskOids);
|
|
/**
|
* 参照流程分类
|
* @param conditionMap 查询条件
|
* @param pageHelper 分页对象
|
* @return 分类的信息
|
*/
|
DataGrid<ProcessClassifyVO> referGridProcessClassify(Map<String, String> conditionMap, PageHelper pageHelper);
|
|
/**
|
* 参照流程的模板
|
* @param processClassifyId 流程分类的名称
|
* @param name 模板的名称
|
* @return 模板的显示对象
|
*/
|
DataGrid<ProcessTemplateVO> referGridProcessTemplate(String processClassifyId, String name);
|
|
/**
|
* 参照流程分类树
|
* @param queryObject 查询对象
|
* @return 树的信息
|
*/
|
List<Tree> referTreeProcessClassify(TreeQueryObject queryObject);
|
|
/**
|
* 使用模板的主键获取
|
* @param id 模板的key
|
* @param revisionValue 版本的值
|
* @return 模板的显示对象
|
*/
|
ProcessTemplateVO getTemplateById(String id,String revisionValue);
|
|
/**
|
* 获取某个用户的待办任务个数
|
* @param username 用户的编号
|
* @return 总数
|
*/
|
int getUndoTaskCount(String username);
|
}
|