package com.fjhx.flow.service.flow; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fjhx.flow.entity.flow.dto.FlowExampleSelectDto; import com.fjhx.flow.entity.flow.dto.FlowNodeDto; import com.fjhx.flow.entity.flow.dto.SetStartDataDto; import com.fjhx.flow.entity.flow.po.FlowExample; import com.fjhx.flow.entity.flow.po.FlowInfo; import com.fjhx.flow.entity.flow.vo.ApprovalRecordVo; import com.fjhx.flow.entity.flow.vo.FlowExampleVo; import com.ruoyi.common.core.domain.BaseIdPo; import com.ruoyi.common.core.service.BaseService; import java.util.Collections; import java.util.List; import java.util.function.BiConsumer; import java.util.function.Function; /** *

* 流程实例 服务类 *

* * @author * @since 2023-03-16 */ public interface FlowExampleService extends BaseService { /** * 获取流程类型 */ List getFlowType(); /** * 获取待处理流程实例 */ Page getToBeProcessedPage(FlowExampleSelectDto dto); /** * 获取已发起流程实例 */ Page getHaveInitiatedPage(FlowExampleSelectDto dto); /** * 获取已处理流程实例 */ Page getProcessedPage(FlowExampleSelectDto dto); /** * 获取审批记录 */ ApprovalRecordVo getApprovalRecord(Long id); /** * 获取流程分页列表 */ Page getPage(FlowExampleSelectDto dto); /** * 发起流程记录 */ List getFlowNode(FlowNodeDto dto); /** * 重新赋值开始节点数据 */ void setStartData(SetStartDataDto dto); /** * 赋值流程id */ void setFlowId(List list, Function getIdFun, BiConsumer setFun); /** * 赋值流程id */ default void setFlowId(List list, BiConsumer setFun) { setFlowId(list, BaseIdPo::getId, setFun); } /** * 赋值流程id */ default void setFlowId(T entity, BiConsumer setFun) { setFlowId(Collections.singletonList(entity), BaseIdPo::getId, setFun); } /** * 赋值流程id */ default void setFlowId(T entity, Function getIdFun, BiConsumer setFun) { setFlowId(Collections.singletonList(entity), getIdFun, setFun); } }