package com.xdap.self_development.service;

import com.xdap.self_development.controller.request.RejectTodoRequest;
import com.xdap.self_development.controller.request.TodoTaskRequest;
import com.xdap.self_development.domain.dto.EngineParamDetailDTO;
import com.xdap.self_development.domain.dto.PageResultDTO;
import com.xdap.self_development.domain.pojo.CompletedTaskPojo;
import com.xdap.self_development.domain.pojo.InitiatedTaskPojo;
import com.xdap.self_development.domain.pojo.TodoTaskPojo;

import java.util.List;

/**
 * <p>
 * 待办事项表 服务类
 * </p>
 *
 * @author Lys111
 * @since 2025-11-18
 */
public interface TodoTaskService {

    //根据人员ID查询发起事项
    PageResultDTO<InitiatedTaskPojo> selectByPage(TodoTaskRequest todoTaskRequest);
    //根据人员ID查询待办
    PageResultDTO<TodoTaskPojo> selectByresPersonTodoPage(TodoTaskRequest todoTaskRequest);
    //根据人员ID查询已办
    PageResultDTO<CompletedTaskPojo> selectByresPersonCompletedPage(TodoTaskRequest todoTaskRequest);

    void createResPerson(List<EngineParamDetailDTO> paramDetailPojos, String userID);

    void rejectTodo(RejectTodoRequest request);

    void skipApproval(RejectTodoRequest todoTaskRequest);
}
