elkers
6 天以前 01136df34a1d8edb6972bbec725b656a602b83af
修改启泵时间时长计算
已修改3个文件
151 ■■■■ 文件已修改
src/main/java/com/nanjing/water/repository/po/WaterPumpOperatingRecordPO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanjing/water/service/DataUploadRecordService.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
          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)){
                   recordPO.setStartNumber(recordPO.getStartNumber()+1);
                   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,11 +459,20 @@
                   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")){
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);
                                parameterVO.setColumnValue(timeString);
                            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);
                }