Commit 73d047c8 authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.开发间开优化结果统计功能,创建间开优化效果统计表,生成对应代码;
2.修改15天,10天,3天,1天间开优化功能,修改代码结构;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent d37a2b88
......@@ -63,4 +63,20 @@ public class SpaceYesterdayGreenRateEnt extends BaseModel implements Serializabl
@XText("线路名")
@TableField
private String lineName;
@XText("电费(优化前)")
@TableField
private BigDecimal powerCostActual;
@XText("电费(优化后)")
@TableField
private BigDecimal powerCostOptimize;
@XText("绿电市电电费(优化前)")
@TableField
private BigDecimal cityCostActual;
@XText("绿电市电电费(优化后)")
@TableField
private BigDecimal cityCostOptimize;
}
......@@ -69,4 +69,12 @@ public class SpaceYesterdayGreenRateView extends BaseModel implements Serializab
@XText("电费(优化后)")
@TableField
private BigDecimal powerCostOptimize;
@XText("绿电市电电费(优化前)")
@TableField
private BigDecimal cityCostActual;
@XText("绿电市电电费(优化后)")
@TableField
private BigDecimal cityCostOptimize;
}
......@@ -139,6 +139,8 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
BigDecimal runHourOptimize = BigDecimal.ZERO;
BigDecimal powerCostActual = BigDecimal.ZERO;
BigDecimal powerCostOptimize = BigDecimal.ZERO;
BigDecimal cityCostActual = BigDecimal.ZERO;
BigDecimal cityCostOptimize = BigDecimal.ZERO;
durationTemp = unOptimizeList.get(0);
//累加运行功率
BigDecimal serviceRating = ObjectUtil.defaultIfNull(durationTemp.getServiceRating(), BigDecimal.ZERO);
......@@ -151,6 +153,8 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
boolean greenFlag = false;
//计算优化前后功率
for (DateTime dateTime : rangeToList) {
BigDecimal greenPowerActual = BigDecimal.ZERO;
BigDecimal greenPowerPrediction = BigDecimal.ZERO;
//计算实际
SpaceOptimizeWeight optimizeWeight = activeWeightMap.get(dateTime);
BigDecimal activePower = optimizeWeight.getPower();
......@@ -165,13 +169,15 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
} else if (activePower.compareTo(serviceRating) >= 0) {
greenFlag = true;
//光伏发电功率大于运行负荷: 该时段光伏用电量量=运行负荷*0.5
wellGreenPowerActual = wellGreenPowerActual.add(serviceRating.multiply(BusinessConstant.BIG_DECIMAL_0_5));
greenPowerActual = serviceRating.multiply(BusinessConstant.BIG_DECIMAL_0_5);
wellGreenPowerActual = wellGreenPowerActual.add(greenPowerActual);
activeWeightMap.get(dateTime).setPower(activePower.subtract(serviceRating));
} else {
greenFlag = true;
//光伏发电功率-井口累计发电功率 : 小于等于0不管
BigDecimal subtract = activePower.subtract(serviceRating);
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
greenPowerActual = subtract;
//光伏发电功率小于井的运行负荷: 该时段光伏用电量=光伏发电功率*0.5
wellGreenPowerActual = wellGreenPowerActual.add(subtract.multiply(BusinessConstant.BIG_DECIMAL_0_5));
}
......@@ -180,7 +186,10 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
//累加开井时长
runHourActual = runHourActual.add(BusinessConstant.BIG_DECIMAL_0_5);
//计算电费(绿电没电费)
if (!greenFlag) {
if (greenFlag) {
//绿电市电电费
cityCostActual = cityCostActual.add(optimizeWeight.getElectricityPrice().multiply(greenPowerActual));
} else {
//市电峰谷电费
powerCostActual = powerCostActual.add(optimizeWeight.getElectricityPrice().multiply(BusinessConstant.BIG_DECIMAL_0_5));
}
......@@ -206,22 +215,27 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
} else if (predictionPower.compareTo(sumServiceRating) >= 0) {
greenFlag = true;
//光伏发电功率大于运行负荷: 该时段光伏用电量量=运行负荷*0.5
wellGreenPowerOptimize = wellGreenPowerOptimize.add(serviceRating.multiply(BusinessConstant.BIG_DECIMAL_0_5));
greenPowerPrediction = serviceRating.multiply(BusinessConstant.BIG_DECIMAL_0_5);
wellGreenPowerOptimize = wellGreenPowerOptimize.add(greenPowerPrediction);
predictionWeightMap.get(dateTime).setPower(predictionPower.subtract(serviceRating));
} else {
greenFlag = true;
//光伏发电功率-井口累计发电功率 : 小于等于0不管
BigDecimal subtract = predictionPower.subtract(serviceRating);
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
greenPowerPrediction = subtract;
//光伏发电功率小于井的运行负荷: 该时段光伏用电量=(光伏发电功率-井口累计发电功率+当前井口运行功率)*0.5
wellGreenPowerOptimize = wellGreenPowerOptimize.add(subtract.multiply(BusinessConstant.BIG_DECIMAL_0_5));
}
predictionWeightMap.get(dateTime).setPower(predictionPower.subtract(serviceRating));
predictionWeightMap.get(dateTime).setPower(BigDecimal.ZERO);
}
//累加开井时长
runHourOptimize = runHourOptimize.add(BusinessConstant.BIG_DECIMAL_0_5);
//计算电费(绿电没电费)
if (!greenFlag) {
if (greenFlag) {
//绿电市电电费
cityCostOptimize = cityCostOptimize.add(optimizeWeight.getElectricityPrice().multiply(greenPowerPrediction));
} else {
//市电峰谷电费
powerCostOptimize = powerCostOptimize.add(optimizeWeight.getElectricityPrice().multiply(BusinessConstant.BIG_DECIMAL_0_5));
}
......@@ -251,6 +265,8 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
yesterdayGreenRateView.setLineName(lineName);
yesterdayGreenRateView.setPowerCostActual(powerCostActual);
yesterdayGreenRateView.setPowerCostOptimize(powerCostOptimize);
yesterdayGreenRateView.setCityCostActual(cityCostActual);
yesterdayGreenRateView.setCityCostOptimize(cityCostOptimize);
batchList.add(yesterdayGreenRateView);
}
}
......
......@@ -23,6 +23,8 @@
<result column="line_name" property="lineName" jdbcType="VARCHAR"/>
<result column="power_cost_actual" property="powerCostActual" jdbcType="DECIMAL"/>
<result column="power_cost_optimize" property="powerCostOptimize" jdbcType="DECIMAL"/>
<result column="city_cost_optimize" property="cityCostOptimize" jdbcType="DECIMAL"/>
<result column="city_cost_optimize" property="cityCostOptimize" jdbcType="DECIMAL"/>
</resultMap>
<sql id="Base_Column_List">
id
......@@ -46,7 +48,9 @@
green_power_rate_optimize,
line_name,
power_cost_actual,
power_cost_optimize
power_cost_optimize,
city_cost_actual,
city_cost_optimize
</sql>
<select id="selectOne" parameterType="pps.core.space.entity.SpaceYesterdayGreenRateView" resultMap="BaseResultMap">
select
......@@ -67,7 +71,8 @@
INSERT INTO space_yesterday_green_rate (id, create_by_id, create_by_name, create_time, modify_by_id,
modify_by_name, modify_time, wellhead_id, well_number, record_date, start_seq, well_total_power_actual,
well_total_power_optimize, well_green_power_actual, well_green_power_optimize, green_power_rate_actual,
green_power_rate_optimize, line_name, power_cost_actual, power_cost_optimize)
green_power_rate_optimize, line_name, power_cost_actual, power_cost_optimize, city_cost_actual,
city_cost_optimize)
VALUES
<foreach collection="list" item="item" separator=",">
(
......@@ -90,7 +95,9 @@
#{item.greenPowerRateOptimize},
#{item.lineName},
#{item.powerCostActual},
#{item.powerCostOptimize}
#{item.powerCostOptimize},
#{item.cityCostActual},
#{item.cityCostOptimize}
)
</foreach>
</insert>
......
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