|
|
@@ -45,6 +45,32 @@
|
|
|
<result column="state" property="state"></result>
|
|
|
</collection>
|
|
|
</resultMap>
|
|
|
+ <resultMap id="appVideoCheckPageMap" 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="selectAppVideoCheckChannels">
|
|
|
+ <result column="channel_code" property="channelCode"></result>
|
|
|
+ <result column="channel_name" property="channelName"></result>
|
|
|
+ <result column="state" property="state"></result>
|
|
|
+ </collection>
|
|
|
+ </resultMap>
|
|
|
+ <resultMap id="appVideoDiagnosisPageMap" 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="selectAppVideoDiagnosisChannels">
|
|
|
+ <result column="channel_code" property="channelCode"></result>
|
|
|
+ <result column="channel_name" property="channelName"></result>
|
|
|
+ <result column="state" property="state"></result>
|
|
|
+ </collection>
|
|
|
+ </resultMap>
|
|
|
<select id="selectPage" resultType="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisWebPageVo">
|
|
|
SELECT DISTINCT
|
|
|
c.id,
|
|
|
@@ -159,6 +185,48 @@
|
|
|
</if>
|
|
|
order by dc.channel_code asc
|
|
|
</select>
|
|
|
+ <select id="selectAppVideoCheckChannels" resultType="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisAppPageChannelVo">
|
|
|
+ select dc.channel_code,
|
|
|
+ dc.channel_name,
|
|
|
+ if(vdc.status=0 and vic.status=0 ,0,if(vdc.status =1 or vic.status>0,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
|
|
|
+ where dc.host_code=#{equipmentCode} and dc.deleted=0
|
|
|
+ <if test="state==0">
|
|
|
+ and (vdc.`status`=0 or vic.`status`=0)
|
|
|
+ </if>
|
|
|
+ <if test="state==1">
|
|
|
+ and (vdc.`status`=1 or vic.`status`>0)
|
|
|
+ </if>
|
|
|
+ <if test="state==2">
|
|
|
+ and (vdc.`status` is null or vic.`status` is null)
|
|
|
+ </if>
|
|
|
+ order by dc.channel_code asc
|
|
|
+ </select>
|
|
|
+ <select id="selectAppVideoDiagnosisChannels" resultType="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisAppPageChannelVo">
|
|
|
+ select dc.channel_code,
|
|
|
+ dc.channel_name,
|
|
|
+ if(vdr.is_alarm=0,0,if(vdr.is_alarm=1,1,2))
|
|
|
+ as state
|
|
|
+ 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.host_code=#{equipmentCode} and dc.deleted=0
|
|
|
+ <if test="state==0">
|
|
|
+ and vdr.is_alarm=0
|
|
|
+ </if>
|
|
|
+ <if test="state==1">
|
|
|
+ and vdr.is_alarm=1
|
|
|
+ </if>
|
|
|
+ <if test="state==2">
|
|
|
+ and vdr.is_alarm is null
|
|
|
+ </if>
|
|
|
+ order by dc.channel_code asc
|
|
|
+ </select>
|
|
|
<select id="selectAppPage" resultMap="appPageMap">
|
|
|
SELECT equipment_code,
|
|
|
equipment_name,
|
|
|
@@ -203,6 +271,88 @@
|
|
|
)
|
|
|
</if>
|
|
|
</select>
|
|
|
+ <select id="selectAppVideoCheckPage" resultMap="appVideoCheckPageMap">
|
|
|
+ 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
|
|
|
+ WHERE dc.deleted=0
|
|
|
+ <if test="pageDto.state==0">
|
|
|
+ and (vdc.`status`=0 and vic.`status`=0)
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.state==1">
|
|
|
+ and (vdc.`status`=1 or vic.`status`>0)
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.state==2">
|
|
|
+ and (vdc.`status` is null or vic.`status` 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="selectAppVideoDiagnosisPage" resultMap="appVideoDiagnosisPageMap">
|
|
|
+ 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_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 vdr.is_alarm=0
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.state==1">
|
|
|
+ and vdr.is_alarm=1
|
|
|
+ </if>
|
|
|
+ <if test="pageDto.state==2">
|
|
|
+ and 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 vdr.`is_alarm` > 0) as count
|
|
|
FROM iot_dvr_channel dc
|
|
|
@@ -215,4 +365,24 @@
|
|
|
WHERE dc.org_id = #{orgId}
|
|
|
AND dc.deleted = 0
|
|
|
</select>
|
|
|
+ <select id="selectVideoLoseBadge" resultType="java.lang.Integer">
|
|
|
+ SELECT sum(vdc.`status` > 0 or vic.`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
|
|
|
+ WHERE dc.org_id = #{orgId}
|
|
|
+ AND dc.deleted = 0
|
|
|
+ </select>
|
|
|
+ <select id="selectVideoQualityBadge" resultType="java.lang.Integer">
|
|
|
+ SELECT sum(vdr.`is_alarm` > 0) as count
|
|
|
+ FROM iot_dvr_channel dc
|
|
|
+ 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>
|