From 31d3591b34d4f26ad2ab207ca3044048d9adb9df Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 21 八月 2024 17:51:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 213 insertions(+), 6 deletions(-) diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml index 62acb31..62aac3b 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml @@ -89,12 +89,12 @@ <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, integrated_device, camera_brand, address, net_working, - public_security, installed_time, management_unit, mu_contact_info, storage_days - , monitor_azimuth, scene_photo_addr, model, site_vulgo, camera_type, camera_light_type, encoded_format, - 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 + camera_capture_area, on_state, 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> @@ -133,6 +133,16 @@ <if test="recovery != null ">and p.recovery = #{recovery}</if> </where> ${params.dataScope} + </select> + + <select id="selectMonitorVOList" 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, integrated_device, camera_brand, address, net_working, + public_security, installed_time, management_unit, mu_contact_info, storage_days + , monitor_azimuth, scene_photo_addr, model, site_vulgo, camera_type, camera_light_type, encoded_format, + 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 </select> <select id="selectTMonitorById" parameterType="Long" resultType="com.ycl.platform.domain.vo.TMonitorVO"> @@ -346,7 +356,204 @@ <if test="dateRange != null and dateRange.size > 0"> AND DATE_FORMAT(w.create_time, '%Y-%m') BETWEEN #{dateRange[0]} AND #{dateRange[1]} </if> + GROUP BY months ORDER BY months </select> + <select id="monitorTotal" resultType="com.ycl.platform.domain.vo.screen.MonitorTotalVO"> + SELECT + '瑙嗛' as type, + COUNT(p1.id) AS totalNum, + 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> + 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, + COUNT(p1.id) AS totalNum, + 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> + 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, + COUNT(p1.id) AS totalNum, + 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> + 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"> + SELECT + * + FROM + -- 浜鸿劯璁惧 + ( + SELECT + d.area, + IFNULL(ROUND((COUNT(m.id) - COUNT(m2.id)) / COUNT(m.id) * 100, 2), 0) AS faceRate, + COUNT(m.id) - COUNT(m2.id) AS faceNormalNum, + 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_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 + GROUP BY d.area, d.dept_id + ORDER BY d.dept_id + ) a + INNER JOIN + -- 杞﹁締璁惧 + ( + SELECT + d.area, + IFNULL(ROUND((COUNT(m.id) - COUNT(m2.id)) / COUNT(m.id) * 100, 2), 0) AS carRate, + COUNT(m.id) - COUNT(m2.id) AS carNormalNum, + 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_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 + GROUP BY d.area, d.dept_id + ORDER BY d.dept_id + ) b ON a.area = b.area + INNER JOIN + -- 瑙嗛璁惧 + ( + SELECT + d.area, + IFNULL(ROUND((COUNT(m.id) - COUNT(m2.id)) / COUNT(m.id) * 100, 2), 0) AS videoRate, + COUNT(m.id) - COUNT(m2.id) AS videoNormalNum, + 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_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 + GROUP BY d.area, d.dept_id + ORDER BY d.dept_id + ) c ON a.area = c.area + </select> + + + <select id="assetManagement" resultMap="dyMap"> + SELECT + tm.id, + tm.serial_number, + tm.name, + tm.site_type, + tm.mac_addr, + tm.ip, + tm.camera_fun_type, + tm.longitude, + tm.latitude, + tm.camera_capture_area, + tm.on_state, + tm.civil_code, + tm.integrated_device, + tm.camera_brand, + tm.address, + tm.net_working, + tm.public_security, + tm.installed_time, + tm.management_unit, + tm.mu_contact_info, + tm.storage_days, + tm.monitor_azimuth, + tm.scene_photo_addr, + tm.model, + tm.site_vulgo, + tm.camera_type, + tm.camera_light_type, + tm.encoded_format, + tm.camera_dept, + tm.hybm, + tm.lxbm, + 't_monitor' as tableName, + #{query.keyword} as keyword + FROM + t_monitor tm + <where> + <if test="query.keyword != null and query.keyword != ''"> + AND tm.name like concat('%', #{query.keyword}, '%') + </if> + </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> + + <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> + + + <delete id="deleteAll"> + delete from t_monitor + </delete> </mapper> -- Gitblit v1.8.0