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/FacilityAlarmRecordService.java |  110 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 80 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/fengdu/gas/service/FacilityAlarmRecordService.java b/src/main/java/com/fengdu/gas/service/FacilityAlarmRecordService.java
index 88f1990..dca76a1 100644
--- a/src/main/java/com/fengdu/gas/service/FacilityAlarmRecordService.java
+++ b/src/main/java/com/fengdu/gas/service/FacilityAlarmRecordService.java
@@ -1,25 +1,25 @@
 /**
-#                                                    __----~~~~~~~~~~~------___
-#                                   .  .   ~~//====......          __--~ ~~
-#                   -.            \_|//     |||\\  ~~~~~~::::... /~
-#                ___-==_       _-~o~  \/    |||  \\            _/~~-
-#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
-#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
-#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
-# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
-# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
-#          '         ~-|      /|    |-~\~~       __--~~
-#                      |-~~-_/ |    |   ~\_   _-~            /\
-#                           /  \     \__   \/~                \__
-#                       _--~ _/ | .-~~____--~-/                  ~~==.
-#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
-#                                 -_     ~\      ~~---l__i__i__i--~~_/
-#                                 _-~-__   ~)  \--______________--~~
-#                               //.-~~~-~_--~- |-------~~~~~~~~
-#                                      //.-~~~--\
-#                  神兽保佑
-#                  永无BUG!
-*/
+ #                                                    __----~~~~~~~~~~~------___
+ #                                   .  .   ~~//====......          __--~ ~~
+ #                   -.            \_|//     |||\\  ~~~~~~::::... /~
+ #                ___-==_       _-~o~  \/    |||  \\            _/~~-
+ #        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
+ #    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
+ #  .~       .~       |   \\ -_    /  /-   /   ||      \   /
+ # /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
+ # |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
+ #          '         ~-|      /|    |-~\~~       __--~~
+ #                      |-~~-_/ |    |   ~\_   _-~            /\
+ #                           /  \     \__   \/~                \__
+ #                       _--~ _/ | .-~~____--~-/                  ~~==.
+ #                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
+ #                                 -_     ~\      ~~---l__i__i__i--~~_/
+ #                                 _-~-__   ~)  \--______________--~~
+ #                               //.-~~~-~_--~- |-------~~~~~~~~
+ #                                      //.-~~~--\
+ #                  神兽保佑
+ #                  永无BUG!
+ */
 package com.fengdu.gas.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -28,12 +28,19 @@
 import com.fengdu.gas.common.model.Tuple;
 import com.fengdu.gas.common.util.*;
 import com.fengdu.gas.entity.response.alarm.FacilityAlarm;
+import com.fengdu.gas.repository.impl.WaterFacilityMapperImpl;
 import com.fengdu.gas.repository.po.AlarmSchemePO;
+import com.fengdu.gas.repository.po.WaterFacilityPO;
+import com.fengdu.gas.repository.vo.FacilityAlarmRecordCount;
 import org.apache.commons.lang3.BooleanUtils;
+import org.apache.ibatis.annotations.Select;
+import org.checkerframework.checker.units.qual.A;
 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.FacilityAlarmRecordMapperImpl;
 import com.fengdu.gas.repository.po.FacilityAlarmRecordPO;
 import com.fengdu.gas.entity.request.facilityalarmrecord.ReqCreateFacilityAlarmRecord;
@@ -50,6 +57,8 @@
 public class FacilityAlarmRecordService extends BaseService {
     @Autowired
     private FacilityAlarmRecordMapperImpl mapper;
+    @Autowired
+    private WaterFacilityMapperImpl waterFacilityMapper;
 
     public ExecutedResult<Long> create(ReqCreateFacilityAlarmRecord request) {
         // 转换po
@@ -94,8 +103,20 @@
         }
         return ExecutedResult.success(result);
     }
-
-//    public ExecutedResult<String> stop(Long id) {
+    public ExecutedResult<List<FacilityAlarmRecordVO>> getAlarmTime(){
+        List<FacilityAlarmRecordVO>result=new ArrayList<>();
+        List<FacilityAlarmRecordPO> list = mapper.getList();
+        if(ListUtil.isNotNullOrEmpty(list)){
+            result=CopierUtil.mapTo(list, FacilityAlarmRecordVO.class);
+            for(FacilityAlarmRecordVO vo:result){
+                if(StringUtil.isNotNullOrEmpty(vo.getFirstAlarmTime())&&StringUtil.isNotNullOrEmpty(vo.getLatestAlarmTime())){
+                    vo.setAlarmTime(LocalDateTimeUtil.getDateHoursMinutesSeconds(vo.getFirstAlarmTime(),vo.getLatestAlarmTime()));
+                }
+            }
+        }
+       return ExecutedResult.success(result);
+    }
+    //    public ExecutedResult<String> stop(Long id) {
 //        // 验证记录是否存在
 //        ExecutedResult<FacilityAlarmRecordPO> checkExists = this.check4Id(id);
 //        if (checkExists.isFailed()) {
@@ -185,7 +206,32 @@
 //        }
 //        return ExecutedResult.success();
 //    }
-
+    public ExecutedResult<List<FacilityAlarmRecordCount>> getAlarmListByPoint() {
+        List<FacilityAlarmRecordCount> list = mapper.getAlarmListByPoint();
+        return ExecutedResult.success(list);
+    }
+    public ExecutedResult<List<FacilityAlarmRecordVO>> getAlarmRecord(){
+        List<FacilityAlarmRecordVO> result=new ArrayList<>();
+        List<FacilityAlarmRecordPO> recordPOList = mapper.getList();
+        List<FacilityAlarmRecordPO> list = mapper.getGroupList();
+        if(ListUtil.isNotNullOrEmpty(list)){
+            result=CopierUtil.mapTo(list,FacilityAlarmRecordVO.class);
+            for(FacilityAlarmRecordVO vo:result){
+                FacilityAlarmRecordPO recordPO = recordPOList.stream().filter(item -> item.getFacilityId().equals(vo.getFacilityId())
+                        && item.getColumnsCode().equals(vo.getColumnsCode())
+                        && item.getAlarmType().equals(vo.getAlarmType())).max(Comparator.comparing(FacilityAlarmRecordPO::getLatestAlarmTime)).orElse(null);
+                if(Objects.nonNull(recordPO)){
+                    vo.setLatestAlarmTime(recordPO.getLatestAlarmTime());
+                    vo.setFacilityName(recordPO.getFacilityName());
+                    vo.setPointId(recordPO.getPointId());
+                    vo.setPointName(recordPO.getPointName());
+                    vo.setDescription(recordPO.getDescription());
+                    vo.setColumnsName(recordPO.getColumnsName());
+                }
+            }
+        }
+        return ExecutedResult.success(result);
+    }
     public ExecutedResult<List<FacilityAlarmRecordVO>> getList(List<Long> listId) {
         List<FacilityAlarmRecordVO> result = new ArrayList<>();
 
@@ -196,10 +242,11 @@
         }
         return ExecutedResult.success(result);
     }
-    public ExecutedResult<List<FacilityAlarm>> getAlarmList(Integer dateType){
-        List<FacilityAlarm> result=new ArrayList<>();
+
+    public ExecutedResult<List<FacilityAlarm>> getAlarmList(Integer dateType) {
+        List<FacilityAlarm> result = new ArrayList<>();
         // 处理创建时间范围-查询参数
-        if(dateType!=null&&dateType>0) {
+        if (dateType != null && dateType > 0) {
             Long beginTime = 0L;
             Long endTime = 0L;
             switch (dateType) {
@@ -220,12 +267,13 @@
                     endTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.yearEndTime()).getTime();
                     break;
             }
-            if (beginTime > 0&&endTime > 0) {
-                result= mapper.getByDateType(LocalDateTimeUtil.toFormatString(beginTime),LocalDateTimeUtil.toFormatString(endTime));
+            if (beginTime > 0 && endTime > 0) {
+                result = mapper.getByDateType(LocalDateTimeUtil.toFormatString(beginTime), LocalDateTimeUtil.toFormatString(endTime));
             }
         }
         return ExecutedResult.success(result);
     }
+
     public ExecutedResult<PagerResult<FacilityAlarmRecordVO>> search(SearchFacilityAlarmRecord search) {
 
         PagerResult<FacilityAlarmRecordPO> pageList = mapper.search(search);
@@ -248,6 +296,7 @@
         }
         return ExecutedResult.success(exists);
     }
+
     protected ExecutedResult<List<FacilityAlarmRecordPO>> check4Id(List<Long> listId) {
         // 从数据库查找设备报警记录
         List<FacilityAlarmRecordPO> list = mapper.getList(listId);
@@ -265,4 +314,5 @@
             }
         }
         return ExecutedResult.success(list);
-    }}
+    }
+}

--
Gitblit v1.9.3