diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java index ed28195..bce963c 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java @@ -7,24 +7,55 @@ import com.xzzn.common.enums.DeviceCategory; import com.xzzn.common.enums.SiteEnum; import com.xzzn.common.utils.DateUtils; import com.xzzn.common.utils.StringUtils; -import com.xzzn.ems.domain.*; +import com.xzzn.ems.domain.EmsAmmeterData; +import com.xzzn.ems.domain.EmsBatteryCluster; +import com.xzzn.ems.domain.EmsBatteryData; +import com.xzzn.ems.domain.EmsBatteryStack; +import com.xzzn.ems.domain.EmsCoolingData; +import com.xzzn.ems.domain.EmsDhData; +import com.xzzn.ems.domain.EmsEmsData; +import com.xzzn.ems.domain.EmsPcsBranchData; +import com.xzzn.ems.domain.EmsPcsData; +import com.xzzn.ems.domain.EmsStrategyTemp; +import com.xzzn.ems.domain.EmsXfData; import com.xzzn.ems.domain.vo.*; -import com.xzzn.ems.mapper.*; +import com.xzzn.ems.mapper.EmsAlarmRecordsMapper; +import com.xzzn.ems.mapper.EmsAmmeterDataMapper; +import com.xzzn.ems.mapper.EmsBatteryClusterMapper; +import com.xzzn.ems.mapper.EmsBatteryStackMapper; +import com.xzzn.ems.mapper.EmsDailyChargeDataMapper; +import com.xzzn.ems.mapper.EmsDailyEnergyDataMapper; +import com.xzzn.ems.mapper.EmsDevicesSettingMapper; +import com.xzzn.ems.mapper.EmsEnergyPriceConfigMapper; +import com.xzzn.ems.mapper.EmsPcsDataMapper; +import com.xzzn.ems.mapper.EmsPointMatchMapper; +import com.xzzn.ems.mapper.EmsStrategyRunningMapper; +import com.xzzn.ems.mapper.EmsStrategyTempMapper; import com.xzzn.ems.service.IEmsEnergyPriceConfigService; import com.xzzn.ems.service.ISingleSiteService; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + /** * 单点监控 服务层实现 */ @@ -920,9 +951,9 @@ public class SingleSiteServiceImpl implements ISingleSiteService { BigDecimal pvPower = powerStat != null ? powerStat.getPvPower() : BigDecimal.ZERO; BigDecimal storagePower = powerStat != null ? powerStat.getStoragePower() : BigDecimal.ZERO; BigDecimal gridPower = powerStat != null ? powerStat.getGridPower() : BigDecimal.ZERO; - BigDecimal avgSoh = stackStat != null ? stackStat.getAvgSoh().setScale(2,RoundingMode.HALF_UP) : BigDecimal.ZERO; - BigDecimal avgSoc = stackStat != null ? stackStat.getAvgSoc().setScale(2,RoundingMode.HALF_UP) : BigDecimal.ZERO; - BigDecimal avgTemp = stackStat != null ? stackStat.getAvgTemp().setScale(2,RoundingMode.HALF_UP) : BigDecimal.ZERO; + BigDecimal avgSoh = stackStat != null ? (stackStat.getAvgSoh() == null ? BigDecimal.ZERO : stackStat.getAvgSoh().setScale(2,RoundingMode.HALF_UP)) : BigDecimal.ZERO; + BigDecimal avgSoc = stackStat != null ? (stackStat.getAvgSoc() == null ? BigDecimal.ZERO : stackStat.getAvgSoc().setScale(2,RoundingMode.HALF_UP)) : BigDecimal.ZERO; + BigDecimal avgTemp = stackStat != null ? (stackStat.getAvgTemp() == null ? BigDecimal.ZERO : stackStat.getAvgTemp().setScale(2,RoundingMode.HALF_UP)) : BigDecimal.ZERO; // 假设完整构造参数(补充原代码中缺失的部分) return new PointDataResponse(date, pvPower, storagePower, BigDecimal.ZERO, gridPower, avgSoh, avgSoc, avgTemp);