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 |  127 +++++++++++++++++++++++++++++------------
 1 files changed, 89 insertions(+), 38 deletions(-)

diff --git a/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java b/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java
index 302ef34..d7ee1a7 100644
--- a/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java
+++ b/src/main/java/com/fengdu/gas/service/WaterFacilityParameterService.java
@@ -1,36 +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 org.apache.commons.lang3.BooleanUtils;
+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.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;
@@ -47,22 +53,36 @@
 public class WaterFacilityParameterService extends BaseService {
     @Autowired
     private WaterFacilityParameterMapperImpl mapper;
+    @Autowired
+    private WaterFacilityMapperImpl waterFacilityMapper;
+    @Autowired
+    private WaterMonitoryPointMapperImpl waterMonitoryPointMapper;
 
-    public ExecutedResult<Long> create(ReqCreateWaterFacilityParameter request) {
-        // 转换po
-        WaterFacilityParameterPO item = WaterFacilityParameterConvert.INSTANCE.toCreate(request);
-        // 设置状态
-        //item.setStatus(EState.NORMAL.getValue());
-        // 设置记录创建时间
-        item.setCreateTime(LocalDateTimeUtil.nowTimeStamp());
-        // 是否删除(逻辑删除)初始值
-        item.setIsDelete(EYesOrNo.NO.getValue());
-
-        int rowCount = mapper.insert(item);
-        if (rowCount != 1) {
-            return ExecutedResult.failed("创建[设备设定参数]失败。");
+    public ExecutedResult<String> create(ReqAddParameter request) {
+        WaterFacilityPO facilityPO = waterFacilityMapper.get(request.getFacilityId());
+        if (Objects.isNull(facilityPO)) {
+            return ExecutedResult.failed("所属设备[id=" + request.getFacilityId() + "]不存在。");
         }
-        return ExecutedResult.success(item.getId());
+        List<WaterFacilityParameterPO> list = mapper.getListByFacilityId(request.getFacilityId());
+        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)) {
+                    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("添加成功");
     }
 
     public ExecutedResult<String> modify(ReqModifyWaterFacilityParameter request) {
@@ -79,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) {
@@ -224,6 +273,7 @@
         }
         return ExecutedResult.success(exists);
     }
+
     protected ExecutedResult<List<WaterFacilityParameterPO>> check4Id(List<Long> listId) {
         // 从数据库查找设备设定参数
         List<WaterFacilityParameterPO> list = mapper.getList(listId);
@@ -241,4 +291,5 @@
             }
         }
         return ExecutedResult.success(list);
-    }}
+    }
+}

--
Gitblit v1.9.3