From afae558d8eb1832769b6621d0d9c30103f7fdd89 Mon Sep 17 00:00:00 2001 From: DYL0109 <dn18191638832@163.com> Date: 星期五, 18 四月 2025 16:48:43 +0800 Subject: [PATCH] Merge pull request #70 from zhitan-cloud/wt_from_develop1.0 --- zhitan-system/src/main/java/com/zhitan/alarm/services/impl/AlarmAnalyisisServiceImpl.java | 81 +++++++++++++++++++++++++--------------- 1 files changed, 51 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..b416f28 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 @@ -2,11 +2,12 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.zhitan.alarm.domain.JkHistoryAlarm; 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 +18,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 +34,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 +52,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 +180,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 +188,41 @@ String formattedResult = df.format(averageEnergy); return Double.valueOf(formattedResult); } + + /** + * 鑾峰彇鎶ヨ鍒嗘瀽缁熻淇℃伅 + * @param alarmAnalysisDTO + * @return + */ + @Override + public AlarmAnalysisVO getCountInfo(AlarmAnalysisDTO alarmAnalysisDTO) { + + AlarmAnalysisVO alarmAnalysisVO = new AlarmAnalysisVO(); + + ModelNode parentNode = modelNodeMapper.selectModelNodeById(alarmAnalysisDTO.getNodeId()); + if(ObjectUtils.isEmpty(parentNode)){ + return alarmAnalysisVO; + } + + // 鏌ヨ妯″瀷涓嬬殑鐐逛綅鏁版嵁 + List<ModelNodeIndexInfo> nodeIndexInfoList = modelNodeMapper.getAllModelNodeIndexByAddress(parentNode.getModelCode(), parentNode.getAddress()); + alarmAnalysisVO.setIndexCount(nodeIndexInfoList.size()); + if (CollectionUtils.isEmpty(nodeIndexInfoList)) { + return alarmAnalysisVO; + } + + // 鑾峰彇鏈堟姤璀︽暟銆佸勾鎶ヨ鏁� + List<String> indexIdList = 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, indexIdList); + Integer yearCount = historyAlarmMapper.selectCountByTime(beginOfYear,endOfYear, indexIdList); + + alarmAnalysisVO.setMonthCount(monthCount); + alarmAnalysisVO.setYearCount(yearCount); + return alarmAnalysisVO; + } } -- Gitblit v1.9.3