package com.zhitan.statisticalAnalysis.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Collections; import java.util.List; /** * 能流图查询 */ @Data public class FlowChartsVO { // 总累积量 @ApiModelProperty(value = "总累积量") private BigDecimal totalAccumulatedAmount; // 子节点累积量 @ApiModelProperty(value = "子节点累积量") private BigDecimal childNodeAccumulatedAmount; // 差值 @ApiModelProperty(value = "差值") private BigDecimal difference; // 能耗损失比例 @ApiModelProperty(value = "能耗损失比例") private BigDecimal energyLossRatio; private List itemVOList; public BigDecimal getTotalAccumulatedAmount() { if (totalAccumulatedAmount == null){ return BigDecimal.ZERO; } return totalAccumulatedAmount; } public BigDecimal getChildNodeAccumulatedAmount() { if (childNodeAccumulatedAmount == null){ return BigDecimal.ZERO; } return childNodeAccumulatedAmount; } public BigDecimal getDifference() { return difference = totalAccumulatedAmount.subtract(childNodeAccumulatedAmount); } public BigDecimal getEnergyLossRatio() { if (BigDecimal.ZERO.compareTo(totalAccumulatedAmount) == 0 || BigDecimal.ZERO.compareTo(difference) == 0){ return BigDecimal.ZERO; } return energyLossRatio = difference.divide(totalAccumulatedAmount, 2, RoundingMode.HALF_UP); } public FlowChartsVO() { this.totalAccumulatedAmount = BigDecimal.ZERO; this.childNodeAccumulatedAmount = BigDecimal.ZERO; this.difference = BigDecimal.ZERO; this.energyLossRatio = BigDecimal.ZERO; this.itemVOList = Collections.emptyList(); } }