From 60041d6ee9bd2fcd8b6bcb827bf46e0727941665 Mon Sep 17 00:00:00 2001
From: elkers <elkers@163.com>
Date: 星期六, 12 四月 2025 11:24:28 +0800
Subject: [PATCH] 添加报警记录

---
 src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java |   53 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
index 06ca0df..566a5c4 100644
--- a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
+++ b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
@@ -35,9 +35,12 @@
 import com.nanjing.water.repository.impl.WaterMonitoryPointMapperImpl;
 import com.nanjing.water.repository.po.WaterFacilityPO;
 import com.nanjing.water.repository.po.WaterFacilityParameterPO;
+import com.nanjing.water.repository.vo.FacilityParameterDataVO;
 import com.nanjing.water.repository.vo.WaterFacilityParameterVO;
 import com.nanjing.water.repository.vo.WaterFacilityVO;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -45,6 +48,7 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -59,6 +63,8 @@
     private WaterFacilityMapperImpl waterFacilityMapper;
     @Autowired
     private WaterMonitoryPointMapperImpl waterMonitoryPointMapper;
+    @Autowired
+    private StringRedisTemplate redisTemplate;
 
     public ExecutedResult<String> create(ReqAddParameter request) {
         WaterFacilityPO facilityPO = waterFacilityMapper.get(request.getFacilityId());
@@ -119,6 +125,17 @@
         return ExecutedResult.success(result);
     }
 
+    /**
+     *
+     * @return
+     */
+    public ExecutedResult<String> getNewDataPump(){
+        //获取所有泵房启泵次数
+        List<FacilityParameterDataVO> listNewPump = mapper.getListNewPump();
+        redisTemplate.opsForValue().set("pump_start_number",SerializeUtil.toJson(listNewPump));
+        redisTemplate.expire("pump_start_number",24,TimeUnit.HOURS);
+        return ExecutedResult.success();
+    }
     public ExecutedResult<List<WaterFacilityParameterPO>> getListByFacilityId(Long facilityId) {
         List<WaterFacilityParameterPO> list = new ArrayList<>();
         LambdaQueryWrapper<WaterFacilityParameterPO> wrapper = new LambdaQueryWrapper<>();
@@ -264,6 +281,7 @@
         List<WaterFacilityParameterPO> parameterPOList = mapper.getList();
         if(ListUtil.isNotNullOrEmpty(facilityPOList)){
             result = CopierUtil.mapTo(facilityPOList, WaterFacilityVO.class);
+            int sumTime=0;
             for(WaterFacilityVO facilityVO:result){
                 List<WaterFacilityParameterPO> collect = parameterPOList.stream().filter(x -> x.getFacilityId().equals(facilityVO.getId())).collect(Collectors.toList());
                 if(ListUtil.isNotNullOrEmpty(collect)){
@@ -280,25 +298,36 @@
                         if("true".equals(parameterVO.getColumnValue())){
                             parameterVO.setColumnValue("开");
                         }
-//                        if(parameterVO.getColumnsCode().equals("B001Time")||parameterVO.getColumnsCode().equals("B002Time")){
-//                            BigDecimal bigDecimal=new BigDecimal(parameterVO.getColumnValue()).setScale(2,RoundingMode.DOWN);
-//                            if(bigDecimal.compareTo(new BigDecimal(60).setScale(2,RoundingMode.DOWN))>0){
-//                                BigDecimal data = bigDecimal.divide(new BigDecimal(60),2,BigDecimal.ROUND_HALF_UP);
-//                                parameterVO.setColumnValue(data+"分");
-//                            }
-//                            if(bigDecimal.compareTo(new BigDecimal(3600))>0){
-//                                BigDecimal data = bigDecimal.divide(new BigDecimal(3600),2,BigDecimal.ROUND_HALF_UP);
-//                                parameterVO.setColumnValue(data+"时");
-//                            }
-//                        }
+                        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")){
+                            //计算时分秒
+                            Integer time= new BigDecimal(parameterVO.getColumnValue()).intValue();
+                            if(time>0){
+                                String timeString = timeString(time);
+                                parameterVO.setColumnValue(timeString);
+                            }
+                        }
                     }
                     facilityVO.setParameterVOList(parameterVOList);
                 }
-
             }
+
         }
         return ExecutedResult.success(result);
     }
+    public String timeString(Integer time){
+        int hours=time/3600;
+        int minutes=(time%3600)/60;
+        int seconds=time%60;
+        return  hours+"时"+minutes+"分"+seconds+"秒";
+    }
     protected ExecutedResult<WaterFacilityParameterPO> check4Id(Long id) {
         WaterFacilityParameterPO exists = mapper.get(id);
         if (Objects.isNull(exists)) {

--
Gitblit v1.9.3