|
@@ -207,9 +207,11 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
//耗电相关
|
|
|
BigDecimal nyyjTotalCo2 = BigDecimal.ZERO;
|
|
|
BigDecimal nyyjDlxhZhdlCo2 = null;
|
|
|
+ BigDecimal nyyjDlxhTotal = BigDecimal.ZERO;
|
|
|
+ BigDecimal nyyjDlxhZhdl = null;
|
|
|
if(!Objects.isNull(yz)){
|
|
|
//总耗电
|
|
|
- BigDecimal nyyjDlxhZhdl = tXinyiCarbonMajor.getNyyjDlxhZhdl();
|
|
|
+ nyyjDlxhZhdl = tXinyiCarbonMajor.getNyyjDlxhZhdl();
|
|
|
if(!Objects.isNull(nyyjDlxhZhdl)){
|
|
|
nyyjDlxhZhdlCo2 = nyyjDlxhZhdl.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP);
|
|
|
tXinyiCarbonMajorUpdate.setNyyjDlxhZhdlCo2(nyyjDlxhZhdlCo2);
|
|
@@ -219,51 +221,65 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
BigDecimal nyyjDlxhJsbf = tXinyiCarbonMajor.getNyyjDlxhJsbf();
|
|
|
if(!Objects.isNull(nyyjDlxhJsbf)){
|
|
|
tXinyiCarbonMajorUpdate.setNyyjDlxhJsbfCo2(nyyjDlxhJsbf.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP));
|
|
|
+ nyyjDlxhTotal = nyyjDlxhTotal.add(nyyjDlxhJsbf);
|
|
|
}
|
|
|
|
|
|
//鼓风机房
|
|
|
BigDecimal nyyjDlxhGfjf = tXinyiCarbonMajor.getNyyjDlxhGfjf();
|
|
|
if(!Objects.isNull(nyyjDlxhGfjf)){
|
|
|
tXinyiCarbonMajorUpdate.setNyyjDlxhGfjfCo2(nyyjDlxhGfjf.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP));
|
|
|
+ nyyjDlxhTotal = nyyjDlxhTotal.add(nyyjDlxhGfjf);
|
|
|
}
|
|
|
|
|
|
//脱水机房
|
|
|
BigDecimal nyyjDlxhTsjf = tXinyiCarbonMajor.getNyyjDlxhTsjf();
|
|
|
if(!Objects.isNull(nyyjDlxhTsjf)){
|
|
|
tXinyiCarbonMajorUpdate.setNyyjDlxhTsjfCo2(nyyjDlxhTsjf.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP));
|
|
|
+ nyyjDlxhTotal = nyyjDlxhTotal.add(nyyjDlxhTsjf);
|
|
|
}
|
|
|
|
|
|
//消毒间
|
|
|
BigDecimal nyyjDlxhXdj = tXinyiCarbonMajor.getNyyjDlxhXdj();
|
|
|
if(!Objects.isNull(nyyjDlxhXdj)){
|
|
|
tXinyiCarbonMajorUpdate.setNyyjDlxhXdjCo2(nyyjDlxhXdj.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP));
|
|
|
+ nyyjDlxhTotal = nyyjDlxhTotal.add(nyyjDlxhXdj);
|
|
|
}
|
|
|
|
|
|
//深度处理用电
|
|
|
BigDecimal nyyjDlxhSdcl = tXinyiCarbonMajor.getNyyjDlxhSdcl();
|
|
|
if(!Objects.isNull(nyyjDlxhSdcl)){
|
|
|
tXinyiCarbonMajorUpdate.setNyyjDlxhSdclCo2(nyyjDlxhSdcl.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP));
|
|
|
+ nyyjDlxhTotal = nyyjDlxhTotal.add(nyyjDlxhSdcl);
|
|
|
}
|
|
|
|
|
|
//污泥处置
|
|
|
BigDecimal nyyjDlxhWncz = tXinyiCarbonMajor.getNyyjDlxhWncz();
|
|
|
if(!Objects.isNull(nyyjDlxhWncz)){
|
|
|
tXinyiCarbonMajorUpdate.setNyyjDlxhWnczCo2(nyyjDlxhWncz.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP));
|
|
|
+ nyyjDlxhTotal = nyyjDlxhTotal.add(nyyjDlxhWncz);
|
|
|
}
|
|
|
|
|
|
//生活区
|
|
|
BigDecimal nyyjDlxhShq = tXinyiCarbonMajor.getNyyjDlxhShq();
|
|
|
if(!Objects.isNull(nyyjDlxhShq)){
|
|
|
tXinyiCarbonMajorUpdate.setNyyjDlxhShqCo2(nyyjDlxhShq.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP));
|
|
|
+ nyyjDlxhTotal = nyyjDlxhTotal.add(nyyjDlxhShq);
|
|
|
}
|
|
|
|
|
|
//其他耗电区
|
|
|
BigDecimal nyyjDlxhQt = tXinyiCarbonMajor.getNyyjDlxhQt();
|
|
|
if(!Objects.isNull(nyyjDlxhQt)){
|
|
|
tXinyiCarbonMajorUpdate.setNyyjDlxhQtCo2(nyyjDlxhQt.multiply(yz).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP));
|
|
|
+ nyyjDlxhTotal = nyyjDlxhTotal.add(nyyjDlxhQt);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //2024年09月05日14:09:26 增加校验,各个分项的值累加不能超过总的
|
|
|
+ if(!Objects.isNull(nyyjDlxhZhdl) && nyyjDlxhTotal.compareTo(nyyjDlxhZhdl) > 0){
|
|
|
+ log.error("各分项耗电量之和不能超过总耗电量!");
|
|
|
+ throw new ServiceException("各分项耗电量之和不能超过总耗电量!");
|
|
|
+ }
|
|
|
+
|
|
|
//能源、药剂碳排-净购入热力消耗产生的碳排放量-燃料消耗产生的碳排放量
|
|
|
BigDecimal nyyjGrrlZq = tXinyiCarbonMajor.getNyyjGrrlZq();
|
|
|
BigDecimal nyyjGrrlDyhz = tXinyiCarbonMajor.getNyyjGrrlDyhz();
|
|
@@ -302,7 +318,7 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
BigDecimal wnclYyzqChZlfs = tXinyiCarbonMajor.getWnclYyzqChZlfs();
|
|
|
BigDecimal wnclYyzqCo2 = null;
|
|
|
if(!Objects.isNull(wnclYyzqZqcl) && !Objects.isNull(wnclYyzqChZlfs)){
|
|
|
- wnclYyzqCo2 = wnclYyzqZqcl.multiply(wnclYyzqChZlfs).multiply(BigDecimal_0_05).multiply(BigDecimal_28).multiply(BigDecimal_16).divide(BigDecimal_22_4, NUMBER_SCALE_6, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP);
|
|
|
+ wnclYyzqCo2 = wnclYyzqZqcl.multiply(wnclYyzqChZlfs).multiply(BigDecimal_0_05).multiply(BigDecimal_28).multiply(BigDecimal_16).divide(BigDecimal_22_4, NUMBER_SCALE_6, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP).divide(BigDecimal_100, NUMBER_SCALE_6, RoundingMode.HALF_UP);
|
|
|
tXinyiCarbonMajorUpdate.setWnclYyzqCo2(wnclYyzqCo2);
|
|
|
}
|
|
|
|
|
@@ -338,7 +354,7 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
BigDecimal wnclWnfsCo2 = null;
|
|
|
|
|
|
if(!Objects.isNull(wnclWnfsXhl) && !Objects.isNull(wnclWnfsHtbl)){
|
|
|
- wnclWnfsCo2 = wnclWnfsXhl.multiply(wnclWnfsHtbl).multiply(BigDecimal_0_12).multiply(BigDecimal_44).divide(BigDecimal_12, NUMBER_SCALE_6, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP);
|
|
|
+ wnclWnfsCo2 = wnclWnfsXhl.multiply(wnclWnfsHtbl).multiply(BigDecimal_0_12).multiply(BigDecimal_44).divide(BigDecimal_12, NUMBER_SCALE_6, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP).divide(BigDecimal_100, NUMBER_SCALE_6, RoundingMode.HALF_UP);
|
|
|
tXinyiCarbonMajorUpdate.setWnclWnfsCo2(wnclWnfsCo2);
|
|
|
}
|
|
|
|
|
@@ -379,7 +395,7 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
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_6, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP);
|
|
|
+ wnclWnrjByhCo2 = wnclWnrjByhXhl.multiply(wnclWnrjByhHtbl).multiply(BigDecimal_0_12).multiply(BigDecimal_44).divide(BigDecimal_12, NUMBER_SCALE_6, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_6, RoundingMode.HALF_UP).divide(BigDecimal_100, NUMBER_SCALE_6, RoundingMode.HALF_UP);
|
|
|
tXinyiCarbonMajorUpdate.setWnclWnrjByhCo2(wnclWnrjByhCo2);
|
|
|
}
|
|
|
|
|
@@ -598,7 +614,8 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
}else if(type == BusinessEnum.CarbonExtraTeypEnum.FOUR.getCode()){
|
|
|
return Objects.isNull(yz) ? null : (amount.multiply(yz).add((lyl.multiply(new BigDecimal(sysDictData.getDictValue()))).add((hz.multiply(BigDecimal_0_0022))))).divide(BigDecimal_1000,NUMBER_SCALE_6, RoundingMode.HALF_UP);
|
|
|
}else if(type == BusinessEnum.CarbonExtraTeypEnum.FIVE.getCode()){
|
|
|
- return Objects.isNull(yz) ? null : (amount.multiply(yz).add((lyl.multiply(hz.subtract(BigDecimal_83_74)).divide(BigDecimal_1000,NUMBER_SCALE_6, RoundingMode.HALF_UP))).multiply(new BigDecimal(sysDictData.getDictValue())).divide(BigDecimal_1000,NUMBER_SCALE_6, RoundingMode.HALF_UP)).divide(BigDecimal_1000,NUMBER_SCALE_6, RoundingMode.HALF_UP);
|
|
|
+ //2024年09月05日13:49:11 公式调整,没有 沼气提纯并网的天然气量/对应焓值 这个参数了
|
|
|
+ return Objects.isNull(yz) ? null : (amount.multiply(yz).add((lyl.multiply(new BigDecimal(sysDictData.getDictValue())).divide(BigDecimal_1000,NUMBER_SCALE_6, RoundingMode.HALF_UP)))).divide(BigDecimal_1000,NUMBER_SCALE_6, RoundingMode.HALF_UP);
|
|
|
}else {
|
|
|
log.error("暂不支持的类型");
|
|
|
throw new ServiceException("暂不支持的类型");
|
|
@@ -721,7 +738,7 @@ public class TXinyiCarbonMajorServiceImpl implements ITXinyiCarbonMajorService
|
|
|
//最近7个月的数据集合
|
|
|
TXinyiCarbonMajor tXinyiCarbonMajorReq = new TXinyiCarbonMajor();
|
|
|
String timeEnd = DateUtils.parseDateToStr(DateUtils.YYYY_MM, DateUtils.getNowDate());
|
|
|
- tXinyiCarbonMajorReq.setHsTimeBegin(DateUtils.getMonthsBefore(timeEnd, INT_6));
|
|
|
+ tXinyiCarbonMajorReq.setHsTimeBegin(DateUtils.getMonthsBefore(timeEnd, INT_7));
|
|
|
tXinyiCarbonMajorReq.setHsTimeEnd(timeEnd);
|
|
|
List<TXinyiCarbonMajor> tXinyiCarbonMajorList = this.tXinyiCarbonMajorMapper.selectTXinyiCarbonMajorList(tXinyiCarbonMajorReq);
|
|
|
List<ChartBasic> recent7PflDatas = new ArrayList<>();
|