package org.jeecg.modules.approval.service; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.jeecg.modules.approval.model.dto.ApprovalOpinionDTO; import org.jeecg.modules.approval.model.dto.DynamicFormConf; import org.jeecg.modules.approval.model.vo.ApprovalOpinionVO; import org.jeecg.modules.approval.model.vo.ApprovalVO; import java.util.List; import java.util.Map; import java.util.Set; /** * 任务接口 * * @author LEN */ public interface ApprovalService { /** * 发起审批流程 * * @param applyTaskVO * @return */ ProcessInstance addApproval(ApprovalVO applyTaskVO); /** * tenantId 项目id * 发起审批流程 * @param applyTaskVO * @return */ ProcessInstance addApprovalTenantId(ApprovalVO applyTaskVO,String tenantId); /** * 获取流程状态 * * @param processInstanceId * @return 进行中 true 完成 false */ boolean getApprovalStatus(String processInstanceId); /** * 审批 * * @param approvalOpinionVO * @return */ boolean handleApproval(ApprovalOpinionVO approvalOpinionVO); /** * 流程环节 审批信息 * * @param processId * @return */ List listApprovalDetail(String processId); /** * 驳回到上一步 * * @param approvalOpinionVO * @param task * @param map * @return */ boolean rejected(ApprovalOpinionVO approvalOpinionVO, Task task, Map map); /** * 驳回到指定节点 * * @param approvalOpinionVO * @param task * @param map * @return */ boolean runNodes(ApprovalOpinionVO approvalOpinionVO, Task task, Map map); /** * 撤销申请 * * @param processInstanceId * @return */ boolean withdrawProcess(String processInstanceId); /** * 获取流程状态(能否撤销,能否修改) 1可以 * * @param processInstanceId * @return */ Map getProcessStatus(String processInstanceId); /** * 获取用户任务的动态表单的配置 * * @param taskId * @return */ DynamicFormConf taskDynamicParams(String taskId); /** *获取当前任务下的候选人 * 候选人>候选组 : 没有候选人时,再从候选组中查找 * @param taskId * @return */ Set getCandiates(String taskId); /** *获取已经执行的节点信息 */ Map getRunNodes(String processInstanceId); /** * 自动审批 */ boolean autoHandleApproval(ApprovalOpinionVO approvalOpinionVO); }