package com.ruoyi.system.mapper.task.ext;

import com.ruoyi.system.domain.task.TkCommonTask;
import com.ruoyi.system.domain.task.dto.TaskCommonParams;
import com.ruoyi.system.domain.task.vo.SimpleTaskVo;
import com.ruoyi.system.mapper.task.TkCommonTaskMapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * @author vidar
 * date 2024/6/13
 * description
 **/
public interface TkCommonTaskExtMapper extends TkCommonTaskMapper {
    List<TkCommonTask> selectList(TaskCommonParams map);

    List<SimpleTaskVo> selectSimpleList(Map map);

    int countAllTypeTask(Map map);

    int selectOnTimeCount(Map map);

    int selectNotOnTimeCount(Map map);

    int selectNotOnTimeNotOverCount(Map map);

    int zhengchangcl(Map map);

    Map<String,Object> taskTypeStatistical(Map map);

    Map<String,Object> qiyeAbnormalNum(Map map);

    List<Map<String,Object>> wgczph(Map map);

    List<Map<String,Object>> wgczphTwoGrid(Map map);

    Map<String,Object> nearThreeMonthCount(Map map);

    Map<String,Object> nearSevenDayCountByWgCode(Map map);

    Map<String,Object> overBySelfAndSBSJCount(Map map);

    Map<String,Object> countByMonth(Map map);

    List<String> getUserByRoleCodeAndWgCode(Map map);

    Integer getLeaderCount(Map map);

    List<Map<String,Object>> bigWindowWGCount(Map map);

    List<Map<String,Object>> taskCountByComeFrom(Map map);

    List<Map<String,Object>> taskCountByBaseId(Map map);

    List<Map<String,Object>> selectMatterRank(Map map);

    List<Map<String,Object>> selectMatterRankThreeType(Map map);

    List<Map<String,Object>> manyiRank(Map map);

    List<Map<String,Object>> personManYiTJ(Map map);

    int checkCuiBan(String id);

    Map<String,String> getTkScore(Map<String, Object> map);

    List<TkCommonTask> taskListByWgCode(Map map);

    List<TkCommonTask> thirdWgTaskList(Map map);

    long countThirdWgTaskList(Map map);

    long countComeFromThirdTask(Map map);

    List<TkCommonTask> ComeFromThirdTaskStat(Map map);

    List<TkCommonTask> matterTask(Map map);

    List<Map<String,Object>> taskCountByWgcode(Map map);

    List<Map<String,Object>> taskCountBySecWgcode(Map map);

    List<Map<String,Object>> taskCountByThirdWgcode(Map map);

    List<Map<String,Object>> groupByMatterType(Map map);

    List<Map<String,Object>> groupByPriority(Map map);

    List<Map<String,Object>> groupMatter(Map map);

    Map<String,Object> overCount(Map map);

    List<Map<String,Object>> selectMatterRankByWg(Map map);

    List<Map<String,Object>> getTaskByUserId(Map map);

    List<Map<String,Object>> enviromentManStatistic(Map map);

    List<Map<String,Object>> enviromentMatterStatistic(Map map);

    List<Map<String,Object>> countTaskBySq(Map map);

    List<Map<String,Object>> selectTaskList(Map map);

    Integer countByReleaseTimeAndUserId(@Param("releaseTimeStart") Date releaseTimeStart,
                                        @Param("releaseTimeEnd") Date releaseTimeEnd,
                                        @Param("userId") String userId,
                                        @Param("tkStatus") Integer tkStatus,
                                        @Param("comeFrom") Integer comeFrom);
}
