From 44858471387cb6808fb086813d5987daf9e5d77a Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 13 九月 2024 14:05:16 +0800
Subject: [PATCH] 运行监控增加省厅条件、点位在线取point online,统计增加数据权限

---
 ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml |   46 ++++++++++++++++++++++++++++++----------------
 1 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 5bfc1f0..f5a4c39 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -98,15 +98,20 @@
 
     <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,
+        camera_capture_area, p.online as onState, civil_code, d.dept_id, d.dept_name, d.area, p.province_tag,
         IF(COUNT(w.id) OVER() > 0, '鏄�', '鍚�') AS error, u.unit_name from t_monitor m
         left join t_yw_point p on m.serial_number = p.serial_number and p.deleted = 0
         left join sys_dept d on p.dept_id = d.dept_id and d.del_flag = 0
         left join t_work_order w on m.serial_number = w.serial_number and w.deleted = 0
         left join t_yw_unit u on p.unit_id = u.id and u.deleted = 0
         <where>
+
             <if test="serialNumber != null  and serialNumber != ''">and m.serial_number = #{serialNumber}</if>
-            <if test="name != null  and name != ''">and name like concat('%', #{name}, '%')</if>
+            <if test="name != null  and name != ''">
+            and (name like concat('%', #{name}, '%')
+            or m.serial_number like concat('%', #{name}, '%')
+            or u.unit_name like concat('%', #{name}, '%')) </if>
+            <if test="provinceTag != null ">and p.province_tag = #{provinceTag}</if>
             <if test="siteType != null ">and site_type = #{siteType}</if>
             <if test="macAddr != null  and macAddr != ''">and mac_addr = #{macAddr}</if>
             <if test="ip != null  and ip != ''">and ip = #{ip}</if>
@@ -118,7 +123,7 @@
             <if test="cameraCaptureArea != null  and cameraCaptureArea != ''">and camera_capture_area =
                 #{cameraCaptureArea}
             </if>
-            <if test="onState != null ">and on_state = #{onState}</if>
+            <if test="onState != null ">and p.online = #{onState}</if>
             <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>
@@ -140,8 +145,8 @@
             <if test="hybm != null  and hybm != ''">and hybm = #{hybm}</if>
             <if test="lxbm != null ">and lxbm = #{lxbm}</if>
             <if test="recovery != null ">and p.recovery = #{recovery}</if>
+            ${params.dataScope}
         </where>
-        ${params.dataScope}
     </select>
 
     <select id="selectMonitorVOList" resultType="com.ycl.platform.domain.vo.TMonitorVO">
@@ -307,26 +312,35 @@
 
     <select id="getVideoCount" resultType="java.util.Map">
         SELECT count(*) AS totalPosts,
-        IFNULL(SUM(IF(on_state = 1, 1, 0)), 0) AS totalMembers,
-        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
+        IFNULL(SUM(IF(p.online = 1, 1, 0)), 0) AS totalMembers,
+        IFNULL(SUM(IF(p.online = 0, 1, 0)), 0) AS postsPercentage,
+        IFNULL(ROUND(SUM(IF(p.online, 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 and d.del_flag = 0
         <where>
             camera_fun_type like concat('%', #{cameraFunType}, '%')
+            <if test="provinceTag!=null">
+                and p.province_tag = #{provinceTag}
+            </if>
+            ${params.dataScope}
         </where>
     </select>
 
     <select id="recoveryException" resultType="java.util.Map">
-        <![CDATA[
         SELECT count(*)                                                          AS totalPosts,
-               IFNULL(SUM(IF(on_state = 1, 1, 0)), 0)                            AS totalMembers,
-               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
+               IFNULL(SUM(IF(p.online = 1, 1, 0)), 0)                            AS totalMembers,
+               IFNULL(SUM(IF(p.online = 0, 1, 0)), 0)                            AS postsPercentage,
+               IFNULL(ROUND(SUM(IF(p.online = 1, 1, 0)) / count(*) * 100, 2), 0) as viewsPercentage
         FROM t_monitor t
-                 LEFT JOIN t_yw_point p ON t.serial_number = p.serial_number
-        WHERE p.recovery = 1
-           OR TIMESTAMPDIFF(DAY, p.recovery_time, NOW()) <= #{time}
-        ]]>
+        LEFT JOIN t_yw_point p ON t.serial_number = p.serial_number
+        left join sys_dept d on p.dept_id = d.dept_id and d.del_flag = 0
+        <where>
+            (p.recovery = 1 OR TIMESTAMPDIFF(DAY, p.recovery_time, NOW()) <![CDATA[<=]]> #{time})
+             <if test="provinceTag!=null">
+                and p.province_tag = #{provinceTag}
+             </if>
+        ${params.dataScope}
+        </where>
     </select>
 
     <select id="selectRecoveryMonitor" resultType="com.ycl.platform.domain.vo.TMonitorVO">

--
Gitblit v1.8.0