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/java/com/ycl/platform/service/ITMonitorService.java | 4 +- ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java | 4 +- ycl-server/src/main/java/com/ycl/platform/controller/TMonitorController.java | 14 +++---- ycl-pojo/src/main/java/com/ycl/platform/domain/vo/TMonitorVO.java | 4 + ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 46 +++++++++++++++-------- ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java | 8 ++- 6 files changed, 48 insertions(+), 32 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/TMonitorVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/TMonitorVO.java index aae75a5..3a03f64 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/TMonitorVO.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/TMonitorVO.java @@ -17,6 +17,7 @@ * @date 2024-03-04 */ @Data +//TODO:鏀瑰瓧鍏歌澶囩姸鎬� public class TMonitorVO extends BaseEntity { private static final long serialVersionUID = 1L; @@ -226,7 +227,8 @@ private String error; private String unitName; private LocalDate mongoCreateTime; - + /** 寮傚父鎭㈠鐩戞帶鏃堕棿澶╂暟 */ + private String time; /** * 褰撴棩鎺ユ敹鍒扮殑褰撴棩鎶撴媿閲� */ diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/TMonitorController.java b/ycl-server/src/main/java/com/ycl/platform/controller/TMonitorController.java index 3ac12c1..b79c732 100644 --- a/ycl-server/src/main/java/com/ycl/platform/controller/TMonitorController.java +++ b/ycl-server/src/main/java/com/ycl/platform/controller/TMonitorController.java @@ -32,7 +32,7 @@ /** * 鏌ヨ璁惧璧勪骇鍒楄〃 */ - @PreAuthorize("@ss.hasPermi('system:monitor:list')") + @PreAuthorize("@ss.hasPermi('system:monitor:list')") @GetMapping("/list") public TableDataInfo list(TMonitorVO tMonitor) { @@ -101,12 +101,10 @@ * 鑾峰彇瑙嗛璁惧缁熻鏁� */ @PreAuthorize("@ss.hasPermi('system:monitor:list')") - @GetMapping("/getVideoCount/{cameraFunType}") - public AjaxResult getVideoCount(@PathVariable String cameraFunType) + @GetMapping("/getVideoCount") + public AjaxResult getVideoCount(TMonitorVO monitor) { - TMonitor tMonitor = new TMonitor(); - tMonitor.setCameraFunType(cameraFunType); - return success(tMonitorService.getVideoCount(tMonitor)); + return success(tMonitorService.getVideoCount(monitor)); } /** @@ -114,9 +112,9 @@ */ @PreAuthorize("@ss.hasPermi('system:monitor:list')") @GetMapping("/recoveryException") - public AjaxResult recoveryException() + public AjaxResult recoveryException(TMonitorVO monitor) { - return success(tMonitorService.recoveryException()); + return success(tMonitorService.recoveryException(monitor)); } diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java index bda6714..225637e 100644 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java @@ -86,14 +86,14 @@ * @param tMonitor 鏉′欢 * @return 缁熻鏁� */ - Map<String, String> getVideoCount(TMonitor tMonitor); + Map<String, String> getVideoCount(TMonitorVO tMonitor); /** * 鑾峰彇鎭㈠寮傚父璁惧 * @param time 鏃堕棿 * @return 鏁版嵁 */ - Map<String, String> recoveryException(String time); + Map<String, String> recoveryException(TMonitorVO monitor); /** * 鑾峰彇鎭㈠寮傚父鎸佺画鍏虫敞璁惧 diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java index d0246df..d3341e9 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java @@ -75,13 +75,13 @@ * @param tMonitor 鏉′欢 * @return 杩斿洖涓�涓寘鍚棰戞暟閲忕殑Map瀵硅薄锛屽叾涓璳ey涓虹粺璁℃寚鏍囷紝value涓哄搴斿姛鑳界被鍨嬩笅鐨勭粺璁℃暟閲忋�� */ - Map<String, String> getVideoCount(TMonitor tMonitor); + Map<String, String> getVideoCount(TMonitorVO tMonitor); /** * 鑾峰彇寮傚父鎭㈠瑙嗛璁惧缁熻鏁� * @return 鏁版嵁 */ - Map<String, String> recoveryException(); + Map<String, String> recoveryException(TMonitorVO monitor); /** * 鑾峰彇棣栭〉璁惧鎶樼嚎鍥� diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java index e03649d..771bfc1 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java @@ -192,14 +192,16 @@ @Override @DataScope(deptAlias = "d",userAlias = "u") - public Map<String, String> getVideoCount(TMonitor tMonitor) { + public Map<String, String> getVideoCount(TMonitorVO tMonitor) { return tMonitorMapper.getVideoCount(tMonitor); } @Override - public Map<String, String> recoveryException() { + @DataScope(deptAlias = "d",userAlias = "u") + public Map<String, String> recoveryException(TMonitorVO monitor) { String time = configService.selectConfigByKey("abnormal.equipment.continuous.attention.time"); - return tMonitorMapper.recoveryException(time); + monitor.setTime(time); + return tMonitorMapper.recoveryException(monitor); } @Override 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