From d108d61f6735e93a2a7377832b6eb056ca8f0d4e Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期二, 13 六月 2023 16:10:20 +0800 Subject: [PATCH] 增加管线泄漏报警查询接口 增加管线泄漏报警查看接口 --- ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java | 31 ++++++++++++++- ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java | 6 +++ ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml | 2 ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml | 27 +++++++++++++ ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/domain/ArdAlarmTube.java | 9 ++++ ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java | 2 6 files changed, 71 insertions(+), 6 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java index 55ace11..3006be4 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java +++ b/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; } } diff --git a/ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java b/ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java index b16eca7..ba0012f 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java +++ b/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); } \ No newline at end of file diff --git a/ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/domain/ArdAlarmTube.java b/ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/domain/ArdAlarmTube.java index d3a1e74..5a177f5 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/domain/ArdAlarmTube.java +++ b/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; } diff --git a/ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java b/ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java index 3347f00..86c0041 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java +++ b/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); } diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml index 07e5183..dcc4c42 100644 --- a/ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml +++ b/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<=#{alarmTime} + and view_time is null + </update> </mapper> \ No newline at end of file diff --git a/ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml b/ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml index bfc4dcf..0e2a338 100644 --- a/ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml +++ b/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, -- Gitblit v1.9.3