package com.gxwebsoft.oa.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.oa.entity.Task;
import com.gxwebsoft.oa.param.TaskParam;

import java.util.ArrayList;
import java.util.List;

/**
 * 任务记录表Service
 *
 * @author 科技小王子
 * @since 2023-10-23 18:53:01
 */
public interface TaskService extends IService<Task> {

    /**
     * 分页关联查询
     *
     * @param param 查询参数
     * @return PageResult<Task>
     */
    PageResult<Task> pageRel(TaskParam param);

    /**
     * 关联查询全部
     *
     * @param param 查询参数
     * @return List<Task>
     */
    List<Task> listRel(TaskParam param);

    /**
     * 根据id查询
     *
     * @param taskId 工单ID
     * @return Task
     */
    Task getByIdRel(Integer taskId);

    ArrayList<Object> getCountNum(User loginUser, TaskParam param);

    boolean saveByRel(Task task);

    void updateCount(Task task);

    PageResult<Task> pageRelAll(TaskParam taskParam);

    void updateByIdAll(Task task);
}
