package com.dayou.service.workflow;
import com.dayou.dto.WorkNodeCommit;
import com.dayou.entity.WorkFlow;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dayou.enums.MainBusinessEnum;
import com.dayou.vo.NameCodeVO;
import org.apache.poi.ss.formula.functions.T;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 工作流 服务类
 * </p>
 *
 * @author wucl
 * @since 2023-10-17
 */
public interface IWorkFlowService extends IService<WorkFlow> {

        Page<WorkFlow> selectPage(Page page,WorkFlow workFlow);

        WorkFlow detail(Long id);

        Long add(WorkFlow workFlow);

        Boolean update(WorkFlow workFlow);

        Boolean delete(Long id);

    List<NameCodeVO> flowsEnum();


    Boolean commit(WorkNodeCommit workNodeCommit);

    /**
     * 批量提交流程
     * @param workNodeCommits 提交信息集合
     * @return Boolean
     */
    Boolean batchCommit(List<WorkNodeCommit> workNodeCommits);

    WorkNodeCommit openingOrder(MainBusinessEnum mainBusinessEnum, Long businessId, String businessSubId,String remark);

    Boolean openingDeclare(MainBusinessEnum mainBusinessEnum, Long businessId);

}
