From 256851a621c1f71eaecdfdcb7ef3c3e4fdce21c2 Mon Sep 17 00:00:00 2001
From: elkers <elkers@163.com>
Date: 星期三, 23 四月 2025 11:21:38 +0800
Subject: [PATCH] 添加启泵记录

---
 src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java |   58 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 36 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
index 566a5c4..bff5f78 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());
@@ -72,28 +76,31 @@
             return ExecutedResult.failed("所属设备[id=" + request.getFacilityId() + "]不存在。");
         }
         List<WaterFacilityParameterPO> list = mapper.getListByFacilityId(request.getFacilityId());
-        List<Long> ids = new ArrayList<Long>();
-        if (ListUtil.isNotNullOrEmpty(list)) {
-            list.forEach(x -> {
-                ids.add(x.getId());
-            });
-        }
-        if (ListUtil.isNotNullOrEmpty(ids)) {
-            mapper.remove(ids);
-        }
+//        List<Long> ids = new ArrayList<Long>();
+//        if (ListUtil.isNotNullOrEmpty(list)) {
+//            list.forEach(x -> {
+//                ids.add(x.getId());
+//            });
+//        }
+//        if (ListUtil.isNotNullOrEmpty(ids)) {
+//            mapper.remove(ids);
+//        }
         if (ListUtil.isNotNullOrEmpty(request.getParameterList())) {
             for (ReqCreateWaterFacilityParameter x : request.getParameterList()) {
-                WaterFacilityParameterPO item = new WaterFacilityParameterPO();
-                item.setId(SnowFlakeUtil.getId());
-                item.setFacilityId(facilityPO.getId());
-                item.setFacilityCode(facilityPO.getFacilityCode());
-                item.setCreateTime(LocalDateTimeUtil.nowTimeStamp());
-                item.setColumnsUnits(x.getColumnsUnits());
-                item.setColumnsCode(x.getColumnsCode());
-                item.setColumnsShow(x.getColumnsShow());
-                item.setColumnValue("");
-                item.setLastTime("");
-                this.mapper.insert(item);
+                WaterFacilityParameterPO parameterPO = list.stream().filter(item -> item.getFacilityId().equals(request.getFacilityId()) && item.getColumnsCode().equals(x.getColumnsCode())).findFirst().orElse(null);
+                if(Objects.isNull(parameterPO)){
+                    WaterFacilityParameterPO item = new WaterFacilityParameterPO();
+                    item.setId(SnowFlakeUtil.getId());
+                    item.setFacilityId(facilityPO.getId());
+                    item.setFacilityCode(facilityPO.getFacilityCode());
+                    item.setCreateTime(LocalDateTimeUtil.nowTimeStamp());
+                    item.setColumnsUnits(x.getColumnsUnits());
+                    item.setColumnsCode(x.getColumnsCode());
+                    item.setColumnsShow(x.getColumnsShow());
+                    item.setColumnValue("");
+                    item.setLastTime("");
+                    this.mapper.insert(item);
+                }
             }
         }
         return ExecutedResult.success("添加成功");
@@ -131,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();
     }
@@ -277,6 +284,7 @@
         List<WaterFacilityVO>result=new ArrayList<>();
         //获取泵房数据
         List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList();
+        List<WaterPumpOperatingRecordPO> recordPOList = waterPumpOperatingRecordMapper.getList();
         //获取泵房设备参数
         List<WaterFacilityParameterPO> parameterPOList = mapper.getList();
         if(ListUtil.isNotNullOrEmpty(facilityPOList)){
@@ -314,6 +322,12 @@
                                 parameterVO.setColumnValue(timeString);
                             }
                         }
+                        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());
+                            }
+                        }
                     }
                     facilityVO.setParameterVOList(parameterVOList);
                 }

--
Gitblit v1.9.3