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 | 74 +++++++++++++++++++++++++++++++++++++ 1 files changed, 74 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java index b95bd5c..566a5c4 100644 --- a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java +++ b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java @@ -35,13 +35,20 @@ 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; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -56,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()); @@ -116,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<>(); @@ -253,7 +273,61 @@ result.setLastId(pageList.getLastId()); return ExecutedResult.success(result); } + public ExecutedResult<List<WaterFacilityVO>> getData(){ + List<WaterFacilityVO>result=new ArrayList<>(); + //获取泵房数据 + List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList(); + //获取泵房设备参数 + 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)){ + List<WaterFacilityParameterVO>parameterVOList=CopierUtil.mapTo(collect, WaterFacilityParameterVO.class); + for(WaterFacilityParameterVO parameterVO:parameterVOList){ + boolean matches = parameterVO.getColumnValue().matches("-?\\d+(\\.\\d+)?"); + if (matches) { + BigDecimal value = new BigDecimal(parameterVO.getColumnValue()).setScale(3, BigDecimal.ROUND_DOWN); + parameterVO.setColumnValue(value.toString()); + } + if("false".equals(parameterVO.getColumnValue())){ + parameterVO.setColumnValue("关"); + } + if("true".equals(parameterVO.getColumnValue())){ + parameterVO.setColumnValue("开"); + } + 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