From 6707cf22587cba66f79a29145cc735a7c029dd05 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 09 九月 2024 13:35:02 +0800
Subject: [PATCH] 设置新设备bug
---
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 81 ++++++++++++++++++++++++++++++----------
1 files changed, 60 insertions(+), 21 deletions(-)
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 62aac3b..22d1360 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -36,6 +36,7 @@
<result property="cameraDept" column="camera_dept"/>
<result property="hybm" column="hybm"/>
<result property="lxbm" column="lxbm"/>
+ <result property="deviceType" column="device_type"/>
</resultMap>
<sql id="selectTMonitorVo">
@@ -69,7 +70,8 @@
encoded_format,
camera_dept,
hybm,
- lxbm
+ lxbm,
+ device_type
from t_monitor
</sql>
@@ -84,6 +86,13 @@
where m.serial_number in
<foreach collection="list" separator="," item="id" open="(" close=")">
#{id}
+ </foreach>
+ </select>
+
+ <select id="selectByNumbers" resultType="com.ycl.platform.domain.entity.TMonitor">
+ select * from t_monitor where serial_number in
+ <foreach collection="numbers" separator="," open="(" close=")" item="number">
+ #{number}
</foreach>
</select>
@@ -113,7 +122,7 @@
<if test="civilCode != null and civilCode != ''">and civil_code = #{civilCode}</if>
<if test="integratedDevice != null ">and integrated_device = #{integratedDevice}</if>
<if test="cameraBrand != null ">and camera_brand = #{cameraBrand}</if>
- <if test="address != null and address != ''">and address like concat('%',#{address},'%')</if>
+ <if test="address != null and address != ''">and d.dept_id = #{address}</if>
<if test="netWorking != null ">and net_working = #{netWorking}</if>
<if test="publicSecurity != null and publicSecurity != ''">and public_security = #{publicSecurity}</if>
<if test="installedTime != null ">and installed_time = #{installedTime}</if>
@@ -184,6 +193,7 @@
<if test="cameraDept != null">camera_dept,</if>
<if test="hybm != null">hybm,</if>
<if test="lxbm != null">lxbm,</if>
+ <if test="deviceType != null">device_type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="serialNumber != null and serialNumber != ''">#{serialNumber},</if>
@@ -216,8 +226,16 @@
<if test="cameraDept != null">#{cameraDept},</if>
<if test="hybm != null">#{hybm},</if>
<if test="lxbm != null">#{lxbm},</if>
+ <if test="deviceType != null">#{deviceType},</if>
</trim>
</insert>
+
+ <update id="batchUpdateDeviceType">
+ update t_monitor set device_type = #{deviceType} where serial_number in
+ <foreach collection="numbers" separator="," open="(" close=")" item="number">
+ #{number}
+ </foreach>
+ </update>
<update id="updateTMonitor" parameterType="com.ycl.platform.domain.entity.TMonitor">
update t_monitor
@@ -254,6 +272,7 @@
<if test="cameraDept != null">camera_dept = #{cameraDept},</if>
<if test="hybm != null">hybm = #{hybm},</if>
<if test="lxbm != null">lxbm = #{lxbm},</if>
+ <if test="deviceType != null">device_type = #{deviceType},</if>
</trim>
where id = #{id}
</update>
@@ -281,12 +300,9 @@
IFNULL(SUM(IF(on_state = 2, 1, 0)), 0) AS postsPercentage,
IFNULL(ROUND(SUM(IF(on_state = 1, 1, 0)) / count(*) * 100, 2), 0) as viewsPercentage
FROM t_monitor m
- left join t_yw_point p on m.serial_number = p.serial_number
- left join sys_dept d on p.dept_id = d.dept_id
<where>
camera_fun_type like concat('%', #{cameraFunType}, '%')
</where>
- ${params.dataScope}
</select>
<select id="recoveryException" resultType="java.util.Map">
@@ -354,7 +370,7 @@
LEFT JOIN t_work_order w ON w.serial_number = p.serial_number
WHERE u.id = #{unitId} AND MONTH(w.create_time) IS NOT NULL
<if test="dateRange != null and dateRange.size > 0">
- AND DATE_FORMAT(w.create_time, '%Y-%m') BETWEEN #{dateRange[0]} AND #{dateRange[1]}
+ AND DATE_FORMAT(w.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{dateRange[0]}, '%Y-%m') AND DATE_FORMAT(#{dateRange[1]}, '%Y-%m')
</if>
GROUP BY months
ORDER BY months
@@ -367,10 +383,9 @@
COUNT(p2.id) AS errorNum,
COUNT(p1.id) - COUNT(p2.id) AS normalNum
FROM t_monitor
- LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 'province' </if>
- LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if>
+ LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 1 </if><if test="dataScope == 3"> AND p1.important_tag = 1 </if><if test="deptId != null"> AND p1.dept_id = #{deptId} </if>
+ LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.recovery = 1 AND p1.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.important_tag = 1 </if><if test="deptId != null"> AND p2.dept_id = #{deptId} </if>
WHERE INSTR(camera_fun_type, 1)
- <if test="deptId != null"> AND p1.dept_id = #{deptId} AND p2.dept_id = #{deptId} </if>
UNION ALL
SELECT
'杞﹁締' as type,
@@ -378,10 +393,9 @@
COUNT(p2.id) AS errorNum,
COUNT(p1.id) - COUNT(p2.id) AS normalNum
FROM t_monitor
- LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 'province' </if>
- LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if>
+ LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 1 </if><if test="dataScope == 3"> AND p1.important_tag = 1 </if><if test="deptId != null"> AND p1.dept_id = #{deptId} </if>
+ LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.recovery = 1 AND p1.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = '1' </if><if test="dataScope == 3"> AND p2.important_tag = 1 </if><if test="deptId != null"> AND p2.dept_id = #{deptId} </if>
WHERE INSTR(camera_fun_type, 2)
- <if test="deptId != null"> AND p1.dept_id = #{deptId} AND p2.dept_id = #{deptId} </if>
UNION ALL
SELECT
'浜鸿劯' as type,
@@ -389,10 +403,9 @@
COUNT(p2.id) AS errorNum,
COUNT(p1.id) - COUNT(p2.id) AS normalNum
FROM t_monitor
- LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 'province' </if>
- LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if>
+ LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 1 </if><if test="dataScope == 3"> AND p1.important_tag = 1 </if><if test="deptId != null"> AND p1.dept_id = #{deptId} </if>
+ LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.recovery = 1 AND p1.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.important_tag = 1 </if><if test="deptId != null"> AND p2.dept_id = #{deptId} </if>
WHERE INSTR(camera_fun_type, 3)
- <if test="deptId != null"> AND p1.dept_id = #{deptId} AND p2.dept_id = #{deptId} </if>
</select>
<select id="monitorRate" resultType="com.ycl.platform.domain.vo.screen.MonitorRateVO">
@@ -408,8 +421,8 @@
COUNT(m2.id) AS faceErrorNum
FROM
sys_dept d
- LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 'province' </if>
- LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if>
+ LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 1 </if><if test="dataScope == 3"> AND p.important_tag = 1 </if>
+ LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.recovery = 1 AND p.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.important_tag = 1 </if>
LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 1)
LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 1)
WHERE d.del_flag = 0 AND d.area IS NOT NULL
@@ -426,8 +439,8 @@
COUNT(m2.id) AS carErrorNum
FROM
sys_dept d
- LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 'province' </if>
- LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if>
+ LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 1 </if><if test="dataScope == 3"> AND p.important_tag = 1 </if>
+ LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.recovery = 1 AND p.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.important_tag = 1 </if>
LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 2)
LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 2)
WHERE d.del_flag = 0 AND d.area IS NOT NULL
@@ -444,8 +457,8 @@
COUNT(m2.id) AS videoErrorNum
FROM
sys_dept d
- LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 'province' </if>
- LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if>
+ LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 1 </if><if test="dataScope == 3"> AND p.important_tag = 1 </if>
+ LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.recovery = 1 AND p.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.important_tag = 1 </if>
LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 3)
LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 3)
WHERE d.del_flag = 0 AND d.area IS NOT NULL
@@ -492,9 +505,13 @@
#{query.keyword} as keyword
FROM
t_monitor tm
+ INNER JOIN t_yw_point yp ON yp.serial_number = tm.serial_number
<where>
<if test="query.keyword != null and query.keyword != ''">
AND tm.name like concat('%', #{query.keyword}, '%')
+ </if>
+ <if test="query.startTIme != null and query.endTime != null">
+ AND yp.create_time between #{query.startTime} and #{query.endTime}
</if>
</where>
</select>
@@ -556,4 +573,26 @@
<delete id="deleteAll">
delete from t_monitor
</delete>
+
+ <select id="getGBbyGB" resultType="string">
+ SELECT
+ DISTINCT serial_number
+ FROM
+ t_monitor
+ WHERE
+ serial_number in <foreach collection="gbList" open="(" separator="," close=")" item="no">#{no}</foreach>
+ </select>
+
+ <select id="getDistinctIP" resultType="string">
+ SELECT
+ DISTINCT ip
+ FROM
+ t_monitor
+ </select>
+
+ <update id="updateOnline">
+ update t_yw_ponit set online = #{online.online}, update_time = #{online.updateTime} WHERE EXISTS (
+ SELECT 1 FROM t_monitor WHERE ip = #{online.ip} AND t_monitor.serial_number = t_yw_point.serial_number
+ );
+ </update>
</mapper>
--
Gitblit v1.8.0