package cn.com.tenlion.systembase.service.statistics;


import cn.com.tenlion.systembase.pojo.dtos.statistics.StatisticsDTO;
import cn.com.tenlion.systembase.pojo.dtos.statistics.StatisticsLineDTO;

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

/**
 * @ClassName: IResidentialIntroductionService
 * @Description: 小区简介
 * @Author: CodeFactory
 * @Date: 2021-11-22 15:31:23
 * @Version: 3.0
 **/
public interface IStatisticsService {

    /**
     * 9+x系统整体数据
     * @param params
     * @return
     */
    List<StatisticsDTO> baseSysInfo(Map<String, Object> params);

    /**
     * 综治中心数量
     * @param params
     * @return
     */
    Integer comprehensiveCenterCount(Map<String, Object> params);

    /**
     * 学校数量
     * @param params
     * @return
     */
    Integer schoolCount(Map<String, Object> params);

    /**
     * 重点区域数量
     * @param params
     * @return
     */
    Integer keyAreaCount(Map<String, Object> params);

    /**
     * 重点场所数量
     * @param params
     * @return
     */
    Integer keyPlaceCount(Map<String, Object> params);

    /**
     * 两新组织数量
     * @param params
     * @return
     */
    Integer organizationCount(Map<String, Object> params);

    /**
     * 学校类型数据信息
     * @param params
     * @return
     */
    List<StatisticsDTO> schoolInfo(Map<String, Object> params);

    /**
     * 学校重点人员危害程度数据信息
     * @param params
     * @return
     */
    List<StatisticsDTO> personHarmInfo(Map<String, Object> params);

    /**
     * 学校重点人员是否关注数据信息
     * @param params
     * @return
     */
    List<StatisticsDTO> personFollowInfo(Map<String, Object> params);

    /**
     * 学校安全事件侦破情况数据信息
     * @param params
     * @return
     */
    List<StatisticsDTO> caseDetectInfo(Map<String, Object> params);

    /**
     * 重点区域排查占比治安类型数据信息
     * @param params
     * @return
     */
    List<StatisticsDTO> areaSecurityInfo(Map<String, Object> params);

    /**
     * 重点区域排查占比区域类型数据信息
     * @param params
     * @return
     */
    List<StatisticsDTO> areaTypeInfo(Map<String, Object> params);

    /**
     * 重特大案(事)件数据信息
     * @param params
     * @return
     */
    List<StatisticsDTO> majorInfo(Map<String, Object> params);

    /**
     * 年度重大事件统计数据信息
     * @param params
     * @return
     */
    List<StatisticsLineDTO> caseInfo(Map<String, Object> params);

    /**
     * 年度重点场所/区域巡查统计数据信息
     * @param params
     * @return
     */
    List<StatisticsLineDTO> keyPlaceInfo(Map<String, Object> params);

    /**
     * 重点区域巡查数量
     * @param params
     * @return
     */
    Integer keyAreaPatrolCount(Map<String, Object> params);

    /**
     * 重点场所巡查数量
     * @param params
     * @return
     */
    Integer keyPlacePatrolCount(Map<String, Object> params);
}