|
@@ -200,7 +200,7 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
if(!Objects.isNull(wjtykuCo2)){
|
|
|
wsclTotalCo2 = wsclTotalCo2.add(wjtykuCo2);
|
|
|
}
|
|
|
- tXinyiCarbonMajorUpdate.setWsclTotalCo2(wsclTotalCo2);
|
|
|
+ tXinyiCarbonMajorUpdate.setWsclTotalCo2(BigDecimal.ZERO.compareTo(wsclTotalCo2) == 0 ? null : wsclTotalCo2);
|
|
|
|
|
|
|
|
|
//------------能源、药剂排放------------
|
|
@@ -292,7 +292,7 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
nyyjTotalCo2 = nyyjTotalCo2.add(wscljdyjxhCo2);
|
|
|
}
|
|
|
//总的
|
|
|
- tXinyiCarbonMajorUpdate.setNyyjTotalCo2(nyyjTotalCo2);
|
|
|
+ tXinyiCarbonMajorUpdate.setNyyjTotalCo2(BigDecimal.ZERO.compareTo(nyyjTotalCo2) == 0 ? null : nyyjTotalCo2);
|
|
|
|
|
|
|
|
|
//------------污泥处理------------
|
|
@@ -451,7 +451,7 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
wnclTotalCo2 = wnclTotalCo2.subtract(wnclWnrjQtN2oCo2);
|
|
|
}
|
|
|
//总量
|
|
|
- tXinyiCarbonMajorUpdate.setWnclTotalCo2(wnclTotalCo2);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclTotalCo2(BigDecimal.ZERO.compareTo(wnclTotalCo2) == 0 ? null : wnclTotalCo2);
|
|
|
|
|
|
//------------替碳、碳汇------------
|
|
|
BigDecimal ttthTotalCo2 = BigDecimal.ZERO;
|
|
@@ -512,10 +512,13 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
if(!Objects.isNull(wnfshrjnlyTTL)){
|
|
|
ttthTotalCo2 = ttthTotalCo2.add(wnfshrjnlyTTL);
|
|
|
}
|
|
|
- tXinyiCarbonMajorUpdate.setTtthTotalCo2(ttthTotalCo2);
|
|
|
+ tXinyiCarbonMajorUpdate.setTtthTotalCo2(BigDecimal.ZERO.compareTo(ttthTotalCo2) == 0 ? null : ttthTotalCo2);
|
|
|
|
|
|
//计算各个大类和总的co2
|
|
|
- tXinyiCarbonMajorUpdate.setZtTotalCo2(wsclTotalCo2.add(nyyjTotalCo2).add(wnclTotalCo2).subtract(ttthTotalCo2));
|
|
|
+ BigDecimal ztTotalCo2 = wsclTotalCo2.add(nyyjTotalCo2).add(wnclTotalCo2).subtract(ttthTotalCo2);
|
|
|
+ if(ztTotalCo2.compareTo(BigDecimal.ZERO) != 0){//这里计算取了个巧,默认它是0,否则需要多很多判断
|
|
|
+ tXinyiCarbonMajorUpdate.setZtTotalCo2(ztTotalCo2);
|
|
|
+ }
|
|
|
|
|
|
//处理百分比信息
|
|
|
if(nyyjTotalCo2.compareTo(BigDecimal.ZERO) > 0){//必须是正数
|
|
@@ -535,8 +538,7 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
|
|
|
//处理本月份的 污水厂行业碳排放强度 和 污水厂行业碳排放强度-是否高于同行业平均水平
|
|
|
BigDecimal avgJsl = this.tXinyiCarbonMajorMapper.selectSumJslByMonth(addYearMonth.replaceAll("-", "/"));
|
|
|
- BigDecimal ztTotalCo2 = tXinyiCarbonMajorUpdate.getZtTotalCo2();
|
|
|
- if(!Objects.isNull(avgJsl) && !Objects.isNull(ztTotalCo2)){
|
|
|
+ if(!Objects.isNull(avgJsl)){
|
|
|
//2024年08月27日09:36:14 计算公式有调整:再乘以10的三次方。
|
|
|
BigDecimal wschytpfqd = ztTotalCo2.divide(avgJsl, NUMBER_SCALE_6, RoundingMode.HALF_UP).multiply(BigDecimal_1000);
|
|
|
tXinyiCarbonMajorUpdate.setWschytpfqd(wschytpfqd);
|
|
@@ -684,35 +686,35 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
TXinyiCarbonMajor tXinyiCarbonMajorLastMonth = tXinyiCarbonMajors.get(0);
|
|
|
BigDecimal nowCo2 = tXinyiCarbonMajorLastMonth.getWsclTotalCo2();
|
|
|
BigDecimal lastMonthCo2 = tXinyiCarbonMajor.getWsclTotalCo2();
|
|
|
- if(!Objects.isNull(nowCo2) && !Objects.isNull(lastMonthCo2)){
|
|
|
+ if(!Objects.isNull(nowCo2) && !Objects.isNull(lastMonthCo2) && BigDecimal.ZERO.compareTo(lastMonthCo2) != 0){//除数不能为0
|
|
|
tXinyiCarbonMajor.setWsclTotalCo2Hb(DecimalUtils.getAbsAndScale((nowCo2.subtract(lastMonthCo2)).divide(lastMonthCo2, NUMBER_SCALE_6, RoundingMode.HALF_UP) ,NUMBER_SCALE_6));
|
|
|
}
|
|
|
|
|
|
//能源、药剂碳排量-环比上个月
|
|
|
nowCo2 = tXinyiCarbonMajorLastMonth.getNyyjTotalCo2();
|
|
|
lastMonthCo2 = tXinyiCarbonMajor.getNyyjTotalCo2();
|
|
|
- if(!Objects.isNull(nowCo2) && !Objects.isNull(lastMonthCo2)){
|
|
|
+ if(!Objects.isNull(nowCo2) && !Objects.isNull(lastMonthCo2) && BigDecimal.ZERO.compareTo(lastMonthCo2) != 0){//除数不能为0
|
|
|
tXinyiCarbonMajor.setNyyjTotalCo2Hb(DecimalUtils.getAbsAndScale((nowCo2.subtract(lastMonthCo2)).divide(lastMonthCo2, NUMBER_SCALE_6, RoundingMode.HALF_UP) ,NUMBER_SCALE_6));
|
|
|
}
|
|
|
|
|
|
//污泥处理碳排量-环比上个月
|
|
|
nowCo2 = tXinyiCarbonMajorLastMonth.getWnclTotalCo2();
|
|
|
lastMonthCo2 = tXinyiCarbonMajor.getWnclTotalCo2();
|
|
|
- if(!Objects.isNull(nowCo2) && !Objects.isNull(lastMonthCo2)){
|
|
|
+ if(!Objects.isNull(nowCo2) && !Objects.isNull(lastMonthCo2) && BigDecimal.ZERO.compareTo(lastMonthCo2) != 0){//除数不能为0
|
|
|
tXinyiCarbonMajor.setWnclTotalCo2Hb(DecimalUtils.getAbsAndScale((nowCo2.subtract(lastMonthCo2)).divide(lastMonthCo2, NUMBER_SCALE_6, RoundingMode.HALF_UP) ,NUMBER_SCALE_6));
|
|
|
}
|
|
|
|
|
|
//替碳、碳汇替碳量-环比上个月
|
|
|
nowCo2 = tXinyiCarbonMajorLastMonth.getTtthTotalCo2();
|
|
|
lastMonthCo2 = tXinyiCarbonMajor.getTtthTotalCo2();
|
|
|
- if(!Objects.isNull(nowCo2) && !Objects.isNull(lastMonthCo2)){
|
|
|
+ if(!Objects.isNull(nowCo2) && !Objects.isNull(lastMonthCo2) && BigDecimal.ZERO.compareTo(lastMonthCo2) != 0){//除数不能为0
|
|
|
tXinyiCarbonMajor.setTtthTotalCo2Hb(DecimalUtils.getAbsAndScale((nowCo2.subtract(lastMonthCo2)).divide(lastMonthCo2, NUMBER_SCALE_6, RoundingMode.HALF_UP) ,NUMBER_SCALE_6));
|
|
|
}
|
|
|
|
|
|
//总碳排放量-环比上个月
|
|
|
nowCo2 = tXinyiCarbonMajorLastMonth.getZtTotalCo2();
|
|
|
lastMonthCo2 = tXinyiCarbonMajor.getZtTotalCo2();
|
|
|
- if(!Objects.isNull(nowCo2) && !Objects.isNull(lastMonthCo2)){
|
|
|
+ if(!Objects.isNull(nowCo2) && !Objects.isNull(lastMonthCo2) && BigDecimal.ZERO.compareTo(lastMonthCo2) != 0){//除数不能为0
|
|
|
tXinyiCarbonMajor.setZtTotalCo2Hb(DecimalUtils.getAbsAndScale((nowCo2.subtract(lastMonthCo2)).divide(lastMonthCo2, NUMBER_SCALE_6, RoundingMode.HALF_UP) ,NUMBER_SCALE_6));
|
|
|
}
|
|
|
}
|