|
|
|
@ -12,7 +12,6 @@ import com.thing.thing.entity.dto.IotThingEntityDTO; |
|
|
|
import com.thing.thing.entity.service.IotThingEntityService; |
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.apache.poi.ss.formula.functions.T; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
@ -239,7 +238,7 @@ public class BoardNewServiceImpl implements BoardNewService { |
|
|
|
EnergyCostProportionDataDTO energyE3 = new EnergyCostProportionDataDTO(); |
|
|
|
energyE3.setName("蒸汽"); |
|
|
|
//月用电 |
|
|
|
List<TsKvDTO> tsKvMonth = tsKvService.findTsKvByCodeAndAttrs("CO_" + realTenantCode, Lists.newArrayList("A29mm", "B2mm", "G02", "E3mm"), monthDayTime, monthEndTime, true); |
|
|
|
List<TsKvDTO> tsKvMonth = tsKvService.findTsKvByCodeAndAttrs("CO_" + realTenantCode, Lists.newArrayList("A29mm", "B2mm", /*"G02", */"E3mm"), monthDayTime, monthEndTime, true); |
|
|
|
|
|
|
|
//年用电 |
|
|
|
// List<TsKvDTO> tsKvYear = tsKvService.findTsKvByCodeAndAttrs("CO_" + realTenantCode, Lists.newArrayList("G01", "G03", "G02", "D_V0000151_1","C2"), monthDayTime, monthEndTime, true); |
|
|
|
@ -329,10 +328,10 @@ public class BoardNewServiceImpl implements BoardNewService { |
|
|
|
//年结束时间 |
|
|
|
Long yearEndTime = DateTimeUtils.convertTimeToLong(DateTimeUtils.getYearEndTime(day)); |
|
|
|
|
|
|
|
//查询电,蒸汽,总压缩空气的用量 |
|
|
|
//查询电,蒸汽,总压缩空气的用量"A29mm", "B2mm", /*"G02", */"E3mm" "D2mm" |
|
|
|
//月能耗 |
|
|
|
List<TsKvDTO> tsKvMonth = tsKvService.findTsKvByCodeAndAttrs("CO_" + UserContext.getRealTenantCode(), Lists.newArrayList("A29dd", "E3mm", "D2mm"), monthDayTime, monthEndTime, true); |
|
|
|
List<TsKvDTO> tsKvYear = tsKvService.findTsKvByCodeAndAttrs("CO_" + UserContext.getRealTenantCode(), Lists.newArrayList("A29yy", "E3yy", "D2yy"), yearStartTime, yearEndTime, true); |
|
|
|
List<TsKvDTO> tsKvMonth = tsKvService.findTsKvByCodeAndAttrs("CO_" + UserContext.getRealTenantCode(), Lists.newArrayList("A29dd", "E3mm", "B2mm"), monthDayTime, monthEndTime, true); |
|
|
|
List<TsKvDTO> tsKvYear = tsKvService.findTsKvByCodeAndAttrs("CO_" + UserContext.getRealTenantCode(), Lists.newArrayList("A29yy", "E3yy", "B2yy"), yearStartTime, yearEndTime, true); |
|
|
|
|
|
|
|
if(CollectionUtil.isNotEmpty(tsKvMonth)){ |
|
|
|
BigDecimal totalValueA29 = BigDecimal.ZERO; |
|
|
|
@ -340,19 +339,19 @@ public class BoardNewServiceImpl implements BoardNewService { |
|
|
|
BigDecimal totalValueD2 = BigDecimal.ZERO; |
|
|
|
|
|
|
|
List<TsKvDTO> listA29 = tsKvMonth.stream().filter(tsKvDTO -> StringUtils.equals("A29mm", tsKvDTO.getAttrKey())).toList(); |
|
|
|
List<TsKvDTO> listD2 = tsKvMonth.stream().filter(tsKvDTO -> StringUtils.equals("D2mm", tsKvDTO.getAttrKey())).toList(); |
|
|
|
List<TsKvDTO> listD2 = tsKvMonth.stream().filter(tsKvDTO -> StringUtils.equals("B2mm", tsKvDTO.getAttrKey())).toList(); |
|
|
|
List<TsKvDTO> listE3 = tsKvMonth.stream().filter(tsKvDTO -> StringUtils.equals("E3mm", tsKvDTO.getAttrKey())).toList(); |
|
|
|
if(CollectionUtil.isNotEmpty(listA29)){ |
|
|
|
BigDecimal reduce = listA29.stream().map(v -> new BigDecimal(v.getVal())).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
totalValueA29 = reduce.multiply(new BigDecimal("0.1229")).divide(new BigDecimal("1000"),2,RoundingMode.HALF_UP); |
|
|
|
totalValueA29 = reduce.multiply(new BigDecimal("1.229")).divide(new BigDecimal("10000"),2,RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
if(CollectionUtil.isNotEmpty(listD2)){ |
|
|
|
BigDecimal reduce = listD2.stream().map(v -> new BigDecimal(v.getVal())).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
totalValueD2 = reduce.multiply(new BigDecimal("0.2571")).divide(new BigDecimal("1000"),2,RoundingMode.HALF_UP); |
|
|
|
totalValueD2 = reduce.multiply(new BigDecimal("2.571")).divide(new BigDecimal("10000"),2,RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
if(CollectionUtil.isNotEmpty(listE3)){ |
|
|
|
BigDecimal reduce = listE3.stream().map(v -> new BigDecimal(v.getVal())).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
totalValueE3 = reduce.multiply(new BigDecimal("1.2143")).divide(new BigDecimal("1000"),2,RoundingMode.HALF_UP); |
|
|
|
totalValueE3 = reduce.multiply(new BigDecimal("12.143")).divide(new BigDecimal("10000"),2,RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
//月综合能耗 |
|
|
|
result.setMonthConsumptionValue(totalValueA29.add(totalValueD2).add(totalValueE3)); |
|
|
|
@ -361,30 +360,33 @@ public class BoardNewServiceImpl implements BoardNewService { |
|
|
|
if(CollectionUtil.isNotEmpty(tsKvYear)){ |
|
|
|
BigDecimal totalValueA29 = BigDecimal.ZERO; |
|
|
|
BigDecimal totalValueE3 = BigDecimal.ZERO; |
|
|
|
BigDecimal totalValueD2 = BigDecimal.ZERO; |
|
|
|
BigDecimal total = BigDecimal.ZERO; |
|
|
|
BigDecimal totalValueB2 = BigDecimal.ZERO; |
|
|
|
BigDecimal totalValueA291 = BigDecimal.ZERO; |
|
|
|
BigDecimal totalValueE32 = BigDecimal.ZERO; |
|
|
|
BigDecimal totalValueB23 = BigDecimal.ZERO; |
|
|
|
|
|
|
|
|
|
|
|
List<TsKvDTO> listA29 = tsKvYear.stream().filter(tsKvDTO -> StringUtils.equals("A29yy", tsKvDTO.getAttrKey())).toList(); |
|
|
|
List<TsKvDTO> listD2 = tsKvYear.stream().filter(tsKvDTO -> StringUtils.equals("D2yy", tsKvDTO.getAttrKey())).toList(); |
|
|
|
List<TsKvDTO> listB2 = tsKvYear.stream().filter(tsKvDTO -> StringUtils.equals("B2yy", tsKvDTO.getAttrKey())).toList(); |
|
|
|
List<TsKvDTO> listE3 = tsKvYear.stream().filter(tsKvDTO -> StringUtils.equals("E3yy", tsKvDTO.getAttrKey())).toList(); |
|
|
|
if(CollectionUtil.isNotEmpty(listA29)){ |
|
|
|
BigDecimal reduce = listA29.stream().map(v -> new BigDecimal(v.getVal())).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
totalValueA29 = reduce.multiply(new BigDecimal("0.1229")).divide(new BigDecimal("1000"),2,RoundingMode.HALF_UP); |
|
|
|
total = total.add(reduce); |
|
|
|
totalValueA29 = reduce.multiply(new BigDecimal("1.229")).divide(new BigDecimal("10000"),2,RoundingMode.HALF_UP); |
|
|
|
totalValueA291 = reduce.multiply(new BigDecimal("5.568")).divide(new BigDecimal("10000"),2,RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
if(CollectionUtil.isNotEmpty(listD2)){ |
|
|
|
BigDecimal reduce = listD2.stream().map(v -> new BigDecimal(v.getVal())).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
totalValueD2 = reduce.multiply(new BigDecimal("0.2571")).divide(new BigDecimal("1000"),2,RoundingMode.HALF_UP); |
|
|
|
total = total.add(reduce); |
|
|
|
if(CollectionUtil.isNotEmpty(listB2)){ |
|
|
|
BigDecimal reduce = listB2.stream().map(v -> new BigDecimal(v.getVal())).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
totalValueB2 = reduce.multiply(new BigDecimal("2.571")).divide(new BigDecimal("10000"),2,RoundingMode.HALF_UP); |
|
|
|
// 没水的事情:碳排 totalValueB23 = reduce.multiply(new BigDecimal("2.571")).divide(new BigDecimal("10000"),2,RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
if(CollectionUtil.isNotEmpty(listE3)){ |
|
|
|
BigDecimal reduce = listE3.stream().map(v -> new BigDecimal(v.getVal())).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
totalValueE3 = reduce.multiply(new BigDecimal("1.2143")).divide(new BigDecimal("1000"),2,RoundingMode.HALF_UP); |
|
|
|
total = total.add(reduce); |
|
|
|
totalValueE3 = reduce.multiply(new BigDecimal("12.143")).divide(new BigDecimal("10000"),2,RoundingMode.HALF_UP); |
|
|
|
totalValueE32 = reduce.multiply(new BigDecimal("216.5")).divide(new BigDecimal("100000"),2,RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
//年综合能耗 |
|
|
|
result.setYearConsumptionValue(totalValueA29.add(totalValueD2).add(totalValueE3)); |
|
|
|
result.setYearCarbon(total.multiply(new BigDecimal("2.493")).setScale(4, RoundingMode.HALF_UP)); |
|
|
|
result.setYearConsumptionValue(totalValueA29.add(totalValueB2).add(totalValueE3)); |
|
|
|
result.setYearCarbon(totalValueA291.add(totalValueB23).add(totalValueE32)); |
|
|
|
} |
|
|
|
|
|
|
|
return result; |
|
|
|
|