|
|
@@ -0,0 +1,132 @@
|
|
|
+<?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.IotDvrChannelMapper">
|
|
|
+ <resultMap id="alarmHostStatusMap" type="com.xunmei.iot.vo.dvrDisk.DvrDiskPageVo">
|
|
|
+ <result column="id" property="id"/>
|
|
|
+ <result column="equipmentCode" property="equipmentCode"/>
|
|
|
+ <result column="equipmentName" property="equipmentName"/>
|
|
|
+ <result column="ip" property="ip"/>
|
|
|
+ <result column="orgId" property="orgId"/>
|
|
|
+ <result column="orgName" property="orgName"/>
|
|
|
+ <result column="status" property="status"/>
|
|
|
+ <result column="alarmTime" property="alarmTime"/>
|
|
|
+ <result column="detailInfo" property="detailInfo"
|
|
|
+ typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
|
|
+ <collection property="diskInfos" column="equipmentCode=equipmentCode"
|
|
|
+ select="selectDiskInfo">
|
|
|
+ <result column="id" property="id"/>
|
|
|
+ <result column="available" property="available"/>
|
|
|
+ <result column="diskSerialNum" property="diskSerialNum"/>
|
|
|
+ <result column="total" property="total"/>
|
|
|
+ <result column="hostCode" property="hostCode"/>
|
|
|
+ <result column="orgId" property="orgId"/>
|
|
|
+ </collection>
|
|
|
+ </resultMap>
|
|
|
+ <select id="selectPage" resultType="alarmHostStatusMap">
|
|
|
+ SELECT
|
|
|
+ c.host_code,
|
|
|
+ c.channel_code,
|
|
|
+ c.org_name,
|
|
|
+ c.channel_name,
|
|
|
+ c.channel_addr as channelIP,
|
|
|
+ vic.lose_duration,
|
|
|
+ vdc.plan_days,
|
|
|
+ vdc.real_days,
|
|
|
+ vdr.signal_lost,
|
|
|
+ vdr.occlude,
|
|
|
+ if(vdr.brightness+vdr.color_cast+vdr.snowflake+vdr.stripe+vdr.contrast+vdr.blurry>1,1,0) as quality
|
|
|
+ from iot_dvr_channel c
|
|
|
+ INNER JOIN iot_device d on c.host_code=d.equipment_code
|
|
|
+ left JOIN mediator_video_days_check vdc on c.host_code=vdc.equipment_code and c.channel_code=vdc.channel_code
|
|
|
+ left JOIN mediator_video_integrity_check vic on c.host_code=vic.equipment_code and c.channel_code=vic.channel_code
|
|
|
+ left JOIN mediator_video_diagnosis_record vdr on c.host_code=vdr.equipment_code and c.channel_code=vdr.channel_code
|
|
|
+ <if test="pageDto.checkSub==true">
|
|
|
+ and c.org_path like concat(#{orgPath},"%")
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.checkSub==false">
|
|
|
+ and c.org_id = #{pageDto.orgId}
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.equipmentName!=null and pageDto.equipmentName!=''">
|
|
|
+ and d.equipment_name like concat('%', #{pageDto.equipmentName},'%')
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.channelName!=null and pageDto.channelName!=''">
|
|
|
+ and d.channel_name like concat('%', #{pageDto.channelName},'%')
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.status !=null">
|
|
|
+ and dhd.`status` = #{pageDto.status}
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.alarmStartTime !=null">
|
|
|
+ and dhd.alarm_time >= #{pageDto.alarmStartTime}
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.alarmEndTime !=null">
|
|
|
+ and #{pageDto.alarmEndTime}>= dhd.`alarm_time`
|
|
|
+ </if>
|
|
|
+ and d.deleted=0
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="selectDiskInfo" resultType="com.xunmei.common.core.domain.iot.domain.IotDvrDisk">
|
|
|
+ select id,
|
|
|
+ available,
|
|
|
+ `disk_serial_num` as diskSerialNum,
|
|
|
+ `str_name` as `strName`,
|
|
|
+ `total`,
|
|
|
+ `host_code` as `hostCode`,
|
|
|
+ `org_id` as `orgId`
|
|
|
+ from iot_dvr_disk
|
|
|
+ where host_code = #{equipmentCode}
|
|
|
+ </select>
|
|
|
+ <select id="getRecordAlarmHistoryList"
|
|
|
+ resultType="com.xunmei.iot.vo.dvrDisk.DvrDiskAlarmHistoryPageVo">
|
|
|
+ SELECT
|
|
|
+ r.id,
|
|
|
+ r.org_id AS orgId,
|
|
|
+ r.org_name AS orgName,
|
|
|
+ r.device_name AS deviceName,
|
|
|
+ r.alarm_status as status,
|
|
|
+ r.alarm_type AS alarmType,
|
|
|
+ r.alarm_start_time AS alarmStartTime,
|
|
|
+ r.alarm_end_time AS alarmEndTime,
|
|
|
+ r.alarm_detail as alarmDetail
|
|
|
+ FROM
|
|
|
+ t_host_alarm_record r
|
|
|
+ where r.device_type=3713671510851584 AND r.assets_type=3713670431768576
|
|
|
+
|
|
|
+ <if test="pageDto.deviceId != null">
|
|
|
+ and r.device_id = #{pageDto.deviceId}
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.status != null">
|
|
|
+ and r.alarm_status = #{pageDto.status}
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.diskName != null">
|
|
|
+ and r.alarm_detail like concat('%"',#{pageDto.diskName},'"%')
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.alarmCode != null">
|
|
|
+ and r.alarm_code= #{pageDto.alarmCode}
|
|
|
+ </if>
|
|
|
+
|
|
|
+ <if test="pageDto.alarmStartTime != null and pageDto.alarmEndTime != null">
|
|
|
+ and ((r.alarm_start_time is not null and r.alarm_end_time is not null and
|
|
|
+ r.alarm_end_time>=#{pageDto.alarmStartTime} and #{pageDto.alarmEndTime}>=r.alarm_start_time)
|
|
|
+ or (r.alarm_end_time is null and r.alarm_start_time>= #{pageDto.alarmStartTime} and #{pageDto.alarmEndTime}>=r.alarm_start_time )
|
|
|
+ or (r.alarm_start_time is null and r.alarm_end_time>= #{pageDto.alarmStartTime} and #{pageDto.alarmEndTime}>=r.alarm_end_time)
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ order by r.alarm_start_time desc
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="diskStatistic" resultType="com.xunmei.iot.vo.dvrDisk.DvrDiskStatisticVo">
|
|
|
+ SELECT count(0) AS dvrTotal,
|
|
|
+ SUM(DD.count) AS diskTotal,
|
|
|
+ SUM(dd.exceptionCount) as diskExceptionCount
|
|
|
+ FROM iot_device d
|
|
|
+ LEFT JOIN (SELECT equipment_code,count(0) as count,SUM(if(state=1,1,0)) as exceptionCount from iot_dvr_disk WHERE deleted=0 ) dd on d.equipment_code =dd.equipment_code
|
|
|
+ where d.deleted=0 and d.category_id=#{pageDto.categoryId}
|
|
|
+ <if test="pageDto.checkSub==true">
|
|
|
+ and d.org_path like concat(#{orgPath},"%")
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.checkSub==false">
|
|
|
+ and d.org_id = #{request.orgId}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+</mapper>
|