From 816e856344d34b73a13d7db4055de2c66e7cd534 Mon Sep 17 00:00:00 2001 From: DYL <Dn1332079466> Date: 星期一, 10 二月 2025 10:25:15 +0800 Subject: [PATCH] 电能负荷分析 --- zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 37 insertions(+), 10 deletions(-) diff --git a/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java index de563bb..8269d9d 100644 --- a/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java @@ -1,6 +1,7 @@ package com.zhitan.model.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhitan.basicdata.domain.MeterImplement; import com.zhitan.basicdata.services.IMeterImplementService; @@ -17,6 +18,7 @@ import com.zhitan.model.service.IEnergyIndexService; import com.zhitan.model.service.IModelNodeService; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -311,17 +313,42 @@ @Override public List<EnergyIndex> getIndexByCode(String code, String nodeId) { - final List<MeterImplement> settingDevice = modelNodeMapper.getSettingDevice(nodeId); - if(CollectionUtils.isEmpty(settingDevice)){ - return new ArrayList<>(); - } - final List<String> deviceIds = settingDevice.stream().map(MeterImplement::getId).collect(Collectors.toList()); + List<EnergyIndex> energyIndexList = energyIndexMapper.getIndexByCode(code,nodeId); - LambdaQueryWrapper<EnergyIndex> queryWrapper = new LambdaQueryWrapper<>(); - if(StringUtils.isNotEmpty(code)) { - queryWrapper.like(EnergyIndex::getCode, code).or().like(EnergyIndex::getName, code); + return energyIndexList; + } + + /** + * 鏍规嵁鐢ㄨ兘鍗曞厓id鍜岃澶噄d锛屼互鍙婄偣浣嶇紪鐮佽幏鍙栫偣浣� + * + * @param energyUnitId 鐢ㄨ兘鍗曞厓id + * @param meterId 璁惧id + * @param indexCode 鐐逛綅缂栫爜鎴栬�呯偣浣嶇紪鐮佺殑涓�閮ㄥ垎 + * @return + */ + @Override + public EnergyIndex getDeviceIndexByCode(String energyUnitId, String meterId, String indexCode) { + + List<EnergyIndex> energyIndexList = listDeviceIndexByCode(energyUnitId, meterId, indexCode); + EnergyIndex energyIndex = energyIndexList.stream().findFirst().orElse(null); + if (ObjectUtils.isEmpty(energyIndex)) { + energyIndex = new EnergyIndex(); } - queryWrapper.in(EnergyIndex::getMeterId,deviceIds); - return energyIndexMapper.selectList(queryWrapper); + return energyIndex; + } + + /** + * 鏍规嵁鐢ㄨ兘鍗曞厓id鍜岃澶噄d锛屼互鍙婄偣浣嶇紪鐮佽幏鍙栫偣浣� + * + * @param energyUnitId 鐢ㄨ兘鍗曞厓id + * @param meterId 璁惧id + * @param indexCode 鐐逛綅缂栫爜鎴栬�呯偣浣嶇紪鐮佺殑涓�閮ㄥ垎 + * @return + */ + public List<EnergyIndex> listDeviceIndexByCode(String energyUnitId, String meterId, String indexCode) { + return energyIndexMapper.selectList(Wrappers.<EnergyIndex>lambdaQuery() + .eq(EnergyIndex::getEnergyUnitId, energyUnitId) + .eq(EnergyIndex::getEnergyUnitToDeviceId, meterId) + .like(EnergyIndex::getCode, indexCode)); } } -- Gitblit v1.9.3