From e8401b85ea303e7cb87062dfa918cb59071befb3 Mon Sep 17 00:00:00 2001
From: VVT789 <sdxt_0802@163.com>
Date: 星期五, 18 四月 2025 12:40:02 +0800
Subject: [PATCH] 报警代码优化

---
 zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java |   76 +++++++++++++++++++++++---------------
 1 files changed, 46 insertions(+), 30 deletions(-)

diff --git a/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java
index 3545c7d..53d8c83 100644
--- a/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java
@@ -6,7 +6,7 @@
 import com.zhitan.alarm.domain.dto.AlarmAnalysisDTO;
 import com.zhitan.alarm.domain.vo.AlarmAnalysisVO;
 import com.zhitan.alarm.mapper.HistoryAlarmMapper;
-import com.zhitan.alarm.services.IAlarmAnalyisisService;
+import com.zhitan.alarm.services.IAlarmAnalysisService;
 import com.zhitan.basicdata.domain.MeterImplement;
 import com.zhitan.basicdata.domain.SysEnergy;
 import com.zhitan.basicdata.mapper.MeterImplementMapper;
@@ -17,6 +17,7 @@
 import com.zhitan.consumptionanalysis.domain.vo.ChartData;
 import com.zhitan.consumptionanalysis.domain.vo.EnergyProportion;
 import com.zhitan.model.domain.EnergyIndex;
+import com.zhitan.model.domain.ModelNode;
 import com.zhitan.model.domain.vo.ModelNodeIndexInfo;
 import com.zhitan.model.mapper.EnergyIndexMapper;
 import com.zhitan.model.mapper.ModelNodeMapper;
@@ -32,14 +33,14 @@
 import java.util.stream.Collectors;
 
 /**
- * description todu
+ * 鎶ヨ鍒嗘瀽瀹炵幇
  *
- * @author hmj
- * @date 2024-10-26 17:34
+ * @author
+ * @date
  */
 @Service
 @AllArgsConstructor
-public class AlarmAnalyisisServiceImpl implements IAlarmAnalyisisService {
+public class AlarmAnalyisisServiceImpl implements IAlarmAnalysisService {
 
     private final ModelNodeMapper modelNodeMapper;
     
@@ -50,6 +51,13 @@
     private final EnergyIndexMapper energyIndexMapper;
     
     private final SysEnergyMapper sysEnergyMapper;
+
+    /**
+     * 鏍规嵁鑺傜偣id鑾峰彇鎶ヨ鍒嗘瀽淇℃伅(搴熷純)
+     *
+     * @param alarmAnalysisDTO
+     * @return
+     */
     @Override
     public AlarmAnalysisVO getByNodeId(AlarmAnalysisDTO alarmAnalysisDTO) {
         AlarmAnalysisVO alarmAnalysisVO = new AlarmAnalysisVO();
@@ -171,31 +179,6 @@
         return alarmAnalysisVO;
     }
 
-
-    @Override
-    public AlarmAnalysisVO getCountInfo(AlarmAnalysisDTO alarmAnalysisDTO) {
-        AlarmAnalysisVO alarmAnalysisVO = new AlarmAnalysisVO();
-        final String nodeId = alarmAnalysisDTO.getNodeId();
-        final DateTime beginOfMonth = DateUtil.beginOfMonth(new Date());
-        final DateTime endOfMonth = DateUtil.endOfMonth(new Date());
-        final DateTime beginOfYear = DateUtil.beginOfYear(new Date());
-        final DateTime endOfYear = DateUtil.endOfYear(new Date());
-
-        /**
-         * 鏌ヨ鐐逛綅涓庣敤鑳藉崟鍏冧俊鎭�
-         */
-        List<ModelNodeIndexInfo> nodeIndexInforList = modelNodeMapper.getModelNodeIndexIdByNodeId(nodeId,null);
-        List<String> indexIds = nodeIndexInforList.stream().map(ModelNodeIndexInfo::getIndexId).collect(Collectors.toList());
-
-        Integer monthCount = historyAlarmMapper.selectCountByTime(beginOfMonth,endOfMonth);
-        Integer yearCount = historyAlarmMapper.selectCountByTime(beginOfYear,endOfYear);
-        
-        alarmAnalysisVO.setIndexCount(indexIds.size());
-        alarmAnalysisVO.setMonthCount(monthCount);
-        alarmAnalysisVO.setYearCount(yearCount);
-        return alarmAnalysisVO;
-    }
-
     private double format2Double(double averageEnergy) {
         // 鍒涘缓DecimalFormat瀵硅薄锛岃缃繚鐣欎袱浣嶅皬鏁�
         DecimalFormat df = new DecimalFormat("#.00");
@@ -204,4 +187,37 @@
         String formattedResult = df.format(averageEnergy);
         return Double.valueOf(formattedResult);
     }
+
+    /**
+     * 鑾峰彇鎶ヨ鍒嗘瀽缁熻淇℃伅
+     * @param alarmAnalysisDTO
+     * @return
+     */
+    @Override
+    public AlarmAnalysisVO getCountInfo(AlarmAnalysisDTO alarmAnalysisDTO) {
+
+        AlarmAnalysisVO alarmAnalysisVO = new AlarmAnalysisVO();
+
+        // 鏌ヨ妯″瀷涓嬬殑鐐逛綅鏁版嵁
+        ModelNode modelNode = modelNodeMapper.selectModelNodeById(alarmAnalysisDTO.getNodeId());
+        List<ModelNodeIndexInfo> nodeIndexInfoList = modelNodeMapper.getAllModelNodeIndexByAddress(modelNode.getModelCode(), modelNode.getAddress());
+        alarmAnalysisVO.setIndexCount(nodeIndexInfoList.size());
+        if (CollectionUtils.isEmpty(nodeIndexInfoList)) {
+            return alarmAnalysisVO;
+        }
+
+        // 鑾峰彇鏈堟姤璀︽暟銆佸勾鎶ヨ鏁�
+        List<String> nodeIdList = nodeIndexInfoList.stream().map(ModelNodeIndexInfo::getIndexId).collect(Collectors.toList());
+
+        DateTime beginOfMonth = DateUtil.beginOfMonth(new Date());
+        DateTime endOfMonth = DateUtil.endOfMonth(new Date());
+        DateTime beginOfYear = DateUtil.beginOfYear(new Date());
+        DateTime endOfYear = DateUtil.endOfYear(new Date());
+        Integer monthCount = historyAlarmMapper.selectCountByTime(beginOfMonth,endOfMonth, nodeIdList);
+        Integer yearCount = historyAlarmMapper.selectCountByTime(beginOfYear,endOfYear, nodeIdList);
+
+        alarmAnalysisVO.setMonthCount(monthCount);
+        alarmAnalysisVO.setYearCount(yearCount);
+        return alarmAnalysisVO;
+    }
 }

--
Gitblit v1.9.3