package com.usky.fire.service;

import com.usky.common.mybatis.core.CrudService;
import com.usky.fire.domain.BscEnterpriseScreen;
import com.usky.fire.service.vo.DataVo;

import java.util.List;

/**
 * <p>
 * 企业大屏数据统计 服务类
 * </p>
 *
 * @author JCB
 * @since 2022-09-06
 */
public interface BscEnterpriseScreenService extends CrudService<BscEnterpriseScreen> {

    /**
     * 大屏数据查询
     *
     * @param dataType   数据类型
     * @param moduleType 模块类型
     * @return
     */
    Object screenDataStatistic(String dataType, String moduleType,String dataType1);

    /**
     * 定时任务逻辑
     */
    void dataSynchro();

    /**
     * 大屏实时消防告警推送
     *
     * @return
     */
    List<DataVo> Alarmlist();

    /**
     * 查询该单位企业大屏数据是否统计
     *
     * @param companyId 单位ID
     * @return
     */
    List<BscEnterpriseScreen> bscEnterpriseScreenCount(String companyId);

    /**
     * 大屏值班查岗JSON数据查询
     *
     * @param companyId 单位ID
     * @return
     */
    Object postInspectStatistics(String companyId);

    /**
     * 大屏火警报告JSON数据查询
     *
     * @param companyId 单位ID
     * @return
     */
    Object fireAlarmStatistics(String companyId);

    /**
     * 大屏预案场景JSON数据查询
     *
     * @param companyId 单位ID
     * @return
     */
    Object reservePlanStatistics(String companyId);

    /**
     * 大屏隐患告警JSON数据查询
     *
     * @param companyId 单位ID
     * @return
     */
    Object hiddenDangerStatistics(String companyId);

    /**
     * 大屏建筑评分模块JSON数据查询
     *
     * @param companyId 单位ID
     * @return
     */
    Object buildScoreStatistics(String companyId);

    /**
     * 大屏自主巡检JSON数据查询
     *
     * @param companyId 单位ID
     * @return
     */
    Object patrolInspectionStatistics(String companyId);
}
