src/main/java/com/nanjing/water/repository/po/WaterPumpOperatingRecordPO.java
@@ -81,4 +81,22 @@ */ @TableField(value = "update_time") private Timestamp updateTime; /** * 单次运行时长 */ @TableField(value = "start_time") private Integer startTime; /** * 总运行时长 */ @TableField(value = "sum_start_time") private Integer sumStartTime; /** * 最后更新时间 */ @TableField(value = "start") private String start; } src/main/java/com/nanjing/water/service/DataUploadRecordService.java
@@ -362,17 +362,16 @@ //循环上报数据 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号空开吸合关闭报警 @@ -419,12 +418,22 @@ startNumber(facilityPO,parameterPO1, recordPOList,dataVOList); break; case "B001Start": waterPumpStartNumber(recordPOList,facilityPO,"B001StartNumber", vo.getValue()); waterPumpStartNumber(recordPOList,facilityPO,"B001Start", vo.getValue()); break; case "B002Start": waterPumpStartNumber(recordPOList,facilityPO,"B002StartNumber", vo.getValue()); 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); @@ -433,11 +442,16 @@ } 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("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(); @@ -445,10 +459,19 @@ 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 { src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
@@ -291,6 +291,18 @@ result = CopierUtil.mapTo(facilityPOList, WaterFacilityVO.class); int sumTime=0; for(WaterFacilityVO facilityVO:result){ WaterPumpOperatingRecordPO b001 = recordPOList.stream().filter(item -> item.getFacilityId().equals(facilityVO.getId()) && item.getCode().equals("B001Start")).findFirst().orElse(null); WaterPumpOperatingRecordPO b002 = recordPOList.stream().filter(item -> item.getFacilityId().equals(facilityVO.getId()) && item.getCode().equals("B002Start")).findFirst().orElse(null); if(Objects.nonNull(b001)){ sumTime+=b001.getSumStartTime(); } if(Objects.nonNull(b002)){ sumTime+=b002.getSumStartTime(); } if(sumTime>0){ String timeString = timeString(sumTime); facilityVO.setTotalTime(timeString); } 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); @@ -306,28 +318,68 @@ 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")){ if(parameterVO.getColumnsCode().equals("B001Time")){ //计算时分秒 Integer time= new BigDecimal(parameterVO.getColumnValue()).intValue(); if(time>0){ String timeString = timeString(time); if(Objects.nonNull(b001)){ if(b001.getStartTime()>0){ String timeString = timeString(b001.getStartTime()); parameterVO.setColumnValue(timeString); }else { parameterVO.setColumnValue(String.valueOf(0)); } }else { parameterVO.setColumnValue(String.valueOf(0)); } } if(parameterVO.getColumnsCode().equals("B001StartNumber")||parameterVO.getColumnsCode().equals("B002StartNumber")){ WaterPumpOperatingRecordPO recordPO = recordPOList.stream().filter(item -> item.getFacilityId().equals(facilityVO.getId()) && item.getCode().equals(parameterVO.getColumnsCode())).findFirst().orElse(null); if(Objects.nonNull(recordPO)){ parameterVO.setColumnValue(recordPO.getStartNumber().toString()); if(parameterVO.getColumnsCode().equals("B002Time")){//计算时分秒 if(Objects.nonNull(b002)){ if(b002.getStartTime()>0){ String timeString = timeString(b002.getStartTime()); parameterVO.setColumnValue(timeString); }else { parameterVO.setColumnValue(String.valueOf(0)); } }else { parameterVO.setColumnValue(String.valueOf(0)); } } if(parameterVO.getColumnsCode().equals("B001TimeSum")){ if(Objects.nonNull(b001)){ if(b001.getSumStartTime()>0){ String timeString = timeString(b001.getSumStartTime()); parameterVO.setColumnValue(timeString); }else { parameterVO.setColumnValue(String.valueOf(0)); } }else { parameterVO.setColumnValue(String.valueOf(0)); } } if(parameterVO.getColumnsCode().equals("B002TimeSum")){ if(Objects.nonNull(b002)){ if(b002.getSumStartTime()>0){ String timeString = timeString(b002.getSumStartTime()); parameterVO.setColumnValue(timeString); }else { parameterVO.setColumnValue(String.valueOf(0)); } }else { parameterVO.setColumnValue(String.valueOf(0)); } } if(parameterVO.getColumnsCode().equals("B001StartNumber")){ if(Objects.nonNull(b001)){ parameterVO.setColumnValue(b001.getStartNumber().toString()); } } if(parameterVO.getColumnsCode().equals("B002StartNumber")){ if(Objects.nonNull(b002)){ parameterVO.setColumnValue(b002.getStartNumber().toString()); } } } facilityVO.setParameterVOList(parameterVOList); }