|
@@ -126,11 +126,15 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
reduce5.ifPresent(tXinyiCarbonMajorUpdate::setWnfshrjnlyTTL);
|
|
|
|
|
|
//处理计算信息
|
|
|
+ //------------污水处理------------
|
|
|
+ BigDecimal wsclTotalCo2 = BigDecimal.ZERO;
|
|
|
BigDecimal wsHsytkhClsl = tXinyiCarbonMajor.getWsHsytkhClsl();
|
|
|
BigDecimal wsHsytkhJsCod = tXinyiCarbonMajor.getWsHsytkhJsCod();
|
|
|
BigDecimal wsHsytkhCsCod = tXinyiCarbonMajor.getWsHsytkhCsCod();
|
|
|
+ BigDecimal wsHsytkhCo2 = null;
|
|
|
if(!Objects.isNull(wsHsytkhClsl) && !Objects.isNull(wsHsytkhJsCod) && !Objects.isNull(wsHsytkhCsCod)){
|
|
|
- tXinyiCarbonMajorUpdate.setWsHsytkhCo2((wsHsytkhJsCod.subtract(wsHsytkhCsCod)).abs().multiply(wsHsytkhClsl).multiply(BigDecimal_0_56).multiply(BigDecimal_0_1).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
+ wsHsytkhCo2 = (wsHsytkhJsCod.subtract(wsHsytkhCsCod)).abs().multiply(wsHsytkhClsl).multiply(BigDecimal_0_56).multiply(BigDecimal_0_1).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWsHsytkhCo2(wsHsytkhCo2);
|
|
|
}
|
|
|
BigDecimal wsSjclCh4Clsl = tXinyiCarbonMajor.getWsSjclCh4Clsl();
|
|
|
BigDecimal wsSjclCh4JsCod = tXinyiCarbonMajor.getWsSjclCh4JsCod();
|
|
@@ -138,15 +142,18 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
BigDecimal wsSjclCh4Pfyz = tXinyiCarbonMajor.getWsSjclCh4Pfyz();
|
|
|
BigDecimal wsSjclCh4Tsb = tXinyiCarbonMajor.getWsSjclCh4Tsb();
|
|
|
BigDecimal wsSjclCh4Csc = tXinyiCarbonMajor.getWsSjclCh4Csc();
|
|
|
+ BigDecimal wsSjclCh4Co2 = null;
|
|
|
if(!Objects.isNull(wsSjclCh4Clsl) && !Objects.isNull(wsSjclCh4JsCod) && !Objects.isNull(wsSjclCh4CsCod)){
|
|
|
if(Objects.isNull(wsSjclCh4Pfyz)){
|
|
|
wsSjclCh4Pfyz = BigDecimal_0_0075;
|
|
|
}
|
|
|
//判断是否有实测
|
|
|
if(!Objects.isNull(wsSjclCh4Tsb) && !Objects.isNull(wsSjclCh4Csc)){//有实测
|
|
|
- tXinyiCarbonMajorUpdate.setWsSjclCh4Co2(((wsSjclCh4JsCod.subtract(wsSjclCh4CsCod)).abs().multiply(wsSjclCh4Clsl).multiply(wsSjclCh4Pfyz).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP).add(wsSjclCh4Tsb).add(wsSjclCh4Csc)).multiply(BigDecimal_28).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
+ wsSjclCh4Co2 = ((wsSjclCh4JsCod.subtract(wsSjclCh4CsCod)).abs().multiply(wsSjclCh4Clsl).multiply(wsSjclCh4Pfyz).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP).add(wsSjclCh4Tsb).add(wsSjclCh4Csc)).multiply(BigDecimal_28).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWsSjclCh4Co2(wsSjclCh4Co2);
|
|
|
}else{//没有实测
|
|
|
- tXinyiCarbonMajorUpdate.setWsSjclCh4Co2((wsSjclCh4JsCod.subtract(wsSjclCh4CsCod)).abs().multiply(wsSjclCh4Clsl).multiply(wsSjclCh4Pfyz).multiply((BigDecimal_1.add(BigDecimal_0_2))).multiply(BigDecimal_28).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
+ wsSjclCh4Co2 = (wsSjclCh4JsCod.subtract(wsSjclCh4CsCod)).abs().multiply(wsSjclCh4Clsl).multiply(wsSjclCh4Pfyz).multiply((BigDecimal_1.add(BigDecimal_0_2))).multiply(BigDecimal_28).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWsSjclCh4Co2(wsSjclCh4Co2);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -154,26 +161,51 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
BigDecimal wsTdN2oJsTn = tXinyiCarbonMajor.getWsTdN2oJsTn();
|
|
|
BigDecimal wsTdN2oCsTn = tXinyiCarbonMajor.getWsTdN2oCsTn();
|
|
|
BigDecimal wsTdN2oPfyz = tXinyiCarbonMajor.getWsTdN2oPfyz();
|
|
|
+ BigDecimal wsTdN2oCo2 = null;
|
|
|
if(!Objects.isNull(wsTdN2oClsl) && !Objects.isNull(wsTdN2oJsTn) && !Objects.isNull(wsTdN2oCsTn)){
|
|
|
if(Objects.isNull(wsTdN2oPfyz)){
|
|
|
wsTdN2oPfyz = BigDecimal_0_01;
|
|
|
}
|
|
|
- tXinyiCarbonMajorUpdate.setWsTdN2oCo2((wsTdN2oJsTn.subtract(wsTdN2oCsTn)).abs().multiply(wsTdN2oClsl).multiply(wsTdN2oPfyz).multiply(BigDecimal_265).multiply(BigDecimal_44).divide(BigDecimal_28, NUMBER_SCALE_2, RoundingMode.HALF_UP).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
+ wsTdN2oCo2 = (wsTdN2oJsTn.subtract(wsTdN2oCsTn)).abs().multiply(wsTdN2oClsl).multiply(wsTdN2oPfyz).multiply(BigDecimal_265).multiply(BigDecimal_44).divide(BigDecimal_28, NUMBER_SCALE_2, RoundingMode.HALF_UP).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWsTdN2oCo2(wsTdN2oCo2);
|
|
|
}
|
|
|
|
|
|
+ //处理 污水处理碳排放量
|
|
|
+ if(!Objects.isNull(wsHsytkhCo2)){
|
|
|
+ wsclTotalCo2 = wsclTotalCo2.add(wsHsytkhCo2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wsSjclCh4Co2)){
|
|
|
+ wsclTotalCo2 = wsclTotalCo2.add(wsSjclCh4Co2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wsTdN2oCo2)){
|
|
|
+ wsclTotalCo2 = wsclTotalCo2.add(wsTdN2oCo2);
|
|
|
+ }
|
|
|
+ //一对多的数据
|
|
|
+ BigDecimal wjtykuCo2 = tXinyiCarbonMajorUpdate.getWjtykuCo2();
|
|
|
+ if(!Objects.isNull(wjtykuCo2)){
|
|
|
+ wsclTotalCo2 = wsclTotalCo2.add(wjtykuCo2);
|
|
|
+ }
|
|
|
+ tXinyiCarbonMajorUpdate.setWsclTotalCo2(wsclTotalCo2);
|
|
|
+
|
|
|
+
|
|
|
+ //------------能源、药剂排放------------
|
|
|
//耗电相关
|
|
|
Long provinceId = tXinyiCarbonMajor.getProvinceId();
|
|
|
+ BigDecimal nyyjTotalCo2 = BigDecimal.ZERO;
|
|
|
+ BigDecimal yz = null;
|
|
|
+ BigDecimal nyyjDlxhZhdlCo2 = null;
|
|
|
if(!Objects.isNull(provinceId)){
|
|
|
SysDictData sysDictData = this.sysDictDataMapper.selectDictDataById(provinceId);
|
|
|
if(Objects.nonNull(sysDictData)){
|
|
|
String dictValue = sysDictData.getDictValue();
|
|
|
if(StringUtils.isNotBlank(dictValue)){
|
|
|
- BigDecimal yz = new BigDecimal(dictValue);
|
|
|
+ yz = new BigDecimal(dictValue);
|
|
|
|
|
|
//总耗电
|
|
|
BigDecimal nyyjDlxhZhdl = tXinyiCarbonMajor.getNyyjDlxhZhdl();
|
|
|
if(!Objects.isNull(nyyjDlxhZhdl)){
|
|
|
- tXinyiCarbonMajorUpdate.setNyyjDlxhZhdlCo2(nyyjDlxhZhdl.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
+ nyyjDlxhZhdlCo2 = nyyjDlxhZhdl.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setNyyjDlxhZhdlCo2(nyyjDlxhZhdlCo2);
|
|
|
}
|
|
|
|
|
|
//进水泵房
|
|
@@ -231,16 +263,42 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
BigDecimal nyyjGrrlZq = tXinyiCarbonMajor.getNyyjGrrlZq();
|
|
|
BigDecimal nyyjGrrlDyhz = tXinyiCarbonMajor.getNyyjGrrlDyhz();
|
|
|
BigDecimal nyyjGrrlRl = tXinyiCarbonMajor.getNyyjGrrlRl();
|
|
|
+ BigDecimal nyyjGrrlCo2 = null;
|
|
|
//2024年08月27日17:21:58 计算的时候,不用nyyjGrrlRl了,用前面的2个值,计算出来热力nyyjGrrlRl
|
|
|
if(!Objects.isNull(nyyjGrrlZq) && !Objects.isNull(nyyjGrrlDyhz)){
|
|
|
- tXinyiCarbonMajorUpdate.setNyyjGrrlCo2((nyyjGrrlDyhz.subtract(BigDecimal_83_74)).abs().multiply(nyyjGrrlZq).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP).multiply(BigDecimal_110000).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
+ nyyjGrrlCo2 = (nyyjGrrlDyhz.subtract(BigDecimal_83_74)).abs().multiply(nyyjGrrlZq).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP).multiply(BigDecimal_110000).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setNyyjGrrlCo2(nyyjGrrlCo2);
|
|
|
}
|
|
|
|
|
|
+ //处理能源、药剂碳总碳排量
|
|
|
+ if(!Objects.isNull(nyyjDlxhZhdlCo2)){
|
|
|
+ nyyjTotalCo2 = nyyjTotalCo2.add(nyyjDlxhZhdlCo2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(nyyjGrrlCo2)){
|
|
|
+ nyyjTotalCo2 = nyyjTotalCo2.add(nyyjGrrlCo2);
|
|
|
+ }
|
|
|
+ //处理一对多的两条数据
|
|
|
+ BigDecimal gdsnyrlCo2 = tXinyiCarbonMajorUpdate.getGdsnyrlCo2();
|
|
|
+ if(!Objects.isNull(gdsnyrlCo2)){
|
|
|
+ nyyjTotalCo2 = nyyjTotalCo2.add(gdsnyrlCo2);
|
|
|
+ }
|
|
|
+ BigDecimal wscljdyjxhCo2 = tXinyiCarbonMajorUpdate.getWscljdyjxhCo2();
|
|
|
+ if(!Objects.isNull(wscljdyjxhCo2)){
|
|
|
+ nyyjTotalCo2 = nyyjTotalCo2.add(wscljdyjxhCo2);
|
|
|
+ }
|
|
|
+ //总的
|
|
|
+ tXinyiCarbonMajorUpdate.setNyyjTotalCo2(nyyjTotalCo2);
|
|
|
+
|
|
|
+
|
|
|
+ //------------污泥处理------------
|
|
|
+ BigDecimal wnclTotalCo2 = BigDecimal.ZERO;
|
|
|
//污泥处理-污泥厌氧消化沼气收集管路无意泄露的CH₄或沼气火炬燃烧不充分导致的碳排放-污泥厌氧消化过程排放的CH₄的CO₂当量(t CO₂-eq/月)
|
|
|
BigDecimal wnclYyzqZqcl = tXinyiCarbonMajor.getWnclYyzqZqcl();
|
|
|
BigDecimal wnclYyzqChZlfs = tXinyiCarbonMajor.getWnclYyzqChZlfs();
|
|
|
+ BigDecimal wnclYyzqCo2 = null;
|
|
|
if(!Objects.isNull(wnclYyzqZqcl) && !Objects.isNull(wnclYyzqChZlfs)){
|
|
|
- tXinyiCarbonMajorUpdate.setWnclYyzqCo2(wnclYyzqZqcl.multiply(wnclYyzqChZlfs).multiply(BigDecimal_0_05).multiply(BigDecimal_28).multiply(BigDecimal_16).divide(BigDecimal_22_4, NUMBER_SCALE_2, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
+ wnclYyzqCo2 = wnclYyzqZqcl.multiply(wnclYyzqChZlfs).multiply(BigDecimal_0_05).multiply(BigDecimal_28).multiply(BigDecimal_16).divide(BigDecimal_22_4, NUMBER_SCALE_2, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclYyzqCo2(wnclYyzqCo2);
|
|
|
}
|
|
|
|
|
|
//污泥处理-单独处理污泥厌氧消化过程产生的碳排放量-单独处理污泥厌氧消化产生沼液的CO₂当量(t CO₂-eq/月)
|
|
@@ -248,32 +306,44 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
BigDecimal wnclDdclClqnd = tXinyiCarbonMajor.getWnclDdclClqnd();
|
|
|
BigDecimal wnclDdclClhnd = tXinyiCarbonMajor.getWnclDdclClhnd();
|
|
|
BigDecimal wnclDdclPfyz = tXinyiCarbonMajor.getWnclDdclPfyz();
|
|
|
+ BigDecimal wnclDdclCo2 = null;
|
|
|
if(!Objects.isNull(wnclDdclZycll) && !Objects.isNull(wnclDdclClqnd) && !Objects.isNull(wnclDdclClhnd)){
|
|
|
if(Objects.isNull(wnclDdclPfyz)){
|
|
|
wnclDdclPfyz = BigDecimal_0_01;
|
|
|
}
|
|
|
- tXinyiCarbonMajorUpdate.setWnclDdclCo2((wnclDdclClqnd.subtract(wnclDdclClhnd)).abs().multiply(wnclDdclZycll).multiply(wnclDdclPfyz).multiply(BigDecimal_44).divide(BigDecimal_28, NUMBER_SCALE_2, RoundingMode.HALF_UP).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
+ wnclDdclCo2 = (wnclDdclClqnd.subtract(wnclDdclClhnd)).abs().multiply(wnclDdclZycll).multiply(wnclDdclPfyz).multiply(BigDecimal_44).divide(BigDecimal_28, NUMBER_SCALE_2, RoundingMode.HALF_UP).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclDdclCo2(wnclDdclCo2);
|
|
|
}
|
|
|
|
|
|
//污泥处理-污泥好氧发酵过程生化反应的碳排放-污泥好氧发酵过程排放的CH₄的CO₂当量(t CO₂-eq/月)
|
|
|
//污泥处理-污泥好氧发酵过程生化反应的碳排放-污泥好氧发酵过程排放的N₂O的CO₂当量(t CO₂-eq/月)
|
|
|
BigDecimal wnclHyfjFjl = tXinyiCarbonMajor.getWnclHyfjFjl();
|
|
|
+ BigDecimal wnclHyfjCh4Co2 = null;
|
|
|
+ BigDecimal wnclHyfjN2oCo2 = null;
|
|
|
if(!Objects.isNull(wnclHyfjFjl)){
|
|
|
- tXinyiCarbonMajorUpdate.setWnclHyfjCh4Co2(wnclHyfjFjl.multiply(BigDecimal_10).multiply(BigDecimal_28).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
- tXinyiCarbonMajorUpdate.setWnclHyfjN2oCo2(wnclHyfjFjl.multiply(BigDecimal_0_6).multiply(BigDecimal_265).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
+ wnclHyfjCh4Co2 = wnclHyfjFjl.multiply(BigDecimal_10).multiply(BigDecimal_28).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclHyfjCh4Co2(wnclHyfjCh4Co2);
|
|
|
+ wnclHyfjN2oCo2 = wnclHyfjFjl.multiply(BigDecimal_0_6).multiply(BigDecimal_265).divide(BigDecimal_1000000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclHyfjN2oCo2(wnclHyfjN2oCo2);
|
|
|
}
|
|
|
|
|
|
//污泥处理-污泥干化焚烧或协同焚烧过程,化石源碳被氧化产生的化石源CO₂碳排放量-污泥好氧发酵过程排放的CH₄的CO₂当量(t CO₂-eq/月)
|
|
|
BigDecimal wnclWnfsXhl = tXinyiCarbonMajor.getWnclWnfsXhl();
|
|
|
BigDecimal wnclWnfsHtbl = tXinyiCarbonMajor.getWnclWnfsHtbl();
|
|
|
+ BigDecimal wnclWnfsCo2 = null;
|
|
|
+
|
|
|
if(!Objects.isNull(wnclWnfsXhl) && !Objects.isNull(wnclWnfsHtbl)){
|
|
|
- tXinyiCarbonMajorUpdate.setWnclWnfsCo2(wnclWnfsXhl.multiply(wnclWnfsHtbl).multiply(BigDecimal_0_12).multiply(BigDecimal_44).divide(BigDecimal_12, NUMBER_SCALE_2, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP));
|
|
|
+ wnclWnfsCo2 = wnclWnfsXhl.multiply(wnclWnfsHtbl).multiply(BigDecimal_0_12).multiply(BigDecimal_44).divide(BigDecimal_12, NUMBER_SCALE_2, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclWnfsCo2(wnclWnfsCo2);
|
|
|
}
|
|
|
|
|
|
//污泥处理-污泥焚烧过程不完全燃烧产生的CH₄和N₂O的CO₂排放当量-污泥焚烧过程排放的CH₄的CO₂当量(t CO₂-eq/月)
|
|
|
+ //污泥处理-污泥焚烧过程不完全燃烧产生的CH₄和N₂O的CO₂排放当量-污泥焚烧过程排放的N₂O的CO₂当量(t CO₂-eq/月)
|
|
|
Integer wnclBwqrsRslx = tXinyiCarbonMajor.getWnclBwqrsRslx();
|
|
|
BigDecimal wnclBwqrsFsl = tXinyiCarbonMajor.getWnclBwqrsFsl();
|
|
|
BigDecimal wnclBwqrsPfyz = tXinyiCarbonMajor.getWnclBwqrsPfyz();
|
|
|
+ BigDecimal wnclBwqrsCh4Co2 = null;
|
|
|
+ BigDecimal wnclBwqrsN2oCo2 = null;
|
|
|
if(!Objects.isNull(wnclBwqrsFsl)){
|
|
|
if(Objects.isNull(wnclBwqrsPfyz)){
|
|
|
if(Objects.isNull(wnclBwqrsRslx)){
|
|
@@ -292,14 +362,173 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
wnclBwqrsPfyz = BigDecimal.ZERO;
|
|
|
}
|
|
|
}
|
|
|
+ wnclBwqrsCh4Co2 = wnclBwqrsFsl.multiply(wnclBwqrsPfyz).multiply(BigDecimal_28).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclBwqrsCh4Co2(wnclBwqrsCh4Co2);
|
|
|
+ wnclBwqrsN2oCo2 = wnclBwqrsFsl.multiply(BigDecimal_0_99).multiply(BigDecimal_265).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclBwqrsN2oCo2(wnclBwqrsN2oCo2);
|
|
|
}
|
|
|
- tXinyiCarbonMajorUpdate.setWnclBwqrsCh4Co2(null);
|
|
|
}
|
|
|
|
|
|
+ //污泥处理-污泥热解碳化或气化过程化石源CO-污泥热解过程排放的CH₄的CO₂当量(t CO₂-eq/月)
|
|
|
+ BigDecimal wnclWnrjByhXhl = tXinyiCarbonMajor.getWnclWnrjByhXhl();
|
|
|
+ BigDecimal wnclWnrjByhHtbl = tXinyiCarbonMajor.getWnclWnrjByhHtbl();
|
|
|
+ BigDecimal wnclWnrjByhCo2 = null;
|
|
|
+ if(!Objects.isNull(wnclWnrjByhHtbl) && !Objects.isNull(wnclWnrjByhXhl)){
|
|
|
+ wnclWnrjByhCo2 = wnclWnrjByhXhl.multiply(wnclWnrjByhHtbl).multiply(BigDecimal_0_12).multiply(BigDecimal_44).divide(BigDecimal_12, NUMBER_SCALE_2, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclWnrjByhCo2(wnclWnrjByhCo2);
|
|
|
+ }
|
|
|
|
|
|
- //处理百分比信息
|
|
|
+ //污泥处理-污泥热解碳化或气化过程产生的CH₄和N₂O的CO₂排放当量-污泥热解过程排放的CH₄的CO₂当量(t CO₂-eq/月)
|
|
|
+ //污泥处理-污泥热解碳化或气化过程产生的CH₄和N₂O的CO₂排放当量-污泥热解过程排放的N₂O的CO₂当量(t CO₂-eq/月)
|
|
|
+ Integer wnclWnrjQtLx = tXinyiCarbonMajor.getWnclWnrjQtLx();
|
|
|
+ BigDecimal wnclWnrjQtXhl = tXinyiCarbonMajor.getWnclWnrjQtXhl();
|
|
|
+ BigDecimal wnclWnrjQtPfyz = tXinyiCarbonMajor.getWnclWnrjQtPfyz();
|
|
|
+ BigDecimal wnclWnrjQtPfyzCh4 = BigDecimal.ZERO;
|
|
|
+ BigDecimal wnclWnrjQtPfyzN2o = BigDecimal.ZERO;
|
|
|
+ BigDecimal wnclWnrjQtCh4Co2 = null;
|
|
|
+ BigDecimal wnclWnrjQtN2oCo2 = null;
|
|
|
+ if(!Objects.isNull(wnclWnrjQtXhl)){
|
|
|
+ if(Objects.isNull(wnclWnrjQtPfyz)){
|
|
|
+ if(Objects.isNull(wnclWnrjQtLx)){
|
|
|
+ wnclWnrjQtPfyzCh4 = BigDecimal.ZERO;
|
|
|
+ wnclWnrjQtPfyzN2o = BigDecimal.ZERO;
|
|
|
+ }else{
|
|
|
+ if(0 == wnclWnrjQtLx){
|
|
|
+ wnclWnrjQtPfyzCh4 = BigDecimal_0_0581;
|
|
|
+ wnclWnrjQtPfyzN2o = BigDecimal_0_1740;
|
|
|
+ }else if (1 == wnclWnrjQtLx) {
|
|
|
+ wnclWnrjQtPfyzCh4 = BigDecimal_0_0970;
|
|
|
+ wnclWnrjQtPfyzN2o = BigDecimal_0_0580;
|
|
|
+ }else if (2 == wnclWnrjQtLx) {
|
|
|
+ wnclWnrjQtPfyzCh4 = BigDecimal_0_0540;
|
|
|
+ wnclWnrjQtPfyzN2o = BigDecimal_0_0838;
|
|
|
+ }else {
|
|
|
+ wnclWnrjQtPfyzCh4 = BigDecimal.ZERO;
|
|
|
+ wnclWnrjQtPfyzN2o = BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ wnclWnrjQtCh4Co2 = wnclWnrjQtXhl.multiply(wnclWnrjQtPfyzCh4).multiply(BigDecimal_28).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclWnrjQtCh4Co2(wnclWnrjQtCh4Co2);
|
|
|
+ wnclWnrjQtN2oCo2 = wnclWnrjQtXhl.multiply(wnclWnrjQtPfyzN2o).multiply(BigDecimal_265).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclWnrjQtN2oCo2(wnclWnrjQtN2oCo2);
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理 污泥处理碳排量 总的碳排放
|
|
|
+ if(!Objects.isNull(wnclYyzqCo2)){
|
|
|
+ wnclTotalCo2 = wnclTotalCo2.subtract(wnclYyzqCo2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnclDdclCo2)){
|
|
|
+ wnclTotalCo2 = wnclTotalCo2.subtract(wnclDdclCo2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnclHyfjCh4Co2)){
|
|
|
+ wnclTotalCo2 = wnclTotalCo2.subtract(wnclHyfjCh4Co2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnclHyfjN2oCo2)){
|
|
|
+ wnclTotalCo2 = wnclTotalCo2.subtract(wnclHyfjN2oCo2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnclWnfsCo2)){
|
|
|
+ wnclTotalCo2 = wnclTotalCo2.subtract(wnclWnfsCo2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnclBwqrsCh4Co2)){
|
|
|
+ wnclTotalCo2 = wnclTotalCo2.subtract(wnclBwqrsCh4Co2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnclBwqrsN2oCo2)){
|
|
|
+ wnclTotalCo2 = wnclTotalCo2.subtract(wnclBwqrsN2oCo2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnclWnrjByhCo2)){
|
|
|
+ wnclTotalCo2 = wnclTotalCo2.subtract(wnclWnrjByhCo2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnclWnrjQtCh4Co2)){
|
|
|
+ wnclTotalCo2 = wnclTotalCo2.subtract(wnclWnrjQtCh4Co2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnclWnrjQtN2oCo2)){
|
|
|
+ wnclTotalCo2 = wnclTotalCo2.subtract(wnclWnrjQtN2oCo2);
|
|
|
+ }
|
|
|
+ //总量
|
|
|
+ tXinyiCarbonMajorUpdate.setWnclTotalCo2(wnclTotalCo2);
|
|
|
+
|
|
|
+ //------------替碳、碳汇------------
|
|
|
+ BigDecimal ttthTotalCo2 = BigDecimal.ZERO;
|
|
|
+ //替碳、碳汇-光伏-替碳量-光伏发电替碳量(t CO₂-eq/月)
|
|
|
+ BigDecimal thGfZhdl = tXinyiCarbonMajor.getThGfZhdl();
|
|
|
+ BigDecimal thGfCo2 = null;
|
|
|
+ if(!Objects.isNull(thGfZhdl) && !Objects.isNull(yz)){
|
|
|
+ thGfCo2 = thGfZhdl.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setThGfCo2(thGfCo2);
|
|
|
+ }
|
|
|
|
|
|
- //计算总的co2
|
|
|
+ //替碳、碳汇-再生水回用的替碳量(宜按替代的商业供水的取水、生产和输送的碳排放量计算)-回用水替代供水的替碳量(t CO₂-eq/月
|
|
|
+ Integer thZssScgm = tXinyiCarbonMajor.getThZssScgm();
|
|
|
+ BigDecimal thZssGyl = tXinyiCarbonMajor.getThZssGyl();
|
|
|
+ BigDecimal thZssCo2 = null;
|
|
|
+ if(!Objects.isNull(thZssScgm) && !Objects.isNull(thZssGyl) && !Objects.isNull(yz)){
|
|
|
+ BigDecimal thZssCo2Yz = BigDecimal.ZERO;
|
|
|
+ if(thZssScgm == 0){
|
|
|
+ thZssCo2Yz = BigDecimal_0_52;
|
|
|
+ }else if(thZssScgm == 1){
|
|
|
+ thZssCo2Yz = BigDecimal_0_41;
|
|
|
+ }else if(thZssScgm == 2){
|
|
|
+ thZssCo2Yz = BigDecimal_0_3;
|
|
|
+ }else {
|
|
|
+ thZssCo2Yz = BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ thZssCo2 = ((BigDecimal_0_2.add(BigDecimal_0_5).subtract(BigDecimal_0_5)).abs().multiply(yz).add(thZssCo2Yz)).multiply(thZssGyl);
|
|
|
+ tXinyiCarbonMajorUpdate.setThZssCo2(thZssCo2);
|
|
|
+ }
|
|
|
+
|
|
|
+ //替碳、碳汇-污泥经过厌氧、好氧或碳化处理后,产生的替碳量-污泥产物土地利用的替碳量(t CO₂-eq/月)
|
|
|
+ BigDecimal thWnClhFlwnl = tXinyiCarbonMajor.getThWnClhFlwnl();
|
|
|
+ BigDecimal thWnClhCo2 = null;
|
|
|
+ if(!Objects.isNull(thWnClhFlwnl)){
|
|
|
+ thWnClhCo2 = ((BigDecimal_0_03.multiply(BigDecimal_0_61).multiply(BigDecimal_2_116)).add((BigDecimal_0_006.multiply(BigDecimal_0_7).multiply(BigDecimal_1_45)))).multiply(thWnClhFlwnl).divide(BigDecimal_1000, NUMBER_SCALE_2, RoundingMode.HALF_UP);
|
|
|
+ tXinyiCarbonMajorUpdate.setThWnClhCo2(thWnClhCo2);
|
|
|
+ }
|
|
|
+ //替碳、碳汇替总碳量
|
|
|
+ if(!Objects.isNull(thGfCo2)){
|
|
|
+ ttthTotalCo2 = ttthTotalCo2.add(thGfCo2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(thZssCo2)){
|
|
|
+ ttthTotalCo2 = ttthTotalCo2.add(thZssCo2);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(thWnClhCo2)){
|
|
|
+ ttthTotalCo2 = ttthTotalCo2.add(thWnClhCo2);
|
|
|
+ }
|
|
|
+ //处理一对多的数据
|
|
|
+ BigDecimal rbjsTTL = tXinyiCarbonMajorUpdate.getRbjsTTL();
|
|
|
+ BigDecimal wnyyxhzqlyTTL = tXinyiCarbonMajorUpdate.getWnyyxhzqlyTTL();
|
|
|
+ BigDecimal wnfshrjnlyTTL = tXinyiCarbonMajorUpdate.getWnfshrjnlyTTL();
|
|
|
+ if(!Objects.isNull(rbjsTTL)){
|
|
|
+ ttthTotalCo2 = ttthTotalCo2.add(rbjsTTL);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnyyxhzqlyTTL)){
|
|
|
+ ttthTotalCo2 = ttthTotalCo2.add(wnyyxhzqlyTTL);
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wnfshrjnlyTTL)){
|
|
|
+ ttthTotalCo2 = ttthTotalCo2.add(wnfshrjnlyTTL);
|
|
|
+ }
|
|
|
+ tXinyiCarbonMajorUpdate.setTtthTotalCo2(ttthTotalCo2);
|
|
|
+
|
|
|
+ //计算各个大类和总的co2
|
|
|
+ tXinyiCarbonMajorUpdate.setZtTotalCo2(wsclTotalCo2.add(nyyjTotalCo2).add(wnclTotalCo2).subtract(ttthTotalCo2));
|
|
|
+
|
|
|
+ //一对多的的计算的存在问题。 todo
|
|
|
+
|
|
|
+ //处理百分比信息
|
|
|
+ if(nyyjTotalCo2.compareTo(BigDecimal.ZERO) > 0){//必须是正数
|
|
|
+ if(!Objects.isNull(nyyjDlxhZhdlCo2)){
|
|
|
+ tXinyiCarbonMajorUpdate.setDlxhPercent(nyyjDlxhZhdlCo2.divide(nyyjTotalCo2, NUMBER_SCALE_4, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(wscljdyjxhCo2)){
|
|
|
+ tXinyiCarbonMajorUpdate.setYjxhPercent(wscljdyjxhCo2.divide(nyyjTotalCo2, NUMBER_SCALE_4, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(nyyjGrrlCo2)){
|
|
|
+ tXinyiCarbonMajorUpdate.setJgrrlPercent(nyyjGrrlCo2.divide(nyyjTotalCo2, NUMBER_SCALE_4, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
+ if(!Objects.isNull(gdsnyrlCo2)){
|
|
|
+ tXinyiCarbonMajorUpdate.setRlxhPercent(gdsnyrlCo2.divide(nyyjTotalCo2, NUMBER_SCALE_4, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
//处理本月份的 污水厂行业碳排放强度 和 污水厂行业碳排放强度-是否高于同行业平均水平
|
|
|
BigDecimal avgJsl = this.tXinyiCarbonMajorMapper.selectSumJslByMonth(addYearMonth.replaceAll("-", "/"));
|