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

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.datascope.annotation.DataScope;
import com.jjb.saas.framework.datascope.annotation.DataScopes;
import com.zcloud.safetyDutyList.persistence.dataobject.tasklist.TaskListIssueDO;
import org.apache.ibatis.annotations.Mapper;

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

@Mapper
@DataScopes(
        @DataScope(method = "listPage", menuPerms = "jgd-rwqdgl")
)
public interface TaskListIssueMapper extends BaseMapper<TaskListIssueDO> {

    IPage<TaskListIssueDO> listPage(IPage<TaskListIssueDO> iPage, Map<String, Object> params, String menuPath);

    IPage<TaskListIssueDO> listPageByTaskListQry(IPage<TaskListIssueDO> iPage, Map<String, Object> params);

    TaskListIssueDO getByTaskIssueId(String taskIssueId);

    List<TaskListIssueDO> listByTaskListId(String taskListId);

    List<TaskListIssueDO> listByIssueInfo(String taskListId, Long executeCorpId, Long executeDepartmentId, Long executeUserId,
                                          java.time.LocalDateTime periodStartTime, java.time.LocalDateTime periodEndTime);

    List<TaskListIssueDO> listExpiredInProgress();

    List<TaskListIssueDO> listIssuedWithPeriod();
}
