package com.zcloud.safetyDutyList.persistence.repository.tasklist;

import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.safetyDutyList.persistence.dataobject.tasklist.CorpStatisticsDO;
import com.zcloud.safetyDutyList.persistence.dataobject.tasklist.EvaluationListDO;
import com.zcloud.safetyDutyList.persistence.dataobject.tasklist.IssueStatisticsDO;
import com.zcloud.safetyDutyList.persistence.dataobject.tasklist.TaskListDO;

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

/**
 * 清单仓储接口
 * <p>
 * 定义清单数据对象的持久化操作，继承MyBatis-Plus的BaseRepository，
 * 提供基础的CRUD操作及自定义查询方法。
 */
public interface TaskListRepository extends BaseRepository<TaskListDO> {

    PageResponse<TaskListDO> listPage(Map<String, Object> params);

    TaskListDO getInfoById(Long id);

    TaskListDO getByTaskListId(String taskListId);

    TaskListDO getInfoByTaskListId(String taskListId);

    Boolean existsByTaskListId(String taskListId);

    List<TaskListDO> list(Map<String, Object> params);

    PageResponse<CorpStatisticsDO> corpStatistics(Map<String, Object> params);

    PageResponse<EvaluationListDO> evaluationList(Map<String, Object> params);

    PageResponse<IssueStatisticsDO> issueStatistics(Map<String, Object> params);
}
