fuliqi
2024-09-13 44858471387cb6808fb086813d5987daf9e5d77a
运行监控增加省厅条件、点位在线取point online,统计增加数据权限
6个文件已修改
80 ■■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/TMonitorVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/TMonitorController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    /**
     * 当日接收到的当日抓拍量
     */
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));
    }
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);
    /**
     * 获取恢复异常持续关注设备
ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java
@@ -75,13 +75,13 @@
     * @param tMonitor 条件
     * @return 返回一个包含视频数量的Map对象,其中key为统计指标,value为对应功能类型下的统计数量。
     */
    Map<String, String> getVideoCount(TMonitor tMonitor);
    Map<String, String> getVideoCount(TMonitorVO tMonitor);
    /**
     * 获取异常恢复视频设备统计数
     * @return 数据
     */
    Map<String, String> recoveryException();
    Map<String, String> recoveryException(TMonitorVO monitor);
    /**
     * 获取首页设备折线图
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
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">