|
|
@@ -1,6 +1,7 @@
|
|
|
package com.usky.ems.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.usky.common.security.utils.SecurityUtils;
|
|
|
import com.usky.ems.domain.EmsDevice;
|
|
|
import com.usky.ems.domain.BaseSpace;
|
|
|
import com.usky.ems.domain.EmsEnergyItemCode;
|
|
|
@@ -14,6 +15,7 @@ import com.usky.ems.service.vo.EmsOverviewDeviceSystemStatVO;
|
|
|
import com.usky.ems.service.vo.EmsOverviewEnergyItemVO;
|
|
|
import com.usky.ems.service.vo.EmsProjectResponse;
|
|
|
import com.usky.ems.service.vo.EmsSummaryResponse;
|
|
|
+import io.swagger.models.auth.In;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -35,12 +37,6 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
|
|
|
- @Autowired
|
|
|
- private EmsProjectMapper emsProjectMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private EmsProjectDeviceSystemMapper emsProjectDeviceSystemMapper;
|
|
|
-
|
|
|
@Autowired
|
|
|
private EmsModelService emsModelService;
|
|
|
|
|
|
@@ -50,77 +46,74 @@ public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
@Autowired
|
|
|
private BaseSpaceService baseSpaceService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private EmsProjectConversionFactorMapper emsProjectConversionFactorMapper;
|
|
|
-
|
|
|
@Autowired
|
|
|
private EmsEnergyItemCodeMapper emsEnergyItemCodeMapper;
|
|
|
|
|
|
@Override
|
|
|
- public EmsProjectResponse getProject(Long projectId) {
|
|
|
- EmsProject project;
|
|
|
- if (projectId != null) {
|
|
|
- project = emsProjectMapper.selectById(projectId);
|
|
|
- } else {
|
|
|
- List<EmsProject> list = emsProjectMapper.selectList(null);
|
|
|
- project = list.isEmpty() ? null : list.get(0);
|
|
|
- }
|
|
|
- if (project == null) {
|
|
|
- return null;
|
|
|
- }
|
|
|
+ public EmsProjectResponse getProject(Integer projectId) {
|
|
|
+// EmsProject project;
|
|
|
+// if (projectId != null) {
|
|
|
+// project = emsProjectMapper.selectById(projectId);
|
|
|
+// } else {
|
|
|
+// List<EmsProject> list = emsProjectMapper.selectList(null);
|
|
|
+// project = list.isEmpty() ? null : list.get(0);
|
|
|
+// }
|
|
|
+// if (project == null) {
|
|
|
+// return null;
|
|
|
+// }
|
|
|
EmsProjectResponse resp = new EmsProjectResponse();
|
|
|
- resp.setId(project.getId());
|
|
|
- resp.setSpaceId(project.getSpaceId());
|
|
|
- resp.setName(project.getName());
|
|
|
- resp.setAbbreviation(project.getAbbreviation());
|
|
|
- resp.setArea(project.getArea());
|
|
|
- resp.setCommonArea(project.getCommonArea());
|
|
|
- resp.setAirConditionedArea(project.getAirConditionedArea());
|
|
|
- // 源字段为 Integer,这里转为 BigDecimal 以匹配 VO 定义
|
|
|
- if (project.getResidentPopulation() != null) {
|
|
|
- resp.setResidentPopulation(java.math.BigDecimal.valueOf(project.getResidentPopulation()));
|
|
|
- }
|
|
|
-
|
|
|
- // 设备系统集合
|
|
|
- List<EmsProjectDeviceSystem> sysList = emsProjectDeviceSystemMapper.selectList(
|
|
|
- new LambdaQueryWrapper<EmsProjectDeviceSystem>()
|
|
|
- .eq(EmsProjectDeviceSystem::getProjectId, project.getId())
|
|
|
- );
|
|
|
- if (sysList != null && !sysList.isEmpty()) {
|
|
|
- resp.setDeviceSystemList(sysList.stream()
|
|
|
- .map(EmsProjectDeviceSystem::getDeviceSystem)
|
|
|
- .collect(Collectors.toList()));
|
|
|
- }
|
|
|
-
|
|
|
- resp.setProvinceCode(project.getProvinceCode());
|
|
|
- resp.setCityCode(project.getCityCode());
|
|
|
- resp.setDistrictCode(project.getDistrictCode());
|
|
|
- resp.setProvinceName(project.getProvinceName());
|
|
|
- resp.setCityName(project.getCityName());
|
|
|
- resp.setDistrictName(project.getDistrictName());
|
|
|
- resp.setLocation(project.getLocation());
|
|
|
- resp.setAddress(project.getAddress());
|
|
|
- resp.setTypeId(project.getTypeId());
|
|
|
- resp.setTypeName(project.getTypeName());
|
|
|
- resp.setImage(project.getImage());
|
|
|
- // imageUrl 视实际文件服务而定,这里暂不拼接,直接沿用 image 字段或留空
|
|
|
- resp.setImageUrl(project.getImage());
|
|
|
- resp.setIntroduction(project.getIntroduction());
|
|
|
- resp.setPlatformName(project.getPlatformName());
|
|
|
- resp.setLogo(project.getLogo());
|
|
|
- resp.setLogoUrl(project.getLogo());
|
|
|
- resp.setLogoMin(project.getLogoMin());
|
|
|
- resp.setLogoMinUrl(project.getLogoMin());
|
|
|
- resp.setUpdatedBy(project.getUpdatedBy());
|
|
|
- resp.setCreatedBy(project.getCreatedBy());
|
|
|
- if (project.getUpdateTime() != null) {
|
|
|
- resp.setUpdateTime(project.getUpdateTime().toString());
|
|
|
- }
|
|
|
- if (project.getCreateTime() != null) {
|
|
|
- resp.setCreateTime(project.getCreateTime().toString());
|
|
|
- }
|
|
|
- // 单位能耗暂无法从现有表直接计算,先置为空,后续可按业务补充
|
|
|
- resp.setAreaCoal(null);
|
|
|
+// resp.setId(project.getId());
|
|
|
+// resp.setSpaceId(project.getSpaceId());
|
|
|
+// resp.setName(project.getName());
|
|
|
+// resp.setAbbreviation(project.getAbbreviation());
|
|
|
+// resp.setArea(project.getArea());
|
|
|
+// resp.setCommonArea(project.getCommonArea());
|
|
|
+// resp.setAirConditionedArea(project.getAirConditionedArea());
|
|
|
+// // 源字段为 Integer,这里转为 BigDecimal 以匹配 VO 定义
|
|
|
+// if (project.getResidentPopulation() != null) {
|
|
|
+// resp.setResidentPopulation(java.math.BigDecimal.valueOf(project.getResidentPopulation()));
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 设备系统集合
|
|
|
+// List<EmsProjectDeviceSystem> sysList = emsProjectDeviceSystemMapper.selectList(
|
|
|
+// new LambdaQueryWrapper<EmsProjectDeviceSystem>()
|
|
|
+// .eq(EmsProjectDeviceSystem::getProjectId, project.getId())
|
|
|
+// );
|
|
|
+// if (sysList != null && !sysList.isEmpty()) {
|
|
|
+// resp.setDeviceSystemList(sysList.stream()
|
|
|
+// .map(EmsProjectDeviceSystem::getDeviceSystem)
|
|
|
+// .collect(Collectors.toList()));
|
|
|
+// }
|
|
|
+//
|
|
|
+// resp.setProvinceCode(project.getProvinceCode());
|
|
|
+// resp.setCityCode(project.getCityCode());
|
|
|
+// resp.setDistrictCode(project.getDistrictCode());
|
|
|
+// resp.setProvinceName(project.getProvinceName());
|
|
|
+// resp.setCityName(project.getCityName());
|
|
|
+// resp.setDistrictName(project.getDistrictName());
|
|
|
+// resp.setLocation(project.getLocation());
|
|
|
+// resp.setAddress(project.getAddress());
|
|
|
+// resp.setTypeId(project.getTypeId());
|
|
|
+// resp.setTypeName(project.getTypeName());
|
|
|
+// resp.setImage(project.getImage());
|
|
|
+// // imageUrl 视实际文件服务而定,这里暂不拼接,直接沿用 image 字段或留空
|
|
|
+// resp.setImageUrl(project.getImage());
|
|
|
+// resp.setIntroduction(project.getIntroduction());
|
|
|
+// resp.setPlatformName(project.getPlatformName());
|
|
|
+// resp.setLogo(project.getLogo());
|
|
|
+// resp.setLogoUrl(project.getLogo());
|
|
|
+// resp.setLogoMin(project.getLogoMin());
|
|
|
+// resp.setLogoMinUrl(project.getLogoMin());
|
|
|
+// resp.setUpdatedBy(project.getUpdatedBy());
|
|
|
+// resp.setCreatedBy(project.getCreatedBy());
|
|
|
+// if (project.getUpdateTime() != null) {
|
|
|
+// resp.setUpdateTime(project.getUpdateTime().toString());
|
|
|
+// }
|
|
|
+// if (project.getCreateTime() != null) {
|
|
|
+// resp.setCreateTime(project.getCreateTime().toString());
|
|
|
+// }
|
|
|
+// // 单位能耗暂无法从现有表直接计算,先置为空,后续可按业务补充
|
|
|
+// resp.setAreaCoal(null);
|
|
|
return resp;
|
|
|
}
|
|
|
|
|
|
@@ -147,44 +140,44 @@ public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
|
|
|
@Override
|
|
|
public List<EmsOverviewDeviceSystemStatVO> queryOverviewDeviceInfo(Long projectId) {
|
|
|
- Long pid = resolveProjectId(projectId);
|
|
|
- if (pid == null) {
|
|
|
- return java.util.Collections.emptyList();
|
|
|
- }
|
|
|
-
|
|
|
- // 1. 查询项目已配置的设备系统
|
|
|
- List<EmsProjectDeviceSystem> systemList = emsProjectDeviceSystemMapper.selectList(
|
|
|
- new LambdaQueryWrapper<EmsProjectDeviceSystem>()
|
|
|
- .eq(EmsProjectDeviceSystem::getProjectId, pid)
|
|
|
- );
|
|
|
- if (systemList == null || systemList.isEmpty()) {
|
|
|
- return java.util.Collections.emptyList();
|
|
|
- }
|
|
|
- List<Integer> systems = systemList.stream()
|
|
|
- .map(EmsProjectDeviceSystem::getDeviceSystem)
|
|
|
- .collect(Collectors.toList());
|
|
|
-
|
|
|
- // 2. 查询设备:同项目、启用状态、设备系统在上述集合中
|
|
|
- List<EmsDevice> devices = emsDeviceMapper.selectList(
|
|
|
- new LambdaQueryWrapper<EmsDevice>()
|
|
|
- .eq(EmsDevice::getProjectId, pid)
|
|
|
- .eq(EmsDevice::getStatus, 1)
|
|
|
- .in(EmsDevice::getDeviceSystem, systems)
|
|
|
- );
|
|
|
- java.util.Map<Integer, Long> deviceCountMap = devices.stream()
|
|
|
- .filter(d -> d.getDeviceSystem() != null)
|
|
|
- .collect(Collectors.groupingBy(EmsDevice::getDeviceSystem, Collectors.counting()));
|
|
|
+// Long pid = resolveProjectId(projectId);
|
|
|
+// if (pid == null) {
|
|
|
+// return java.util.Collections.emptyList();
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 1. 查询项目已配置的设备系统
|
|
|
+// List<EmsProjectDeviceSystem> systemList = emsProjectDeviceSystemMapper.selectList(
|
|
|
+// new LambdaQueryWrapper<EmsProjectDeviceSystem>()
|
|
|
+// .eq(EmsProjectDeviceSystem::getProjectId, pid)
|
|
|
+// );
|
|
|
+// if (systemList == null || systemList.isEmpty()) {
|
|
|
+// return java.util.Collections.emptyList();
|
|
|
+// }
|
|
|
+// List<Integer> systems = systemList.stream()
|
|
|
+// .map(EmsProjectDeviceSystem::getDeviceSystem)
|
|
|
+// .collect(Collectors.toList());
|
|
|
+//
|
|
|
+// // 2. 查询设备:同项目、启用状态、设备系统在上述集合中
|
|
|
+// List<EmsDevice> devices = emsDeviceMapper.selectList(
|
|
|
+// new LambdaQueryWrapper<EmsDevice>()
|
|
|
+// .eq(EmsDevice::getProjectId, pid)
|
|
|
+// .eq(EmsDevice::getStatus, 1)
|
|
|
+// .in(EmsDevice::getDeviceSystem, systems)
|
|
|
+// );
|
|
|
+// java.util.Map<Integer, Long> deviceCountMap = devices.stream()
|
|
|
+// .filter(d -> d.getDeviceSystem() != null)
|
|
|
+// .collect(Collectors.groupingBy(EmsDevice::getDeviceSystem, Collectors.counting()));
|
|
|
|
|
|
// 3. 组装统计 VO
|
|
|
List<EmsOverviewDeviceSystemStatVO> result = new java.util.ArrayList<>();
|
|
|
- for (EmsProjectDeviceSystem s : systemList) {
|
|
|
- Integer code = s.getDeviceSystem();
|
|
|
- EmsOverviewDeviceSystemStatVO vo = new EmsOverviewDeviceSystemStatVO();
|
|
|
- vo.setDeviceSystem(code);
|
|
|
- vo.setName(deviceSystemName(code));
|
|
|
- vo.setValue(deviceCountMap.getOrDefault(code, 0L).intValue());
|
|
|
- result.add(vo);
|
|
|
- }
|
|
|
+// for (EmsProjectDeviceSystem s : systemList) {
|
|
|
+// Integer code = s.getDeviceSystem();
|
|
|
+// EmsOverviewDeviceSystemStatVO vo = new EmsOverviewDeviceSystemStatVO();
|
|
|
+// vo.setDeviceSystem(code);
|
|
|
+// vo.setName(deviceSystemName(code));
|
|
|
+// vo.setValue(deviceCountMap.getOrDefault(code, 0L).intValue());
|
|
|
+// result.add(vo);
|
|
|
+// }
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
@@ -345,16 +338,14 @@ public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
return resultList;
|
|
|
}
|
|
|
|
|
|
- // 1. 确定项目及根空间
|
|
|
- Long projectId = resolveProjectId(null);
|
|
|
- if (projectId == null) {
|
|
|
+ BaseSpace project = baseSpaceService.getOne(
|
|
|
+ new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<BaseSpace>()
|
|
|
+ .eq(BaseSpace::getRootId, 0)
|
|
|
+ .eq(BaseSpace::getTenantId, SecurityUtils.getTenantId()));
|
|
|
+ if (project == null || project.getId() == null) {
|
|
|
return resultList;
|
|
|
}
|
|
|
- EmsProject project = emsProjectMapper.selectById(projectId);
|
|
|
- if (project == null || project.getSpaceId() == null) {
|
|
|
- return resultList;
|
|
|
- }
|
|
|
- Long rootSpaceId = project.getSpaceId();
|
|
|
+ Long rootSpaceId = project.getId();
|
|
|
|
|
|
// 2. 查询空间列表:
|
|
|
// - 未指定 spaceId:取根空间下 type=3 的建筑(base_space)
|
|
|
@@ -435,13 +426,8 @@ public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
return resultMap;
|
|
|
}
|
|
|
|
|
|
- Long pid = resolveProjectId(projectId);
|
|
|
- if (pid == null) {
|
|
|
- return resultMap;
|
|
|
- }
|
|
|
-
|
|
|
// 项目信息(含面积、根空间 ID)
|
|
|
- EmsProjectResponse project = getProject(pid);
|
|
|
+ EmsProjectResponse project = getProject(SecurityUtils.getTenantId());
|
|
|
if (project == null || project.getSpaceId() == null) {
|
|
|
return resultMap;
|
|
|
}
|
|
|
@@ -461,18 +447,18 @@ public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
}
|
|
|
|
|
|
// 2. 查询折算系数(项目专属 + 公共)
|
|
|
- List<EmsProjectConversionFactor> factorList = emsProjectConversionFactorMapper.selectList(
|
|
|
- new LambdaQueryWrapper<EmsProjectConversionFactor>()
|
|
|
- .in(EmsProjectConversionFactor::getEnergyType, typeIds)
|
|
|
- .in(EmsProjectConversionFactor::getProjectId, pid, 0L)
|
|
|
- );
|
|
|
- if (factorList == null || factorList.isEmpty()) {
|
|
|
- return resultMap;
|
|
|
- }
|
|
|
-
|
|
|
- // 优先使用项目专属配置;若没有则退回公共配置
|
|
|
- Map<Integer, List<EmsProjectConversionFactor>> groupedByType = factorList.stream()
|
|
|
- .collect(Collectors.groupingBy(EmsProjectConversionFactor::getEnergyType));
|
|
|
+// List<EmsProjectConversionFactor> factorList = emsProjectConversionFactorMapper.selectList(
|
|
|
+// new LambdaQueryWrapper<EmsProjectConversionFactor>()
|
|
|
+// .in(EmsProjectConversionFactor::getEnergyType, typeIds)
|
|
|
+// .in(EmsProjectConversionFactor::getProjectId, pid, 0L)
|
|
|
+// );
|
|
|
+// if (factorList == null || factorList.isEmpty()) {
|
|
|
+// return resultMap;
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 优先使用项目专属配置;若没有则退回公共配置
|
|
|
+// Map<Integer, List<EmsProjectConversionFactor>> groupedByType = factorList.stream()
|
|
|
+// .collect(Collectors.groupingBy(EmsProjectConversionFactor::getEnergyType));
|
|
|
|
|
|
// 3. 模拟各能源类型能耗值(真实实现应从 TSDB 或历史统计表获取)
|
|
|
Map<Integer, BigDecimal> consumeMap = new HashMap<>();
|
|
|
@@ -507,50 +493,50 @@ public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
BigDecimal co2Total = BigDecimal.ZERO;
|
|
|
List<Map<String, Object>> ratioList = new ArrayList<>();
|
|
|
|
|
|
- for (EmsEnergyTypeVO typeVO : energyTypes) {
|
|
|
- if (typeVO.getId() == null) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- Integer typeId = typeVO.getId().intValue();
|
|
|
- BigDecimal con = consumeMap.get(typeId);
|
|
|
- if (con == null) {
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- List<EmsProjectConversionFactor> conversionFactorList = groupedByType.get(typeId);
|
|
|
- if (conversionFactorList == null || conversionFactorList.isEmpty()) {
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- // 先筛出项目专属配置
|
|
|
- List<EmsProjectConversionFactor> projectFactors = conversionFactorList.stream()
|
|
|
- .filter(f -> pid.equals(f.getProjectId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- List<EmsProjectConversionFactor> effectiveFactors = projectFactors.isEmpty()
|
|
|
- ? conversionFactorList
|
|
|
- : projectFactors;
|
|
|
-
|
|
|
- Map<String, BigDecimal> factorMap = effectiveFactors.stream()
|
|
|
- .filter(f -> f.getName() != null && f.getValue() != null)
|
|
|
- .collect(Collectors.toMap(EmsProjectConversionFactor::getName, EmsProjectConversionFactor::getValue,
|
|
|
- (oldVal, newVal) -> oldVal));
|
|
|
-
|
|
|
- BigDecimal coal = factorMap.get("coal");
|
|
|
- if (coal == null) {
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- BigDecimal coalAmount = coal.multiply(con).setScale(2, RoundingMode.UP);
|
|
|
- BigDecimal co2Amount = coalAmount.multiply(new BigDecimal("2.4589")).setScale(2, RoundingMode.UP);
|
|
|
- coalTotal = coalTotal.add(coalAmount);
|
|
|
- co2Total = co2Total.add(co2Amount);
|
|
|
-
|
|
|
- Map<String, Object> ratioMap = new HashMap<>();
|
|
|
- ratioMap.put("name", typeVO.getName());
|
|
|
- ratioMap.put("consume", coalAmount);
|
|
|
- ratioMap.put("totalConsume", totalCon.multiply(coal).setScale(2, RoundingMode.UP));
|
|
|
- ratioList.add(ratioMap);
|
|
|
- }
|
|
|
+// for (EmsEnergyTypeVO typeVO : energyTypes) {
|
|
|
+// if (typeVO.getId() == null) {
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// Integer typeId = typeVO.getId().intValue();
|
|
|
+// BigDecimal con = consumeMap.get(typeId);
|
|
|
+// if (con == null) {
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+//
|
|
|
+// List<EmsProjectConversionFactor> conversionFactorList = groupedByType.get(typeId);
|
|
|
+// if (conversionFactorList == null || conversionFactorList.isEmpty()) {
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 先筛出项目专属配置
|
|
|
+// List<EmsProjectConversionFactor> projectFactors = conversionFactorList.stream()
|
|
|
+// .filter(f -> pid.equals(f.getProjectId()))
|
|
|
+// .collect(Collectors.toList());
|
|
|
+// List<EmsProjectConversionFactor> effectiveFactors = projectFactors.isEmpty()
|
|
|
+// ? conversionFactorList
|
|
|
+// : projectFactors;
|
|
|
+//
|
|
|
+// Map<String, BigDecimal> factorMap = effectiveFactors.stream()
|
|
|
+// .filter(f -> f.getName() != null && f.getValue() != null)
|
|
|
+// .collect(Collectors.toMap(EmsProjectConversionFactor::getName, EmsProjectConversionFactor::getValue,
|
|
|
+// (oldVal, newVal) -> oldVal));
|
|
|
+//
|
|
|
+// BigDecimal coal = factorMap.get("coal");
|
|
|
+// if (coal == null) {
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+//
|
|
|
+// BigDecimal coalAmount = coal.multiply(con).setScale(2, RoundingMode.UP);
|
|
|
+// BigDecimal co2Amount = coalAmount.multiply(new BigDecimal("2.4589")).setScale(2, RoundingMode.UP);
|
|
|
+// coalTotal = coalTotal.add(coalAmount);
|
|
|
+// co2Total = co2Total.add(co2Amount);
|
|
|
+//
|
|
|
+// Map<String, Object> ratioMap = new HashMap<>();
|
|
|
+// ratioMap.put("name", typeVO.getName());
|
|
|
+// ratioMap.put("consume", coalAmount);
|
|
|
+// ratioMap.put("totalConsume", totalCon.multiply(coal).setScale(2, RoundingMode.UP));
|
|
|
+// ratioList.add(ratioMap);
|
|
|
+// }
|
|
|
|
|
|
// 5. 单位综合能耗(每平米标煤量)
|
|
|
BigDecimal unitCoal = BigDecimal.ZERO;
|
|
|
@@ -580,11 +566,6 @@ public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
return resultList;
|
|
|
}
|
|
|
|
|
|
- Long pid = resolveProjectId(projectId);
|
|
|
- if (pid == null) {
|
|
|
- return resultList;
|
|
|
- }
|
|
|
-
|
|
|
// 当前实现中 startTime/spaceId 仅为预留,不参与模拟计算
|
|
|
LocalDateTime endTime = LocalDateTime.now();
|
|
|
LocalDateTime startTime = getStartTime(dateType, endTime);
|
|
|
@@ -659,12 +640,6 @@ public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
return value.setScale(2, RoundingMode.UP);
|
|
|
}
|
|
|
|
|
|
- private Long resolveProjectId(Long projectId) {
|
|
|
- if (projectId != null) return projectId;
|
|
|
- List<EmsProject> list = emsProjectMapper.selectList(null);
|
|
|
- return list.isEmpty() ? null : list.get(0).getId();
|
|
|
- }
|
|
|
-
|
|
|
/** 根据设备系统编码返回名称(与 dmp_product.deviceType 含义保持一致) */
|
|
|
private String deviceSystemName(Integer deviceSystem) {
|
|
|
if (deviceSystem == null) return "";
|