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 |   45 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 36 insertions(+), 9 deletions(-)

diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index b97bffc..22d1360 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -89,6 +89,13 @@
         </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>
+
     <select id="selectTMonitorList" resultType="com.ycl.platform.domain.vo.TMonitorVO">
         select m.id, m.serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude,
         camera_capture_area, on_state, civil_code, d.dept_id, d.dept_name, d.area, p.province_tag,
@@ -224,12 +231,9 @@
     </insert>
 
     <update id="batchUpdateDeviceType">
-        <foreach collection="list" separator=";" item="item">
-            UPDATE t_monitor
-            SET
-            update_time = #{item.updateTime},
-            device_type = #{item.deviceType}
-            WHERE id = #{item.id}
+        update t_monitor set device_type = #{deviceType} where serial_number in
+        <foreach collection="numbers" separator="," open="(" close=")" item="number">
+            #{number}
         </foreach>
     </update>
 
@@ -296,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">
@@ -504,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>
@@ -568,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