package jnpf.workflow.service; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import jnpf.base.ActionResult; import jnpf.exception.WorkFlowException; import jnpf.flowable.entity.RecordEntity; import jnpf.flowable.entity.TaskEntity; import jnpf.flowable.model.task.FileModel; import jnpf.flowable.model.task.FlowModel; import jnpf.flowable.model.task.TaskTo; import java.util.List; /** * 类的描述 * * @author JNPF@YinMai Info. Co., Ltd * @version 5.0.x * @since 2024/5/28 14:35 */ public interface TaskApi { /** * 获取归档所需的信息 * * @param taskId 任务主键 */ FileModel getFileModel(String taskId) throws WorkFlowException; /** * 信息 * * @param id 主键值 * @param columns 指定获取的列数据 */ TaskEntity getInfoSubmit(String id, SFunction... columns); /** * 信息 * * @param ids 主键值 * @param columns 指定获取的列数据 */ List getInfosSubmit(String[] ids, SFunction... columns); /** * 删除 * * @param taskEntity 任务实体 */ void delete(TaskEntity taskEntity) throws Exception; /** * 发起流程 * * @param flowModel * @throws Exception */ void saveOrSubmit(FlowModel flowModel) throws Exception; /** * 根据任务主键获取记录集合 * * @param taskId 任务主键 */ List getRecordList(String taskId); /** * 更新归档状态 * * @param taskId 任务主键 */ void updateIsFile(String taskId); /** * 判断是否存在未签收的经办 */ Boolean checkSign(); /** * 判断是否存在未办理的经办 */ Boolean checkTodo(); /** * 发起流程 * * @param flowModel 参数(templateId、userIds、formDataList) */ ActionResult launchFlow(FlowModel flowModel); /** * 获取流程数量 */ TaskTo getFlowTodoCount(TaskTo taskTo); /** * 获取逐级的岗位和组织 * @return */ List getStepList(); }