From 256851a621c1f71eaecdfdcb7ef3c3e4fdce21c2 Mon Sep 17 00:00:00 2001 From: elkers <elkers@163.com> Date: 星期三, 23 四月 2025 11:21:38 +0800 Subject: [PATCH] 添加启泵记录 --- src/main/java/com/nanjing/water/service/DataUploadRecordService.java | 50 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/nanjing/water/service/DataUploadRecordService.java b/src/main/java/com/nanjing/water/service/DataUploadRecordService.java index 71c95c4..5b7d954 100644 --- a/src/main/java/com/nanjing/water/service/DataUploadRecordService.java +++ b/src/main/java/com/nanjing/water/service/DataUploadRecordService.java @@ -86,6 +86,8 @@ private StringRedisTemplate redisTemplate; @Autowired private ObjectMapper objectMapper; + @Autowired + private WaterPumpOperatingRecordMapperImpl waterPumpOperatingRecordMapper; public ExecutedResult<Long> create(ReqCreateDataUploadRecord request) { // 转换po @@ -331,11 +333,12 @@ List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList(); List<WaterFacilityParameterPO> parameterPOList = waterFacilityParameterMapper.getList(); + List<WaterPumpOperatingRecordPO> recordPOList = waterPumpOperatingRecordMapper.getList(); //获取存入redis每天开始的启泵次数 - List<FacilityParameterDataVO> dataVOList=new ArrayList<>(); + List<WaterPumpOperatingRecordPO>dataVOList=new ArrayList<>(); String objects = redisTemplate.opsForValue().get("pump_start_number"); if(StringUtil.isNotNullOrEmpty(objects)){ - dataVOList= SerializeUtil.toListObject(objects, FacilityParameterDataVO.class); + dataVOList= SerializeUtil.toListObject(objects, WaterPumpOperatingRecordPO.class); } // List<AlarmHistoryPO> historyPOList = alarmHistoryMapper.getList(); @@ -409,11 +412,17 @@ break; case "B001StartNumber": //1号泵启泵次数 - startNumber(facilityPO,parameterPO1, vo.getValue(),dataVOList); + startNumber(facilityPO,parameterPO1, recordPOList,dataVOList); break; case "B002StartNumber": //2号泵启泵次数 - startNumber(facilityPO,parameterPO1, vo.getValue(),dataVOList); + startNumber(facilityPO,parameterPO1, recordPOList,dataVOList); + break; + case "B001Start": + waterPumpStartNumber(recordPOList,facilityPO,"B001StartNumber", vo.getValue()); + break; + case "B002Start": + waterPumpStartNumber(recordPOList,facilityPO,"B002StartNumber", vo.getValue()); break; } } @@ -423,7 +432,25 @@ } } - + public void waterPumpStartNumber(List<WaterPumpOperatingRecordPO> recordPOList,WaterFacilityPO facility,String key,String value){ + if("true".equals(value)){ + WaterPumpOperatingRecordPO recordPO = recordPOList.stream().filter(item -> item.getFacilityId().equals(facility.getId()) && item.getCode().equals(key)).findFirst().orElse(null); + if(Objects.nonNull(recordPO)){ + recordPO.setStartNumber(recordPO.getStartNumber()+1); + recordPO.setLastTime(LocalDateTimeUtil.nowDateTimeStr()); + waterPumpOperatingRecordMapper.updateById(recordPO); + }else { + recordPO=new WaterPumpOperatingRecordPO(); + recordPO.setPointId(facility.getPointId()); + recordPO.setFacilityId(facility.getId()); + recordPO.setCode(key); + recordPO.setStartNumber(1); + recordPO.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); + recordPO.setLastTime(LocalDateTimeUtil.nowDateTimeStr()); + waterPumpOperatingRecordMapper.insert(recordPO); + } + } + } public void QFCreateAlarm(WaterFacilityPO facilityPO,WaterFacilityParameterPO parameterPO,String value, Gson gson,BigDecimal delayTime) throws MqttException { if(value.equals("false")){ alarmHistoryMapper.deleteList(parameterPO.getFacilityId(),parameterPO.getColumnsCode()); @@ -483,12 +510,15 @@ } } - public void startNumber(WaterFacilityPO facilityPO,WaterFacilityParameterPO parameterPO,String value,List<FacilityParameterDataVO> dataVOList){ + public void startNumber(WaterFacilityPO facilityPO,WaterFacilityParameterPO parameterPO,List<WaterPumpOperatingRecordPO> value,List<WaterPumpOperatingRecordPO> dataVOList){ if(ListUtil.isNotNullOrEmpty(dataVOList)){ - FacilityParameterDataVO facilityParameterDataVO = dataVOList.stream().filter(item -> item.getFacilityCode().equals(facilityPO.getFacilityCode()) && item.getColumnsCode().equals(parameterPO.getColumnsCode())).findFirst().orElse(null); - if(Objects.nonNull(facilityParameterDataVO)){ - Integer columnsValue = Integer.valueOf(facilityParameterDataVO.getColumnValue()); - Integer value1 = Integer.valueOf(value); + //获取缓存启泵次数 + WaterPumpOperatingRecordPO WaterPumpOperatingRecordPO = dataVOList.stream().filter(item -> item.getFacilityId().equals(facilityPO.getId()) && item.getCode().equals(parameterPO.getColumnsCode())).findFirst().orElse(null); + //获取实时启泵次数 + WaterPumpOperatingRecordPO recordPO = value.stream().filter(item -> item.getFacilityId().equals(facilityPO.getId()) && item.getCode().equals(parameterPO.getColumnsCode())).findFirst().orElse(null); + if(Objects.nonNull(WaterPumpOperatingRecordPO)&&Objects.nonNull(recordPO)){ + Integer columnsValue = Integer.valueOf(WaterPumpOperatingRecordPO.getStartNumber()); + Integer value1 = Integer.valueOf(recordPO.getStartNumber()); Integer dataNumber=value1-columnsValue; alarmHistoryMapper.deleteList(parameterPO.getFacilityId(),parameterPO.getColumnsCode()); if(dataNumber>5){ -- Gitblit v1.9.3