From bcf8c46e009d5d825a7bf07b9eac46fb7432418b Mon Sep 17 00:00:00 2001
From: liulin <lin.liu@88.com>
Date: 星期四, 17 七月 2025 08:42:13 +0800
Subject: [PATCH] 添加首页大屏数据统计

---
 src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java |   86 ++++++++++++++++++++++++++++++------------
 1 files changed, 61 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java b/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java
index 35bda99..d7ee1a7 100644
--- a/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java
+++ b/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java
@@ -1,39 +1,42 @@
 /**
-#                                                    __----~~~~~~~~~~~------___
-#                                   .  .   ~~//====......          __--~ ~~
-#                   -.            \_|//     |||\\  ~~~~~~::::... /~
-#                ___-==_       _-~o~  \/    |||  \\            _/~~-
-#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
-#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
-#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
-# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
-# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
-#          '         ~-|      /|    |-~\~~       __--~~
-#                      |-~~-_/ |    |   ~\_   _-~            /\
-#                           /  \     \__   \/~                \__
-#                       _--~ _/ | .-~~____--~-/                  ~~==.
-#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
-#                                 -_     ~\      ~~---l__i__i__i--~~_/
-#                                 _-~-__   ~)  \--______________--~~
-#                               //.-~~~-~_--~- |-------~~~~~~~~
-#                                      //.-~~~--\
-#                  神兽保佑
-#                  永无BUG!
-*/
+ #                                                    __----~~~~~~~~~~~------___
+ #                                   .  .   ~~//====......          __--~ ~~
+ #                   -.            \_|//     |||\\  ~~~~~~::::... /~
+ #                ___-==_       _-~o~  \/    |||  \\            _/~~-
+ #        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
+ #    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
+ #  .~       .~       |   \\ -_    /  /-   /   ||      \   /
+ # /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
+ # |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
+ #          '         ~-|      /|    |-~\~~       __--~~
+ #                      |-~~-_/ |    |   ~\_   _-~            /\
+ #                           /  \     \__   \/~                \__
+ #                       _--~ _/ | .-~~____--~-/                  ~~==.
+ #                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
+ #                                 -_     ~\      ~~---l__i__i__i--~~_/
+ #                                 _-~-__   ~)  \--______________--~~
+ #                               //.-~~~-~_--~- |-------~~~~~~~~
+ #                                      //.-~~~--\
+ #                  神兽保佑
+ #                  永无BUG!
+ */
 package com.fengdu.gas.service;
 
 import com.fengdu.gas.common.*;
-import com.fengdu.gas.common.enums.*;
+import com.fengdu.gas.common.enums.EFacilityState;
 import com.fengdu.gas.common.model.Tuple;
 import com.fengdu.gas.common.util.*;
 import com.fengdu.gas.entity.request.waterfacilityparameter.ReqAddParameter;
+import com.fengdu.gas.entity.response.facility.FacilityParameterData;
 import com.fengdu.gas.repository.impl.WaterFacilityMapperImpl;
+import com.fengdu.gas.repository.impl.WaterMonitoryPointMapperImpl;
 import com.fengdu.gas.repository.po.WaterFacilityPO;
-import org.apache.commons.lang3.BooleanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import java.util.*;
 import java.util.stream.Collectors;
+
 import com.fengdu.gas.repository.impl.WaterFacilityParameterMapperImpl;
 import com.fengdu.gas.repository.po.WaterFacilityParameterPO;
 import com.fengdu.gas.entity.request.waterfacilityparameter.ReqCreateWaterFacilityParameter;
@@ -52,6 +55,8 @@
     private WaterFacilityParameterMapperImpl mapper;
     @Autowired
     private WaterFacilityMapperImpl waterFacilityMapper;
+    @Autowired
+    private WaterMonitoryPointMapperImpl waterMonitoryPointMapper;
 
     public ExecutedResult<String> create(ReqAddParameter request) {
         WaterFacilityPO facilityPO = waterFacilityMapper.get(request.getFacilityId());
@@ -62,7 +67,7 @@
         if (ListUtil.isNotNullOrEmpty(request.getParameterList())) {
             for (ReqCreateWaterFacilityParameter x : request.getParameterList()) {
                 WaterFacilityParameterPO parameterPO = list.stream().filter(item -> item.getFacilityId().equals(request.getFacilityId()) && item.getColumnsCode().equals(x.getColumnsCode())).findFirst().orElse(null);
-                if(Objects.isNull(parameterPO)) {
+                if (Objects.isNull(parameterPO)) {
                     WaterFacilityParameterPO item = new WaterFacilityParameterPO();
                     item.setId(SnowFlakeUtil.getId());
                     item.setFacilityId(facilityPO.getId());
@@ -94,6 +99,35 @@
             return ExecutedResult.failed("编辑[设备设定参数]失败。");
         }
         return ExecutedResult.success();
+    }
+
+    public ExecutedResult<List<FacilityParameterData>> getDataList(Long pointId, Integer facilityState) {
+        List<FacilityParameterData> result = new ArrayList<>();
+        List<WaterFacilityPO> facilityPOList = waterFacilityMapper.getList();
+        List<WaterFacilityParameterVO> listData = mapper.getListData(pointId, facilityState);
+        if (ListUtil.isNotNullOrEmpty(listData)) {
+            Map<Long, List<WaterFacilityParameterVO>> dataMap = listData.stream().collect(Collectors.groupingBy(WaterFacilityParameterVO::getFacilityId));
+            for (Map.Entry<Long, List<WaterFacilityParameterVO>> map : dataMap.entrySet()) {
+                WaterFacilityPO facilityPO = facilityPOList.stream().filter(item -> item.getId().equals(map.getKey())).findFirst().orElse(null);
+                WaterFacilityParameterVO jw001 = map.getValue().stream().filter(item -> item.getColumnsCode().equals("JW001")).findFirst().orElse(null);
+                WaterFacilityParameterVO lhq001 = map.getValue().stream().filter(item -> item.getColumnsCode().equals("LHQ001")).findFirst().orElse(null);
+                WaterFacilityParameterVO wd001 = map.getValue().stream().filter(item -> item.getColumnsCode().equals("WD001")).findFirst().orElse(null);
+                FacilityParameterData data = new FacilityParameterData();
+                data.setFacilityName(facilityPO.getFacilityName());
+                data.setFacilityState(facilityPO.getFacilityState());
+                data.setFacilityStateName(EFacilityState.getByValue(facilityPO.getFacilityState()).getDesc());
+                data.setPointId(facilityPO.getPointId());
+                data.setPointName(facilityPO.getPointName());
+                if (Objects.nonNull(jw001))
+                    data.setMethaneValue(jw001.getColumnValue());
+                if (Objects.nonNull(lhq001))
+                    data.setHydrogenValue(lhq001.getColumnValue());
+                if (Objects.nonNull(wd001))
+                    data.setTemperatureValue(wd001.getColumnValue());
+                result.add(data);
+            }
+        }
+        return ExecutedResult.success(result);
     }
 
     public ExecutedResult<WaterFacilityParameterVO> get(Long id) {
@@ -239,6 +273,7 @@
         }
         return ExecutedResult.success(exists);
     }
+
     protected ExecutedResult<List<WaterFacilityParameterPO>> check4Id(List<Long> listId) {
         // 从数据库查找设备设定参数
         List<WaterFacilityParameterPO> list = mapper.getList(listId);
@@ -256,4 +291,5 @@
             }
         }
         return ExecutedResult.success(list);
-    }}
+    }
+}

--
Gitblit v1.9.3