| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- <?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="diagnosisDetailMap" type="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisWebVo">
- <result column="hostName" property="hostName"></result>
- <result column="channelName" property="channelName"></result>
- <result column="channelIp" property="channelIp"></result>
- <association property="quality" javaType="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisQualityVo">
- <result column="quality_update_time" property="updateTime"></result>
- <result column="quality_signal_lost" property="signalLost"></result>
- <result column="quality_occlude" property="occlude"></result>
- <result column="quality_brightness" property="brightness"></result>
- <result column="quality_colorCast" property="colorCast"></result>
- <result column="quality_snowflake" property="snowflake"></result>
- <result column="quality_stripe" property="stripe"></result>
- <result column="quality_contrast" property="contrast"></result>
- <result column="quality_blurry" property="blurry"></result>
- <result column="quality_image" property="image"></result>
- </association>
- <association property="integrity" javaType="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisIntegrityVo">
- <result column="integrity_record_date" property="recordDate"></result>
- <result column="integrity_lose_duration" property="loseDuration"></result>
- <result column="integrity_lose_span" property="loseSpan"></result>
- <result column="integrity_check_span" property="checkSpan"></result>
- <result column="integrity_update_time" property="updateTime"></result>
- </association>
- <association property="storage" javaType="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisStorageVo">
- <result column="storage_plan_days" property="planDays"></result>
- <result column="storage_real_days" property="realDays"></result>
- <result column="storage_earliest_video_time" property="earliestTime"></result>
- </association>
- </resultMap>
- <resultMap id="appPageMap" type="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisAppPageVo">
- <result column="equipment_code" property="hostCode"></result>
- <result column="equipment_name" property="hostName"></result>
- <result column="org_name" property="orgName"></result>
- <result column="state" property="state"></result>
- <collection property="channels" ofType="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisAppPageChannelVo"
- column="equipmentCode=equipment_code,state=state"
- select="selectAppChannels">
- <result column="channel_code" property="channelCode"></result>
- <result column="state" property="state"></result>
- </collection>
- </resultMap>
- <select id="selectPage" resultType="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisWebPageVo">
- SELECT
- c.id,
- c.host_code,
- c.channel_code,
- c.org_name,
- o.affiliated_area,
- o.affiliated_bank,
- c.channel_name,
- c.channel_addr as channelIP,
- vic.lose_duration,
- vdc.plan_days,
- vdc.real_days,
- if(vdr.id is
- null,null,if(vdr.signal_lost+vdr.occlude+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
- inner join sys_org o on c.org_id =o.id and o.deleted=0 and o.is_lock='0'
- 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
- where c.deleted=0 and d.deleted=0
- <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.hostName!=null and pageDto.hostName!=''">
- and d.equipment_name like concat('%', #{pageDto.hostName},'%')
- </if>
- <if test="pageDto.channelName!=null and pageDto.channelName!=''">
- and c.channel_name like concat('%', #{pageDto.channelName},'%')
- </if>
- <if test="pageDto.integrityState!=null">
- and vic.status=#{pageDto.integrityState}
- </if>
- <if test="pageDto.daysState!=null">
- and vdc.status=#{pageDto.daysState}
- </if>
- <if test="pageDto.diagnosisState!=null">
- and vdr.is_alarm=#{pageDto.diagnosisState}
- </if>
- <!-- <if test="pageDto.status !=null">-->
- <!-- and dhd.`status` = #{pageDto.status}-->
- <!-- </if>-->
- </select>
- <select id="diagnosisDetail" resultMap="diagnosisDetailMap">
- SELECT d.equipment_name as hostName,
- c.channel_name as channelName,
- c.channel_addr as channelIp,
- vdr.update_time as quality_update_time,
- vdr.signal_lost as quality_signal_lost,
- vdr.occlude as quality_occlude,
- vdr.brightness as quality_brightness,
- vdr.color_cast as quality_colorCast,
- vdr.snowflake as quality_snowflake,
- vdr.stripe as quality_stripe,
- vdr.contrast as quality_contrast,
- vdr.blurry as quality_blurry,
- vdr.img_url as quality_image,
- vic.record_date as integrity_record_date,
- vic.lose_duration as integrity_lose_duration,
- vic.lose_span as integrity_lose_span,
- vic.check_span as integrity_check_span,
- vic.update_time as integrity_update_time,
- vdc.plan_days as storage_plan_days,
- vdc.real_days as storage_real_days,
- vdc.earliest_video_time as storage_earliest_video_time
- 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
- WHERE c.host_code = #{hostCode}
- and c.channel_code = #{channelCode}
- </select>
- <select id="selectAppChannels" resultType="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisAppPageChannelVo">
- select dc.channel_code,
- if(vdc.status=0 and vic.status=0 and vdr.is_alarm=0,0,if(vdc.status =1 or vic.status>0 or vdr.is_alarm=1,1,2))
- as state
- 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
- LEFT JOIN mediator_video_integrity_check vic on dc.host_code=vic.equipment_code and dc.channel_code
- =vic.channel_code
- LEFT JOIN mediator_video_diagnosis_record vdr on dc.host_code=vdr.equipment_code and dc.channel_code
- =vdr.channel_code
- where dc.host_code=#{equipmentCode} and dc.deleted=0
- <if test="state==0">
- and (vdc.`status`=0 or vic.`status`=0 or vdr.is_alarm=0)
- </if>
- <if test="state==1">
- and (vdc.`status`=1 or vic.`status`>0 or vdr.is_alarm=1)
- </if>
- <if test="state==2">
- and (vdc.`status` is null or vic.`status` is null or vdr.is_alarm is null)
- </if>
- order by dc.channel_code asc
- </select>
- <select id="selectAppPage" resultMap="appPageMap">
- SELECT equipment_code,
- equipment_name,
- org_name,
- #{pageDto.state} as state
- from iot_device
- WHERE category_id = #{pageDto.categoryId}
- <if test="pageDto.checkSub==true">
- and org_path like concat(#{orgPath}, '%')
- </if>
- <if test="pageDto.checkSub==false">
- and org_id=#{pageDto.orgId}
- </if>
- and deleted=0
- <if test="pageDto.state!=null">
- and equipment_code in (
- SELECT dc.host_code
- 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
- LEFT JOIN mediator_video_integrity_check vic on dc.host_code=vic.equipment_code and dc.channel_code
- =vic.channel_code
- 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
- <if test="pageDto.state==0">
- and (vdc.`status`=0 and vic.`status`=0 and vdr.is_alarm=0)
- </if>
- <if test="pageDto.state==1">
- and (vdc.`status`=1 or vic.`status`>0 or vdr.is_alarm=1)
- </if>
- <if test="pageDto.state==2">
- and (vdc.`status` is null or vic.`status` is null or vdr.is_alarm is null)
- </if>
- <if test="pageDto.checkSub==true">
- and dc.org_path like concat(#{orgPath}, '%')
- </if>
- <if test="pageDto.checkSub==false">
- and dc.org_id=#{pageDto.orgId}
- </if>
- GROUP BY dc.host_code
- )
- </if>
- </select>
- <select id="selectBadge" resultType="java.lang.Integer">
- SELECT sum(vdc.`status` > 0 or vic.`status` > 0 or vdc.`status` > 0) as count
- FROM iot_dvr_channel dc
- LEFT JOIN mediator_video_days_check vdc
- on vdc.equipment_code = dc.host_code and vdc.channel_code = dc.channel_code
- LEFT JOIN mediator_video_integrity_check vic
- on vic.equipment_code = dc.host_code and vic.channel_code = dc.channel_code
- LEFT JOIN mediator_video_diagnosis_record vdr
- on vdr.equipment_code = dc.host_code and vdr.channel_code = dc.channel_code
- WHERE dc.org_id = #{orgId}
- AND dc.deleted = 0
- </select>
- </mapper>
|