From 51396d6ed0747b1e909056ed72108b6b0c811667 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 13 十一月 2024 11:00:58 +0800
Subject: [PATCH] 离线检测优化
---
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 162 +++++++++++++++++++++++++++++++----------------------
1 files changed, 95 insertions(+), 67 deletions(-)
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 2df6852..fb72b26 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -39,6 +39,28 @@
<result property="deviceType" column="device_type"/>
</resultMap>
+ <resultMap id="monitorMap" type="com.ycl.platform.domain.result.SYS.TMonitorResult">
+ <result column="m.id" property="id"/>
+ <result column="no" property="no"/>
+ <result column="m.name" property="name"/>
+ <result column="monitorType" property="monitorType"/>
+ <result column="d.dept_id" property="deptId"/>
+ <result column="p.province_tag" property="provinceTag"/>
+ <result column="p.important_tag" property="importantTag"/>
+ <result column="p.important_command_image_tag" property="importantCommandImageTag"/>
+ <result column="p.dept_tag" property="deptTag"/>
+ <result column="p.online" property="online"/>
+ <collection property="dynamicColumnList" select="getDyColumns"
+ column="{pid=pid,tableName=tableName}"
+ ofType="com.ycl.platform.domain.vo.DynamicColumnVO"/>
+ </resultMap>
+
+ <resultMap id="dynamicColumnMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">
+ <result column="prop_name" property="propName"/>
+ <result column="label_value" property="labelValue"/>
+ <result column="column_value" property="columnValue"/>
+ </resultMap>
+
<sql id="selectTMonitorVo">
select id,
serial_number,
@@ -83,7 +105,7 @@
camera_dept, hybm, lxbm,d.dept_id, d.dept_name 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 m.serial_number in
+ where p.examine_status = 1 and m.serial_number in
<foreach collection="list" separator="," item="id" open="(" close=")">
#{id}
</foreach>
@@ -99,14 +121,14 @@
<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, p.online as onState, civil_code, d.dept_id, d.dept_name, d.area, p.province_tag,p.dept_tag,
- IF(COUNT(w.id) OVER() > 0, '鏄�', '鍚�') AS error, u.unit_name,p.recovery_time,p.reason,p.start_time,p.end_time,w.work_order_no
+ IF(COUNT(w.id) OVER() > 0, '鏄�', '鍚�') AS error, u.unit_name,p.recovery_time,p.reason,p.start_time,p.end_time, w.work_order_no
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 (
WITH cte AS (
SELECT *,row_number() OVER(PARTITION BY serial_number ORDER BY create_time DESC) rn FROM t_work_order
- WHERE deleted = 0 AND status != 'AUDITING_SUCCESS'
+ WHERE deleted = 0 AND status = 'AUDITING_SUCCESS'
) SELECT * FROM cte WHERE rn=1
) 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
@@ -169,8 +191,9 @@
left join sys_dept d on p.dept_id = d.dept_id
</select>
- <select id="selectMonitorResult" resultType="com.ycl.platform.domain.result.SYS.TMonitorResult">
- select m.id, m.serial_number as no,m.name,m.camera_fun_type as monitorType,d.dept_id,p.province_tag,p.important_tag,p.important_command_image_tag,p.dept_tag,p.online
+ <select id="selectMonitorResult" resultType = "com.ycl.platform.domain.result.SYS.TMonitorResult">
+ select m.id, m.serial_number as no,m.name,m.camera_fun_type as monitorType,
+ d.dept_id,p.province_tag,p.important_tag,p.important_command_image_tag,p.dept_tag,p.online,p.id as pointId
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
@@ -199,6 +222,8 @@
</if>
</where>
</select>
+
+
<select id="selectTMonitorById" parameterType="Long" resultType="com.ycl.platform.domain.vo.TMonitorVO">
<include refid="selectTMonitorVo"/>
where id = #{id}
@@ -344,7 +369,8 @@
IFNULL(SUM(IF(p.online = 1, 1, 0)), 0) AS totalMembers,
IFNULL(SUM(IF(p.online = -1, 1, 0)), 0) AS postsPercentage,
IFNULL(SUM(IF(p.online = 0, 1, 0)), 0) AS unknownNumbers,
- IFNULL(ROUND(SUM(IF(p.online = 1 , 1, 0)) / count(*) * 100, 2), 0) as viewsPercentage FROM t_monitor m
+ IFNULL(ROUND(SUM(IF(p.online = 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 and d.del_flag = 0
<where>
@@ -360,12 +386,13 @@
</select>
<select id="recoveryException" resultType="java.util.Map">
- SELECT count(*) AS totalPosts,
- 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
+ SELECT count(*) AS totalPosts,
+ IFNULL(SUM(IF(p.online = 1, 1, 0)), 0) AS totalMembers,
+ IFNULL(SUM(IF(p.online = -1, 1, 0)), 0) AS postsPercentage,
+ IFNULL(SUM(IF(p.online = 0, 1, 0)), 0) AS unknownNumbers,
+ IFNULL(ROUND(SUM(IF(p.online = 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 and d.del_flag = 0
<where>
p.examine_status = 1
@@ -373,6 +400,9 @@
<if test="provinceTag!=null">
and p.province_tag = #{provinceTag}
</if>
+ <if test="deptTag!=null">
+ and p.dept_tag = #{deptTag}
+ </if>
${params.dataScope}
</where>
</select>
@@ -535,7 +565,7 @@
</select>
- <select id="assetManagement" resultMap="dyMap">
+ <select id="assetManagement" resultType="com.ycl.platform.domain.vo.TMonitorVO">
SELECT
tm.id,
tm.serial_number,
@@ -567,9 +597,7 @@
tm.encoded_format,
tm.camera_dept,
tm.hybm,
- tm.lxbm,
- 't_monitor' as tableName,
- #{query.keyword} as keyword
+ tm.lxbm
FROM
t_monitor tm
INNER JOIN t_yw_point yp ON yp.serial_number = tm.serial_number
@@ -583,58 +611,58 @@
</where>
</select>
- <select id="getDyColumns" resultMap="dynamicColumnMap">
- SELECT
- *
- FROM
- t_dynamic_column_value dcv
- LEFT JOIN t_dynamic_column dc ON dc.id = dcv.dynamic_column_id AND dc.table_name = #{tableName}
- WHERE
- dcv.ref_id = #{id}
- <if test="keyword != null and keyword != ''">
- and dcv.column_value like concat('%', #{keyword}, '%')
- </if>
- </select>
+<!-- <select id="getDyColumns" resultMap="dynamicColumnMap">-->
+<!-- SELECT-->
+<!-- *-->
+<!-- FROM-->
+<!-- t_dynamic_column_value dcv-->
+<!-- LEFT JOIN t_dynamic_column dc ON dc.id = dcv.dynamic_column_id AND dc.table_name = #{tableName}-->
+<!-- WHERE-->
+<!-- dcv.ref_id = #{id}-->
+<!-- <if test="keyword != null and keyword != ''">-->
+<!-- and dcv.column_value like concat('%', #{keyword}, '%')-->
+<!-- </if>-->
+<!-- </select>-->
- <resultMap id="dyMap" type="com.ycl.platform.domain.vo.TMonitorVO">
- <id column="id" property="id"/>
- <result column="serial_number" property="serialNumber"/>
- <result column="name" property="name"/>
- <result column="site_type" property="siteType"/>
- <result column="mac_addr" property="macAddr"/>
- <result column="ip" property="ip"/>
- <result column="longitude" property="longitude"/>
- <result column="latitude" property="latitude"/>
- <result column="camera_capture_area" property="cameraCaptureArea"/>
- <result column="camera_fun_type" property="cameraFunType"/>
- <result column="on_state" property="onState"/>
- <result column="civil_code" property="civilCode"/>
- <result column="integrated_device" property="integratedDevice"/>
- <result column="camera_brand" property="cameraBrand"/>
- <result column="address" property="address"/>
- <result column="public_security" property="publicSecurity"/>
- <result column="installed_time" property="installedTime"/>
- <result column="management_unit" property="managementUnit"/>
- <result column="mu_contact_info" property="muContactInfo"/>
- <result column="storage_days" property="storageDays"/>
- <result column="monitor_azimuth" property="monitorAzimuth"/>
- <result column="scene_photo_addr" property="scenePhotoAddr"/>
- <result column="model" property="model"/>
- <result column="site_vulgo" property="siteVulgo"/>
- <result column="camera_type" property="cameraType"/>
- <result column="camera_light_type" property="cameraLightType"/>
- <result column="encoded_format" property="encodedFormat"/>
- <result column="camera_dept" property="cameraDept"/>
- <result column="hybm" property="hybm"/>
- <result column="lxbm" property="lxbm"/>
- <collection property="dynamicColumnList" select="getDyColumns" column="{id=id,tableName=tableName,keyword=keyword}" ofType="com.ycl.platform.domain.vo.DynamicColumnVO"/>
- </resultMap>
+<!-- <resultMap id="dyMap" type="com.ycl.platform.domain.vo.TMonitorVO">-->
+<!-- <id column="id" property="id"/>-->
+<!-- <result column="serial_number" property="serialNumber"/>-->
+<!-- <result column="name" property="name"/>-->
+<!-- <result column="site_type" property="siteType"/>-->
+<!-- <result column="mac_addr" property="macAddr"/>-->
+<!-- <result column="ip" property="ip"/>-->
+<!-- <result column="longitude" property="longitude"/>-->
+<!-- <result column="latitude" property="latitude"/>-->
+<!-- <result column="camera_capture_area" property="cameraCaptureArea"/>-->
+<!-- <result column="camera_fun_type" property="cameraFunType"/>-->
+<!-- <result column="on_state" property="onState"/>-->
+<!-- <result column="civil_code" property="civilCode"/>-->
+<!-- <result column="integrated_device" property="integratedDevice"/>-->
+<!-- <result column="camera_brand" property="cameraBrand"/>-->
+<!-- <result column="address" property="address"/>-->
+<!-- <result column="public_security" property="publicSecurity"/>-->
+<!-- <result column="installed_time" property="installedTime"/>-->
+<!-- <result column="management_unit" property="managementUnit"/>-->
+<!-- <result column="mu_contact_info" property="muContactInfo"/>-->
+<!-- <result column="storage_days" property="storageDays"/>-->
+<!-- <result column="monitor_azimuth" property="monitorAzimuth"/>-->
+<!-- <result column="scene_photo_addr" property="scenePhotoAddr"/>-->
+<!-- <result column="model" property="model"/>-->
+<!-- <result column="site_vulgo" property="siteVulgo"/>-->
+<!-- <result column="camera_type" property="cameraType"/>-->
+<!-- <result column="camera_light_type" property="cameraLightType"/>-->
+<!-- <result column="encoded_format" property="encodedFormat"/>-->
+<!-- <result column="camera_dept" property="cameraDept"/>-->
+<!-- <result column="hybm" property="hybm"/>-->
+<!-- <result column="lxbm" property="lxbm"/>-->
+<!-- <collection property="dynamicColumnList" select="getDyColumns" column="{id=id,tableName=tableName,keyword=keyword}" ofType="com.ycl.platform.domain.vo.DynamicColumnVO"/>-->
+<!-- </resultMap>-->
- <resultMap id="dynamicColumnMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">
- <result column="prop_name" property="propName"/>
- <result column="label_value" property="labelValue"/>
- <result column="column_value" property="columnValue"/>
- </resultMap>
+<!-- <resultMap id="dynamicColumnMap" type="com.ycl.platform.domain.vo.DynamicColumnVO">-->
+<!-- <result column="prop_name" property="propName"/>-->
+<!-- <result column="label_value" property="labelValue"/>-->
+<!-- <result column="column_value" property="columnValue"/>-->
+<!-- </resultMap>-->
<delete id="deleteAll">
@@ -655,7 +683,7 @@
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 p.online != 0 and p.examine_status = 1
+ where p.online != 0 and p.examine_status = 1
</select>
<update id="updateOnline">
--
Gitblit v1.8.0