From d632135cb8d0fdf1d63d0b533558b3987bda932d Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 11 九月 2024 18:26:24 +0800 Subject: [PATCH] 设备状态统计 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java | 68 +++++++++++++++++++++++++++++---- 1 files changed, 59 insertions(+), 9 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java index 6f7103b..1918cc5 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java @@ -7,9 +7,7 @@ import com.ruoyi.chargingPile.api.model.TChargingGun; import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.chargingPile.api.query.TChargingGunQuery; -import com.ruoyi.chargingPile.api.vo.ChargingGunCountVO; -import com.ruoyi.chargingPile.api.vo.TChargingGunVO; -import com.ruoyi.chargingPile.api.vo.TMonitoringEquipmentVO; +import com.ruoyi.chargingPile.api.vo.*; import com.ruoyi.chargingPile.domain.SiteMenu; import com.ruoyi.chargingPile.mapper.TChargingGunMapper; import com.ruoyi.chargingPile.service.IPartnerService; @@ -32,13 +30,8 @@ import org.springframework.util.CollectionUtils; import javax.annotation.Resource; -import java.util.Arrays; -import java.util.HashSet; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; -import java.util.Set; /** * <p> @@ -188,6 +181,63 @@ return map; } + @Override + public GunStatusStatisticsVO gunStatusStatistics(List<Integer> siteIds) { + GunStatusStatisticsVO gunStatusStatisticsVO = new GunStatusStatisticsVO(); + + if(CollectionUtils.isEmpty(siteIds)){ + Map<Integer, Integer> modeStatisticsNull = new HashMap<>(); + modeStatisticsNull.put(1, 0); + modeStatisticsNull.put(2, 0); + modeStatisticsNull.put(3, 0); + gunStatusStatisticsVO.setModeStatistics(modeStatisticsNull); + Map<Integer, Integer> statusStatisticsNull = new HashMap<>(); + statusStatisticsNull.put(1, 0); + statusStatisticsNull.put(2, 0); + statusStatisticsNull.put(3, 0); + gunStatusStatisticsVO.setStatusStatistics(statusStatisticsNull); + List<StatusModeStatisticsVO> statusModeStatistics = new ArrayList<>(); + for (int i = 1; i < 4; i++) { + StatusModeStatisticsVO statusModeStatisticsVO = new StatusModeStatisticsVO(); + statusModeStatisticsVO.setChargeMode(i); + statusModeStatisticsVO.setChargingCount(0); + statusModeStatisticsVO.setFilledCount(0); + statusModeStatisticsVO.setInsertCount(0); + statusModeStatisticsVO.setFreeCount(0); + statusModeStatistics.add(statusModeStatisticsVO); + } + gunStatusStatisticsVO.setStatusModeStatistics(statusModeStatistics); + } + + Map<Integer, Integer> modeStatistics = this.baseMapper.getModeStatistics(siteIds); + gunStatusStatisticsVO.setModeStatistics(modeStatistics); + + Map<Integer, Integer> statusStatistics = new HashMap<>(); + // 离线 + Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(TChargingGun.class) + .eq(TChargingGun::getStatus, 1)); + statusStatistics.put(1, count.intValue()); + // 故障 + count = this.baseMapper.selectCount(Wrappers.lambdaQuery(TChargingGun.class) + .eq(TChargingGun::getStatus, 7)); + statusStatistics.put(2, count.intValue()); + // 充电中 + count = this.baseMapper.selectCount(Wrappers.lambdaQuery(TChargingGun.class) + .in(TChargingGun::getStatus, Arrays.asList(3,4,5,6))); + statusStatistics.put(3, count.intValue()); + gunStatusStatisticsVO.setModeStatistics(statusStatistics); + + List<StatusModeStatisticsVO> statusModeStatisticsVOS = new ArrayList<>(); + StatusModeStatisticsVO statusModeStatistics1 = this.baseMapper.getStatusModeStatistics(siteIds,1); + StatusModeStatisticsVO statusModeStatistics2 = this.baseMapper.getStatusModeStatistics(siteIds,2); + StatusModeStatisticsVO statusModeStatistics3 = this.baseMapper.getStatusModeStatistics(siteIds,3); + statusModeStatisticsVOS.add(statusModeStatistics1); + statusModeStatisticsVOS.add(statusModeStatistics2); + statusModeStatisticsVOS.add(statusModeStatistics3); + gunStatusStatisticsVO.setStatusModeStatistics(statusModeStatisticsVOS); + return gunStatusStatisticsVO; + } + private ChargingGunCountVO getGunCount(Integer chargeMode, List<TChargingGun> list){ ChargingGunCountVO chargingGunCountVO = new ChargingGunCountVO(); chargingGunCountVO.setTotalCount(list.stream().filter(tChargingGun -> tChargingGun.getChargeMode().equals(chargeMode)).collect(Collectors.toList()).size()); -- Gitblit v1.7.1