From 60041d6ee9bd2fcd8b6bcb827bf46e0727941665 Mon Sep 17 00:00:00 2001 From: elkers <elkers@163.com> Date: 星期六, 12 四月 2025 11:24:28 +0800 Subject: [PATCH] 添加报警记录 --- src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java | 53 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 41 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java index 06ca0df..566a5c4 100644 --- a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java +++ b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java @@ -35,9 +35,12 @@ import com.nanjing.water.repository.impl.WaterMonitoryPointMapperImpl; import com.nanjing.water.repository.po.WaterFacilityPO; import com.nanjing.water.repository.po.WaterFacilityParameterPO; +import com.nanjing.water.repository.vo.FacilityParameterDataVO; import com.nanjing.water.repository.vo.WaterFacilityParameterVO; import com.nanjing.water.repository.vo.WaterFacilityVO; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -45,6 +48,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -59,6 +63,8 @@ private WaterFacilityMapperImpl waterFacilityMapper; @Autowired private WaterMonitoryPointMapperImpl waterMonitoryPointMapper; + @Autowired + private StringRedisTemplate redisTemplate; public ExecutedResult<String> create(ReqAddParameter request) { WaterFacilityPO facilityPO = waterFacilityMapper.get(request.getFacilityId()); @@ -119,6 +125,17 @@ return ExecutedResult.success(result); } + /** + * + * @return + */ + public ExecutedResult<String> getNewDataPump(){ + //获取所有泵房启泵次数 + List<FacilityParameterDataVO> listNewPump = mapper.getListNewPump(); + redisTemplate.opsForValue().set("pump_start_number",SerializeUtil.toJson(listNewPump)); + redisTemplate.expire("pump_start_number",24,TimeUnit.HOURS); + return ExecutedResult.success(); + } public ExecutedResult<List<WaterFacilityParameterPO>> getListByFacilityId(Long facilityId) { List<WaterFacilityParameterPO> list = new ArrayList<>(); LambdaQueryWrapper<WaterFacilityParameterPO> wrapper = new LambdaQueryWrapper<>(); @@ -264,6 +281,7 @@ List<WaterFacilityParameterPO> parameterPOList = mapper.getList(); if(ListUtil.isNotNullOrEmpty(facilityPOList)){ result = CopierUtil.mapTo(facilityPOList, WaterFacilityVO.class); + int sumTime=0; for(WaterFacilityVO facilityVO:result){ List<WaterFacilityParameterPO> collect = parameterPOList.stream().filter(x -> x.getFacilityId().equals(facilityVO.getId())).collect(Collectors.toList()); if(ListUtil.isNotNullOrEmpty(collect)){ @@ -280,25 +298,36 @@ if("true".equals(parameterVO.getColumnValue())){ parameterVO.setColumnValue("开"); } -// if(parameterVO.getColumnsCode().equals("B001Time")||parameterVO.getColumnsCode().equals("B002Time")){ -// BigDecimal bigDecimal=new BigDecimal(parameterVO.getColumnValue()).setScale(2,RoundingMode.DOWN); -// if(bigDecimal.compareTo(new BigDecimal(60).setScale(2,RoundingMode.DOWN))>0){ -// BigDecimal data = bigDecimal.divide(new BigDecimal(60),2,BigDecimal.ROUND_HALF_UP); -// parameterVO.setColumnValue(data+"分"); -// } -// if(bigDecimal.compareTo(new BigDecimal(3600))>0){ -// BigDecimal data = bigDecimal.divide(new BigDecimal(3600),2,BigDecimal.ROUND_HALF_UP); -// parameterVO.setColumnValue(data+"时"); -// } -// } + if(parameterVO.getColumnsCode().equals("B001TimeSum")||parameterVO.getColumnsCode().equals("B002TimeSum")){ + int time = new BigDecimal(parameterVO.getColumnValue()).intValue(); + sumTime=sumTime+time; + if(sumTime>0){ + String timeString = timeString(sumTime); + facilityVO.setTotalTime(timeString); + } + } + if(parameterVO.getColumnsCode().equals("B001Time")||parameterVO.getColumnsCode().equals("B002Time")||parameterVO.getColumnsCode().equals("B001TimeSum")||parameterVO.getColumnsCode().equals("B002TimeSum")){ + //计算时分秒 + Integer time= new BigDecimal(parameterVO.getColumnValue()).intValue(); + if(time>0){ + String timeString = timeString(time); + parameterVO.setColumnValue(timeString); + } + } } facilityVO.setParameterVOList(parameterVOList); } - } + } return ExecutedResult.success(result); } + public String timeString(Integer time){ + int hours=time/3600; + int minutes=(time%3600)/60; + int seconds=time%60; + return hours+"时"+minutes+"分"+seconds+"秒"; + } protected ExecutedResult<WaterFacilityParameterPO> check4Id(Long id) { WaterFacilityParameterPO exists = mapper.get(id); if (Objects.isNull(exists)) { -- Gitblit v1.9.3