Browse Source

概览修复

2025年7月14日20:02:43
qingyuan_dev_new
lishuai 6 months ago
parent
commit
a631709c4a
  1. 46
      modules/qingyuan/src/main/java/com/thing/qingyuan/board/service/impl/BoardNewServiceImpl.java

46
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<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;

Loading…
Cancel
Save