jl-jjsp-service/securityControl-modules/securityControl-proteam/target/classes/mapper/supplement/MonitoringCoverageMapper.xml

147 lines
6.5 KiB
XML
Raw Normal View History

2025-09-24 11:10:04 +08:00
<?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.sercurityControl.proteam.supplement.mapper.MonitoringCoverageMapper">
<!--监控覆盖-活跃度分析-->
<select id="getHyd" resultType="com.sercurityControl.proteam.supplement.domain.vo.MonitoringCoverageVo">
SELECT jjmc.class_id AS id,
td.mac_id AS name,
DATE_FORMAT(jjmc.run_time,'%Y-%m-%d %H:%i:%s') AS runTime
FROM jj_monitoring_coverage jjmc
LEFT JOIN t_device td ON jjmc.camera_no = td.t_code
ORDER BY jjmc.run_time
</select>
<!--监控覆盖-覆盖度分析-->
<select id="getFgd" resultType="com.sercurityControl.proteam.supplement.domain.vo.MonitoringCoverageVo">
SELECT so.city_name AS name,
a.num,
so.org_id AS id
FROM sys_org so
LEFT JOIN (
SELECT jjcm.build_unit_code AS org,
COUNT(jjcm.build_unit_code) AS num
FROM jj_monitoring_coverage jjmc
LEFT JOIN jj_class_meetting jjcm ON jjmc.class_id = jjcm.id
GROUP BY jjcm.build_unit_code
) a ON so.org_id = a.org
ORDER BY IFNULL(a.num,0) DESC
</select>
<!--地图球机-->
<select id="getMap" resultType="com.sercurityControl.proteam.supplement.domain.vo.MonitoringCoverageVo">
SELECT jjcm.re_assessment_risk_level AS riskLevel,
jjcm.tool_box_talk_address AS address,
td.mac_id AS name,
jjcm.tool_box_talk_longitude AS lon,
jjcm.tool_box_talk_Latitude AS lat
FROM jj_monitoring_coverage jjmc
LEFT JOIN jj_class_meetting jjcm ON jjmc.class_id = jjcm.id
LEFT JOIN t_device td ON jjmc.camera_no = td.t_code
</select>
<!--球机异常数量-->
<select id="getErrorNum"
resultType="com.sercurityControl.proteam.supplement.domain.vo.MonitoringCoverageVo">
SELECT jjmc.error_type AS name,COUNT(jjmc.error_type) AS num
FROM jj_monitoring_coverage jjmc
WHERE jjmc.error_type IN ('1','2','3','4','5','6')
GROUP BY jjmc.error_type
</select>
<!--下行观看分析-->
<select id="getWatchNum"
resultType="com.sercurityControl.proteam.supplement.domain.vo.MonitoringCoverageVo">
SELECT td.mac_id AS name,
jjmc.watch_time AS watchTime,
jjmc.class_id AS id
FROM jj_monitoring_coverage jjmc
LEFT JOIN t_device td ON jjmc.camera_no = td.t_code
ORDER BY jjmc.watch_time DESC
</select>
<!--风险球机覆盖度-->
<select id="getCoverRate"
resultType="com.sercurityControl.proteam.supplement.domain.vo.MonitoringCoverageVo">
SELECT COUNT(IF(jjcm.re_assessment_risk_level = '2',1,null)) AS twoRiskNum,
COUNT(IF(jjcm.re_assessment_risk_level = '3',1,null)) AS threeRiskNum,
COUNT(IF(jjcm.re_assessment_risk_level = '4',1,null)) AS fourRiskNum,
COUNT(IF(jjcm.re_assessment_risk_level = '5',1,null)) AS fiveRiskNum,
COUNT(jjcm.re_assessment_risk_level) AS totalRiskNum
FROM jj_monitoring_coverage jjmc
LEFT JOIN jj_class_meetting jjcm ON jjcm.id = jjmc.class_id
</select>
<!--球机速率正常/异常数量-->
<select id="getSpeedNum"
resultType="com.sercurityControl.proteam.supplement.domain.vo.MonitoringCoverageVo">
SELECT COUNT(IF(jjmc.error_type = '7',1,null)) AS errorNum,
COUNT(IF(jjmc.error_type != '7',1,null)) AS normalNum
FROM jj_monitoring_coverage jjmc
</select>
<!--1.监控活跃度分析、2.监控覆盖度分析、3.下行观看分析详情、4.视频速率正常、5.球机告警类型-->
<select id="getMonitoringHydList"
resultType="com.sercurityControl.proteam.supplement.domain.vo.MonitoringDetailVo">
SELECT jjcm.id AS id,
jjcm.bidding_section_name AS proName,
jjcm.re_assessment_risk_level AS riskLevel,
jjcmi.work_manage AS workManager,
jjcmi.work_manage_phone AS workManagerPhone,
jjcm.tool_box_talk_longitude AS lon,
jjcm.tool_box_talk_Latitude AS lat,
so.city_name AS org,
jjcmi.team_name AS teamName,
td.mac_id AS name,
DATE_FORMAT(jjmc.run_time,'%Y-%m-%d %H:%i:%s') AS time,
jjmc.watch_time AS watchTime,
CASE jjmc.error_type
WHEN '1' THEN '球机正常'
WHEN '2' THEN '异常掉线'
WHEN '3' THEN '画面不清晰'
WHEN '4' THEN '不流畅'
WHEN '5' THEN '信号弱'
WHEN '6' THEN '人为遮挡'
END AS errorName
FROM jj_monitoring_coverage jjmc
LEFT JOIN t_device td ON jjmc.camera_no = td.t_code
LEFT JOIN jj_class_meetting jjcm ON jjmc.class_id = jjcm.id
LEFT JOIN jj_class_metting_info jjcmi ON jjcm.id = jjcmi.class_id
LEFT JOIN sys_org so ON jjcm.build_unit_code = so.org_id
<where>
<if test="id!=null and id!=''">
AND jjmc.class_id = #{id}
</if>
<if test="proName!=null and proName!=''">
AND INSTR(jjcm.bidding_section_name,#{proName}) > 0
</if>
<if test="org!=null and org!=''">
AND jjcm.build_unit_code = #{org}
</if>
<if test="riskLevel!=null and riskLevel!=''">
AND jjcm.re_assessment_risk_level = #{riskLevel}
</if>
<if test="teamName!=null and teamName!=''">
AND INSTR(jjcmi.team_name,#{teamName}) > 0
</if>
<if test="workManager!=null and workManager!=''">
AND INSTR(jjcmi.work_manage,#{workManager}) > 0
</if>
<if test="type == 4">
<if test="operType == 1">
AND jjmc.error_type NOT IN ('7')
</if>
<if test="operType == 2">
AND jjmc.error_type = '7'
</if>
</if>
<if test="type == 5">
<if test="errorType!='' and errorType!=null">
AND jjmc.error_type = #{errorType}
</if>
<if test="errorType==null or errorType == ''">
AND jjmc.error_type NOT IN ('7')
</if>
</if>
</where>
<if test="type == 1">
ORDER BY jjmc.run_time
</if>
<if test="type == 3">
ORDER BY jjmc.watch_time DESC
</if>
</select>
</mapper>