From 6a49247e27307c35bc8e4dd4ce368c7d8850318a Mon Sep 17 00:00:00 2001
From: liulin <lin.liu@88.com>
Date: 星期日, 27 四月 2025 11:06:46 +0800
Subject: [PATCH] 修改运行状态判断

---
 src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java |   93 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 78 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
index 4af343f..de5182a 100644
--- a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
+++ b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
@@ -33,8 +33,10 @@
 import com.nanjing.water.repository.impl.WaterFacilityMapperImpl;
 import com.nanjing.water.repository.impl.WaterFacilityParameterMapperImpl;
 import com.nanjing.water.repository.impl.WaterMonitoryPointMapperImpl;
+import com.nanjing.water.repository.impl.WaterPumpOperatingRecordMapperImpl;
 import com.nanjing.water.repository.po.WaterFacilityPO;
 import com.nanjing.water.repository.po.WaterFacilityParameterPO;
+import com.nanjing.water.repository.po.WaterPumpOperatingRecordPO;
 import com.nanjing.water.repository.vo.FacilityParameterDataVO;
 import com.nanjing.water.repository.vo.WaterFacilityParameterVO;
 import com.nanjing.water.repository.vo.WaterFacilityVO;
@@ -65,6 +67,8 @@
     private WaterMonitoryPointMapperImpl waterMonitoryPointMapper;
     @Autowired
     private StringRedisTemplate redisTemplate;
+    @Autowired
+    private WaterPumpOperatingRecordMapperImpl waterPumpOperatingRecordMapper;
 
     public ExecutedResult<String> create(ReqAddParameter request) {
         WaterFacilityPO facilityPO = waterFacilityMapper.get(request.getFacilityId());
@@ -134,8 +138,8 @@
      */
     public ExecutedResult<String> getNewDataPump(){
         //获取所有泵房启泵次数
-        List<FacilityParameterDataVO> listNewPump = mapper.getListNewPump();
-        redisTemplate.opsForValue().set("pump_start_number",SerializeUtil.toJson(listNewPump));
+        List<WaterPumpOperatingRecordPO> list = waterPumpOperatingRecordMapper.getList();
+        redisTemplate.opsForValue().set("pump_start_number",SerializeUtil.toJson(list));
         redisTemplate.expire("pump_start_number",24,TimeUnit.HOURS);
         return ExecutedResult.success();
     }
@@ -280,12 +284,25 @@
         List<WaterFacilityVO>result=new ArrayList<>();
         //获取泵房数据
         List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList();
+        List<WaterPumpOperatingRecordPO> recordPOList = waterPumpOperatingRecordMapper.getList();
         //获取泵房设备参数
         List<WaterFacilityParameterPO> parameterPOList = mapper.getList();
         if(ListUtil.isNotNullOrEmpty(facilityPOList)){
             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("B001Run")).findFirst().orElse(null);
+                WaterPumpOperatingRecordPO b002 = recordPOList.stream().filter(item -> item.getFacilityId().equals(facilityVO.getId()) && item.getCode().equals("B002Run")).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);
@@ -301,22 +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("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);
                 }

--
Gitblit v1.9.3