From 7124dd5c38bc60fb28ae105e7ed025b48f8321fe Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 30 九月 2024 18:03:13 +0800
Subject: [PATCH] 修改bug
---
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 45 insertions(+), 13 deletions(-)
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
index a567303..d95c38f 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -36,10 +36,13 @@
import com.ruoyi.other.api.feignClient.UserSiteClient;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
+import com.ruoyi.system.api.feignClient.SysUserRoleClient;
+import com.ruoyi.system.api.model.SysUserRoleVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.math.MathContext;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -86,6 +89,9 @@
@Resource
private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient;
+
+ @Resource
+ private SysUserRoleClient sysUserRoleClient;
@@ -110,7 +116,8 @@
//非管理员需要根据角色和用户配置查询允许的站点数据
if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
- List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData();
+ List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
+ List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
data.addAll(data1);
siteIds = new HashSet<>(data);
}
@@ -221,9 +228,10 @@
public AjaxResult delChargingPile(Integer[] ids) {
//检查是否有关联数据
//接口
- long count = chargingGunService.count(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getChargingPileId, Arrays.asList(ids)).eq(TChargingGun::getDelFlag, 0));
+ long count = chargingGunService.count(new LambdaQueryWrapper<TChargingGun>().in(TChargingGun::getChargingPileId, Arrays.asList(ids))
+ .eq(TChargingGun::getDelFlag, 0));
if(count > 0){
- return AjaxResult.error("该充电桩有关联的接口数据,删除失败!");
+ return AjaxResult.error("该充电桩已添加接口,不可删除。");
}
for (Integer id : ids) {
TChargingPile chargingPile = this.getById(id);
@@ -241,7 +249,7 @@
List<Integer> id = setAccountingStrategy.getId();
List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().in(TChargingGun::getChargingPileId, id).eq(TChargingGun::getDelFlag, 0));
for (TChargingGun tChargingGun : list) {
- tChargingGun.setChargingPileId(setAccountingStrategy.getAccountingStrategyId());
+ tChargingGun.setAccountingStrategyId(setAccountingStrategy.getAccountingStrategyId());
}
chargingGunService.updateBatchById(list);
}
@@ -257,7 +265,17 @@
List<TChargingGun> chargingGuns = chargingGunService.list(wrapper);
// 查询充电枪信息
chargingPileVOS.forEach(item -> {
- item.setChargingGunList(chargingGuns.stream().filter(gun -> gun.getChargingPileId().equals(item.getId())).collect(Collectors.toList()));
+ List<TChargingGun> chargingGunList = chargingGuns.stream().filter(gun -> gun.getChargingPileId().equals(item.getId())).collect(Collectors.toList());
+ for (TChargingGun chargingGun : chargingGunList) {
+ if(chargingGun.getStatus().equals(4)){
+ // TODO 查询正在充电的单子的实时记录
+ chargingGun.setSoc(100);
+ }
+ if(chargingGun.getStatus().equals(5)){
+ chargingGun.setSoc(100);
+ }
+ }
+ item.setChargingGunList(chargingGunList);
});
return chargingPileVOS;
}
@@ -282,7 +300,8 @@
//非管理员需要根据角色和用户配置查询允许的站点数据
if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
- List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData();
+ List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
+ List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
data.addAll(data1);
siteIds = new HashSet<>(data);
}
@@ -304,8 +323,13 @@
chargeMonitoring.setNotCharged(total.size() - charging.size());
chargeMonitoring.setRatedPower(ratedPower.setScale(4, RoundingMode.HALF_EVEN));
chargeMonitoring.setRealTimePower(realTimePower.setScale(4, RoundingMode.HALF_EVEN));
- chargeMonitoring.setDemandPowerSatisfactionRate(realTimePower.divide(ratedPower).multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN));
-
+ if(ratedPower.equals(BigDecimal.ZERO)){
+ chargeMonitoring.setDemandPowerSatisfactionRate(BigDecimal.ZERO);
+ }else{
+ chargeMonitoring.setDemandPowerSatisfactionRate(realTimePower.divide(ratedPower, new MathContext(2, RoundingMode.HALF_EVEN))
+ .multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN));
+ }
+
List<String> dates = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MMM-dd");
Calendar calendar = Calendar.getInstance();
@@ -325,8 +349,12 @@
List<Double> data = chargingOrderAccountingStrategyClient.getDailyChargingDegree(6, siteIds).getData();
List<Double> value2 = new ArrayList<>();
for (Double datum : data) {
- Double datum1 = new BigDecimal(datum).divide(new BigDecimal(list.size()).multiply(v).multiply(new BigDecimal(24))).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
- value2.add(datum1);
+ if(list.size() == 0){
+ value2.add(0D);
+ }else{
+ Double datum1 = new BigDecimal(datum).divide(new BigDecimal(list.size()).multiply(v).multiply(new BigDecimal(24))).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+ value2.add(datum1);
+ }
}
Map<String, Object> utilizationTrend = new HashMap<>();
utilizationTrend.put("date", dates);
@@ -334,7 +362,9 @@
chargeMonitoring.setUtilizationTrend(utilizationTrend);
return chargeMonitoring;
}
-
+
+
+
/**
* 获取充电枪各种状态汇总
* @param siteId 站点id
@@ -354,7 +384,8 @@
//非管理员需要根据角色和用户配置查询允许的站点数据
if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
- List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData();
+ List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
+ List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
data.addAll(data1);
siteIds = new HashSet<>(data);
}
@@ -401,7 +432,8 @@
//非管理员需要根据角色和用户配置查询允许的站点数据
if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
- List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData();
+ List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
+ List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
data.addAll(data1);
siteIds = new HashSet<>(data);
}
--
Gitblit v1.7.1