From a631709c4ae1bd4d9d27af4a7f61c7a3de2c3cd7 Mon Sep 17 00:00:00 2001 From: lishuai Date: Mon, 14 Jul 2025 20:02:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A6=82=E8=A7=88=E4=BF=AE=E5=A4=8D=202025?= =?UTF-8?q?=E5=B9=B47=E6=9C=8814=E6=97=A520:02:43?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BoardNewServiceImpl.java | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/modules/qingyuan/src/main/java/com/thing/qingyuan/board/service/impl/BoardNewServiceImpl.java b/modules/qingyuan/src/main/java/com/thing/qingyuan/board/service/impl/BoardNewServiceImpl.java index 9d836d9..2c32ed2 100644 --- a/modules/qingyuan/src/main/java/com/thing/qingyuan/board/service/impl/BoardNewServiceImpl.java +++ b/modules/qingyuan/src/main/java/com/thing/qingyuan/board/service/impl/BoardNewServiceImpl.java @@ -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 tsKvMonth = tsKvService.findTsKvByCodeAndAttrs("CO_" + realTenantCode, Lists.newArrayList("A29mm", "B2mm", "G02", "E3mm"), monthDayTime, monthEndTime, true); + List tsKvMonth = tsKvService.findTsKvByCodeAndAttrs("CO_" + realTenantCode, Lists.newArrayList("A29mm", "B2mm", /*"G02", */"E3mm"), monthDayTime, monthEndTime, true); //年用电 // List 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 tsKvMonth = tsKvService.findTsKvByCodeAndAttrs("CO_" + UserContext.getRealTenantCode(), Lists.newArrayList("A29dd", "E3mm", "D2mm"), monthDayTime, monthEndTime, true); - List tsKvYear = tsKvService.findTsKvByCodeAndAttrs("CO_" + UserContext.getRealTenantCode(), Lists.newArrayList("A29yy", "E3yy", "D2yy"), yearStartTime, yearEndTime, true); + List tsKvMonth = tsKvService.findTsKvByCodeAndAttrs("CO_" + UserContext.getRealTenantCode(), Lists.newArrayList("A29dd", "E3mm", "B2mm"), monthDayTime, monthEndTime, true); + List 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 listA29 = tsKvMonth.stream().filter(tsKvDTO -> StringUtils.equals("A29mm", tsKvDTO.getAttrKey())).toList(); - List listD2 = tsKvMonth.stream().filter(tsKvDTO -> StringUtils.equals("D2mm", tsKvDTO.getAttrKey())).toList(); + List listD2 = tsKvMonth.stream().filter(tsKvDTO -> StringUtils.equals("B2mm", tsKvDTO.getAttrKey())).toList(); List 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 listA29 = tsKvYear.stream().filter(tsKvDTO -> StringUtils.equals("A29yy", tsKvDTO.getAttrKey())).toList(); - List listD2 = tsKvYear.stream().filter(tsKvDTO -> StringUtils.equals("D2yy", tsKvDTO.getAttrKey())).toList(); + List listB2 = tsKvYear.stream().filter(tsKvDTO -> StringUtils.equals("B2yy", tsKvDTO.getAttrKey())).toList(); List 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;