Newer
Older
huludao / src / main / java / com / newfiber / api / pc / dao / RiverManage / PatrolManageProblemMapper.java
package com.newfiber.api.pc.dao.RiverManage;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.newfiber.api.pc.model.River.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

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

/**
 * patrolManageProblem model层
 *
 * @author luzhan
 */
@Repository
public interface PatrolManageProblemMapper extends BaseMapper<PatrolManageProblem> {

    int updateByName(@Param("createUserNo") String createUserNo,@Param("patrolName") String patrolName, @Param("patrolType") Integer patrolType,
                     @Param("patrolNo") Long patrolNo,@Param("problemIds") List<Long> problemIds);

    List<PatrolManageProblemDto> patrolProblemList(@Param("userNo")String userNo, @Param("patrolType")Integer patrolType,
                                                   @Param("problemState")String problemState, @Param("state")Integer state,@Param("stateType")Integer stateType,
                                                   @Param("projectIds")Set<Long> projectIds, @Param("problemIds")Set<Long> problemIds,
                                                   @Param("userName")String userName,@Param("searchStr")String searchStr, @Param("startTime")String startTime,
                                                   @Param("endTime")String endTime);

    PatrolManageProblemDto problemDetail(@Param("problemId") Long problemId,@Param("userNo")String userNo);

    List<PatrolManageProblemDto> problemList(@Param("patrolNo") Long patrolNo);

    List<ProblemStateCountDto> selectStateCount(@Param("collect") List<Long> collect);

    List<ProblemRankDto> rankList();

    /**
     * 查询出状态统计
     * @return
     */
    Map<String, Object> selectStateNum(@Param("patrolType")Integer patrolType,@Param("state") Integer state,@Param("problemState") String problemState,@Param("stateType") Integer stateType,
                                       @Param("projectIds")Set<Long> projectIds, @Param("problemIds")Set<Long> problemIds,
                                       @Param("userNo")String userNo,@Param("searchStr")String searchStr, @Param("startTime")String startTime,
                                       @Param("endTime")String endTime);

    /**
     * 查询出状态统计
     * @return
     */
    Map<String, Object> selectAllNum(@Param("patrolType")Integer patrolType,@Param("state") Integer state,@Param("stateType") Integer stateType,
                                       @Param("projectIds")Set<Long> projectIds, @Param("problemIds")Set<Long> problemIds,
                                       @Param("userNo")String userNo,@Param("searchStr")String searchStr, @Param("startTime")String startTime,
                                       @Param("endTime")String endTime);

    /**
     * 通过巡查类型查询出报警的数量
     * @param patrolType
     * @return
     */
    Map<String, Object> countByPatrolType(@Param("patrolType") Integer patrolType,@Param("sourceType")Integer sourceType,
                                          @Param("startTime")String startTime,@Param("endTime")String endTime);

    /**
     * 巡查类型查询出最近10条报警信息
     * @param patrolType
     * @return
     */
    List<ProblemDto> selectByPatrolType(@Param("patrolType")Integer patrolType,@Param("startTime")Date startTime,@Param("endTime")Date endTime);

    /**
     * 通过sourceType统计
     * @param patrolType
     * @return
     */
    Map<String, Object> countBySourceType(@Param("patrolType")Integer patrolType,@Param("startTime")String startTime,@Param("endTime")String endTime);

    /**
     * 查询问题分类
     * @param patrolType
     * @param startTime
     * @param endTime
     * @return
     */
    List<ProblemTypeDto> problemType(@Param("patrolType")Integer patrolType, @Param("startTime")String startTime, @Param("endTime")String endTime);

    /**
     * 查询按配置项目统计
     * @param patrolType
     * @param startTime
     * @param endTime
     * @return
     */
    List<ProblemProjectDto> projectCount(@Param("patrolType")Integer patrolType, @Param("startTime")String startTime, @Param("endTime")String endTime);

    /**
     * 查询处置事件的总量
     * @return {java.lang.Integer}
     * @throws
     * @author 张鸿志
     * @date 2021/12/21 16:21
     */
    Integer selectPatrolManageProblem(@Param("patrolType")Integer patrolType, @Param("startTime")String startTime, @Param("endTime")String endTime);

    /**
     * 统计各种类型的提交数量
     * @param patrolType
     * @param startTime
     * @param endTime
     * @return
     */
    PatrolTypeCountDto selectProjectCount(@Param("patrolType")Integer patrolType,@Param("ids")List<Long> ids,
                                          @Param("startTime")String startTime, @Param("endTime")String endTime);

    /**
     * 查询巡查人员达标的人员列表
     * @param patrolType
     * @param rankCount
     * @param startTime
     * @param endTime
     * @return
     */
    List<PatrolTypeCountDto> selectRank(@Param("patrolType")Integer patrolType,@Param("rankCount")Integer rankCount,@Param("startTime")Date startTime, @Param("endTime")Date endTime);

    /**
     * 查询问题类型的数量
     * @param patrolType
     * @param ids
     * @param startTime
     * @param endTime
     * @return
     */
    List<PatrolProblemTypeCountDto> selectProblemTypeCount(@Param("patrolType")Integer patrolType, @Param("ids")List<Long> ids,@Param("startTime") String startTime,@Param("endTime") String endTime);

    /**
     * 通过数字政通的任务编号查询
     * @param taskNum
     * @return
     */
    PatrolManageProblem selectByTaskNum(@Param("taskNum") String taskNum);
}