| 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>
 
 
  |