Commit fc9164c7 authored by ZWT's avatar ZWT

feat(零碳): 长庆演示系统新增功能

1.修改第三方日累计数据推送表表结构,增加日累计储能放电量字段,同时修改代码对应实体及mapper文件,修改相关接口增加储能日累计放电量接收逻辑;
2.修改首页井场收益分析模块接口,修改获取储能累计放电量逻辑;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 57c8c40a
......@@ -108,7 +108,17 @@ public class BusinessConstant {
/**
* 六十
*/
public static final BigDecimal SIXTY = new BigDecimal(60);
public static final BigDecimal BIG_DECIMAL_60 = BigDecimal.valueOf(60);
/**
* 100
*/
public static final BigDecimal BIG_DECIMAL_100 = BigDecimal.valueOf(100);
/**
* 10000
*/
public static final BigDecimal BIG_DECIMAL_10000 = BigDecimal.valueOf(10000);
/*------------------------------日期------------------------------*/
......
......@@ -20,12 +20,11 @@ import java.util.Map;
@AllArgsConstructor
public class SelectedSheetWriteHandler implements SheetWriteHandler {
private final Map<Integer, ExcelSelectedResolve> selectedMap;
/**
* 设置阈值,避免生成的导入模板下拉值获取不到,可自行设置数量大小
*/
private static final Integer LIMIT_NUMBER = 25;
private final Map<Integer, ExcelSelectedResolve> selectedMap;
/**
* Called before create the sheet
......
......@@ -18,10 +18,6 @@ import java.util.Set;
*/
public class ValidationUtil {
public static Validator getValidator() {
return validator;
}
static Validator validator;
static {
......@@ -29,6 +25,10 @@ public class ValidationUtil {
validator = validatorFactory.getValidator();
}
public static Validator getValidator() {
return validator;
}
/**
* 进行验证
*
......
......@@ -12,10 +12,12 @@ public class Builder<T> {
public Builder(Class<T> clazz) {
this.clazz = clazz;
}
public Builder(Class<T> clazz, Init<T> init) {
this.clazz = clazz;
this.init = init;
}
public Builder(Class<T> clazz, Init<T> init, FieldsValidator<T> fieldsValidator) {
this.clazz = clazz;
this.init = init;
......
package pps.core.common.utils;
import pps.core.common.constant.BusinessConstant;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
......@@ -71,7 +73,7 @@ public class BigDecimalUtil {
public static String getPercentStr(int total, int part) {
if (total == 0) return "100%";
if (part == 0) return "0%";
return new BigDecimal(part).divide(new BigDecimal(total), 2, RoundingMode.HALF_UP).multiply(new BigDecimal(100)) + "%";
return new BigDecimal(part).divide(new BigDecimal(total), 2, RoundingMode.HALF_UP).multiply(BusinessConstant.BIG_DECIMAL_100) + "%";
}
/**
......
......@@ -26,6 +26,7 @@ public class CounterBuilder {
private final ConcurrentHashMap<String, AtomicLong> counterMap = new ConcurrentHashMap<>();
private final ConcurrentHashMap<String, CounterBuildItemInfoType> fileInfoTypeMap = new ConcurrentHashMap<>();
private String groupName;
public CounterBuilder() {
this.setFieldValue("__COUNTERID__", counterId);
this.setFieldValue("__CREATETIME__", DateUtil.getCurrentDateTime());
......
......@@ -38,6 +38,7 @@ public enum WellKnownRegex {
private int id;
private String expression;
WellKnownRegex(int _id, String _expression) {
this.id = _id;
this.expression = _expression;
......
......@@ -16,6 +16,7 @@ public enum ImportFieldDic {
private String col;
private String name;
private Integer sort;
ImportFieldDic(String col, String name, Integer sort) {
this.col = col;
this.name = name;
......
......@@ -18,17 +18,15 @@ import java.util.List;
public class ThirdApiWeatherDataListener implements ReadListener<ThirdApiWeatherExcelData> {
private XContext context;
public ThirdApiWeatherDataListener(XContext context) {
this.context = context;
}
/**
* 缓存的数据
*/
private List<ThirdApiWeatherExcelData> cachedDataList = new ArrayList<>(4096);
public ThirdApiWeatherDataListener(XContext context) {
this.context = context;
}
@Override
public void invoke(ThirdApiWeatherExcelData thirdApiWeatherData, AnalysisContext analysisContext) {
cachedDataList.add(thirdApiWeatherData);
......@@ -37,6 +35,6 @@ public class ThirdApiWeatherDataListener implements ReadListener<ThirdApiWeather
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
BaseLineService bean = context.getBean(BaseLineService.class);
bean.saveHistory(context,cachedDataList);
bean.saveHistory(context, cachedDataList);
}
}
......@@ -4,6 +4,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePhotovoltaicPlantMapeAdjEnt;
@Repository(value="pps.core.base.mapper.BasePhotovoltaicPlantMapeAdjMapper")
@Repository(value = "pps.core.base.mapper.BasePhotovoltaicPlantMapeAdjMapper")
public interface BasePhotovoltaicPlantMapeAdjMapper extends BaseMapper<BasePhotovoltaicPlantMapeAdjEnt> {
}
......@@ -5,8 +5,9 @@ import pps.core.base.entity.BasePhotovoltaicPlantMapeAdjView;
import java.util.List;
@Repository(value="pps.core.base.mapper.BasePhotovoltaicPlantMapeAdjViewMapper")
@Repository(value = "pps.core.base.mapper.BasePhotovoltaicPlantMapeAdjViewMapper")
public interface BasePhotovoltaicPlantMapeAdjViewMapper {
BasePhotovoltaicPlantMapeAdjView selectOne(BasePhotovoltaicPlantMapeAdjView record);
List<BasePhotovoltaicPlantMapeAdjView> selectList(BasePhotovoltaicPlantMapeAdjView record);
}
......@@ -30,18 +30,18 @@ public class BasePhotovoltaicPlantMapeAdjService {
@XText("保存数据")
@XApiPost
public XServiceResult saveData(XContext context, CreateBasePhotovoltaicPlantMapeAdjInput input){
public XServiceResult saveData(XContext context, CreateBasePhotovoltaicPlantMapeAdjInput input) {
BasePhotovoltaicPlantMapeAdjMapper mapper = context.getBean(BasePhotovoltaicPlantMapeAdjMapper.class);
BasePhotovoltaicPlantMapeAdjEnt ent = XCopyUtils.copyNewObject(input, BasePhotovoltaicPlantMapeAdjEnt.class);
if(ent.getMapePlusVal()==null) ent.setMapePlusVal(BigDecimal.ZERO);
if (ent.getMapePlusVal() == null) ent.setMapePlusVal(BigDecimal.ZERO);
PpsUserSession session = context.getSession(PpsUserSession.class);
Date date = new Date();
if(input.getId() == null){
if (input.getId() == null) {
ent.setCreateById(session.getId());
ent.setCreateByName(session.getUserName());
ent.setCreateTime(date);
mapper.insert(ent);
}else{
} else {
ent.setModifyById(session.getId());
ent.setModifyByName(session.getUserName());
ent.setModifyTime(date);
......@@ -52,19 +52,19 @@ public class BasePhotovoltaicPlantMapeAdjService {
@XText("获取调整数据")
@XApiPost
public XSingleResult<GetBasePhotovoltaicPlantMapeAdjOutput> getData(XContext context, GetBasePhotovoltaicPlantMapeAdjInput input){
public XSingleResult<GetBasePhotovoltaicPlantMapeAdjOutput> getData(XContext context, GetBasePhotovoltaicPlantMapeAdjInput input) {
GetBasePhotovoltaicPlantMapeAdjOutput output = new GetBasePhotovoltaicPlantMapeAdjOutput();
//获取电站信息
BasePhotovoltaicPlantMapper basePhotovoltaicPlantMapper = context.getBean(BasePhotovoltaicPlantMapper.class);
BasePhotovoltaicPlantEnt basePhotovoltaicPlantEnt = basePhotovoltaicPlantMapper.selectOne(new LambdaQueryWrapper<BasePhotovoltaicPlantEnt>()
.eq(BaseModel::getId, input.getPlantId()));
if(basePhotovoltaicPlantEnt == null) return XSingleResult.error(500,"未查找到电站信息");
if (basePhotovoltaicPlantEnt == null) return XSingleResult.error(500, "未查找到电站信息");
BasePhotovoltaicPlantMapeAdjViewMapper mapper = context.getBean(BasePhotovoltaicPlantMapeAdjViewMapper.class);
BasePhotovoltaicPlantMapeAdjView record = new BasePhotovoltaicPlantMapeAdjView();
XCopyUtils.copyObject(input, record);
BasePhotovoltaicPlantMapeAdjView view = mapper.selectOne(record);
if(view == null) {
if (view == null) {
output.setPlantName(basePhotovoltaicPlantEnt.getStationName());
output.setMapePlusVal(BigDecimal.ZERO);
return XSingleResult.success(output);
......@@ -76,7 +76,7 @@ public class BasePhotovoltaicPlantMapeAdjService {
@XText("重置调整数据")
@XApiPost
public XServiceResult resetData(XContext context, GetBasePhotovoltaicPlantMapeAdjInput input){
public XServiceResult resetData(XContext context, GetBasePhotovoltaicPlantMapeAdjInput input) {
BasePhotovoltaicPlantMapeAdjMapper mapper = context.getBean(BasePhotovoltaicPlantMapeAdjMapper.class);
PpsUserSession session = context.getSession(PpsUserSession.class);
BasePhotovoltaicPlantMapeAdjEnt ent = new BasePhotovoltaicPlantMapeAdjEnt();
......@@ -85,8 +85,8 @@ public class BasePhotovoltaicPlantMapeAdjService {
ent.setModifyByName(session.getUserName());
ent.setModifyTime(new Date());
UpdateWrapper<BasePhotovoltaicPlantMapeAdjEnt> ur = new UpdateWrapper<>();
ur.lambda().eq(BasePhotovoltaicPlantMapeAdjEnt::getPlantId,input.getPlantId()).eq(BasePhotovoltaicPlantMapeAdjEnt::getMapeType,input.getMapeType());
mapper.update(ent,ur);
ur.lambda().eq(BasePhotovoltaicPlantMapeAdjEnt::getPlantId, input.getPlantId()).eq(BasePhotovoltaicPlantMapeAdjEnt::getMapeType, input.getMapeType());
mapper.update(ent, ur);
return XServiceResult.OK;
}
......
......@@ -214,7 +214,8 @@ public class BasePhotovoltaicPlantService {
BasePhotovoltaicPlantMapeAdjView view = mapeAdjMapper.selectOne(record);
if (view != null && view.getMapePlusVal() != null) {
mape = relMape.add(view.getMapePlusVal());
if (mape.compareTo(BigDecimal.valueOf(100)) > 0) mape = BigDecimal.valueOf(100);
if (mape.compareTo(BusinessConstant.BIG_DECIMAL_100) > 0)
mape = BusinessConstant.BIG_DECIMAL_100;
} else {
mape = relMape;
}
......
......@@ -2,19 +2,20 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pps.core.base.mapper.BasePhotovoltaicPlantMapeAdjViewMapper">
<resultMap id="BaseResultMap" type="pps.core.base.entity.BasePhotovoltaicPlantMapeAdjView">
<id column="id" property="id" jdbcType="INTEGER" />
<result column="plant_id" property="plantId" jdbcType="VARCHAR" />
<result column="mape_type" property="mapeType" jdbcType="INTEGER" />
<result column="mape_plus_val" property="mapePlusVal" jdbcType="DECIMAL" />
<result column="create_by_id" property="createById" jdbcType="VARCHAR" />
<result column="create_by_name" property="createByName" jdbcType="VARCHAR" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="modify_by_id" property="modifyById" jdbcType="VARCHAR" />
<result column="modify_by_name" property="modifyByName" jdbcType="VARCHAR" />
<result column="modify_time" property="modifyTime" jdbcType="TIMESTAMP" />
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="plant_id" property="plantId" jdbcType="VARCHAR"/>
<result column="mape_type" property="mapeType" jdbcType="INTEGER"/>
<result column="mape_plus_val" property="mapePlusVal" jdbcType="DECIMAL"/>
<result column="create_by_id" property="createById" jdbcType="VARCHAR"/>
<result column="create_by_name" property="createByName" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="modify_by_id" property="modifyById" jdbcType="VARCHAR"/>
<result column="modify_by_name" property="modifyByName" jdbcType="VARCHAR"/>
<result column="modify_time" property="modifyTime" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,
id
,
plant_id,
mape_type,
mape_plus_val,
......@@ -25,9 +26,10 @@
modify_by_name,
modify_time
</sql>
<select id="selectOne" parameterType="pps.core.base.entity.BasePhotovoltaicPlantMapeAdjView" resultMap="BaseResultMap">
<select id="selectOne" parameterType="pps.core.base.entity.BasePhotovoltaicPlantMapeAdjView"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from base_photovoltaic_plant_mape_adj
<where>
<if test="plantId != null and plantId != ''">
......@@ -43,9 +45,10 @@
order by create_time desc
limit 1
</select>
<select id="selectList" parameterType="pps.core.base.entity.BasePhotovoltaicPlantMapeAdjView" resultMap="BaseResultMap">
<select id="selectList" parameterType="pps.core.base.entity.BasePhotovoltaicPlantMapeAdjView"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from base_photovoltaic_plant_mape_adj
where
id=#{id}
......
......@@ -182,6 +182,6 @@ public class ExcelService {
if (0 == duration) {
return BigDecimal.ZERO;
}
return new BigDecimal(duration).divide(BusinessConstant.SIXTY, 1, RoundingMode.HALF_UP);
return new BigDecimal(duration).divide(BusinessConstant.BIG_DECIMAL_60, 1, RoundingMode.HALF_UP);
}
}
\ No newline at end of file
......@@ -251,7 +251,7 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
List<SpaceOptimizeWeight> weightList = this.calculateWeightList(serviceRating, rangeToList, powerList, strategyList);
//每日最小开井时长(分钟)
int minOpenMinute = wellhead.getMinOpen()
.multiply(BusinessConstant.SIXTY)
.multiply(BusinessConstant.BIG_DECIMAL_60)
.intValue();
//分级取时间段
List<SpaceOptimizeWeightDuration> weightDurationList = this.weightListProcessing(ladder, weightList, minOpenMinute);
......@@ -363,7 +363,7 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
//计算权重时间轴
//每日最小开井时长(分钟)
int minOpenMinute = tundraStrategyWellhead.getMinOpen()
.multiply(BusinessConstant.SIXTY)
.multiply(BusinessConstant.BIG_DECIMAL_60)
.intValue();
serviceRating = serviceRating.add(tundraStrategyWellhead.getServiceRating());
List<SpaceOptimizeWeight> weightList = this.calculateWeightList(serviceRating, rangeToList, powerList, strategyList);
......@@ -379,7 +379,7 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
if (CollUtil.isNotEmpty(closeList)) {
//每日开井时长
int dayOpenMinute = tundraStrategyWellhead.getRunDuration()
.multiply(BusinessConstant.SIXTY)
.multiply(BusinessConstant.BIG_DECIMAL_60)
.intValue();
//计算需要补的时间
long supplementaryTime = dayOpenMinute - totalOpenTime;
......@@ -895,19 +895,19 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
int i, Integer startInterval, int minOpenMinute, SpaceInstitutionWellheadView wellhead, List<SpaceOptimizeWeight> weightList) {
//每日开井时长
int dayOpenMinute = wellhead.getRunDuration()
.multiply(BusinessConstant.SIXTY)
.multiply(BusinessConstant.BIG_DECIMAL_60)
.intValue();
//每日最大开井时长(分钟)
int maxOpenMinute = wellhead.getMaxOpen()
.multiply(BusinessConstant.SIXTY)
.multiply(BusinessConstant.BIG_DECIMAL_60)
.intValue();
//每日最小关井时长(分钟)
int minCloseMinute = wellhead.getMinClose()
.multiply(BusinessConstant.SIXTY)
.multiply(BusinessConstant.BIG_DECIMAL_60)
.intValue();
//每日最大关井时长(分钟)
int maxCloseMinute = wellhead.getMaxClose()
.multiply(BusinessConstant.SIXTY)
.multiply(BusinessConstant.BIG_DECIMAL_60)
.intValue();
//总开井时间
long sumOpenTime = 0;
......
......@@ -17,6 +17,26 @@ import java.util.List;
*/
@Data
public class GetSpaceOptimizePeriodOutput {
/**
* 已优化日期列表
*/
@XText("已优化日期列表")
List<SpaceOptimizeDateOutput> dateList;
/**
* 井口信息
*/
@XText("井口信息")
List<GetSpaceOptimizeWellheadOutput> wellheadList;
/**
* 策略配置列表
*/
@XText("策略配置列表")
List<GetBasePriceStrategyDetailOutput> strategyDetailList;
/**
* 功率预测列表
*/
@XText("功率预测列表")
List<DynamicQueryPlantPredictedPowerOutput> powerGenerationList;
@XText("ID")
private String id;
@XText("线路ID")
......@@ -38,24 +58,4 @@ public class GetSpaceOptimizePeriodOutput {
*/
@XText("电网类型key(字典获取)")
private String gridTypeKey;
/**
* 已优化日期列表
*/
@XText("已优化日期列表")
List<SpaceOptimizeDateOutput> dateList;
/**
* 井口信息
*/
@XText("井口信息")
List<GetSpaceOptimizeWellheadOutput> wellheadList;
/**
* 策略配置列表
*/
@XText("策略配置列表")
List<GetBasePriceStrategyDetailOutput> strategyDetailList;
/**
* 功率预测列表
*/
@XText("功率预测列表")
List<DynamicQueryPlantPredictedPowerOutput> powerGenerationList;
}
......@@ -15,6 +15,7 @@ public enum ImportFieldDic {
private String col;
private String name;
private Integer sort;
ImportFieldDic(String col, String name, Integer sort) {
this.col = col;
this.name = name;
......
......@@ -18,17 +18,15 @@ import java.util.List;
public class ThirdActivePowerDataListener implements ReadListener<ThirdActivePowerExcelData> {
private XContext context;
public ThirdActivePowerDataListener(XContext context) {
this.context = context;
}
/**
* 缓存的数据
*/
private List<ThirdActivePowerExcelData> cachedDataList = new ArrayList<>(4096);
public ThirdActivePowerDataListener(XContext context) {
this.context = context;
}
@Override
public void invoke(ThirdActivePowerExcelData thirdApiWeatherData, AnalysisContext analysisContext) {
cachedDataList.add(thirdApiWeatherData);
......
......@@ -812,7 +812,7 @@ public class EnergyConsumptionAnalysisService {
BigDecimal absorptionRate;
if (powerConsumption.compareTo(BigDecimal.ZERO) > 0) {
absorptionRate = powerGeneration.divide(powerConsumption, 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100));
.multiply(BusinessConstant.BIG_DECIMAL_100);
} else {
absorptionRate = BigDecimal.ZERO;
}
......@@ -832,7 +832,7 @@ public class EnergyConsumptionAnalysisService {
if (lastPeriod.compareTo(BigDecimal.ZERO) > 0) {
cycleRatio = currentPeriod.subtract(lastPeriod)
.divide(lastPeriod, 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100));
.multiply(BusinessConstant.BIG_DECIMAL_100);
} else {
cycleRatio = BigDecimal.ZERO;
}
......
......@@ -441,30 +441,30 @@ public class HomePageService {
);
//发电量
BigDecimal powerGeneration = analysisEnt.getPhotovoltaicPower()
.divide(BigDecimal.valueOf(10000), 2, RoundingMode.HALF_UP);
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
//储能日累计放电量
BigDecimal energyStorageCapacity = analysisEnt.getEnergyStorageDischarge()
.divide(BigDecimal.valueOf(10000), 2, RoundingMode.HALF_UP);
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
//累计减碳量
BigDecimal carbonReduction = analysisEnt.getPhotovoltaicPower()
.multiply(BigDecimal.valueOf(6.67))
.divide(BigDecimal.valueOf(10000), 2, RoundingMode.HALF_UP);
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
//经济效益
BigDecimal economicBenefit = analysisEnt.getPhotovoltaicPower()
.multiply(BigDecimal.valueOf(0.6))
.subtract(analysisEnt.getPhotovoltaicPower()
.multiply(BigDecimal.valueOf(0.28)))
.divide(BigDecimal.valueOf(10000), 2, RoundingMode.HALF_UP);
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
//绿电占比:累计就地消纳量/累计井场用电量*100%
BigDecimal greenElectricityRate = analysisEnt.getInPlaceConsumption()
.multiply(BigDecimal.valueOf(100))
.multiply(BusinessConstant.BIG_DECIMAL_100)
.divide(analysisEnt.getDailyElectricityConsumption(), 2, RoundingMode.HALF_UP);
//余电上网:发电量-就地消纳量
BigDecimal avoidPeakRate = analysisEnt.getPhotovoltaicPower()
.subtract(analysisEnt.getInPlaceConsumption())
.divide(BigDecimal.valueOf(10000), 2, RoundingMode.HALF_UP);
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
return XSingleResult.success(GetIncomeAnalysisOutput.builder()
.absorptionRate(BigDecimal.valueOf(100))
.absorptionRate(BusinessConstant.BIG_DECIMAL_100)
.avoidPeakRate(avoidPeakRate)
.energyStorageCapacity(energyStorageCapacity)
.powerGeneration(powerGeneration)
......@@ -689,7 +689,7 @@ public class HomePageService {
BigDecimal absorptionRate;
if (powerConsumption.compareTo(BigDecimal.ZERO) > 0) {
absorptionRate = powerGeneration.divide(powerConsumption, 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100));
.multiply(BusinessConstant.BIG_DECIMAL_100);
} else {
absorptionRate = BigDecimal.ZERO;
}
......
......@@ -11,6 +11,7 @@ import pps.cloud.base.service.data.base_power_line_wellhead.DynamicQueryBasePowe
import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.data.sys_organization.GetAllOuListByOuIdInput;
import pps.cloud.system.service.data.sys_organization.GetSysOrganizationViewOutput;
import pps.core.common.constant.BusinessConstant;
import pps.core.prediction.entity.EnergyConsumptionAnalysisEnt;
import pps.core.prediction.entity.ThirdPhotovoltaicPowerEnt;
import pps.core.prediction.entity.WellheadDailyProductionSituationEnt;
......@@ -133,7 +134,7 @@ public class ThirdPhotovoltaicPowerService {
BigDecimal absorptionRate;
if (powerConsumption.compareTo(BigDecimal.ZERO) > 0) {
absorptionRate = powerGeneration.divide(powerConsumption, 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100));
.multiply(BusinessConstant.BIG_DECIMAL_100);
} else {
absorptionRate = BigDecimal.ZERO;
}
......@@ -153,7 +154,7 @@ public class ThirdPhotovoltaicPowerService {
if (lastPeriod.compareTo(BigDecimal.ZERO) > 0) {
cycleRatio = currentPeriod.subtract(lastPeriod)
.divide(lastPeriod, 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100));
.multiply(BusinessConstant.BIG_DECIMAL_100);
} else {
cycleRatio = BigDecimal.ZERO;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment