| | |
| | | private StringRedisTemplate redisTemplate; |
| | | @Autowired |
| | | private ObjectMapper objectMapper; |
| | | @Autowired |
| | | private WaterPumpOperatingRecordMapperImpl waterPumpOperatingRecordMapper; |
| | | |
| | | public ExecutedResult<Long> create(ReqCreateDataUploadRecord request) { |
| | | // 转换po |
| | |
| | | |
| | | 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(); |
| | |
| | | //循环上报数据 |
| | | for(CountVO vo:entry.getValue()){ |
| | | //保存数据 |
| | | // if(vo.getCode().equals("B001Time")||vo.getCode().equals("B002Time")){ |
| | | // if(vo.) |
| | | // } |
| | | WaterFacilityParameterPO parameterPO1 = parameterPOList.stream().filter(item -> item.getFacilityId().equals(facilityPO.getId()) && item.getColumnsCode().equals(vo.getCode())).findFirst().orElse(null); |
| | | if(Objects.nonNull(parameterPO1)){ |
| | | parameterPO1.setColumnValue(vo.getValue()); |
| | | parameterPO1.setLastTime(asJsonObject); |
| | | parameterList.add(parameterPO1); |
| | | |
| | | } |
| | | //判断报警 |
| | | // AlarmHistoryPO alarmHistoryPO=null; |
| | | // if(ListUtil.isNotNullOrEmpty(historyPOList)){ |
| | | // alarmHistoryPO = historyPOList.stream().filter(item -> item.getFacilityId().equals(parameterPO1.getFacilityId()) && item.getCode().equals(parameterPO1.getColumnsCode()) && item.getIsSolve() == 0).findFirst().orElse(null); |
| | | // } |
| | | |
| | | switch (vo.getCode()){ |
| | | case "QF1": |
| | | //1号空开吸合关闭报警 |
| | |
| | | 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,"B001Start", vo.getValue()); |
| | | break; |
| | | case "B002Start": |
| | | waterPumpStartNumber(recordPOList,facilityPO,"B002Start", vo.getValue()); |
| | | break; |
| | | // case "B001Time": |
| | | // |
| | | // break; |
| | | // case "B002Time": |
| | | // break; |
| | | // case "B001TimeSum": |
| | | // break; |
| | | // case "B002TimeSum": |
| | | // break; |
| | | } |
| | | parameterList.add(parameterPO1); |
| | | } |
| | | waterFacilityParameterMapper.updateById(parameterList); |
| | | |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | public void waterPumpStartNumber(List<WaterPumpOperatingRecordPO> recordPOList,WaterFacilityPO facility,String key,String value){ |
| | | WaterPumpOperatingRecordPO recordPO = recordPOList.stream().filter(item -> item.getFacilityId().equals(facility.getId()) && item.getCode().equals(key)).findFirst().orElse(null); |
| | | if("true".equals(value)){ |
| | | if(Objects.nonNull(recordPO)){ |
| | | if(recordPO.getStart().equals("false")){ |
| | | recordPO.setStartNumber(recordPO.getStartNumber()+1); |
| | | } |
| | | recordPO.setLastTime(LocalDateTimeUtil.nowDateTimeStr()); |
| | | recordPO.setStart("true"); |
| | | recordPO.setStartTime(recordPO.getStartTime()+3); |
| | | recordPO.setSumStartTime(recordPO.getSumStartTime()+3); |
| | | waterPumpOperatingRecordMapper.updateById(recordPO); |
| | | }else { |
| | | recordPO=new WaterPumpOperatingRecordPO(); |
| | | recordPO.setPointId(facility.getPointId()); |
| | | recordPO.setFacilityId(facility.getId()); |
| | | recordPO.setCode(key); |
| | | recordPO.setStartNumber(1); |
| | | recordPO.setStartTime(3); |
| | | recordPO.setSumStartTime(3); |
| | | recordPO.setStart("true"); |
| | | recordPO.setCreateTime(LocalDateTimeUtil.nowTimeStamp()); |
| | | recordPO.setLastTime(LocalDateTimeUtil.nowDateTimeStr()); |
| | | waterPumpOperatingRecordMapper.insert(recordPO); |
| | | } |
| | | }else { |
| | | if(Objects.nonNull(recordPO)){ |
| | | recordPO.setStartTime(0); |
| | | recordPO.setStart("false"); |
| | | waterPumpOperatingRecordMapper.updateById(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()); |
| | |
| | | } |
| | | } |
| | | |
| | | 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){ |