package org.dromara.wflow.workflow.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.biz.domain.BizTask;
import org.dromara.biz.domain.bo.BizTaskBo;
import org.dromara.biz.domain.bo.BizTaskFeedbackBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.wflow.workflow.bean.vo.ProcessTaskVo;
import org.dromara.wflow.workflow.bean.vo.RuansiMissionTaskVo;

import java.util.List;
import java.util.Map;

public interface RuansiMissionTaskService {
    Page<ProcessTaskVo>  getUserTodoList(Integer pageSize, Integer pageNo, String code,
                                        String[] startTimes,
                                        String title);


    TableDataInfo<RuansiMissionTaskVo> getUserTodoList2(Integer pageSize, Integer pageNo, List<Long> startUserIds, String code,
                                                        String[] startTimes, String taskType,
                                                        String title, String status,String deptId, String level);

    TableDataInfo<RuansiMissionTaskVo> getUserITodoList(Integer pageSize, Integer pageNum, List<Long> userIds, String default_code, String[] startTimes, String status, String title, String taskType, String deptId, String level);

    TableDataInfo<BizTask> getToHandleList(Integer pageSize, Integer pageNum, String type, String applyUserName, String deptId, String title, String[] startTimes, String level);

    TableDataInfo<BizTask> alreadyHandledList(Integer pageSize, Integer pageNum, String type, String applyUserName, String deptId, String title, String[] startTimes, String level);

    boolean redo(BizTaskBo bizTaskBo);

    Map<String, Object> getBizTaskAndFeedbackByFeedbackId(BizTaskFeedbackBo bizTaskFeedbackBo);
}
