From 01136df34a1d8edb6972bbec725b656a602b83af Mon Sep 17 00:00:00 2001
From: elkers <elkers@163.com>
Date: 星期四, 24 四月 2025 16:58:27 +0800
Subject: [PATCH] 修改启泵时间时长计算

---
 src/main/java/com/nanjing/water/service/DataUploadRecordService.java |   47 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 35 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/nanjing/water/service/DataUploadRecordService.java b/src/main/java/com/nanjing/water/service/DataUploadRecordService.java
index 5b7d954..7dddf01 100644
--- a/src/main/java/com/nanjing/water/service/DataUploadRecordService.java
+++ b/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")){

--
Gitblit v1.9.3