‘liusuyi’
2023-06-13 d108d61f6735e93a2a7377832b6eb056ca8f0d4e
增加管线泄漏报警查询接口
增加管线泄漏报警查看接口
已修改6个文件
77 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/domain/ArdAlarmTube.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
@@ -46,6 +46,8 @@
    @Resource
    ArdAlarmStealelecMapper ardAlarmStealelecMapper;
    @Resource
    ArdAlarmTubeMapper ardAlarmTubeMapper;
    @Resource
    IArdAlarmTubeService ardAlarmTubeService;
    @Resource
    ArdTubesMapper ardTubesMapper;
@@ -59,7 +61,7 @@
        String refreshTime = configService.selectConfigByKey("refreshTime");
        switch (condition.getCommand()) {
            case 1001:
                List<ArdAlarmStealelec> ardAlarmStealelecs = ardAlarmStealelecMapper.selectAllByCommandArdAlarmStealelecList(refreshTime);
                List<ArdAlarmStealelec> ardAlarmStealelecs = ardAlarmStealelecMapper.selectListAllByCommand(refreshTime);
                return ardAlarmStealelecs.stream()
                        .map(ardAlarmStealelec -> {
                            GlobalAlarmData globalAlarmData = new GlobalAlarmData()
@@ -74,6 +76,22 @@
                            return globalAlarmData;
                        })
                        .collect(Collectors.toList());
            case 1014:
                List<ArdAlarmTube> ardAlarmTubes = ardAlarmTubeMapper.selectListAllByCommand(refreshTime);
                return ardAlarmTubes.stream()
                        .map(ardAlarmTube -> {
                            GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                                    .setId(ardAlarmTube.getId())
                                    .setName(ardAlarmTube.getTubeName())
                                    .setAlarmTime(ardAlarmTube.getAlarmTime())
                                    .setLongitude(ardAlarmTube.getLongitude())
                                    .setLatitude(ardAlarmTube.getLatitude())
                                    .setAltitude(ardAlarmTube.getAltitude())
                                    .setCount(ardAlarmTube.getCount())
                                    .setTotal(ardAlarmTube.getTotal());
                            return globalAlarmData;
                        })
                        .collect(Collectors.toList());
            default:
                return null;
        }
@@ -84,14 +102,21 @@
        SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        switch (condition.getCommand()) {
            case 1001:
                String id = condition.getId();
                ArdAlarmStealelec ardAlarmStealelec = ardAlarmStealelecMapper.selectByPrimaryKey(id);
                ArdAlarmStealelec ardAlarmStealelec = ardAlarmStealelecMapper.selectByPrimaryKey(condition.getId());
                if(StringUtils.isNotNull(ardAlarmStealelec)) {
                    String describe = ardAlarmStealelec.getDescribe();
                    String startTime = fmt.format(ardAlarmStealelec.getStartTime());
                    int i = ardAlarmStealelecMapper.updateViewTimeByDescribe(describe, startTime, DateUtils.getTime());
                    return ardAlarmStealelec;
                }
            case 1014:
                ArdAlarmTube ardAlarmTube = ardAlarmTubeMapper.selectArdAlarmTubeById(condition.getId());
                if(StringUtils.isNotNull(ardAlarmTube)) {
                    String tubeId = ardAlarmTube.getTubeId();
                    String alarmTime = fmt.format(ardAlarmTube.getAlarmTime());
                    int i = ardAlarmTubeMapper.updateViewTimeByTubeId(tubeId, alarmTime, DateUtils.getTime());
                    return ardAlarmTube;
                }
            default: return null;
        }
    }
ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java
@@ -13,6 +13,6 @@
    ArdAlarmStealelec selectByPrimaryKey(String id);
    List<ArdAlarmStealelec> selectRealByCondition(@Param("refreshTime")String refreshTime,@Param("deptId")Long deptId);
    List<ArdAlarmStealelec> selectHistoryByCondition(GlobalAlarmCondition condition);
    List<ArdAlarmStealelec> selectAllByCommandArdAlarmStealelecList(@Param("refreshTime")String refreshTime);
    List<ArdAlarmStealelec> selectListAllByCommand(@Param("refreshTime")String refreshTime);
    int updateViewTimeByDescribe(@Param("describe")String describe,@Param("alarmTime") String alarmTime,@Param("viewTime") String viewTime);
}
ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/domain/ArdAlarmTube.java
@@ -86,5 +86,12 @@
    @Excel(name = "查看时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date viewTime;
    /**
     * 报警总数
     */
    private Integer total;
    /**
     * 未读报警数量
     */
    private Integer count;
}
ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java
@@ -1,7 +1,10 @@
package com.ruoyi.alarm.tubeAlarm.mapper;
import java.util.List;
import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec;
import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube;
import org.apache.ibatis.annotations.Param;
/**
@@ -59,4 +62,7 @@
     * @return 结果
     */
    public int deleteArdAlarmTubeByIds(String[] ids);
    public List<ArdAlarmTube> selectListAllByCommand(@Param("refreshTime")String refreshTime);
    public int updateViewTimeByTubeId(@Param("tubeId")String tubeId,@Param("alarmTime") String alarmTime,@Param("viewTime") String viewTime);
}
ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml
@@ -129,4 +129,31 @@
            #{id}
        </foreach>
    </delete>
    <select id="selectListAllByCommand" resultMap="ArdAlarmTubeResult">
        SELECT T.*
        FROM (
                 SELECT aat.ID,
                        aat.tube_id,
                        aat.tube_name,
                        aat.alarm_time,
                        aat.longitude,
                        aat.latitude,
                        aat.altitude,
                        ROW_NUMBER() OVER ( PARTITION BY aat.tube_id ORDER BY aat.alarm_time DESC ) AS rn,
                         COUNT(CASE WHEN aat.view_time IS NULL THEN 1 END) OVER ( PARTITION BY aat.tube_id ) AS COUNT,
                    COUNT ( aat.alarm_time ) OVER ( PARTITION BY tube_id ) AS total
                 FROM
                     ard_alarm_tube aat
                 WHERE
                     aat.alarm_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
             ) T
        WHERE T.rn = 1
    </select>
    <update id="updateViewTimeByTubeId" parameterType="String">
        update ard_alarm_tube
        set view_time=#{viewTime}
        where tube_id = #{tubeId}
          and alarm_time&lt;=#{alarmTime}
          and view_time is null
    </update>
</mapper>
ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml
@@ -40,7 +40,7 @@
            </if>
        </where>
    </select>
    <select id="selectAllByCommandArdAlarmStealelecList" resultMap="BaseResultMap">
    <select id="selectListAllByCommand" resultMap="BaseResultMap">
        SELECT T.*
        FROM (
                 SELECT aas.ID,