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