| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 | <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.xunmei.iot.mapper.IotBoardMapper">    <select id="device" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">        SELECT '主机设备'            AS `name`,               count(0)              AS count,               sum(dd.state IS NULL) AS unknown,               sum(dd.state = 0)     AS normal,               sum(dd.state = 1)     AS exception,               sum(dd.state = 2)     AS other1        FROM iot_device d                 LEFT JOIN iot_device_detection dd ON d.equipment_code = dd.equipment_code        WHERE deleted = 0          and d.org_path like concat(#{orgPath}, '%')    </select>    <select id="subsystem" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">        SELECT '报警控制器'    AS `name`,               count(0)        AS count,               sum(status = 0) AS exception,               sum(status = 1) AS normal,               sum(status = 2) AS unknown        FROM iot_alarm_subsystem        WHERE deleted = 0          and org_path like concat(#{orgPath}, '%')    </select>    <select id="sensor" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">        SELECT '传感器设备'       AS `name`,               count(0)           AS count,               sum(state = 0)     AS normal,               sum(state = 1)     AS exception,               sum(state is null) AS unknown        FROM iot_sensor        WHERE deleted = 0          and org_path like concat(#{orgPath}, '%')    </select>    <select id="videoInterity" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">        SELECT '(昨日)录像完整性'      AS `name`,               count(0)                AS count,               sum(vic.status = 0)     AS normal,               sum(vic.status = 1)     AS other1,               sum(vic.status = 2)     AS exception,               sum(vic.status is null) AS unknown        FROM iot_dvr_channel dc                 LEFT JOIN mediator_video_integrity_check vic                           on dc.host_code = vic.equipment_code and dc.channel_code = vic.channel_code        WHERE dc.deleted = 0          and dc.org_path like concat(#{orgPath}, '%')    </select>    <select id="videoDays" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">        SELECT '录像存储天数'          AS `name`,               count(0)                AS count,               sum(vdc.status = 0)     AS normal,               sum(vdc.status = 1)     AS exception,               sum(vdc.status is null) AS unknown        FROM iot_dvr_channel dc                 LEFT JOIN mediator_video_days_check vdc                           on dc.host_code = vdc.equipment_code and dc.channel_code = vdc.channel_code        WHERE dc.deleted = 0          and dc.org_path like concat(#{orgPath}, '%')    </select>    <select id="videoQuality" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">        SELECT '(当前)录像质量'          AS `name`,               count(0)                  AS count,               sum(vdr.is_alarm = 0)     AS normal,               sum(vdr.is_alarm = 1)     AS exception,               sum(vdr.is_alarm is null) AS unknown        FROM iot_dvr_channel dc                 LEFT JOIN mediator_video_diagnosis_record vdr                           on dc.host_code = vdr.equipment_code and dc.channel_code = vdr.channel_code        WHERE dc.deleted = 0          and dc.org_path like concat(#{orgPath}, '%')    </select>    <select id="dvrDisk" resultType="com.xunmei.iot.vo.board.IotBoardOverviewItemVo">        SELECT '录像机硬盘'      AS `name`,               count(0)          AS count,               sum(dd.other1)    AS other1,               sum(dd.normal)    AS normal,               sum(dd.exception) AS exception,               sum(dd.unknown)   AS unknown        FROM iot_device d                 LEFT JOIN (SELECT count(0)           AS other1,                                   sum(state = 0)     AS normal,                                   sum(state = 1)     AS exception,                                   sum(state IS NULL) AS unknown,                                   host_code                            FROM iot_dvr_disk                            WHERE deleted = 0                              and org_path like concat(#{orgPath}, '%')                            GROUP BY host_code) dd ON d.equipment_code = dd.host_code        WHERE d.category_id = 1          AND d.deleted = 0          and d.org_path like concat(#{orgPath}, '%')    </select>    <select id="countDeviceNums" resultType="java.util.Map">        select category_id as categoryId, CAST(COUNT(1) AS CHAR) as nums        from iot_device d                 inner join sys_org o on o.id = d.org_id        where d.deleted = 0          and o.deleted = 0          and org_path like concat(#{orgPath}, '%')        group by category_id    </select>    <select id="countDeviceNums2" resultType="java.util.Map">        select 'sensor' as categoryId, CAST(COUNT(1) AS CHAR) as nums        from iot_sensor s                 inner join sys_org o on o.id = s.org_id        where s.deleted = 0          and o.deleted = 0          and org_path like concat(#{orgPath}, '%')        union all        select 'channel' as categoryId, CAST(COUNT(1) AS CHAR) as nums        from iot_dvr_channel c                 inner join sys_org o on o.id = c.org_id        where c.deleted = 0          and o.deleted = 0          and org_path like concat(#{orgPath}, '%')        union all        select 'disk' as categoryId, CAST(COUNT(1) AS CHAR) as nums        from iot_dvr_disk d                 inner join sys_org o on o.id = d.org_id        where d.deleted = 0          and o.deleted = 0          and org_path like concat(#{orgPath}, '%')    </select>    <select id="countSensorNums" resultType="java.util.Map">        select s.device_type as deviceType, CAST(COUNT(1) AS CHAR) as nums        from iot_sensor s                 inner join sys_org o on o.id = s.org_id        where o.deleted = 0          and s.deleted = 0          and org_path like concat(#{orgPath}, '%')        group by s.device_type    </select>    <select id="selectVideoDaysStorage" resultType="java.util.Map">        select CAST(c.plan_days AS CHAR) as planDays,CAST(sum(c.plan_days != c.real_days) AS CHAR) as nums        from mediator_video_days_check c                 inner join sys_org o on o.id = c.org_id        where o.deleted = 0          and org_path like concat(#{orgPath}, '%')        group by c.plan_days order by c.plan_days    </select>    <select id="selectVideoCheckSelf" resultType="com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheckLog">        select *        from mediator_video_integrity_check_log c                 inner join sys_org o on o.id = c.org_id        where o.deleted = 0          and record_date >= #{startTime}          and org_path  like concat(#{orgPath}, '%')        group by c.equipment_code, c.channel_code, record_date    </select></mapper>
 |