Commit 0d753865 authored by ZWT's avatar ZWT

feat(吉林演示): 松原

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 3e55ca4e
...@@ -61,4 +61,12 @@ public class SpaceYesterdayGreenRateView extends BaseModel implements Serializab ...@@ -61,4 +61,12 @@ public class SpaceYesterdayGreenRateView extends BaseModel implements Serializab
@XText("线路名") @XText("线路名")
@TableField @TableField
private String lineName; private String lineName;
@XText("电费(优化前)")
@TableField
private BigDecimal powerCostActual;
@XText("电费(优化后)")
@TableField
private BigDecimal powerCostOptimize;
} }
...@@ -120,9 +120,6 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe ...@@ -120,9 +120,6 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
DateTime closeWellTime; DateTime closeWellTime;
for (Map.Entry<String, Map<Integer, Map<Integer, List<SpaceOptimizeShortDurationView>>>> lineEntry : durationCollect.entrySet()) { for (Map.Entry<String, Map<Integer, Map<Integer, List<SpaceOptimizeShortDurationView>>>> lineEntry : durationCollect.entrySet()) {
String lineName = lineEntry.getKey(); String lineName = lineEntry.getKey();
// if (!lineName.equals("扶余东+8-28平台")) {
// continue;
// }
//初始化轴 //初始化轴
Map<DateTime, SpaceOptimizeWeight> activeWeightMap = this.obtainTimeline(strategyList, rangeToList, activeMap.getOrDefault(lineName, Collections.emptyMap())); Map<DateTime, SpaceOptimizeWeight> activeWeightMap = this.obtainTimeline(strategyList, rangeToList, activeMap.getOrDefault(lineName, Collections.emptyMap()));
Map<DateTime, SpaceOptimizeWeight> predictionWeightMap = this.obtainTimeline(strategyList, rangeToList, predictionMap.getOrDefault(lineName, Collections.emptyMap())); Map<DateTime, SpaceOptimizeWeight> predictionWeightMap = this.obtainTimeline(strategyList, rangeToList, predictionMap.getOrDefault(lineName, Collections.emptyMap()));
...@@ -140,6 +137,8 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe ...@@ -140,6 +137,8 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
BigDecimal wellGreenPowerOptimize = BigDecimal.ZERO; BigDecimal wellGreenPowerOptimize = BigDecimal.ZERO;
BigDecimal runHourActual = BigDecimal.ZERO; BigDecimal runHourActual = BigDecimal.ZERO;
BigDecimal runHourOptimize = BigDecimal.ZERO; BigDecimal runHourOptimize = BigDecimal.ZERO;
BigDecimal powerCostActual = BigDecimal.ZERO;
BigDecimal powerCostOptimize = BigDecimal.ZERO;
durationTemp = unOptimizeList.get(0); durationTemp = unOptimizeList.get(0);
//累加运行功率 //累加运行功率
BigDecimal serviceRating = ObjectUtil.defaultIfNull(durationTemp.getServiceRating(), BigDecimal.ZERO); BigDecimal serviceRating = ObjectUtil.defaultIfNull(durationTemp.getServiceRating(), BigDecimal.ZERO);
...@@ -149,6 +148,7 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe ...@@ -149,6 +148,7 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
boolean optimizeListFlag = CollUtil.isNotEmpty(optimizeList); boolean optimizeListFlag = CollUtil.isNotEmpty(optimizeList);
int unOptimizeIndex = 0; int unOptimizeIndex = 0;
int optimizeIndex = 0; int optimizeIndex = 0;
boolean greenFlag = false;
//计算优化前后功率 //计算优化前后功率
for (DateTime dateTime : rangeToList) { for (DateTime dateTime : rangeToList) {
//计算实际 //计算实际
...@@ -163,6 +163,7 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe ...@@ -163,6 +163,7 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
if (activePower.compareTo(BigDecimal.ZERO) <= 0) { if (activePower.compareTo(BigDecimal.ZERO) <= 0) {
//不管 //不管
} else if (activePower.compareTo(serviceRating) >= 0) { } else if (activePower.compareTo(serviceRating) >= 0) {
greenFlag = true;
//光伏发电功率大于运行负荷: 该时段光伏用电量量=运行负荷*0.5 //光伏发电功率大于运行负荷: 该时段光伏用电量量=运行负荷*0.5
wellGreenPowerActual = wellGreenPowerActual.add(serviceRating.multiply(BusinessConstant.BIG_DECIMAL_0_5)); wellGreenPowerActual = wellGreenPowerActual.add(serviceRating.multiply(BusinessConstant.BIG_DECIMAL_0_5));
activeWeightMap.get(dateTime).setPower(activePower.subtract(serviceRating)); activeWeightMap.get(dateTime).setPower(activePower.subtract(serviceRating));
...@@ -177,6 +178,14 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe ...@@ -177,6 +178,14 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
} }
//累加开井时长 //累加开井时长
runHourActual = runHourActual.add(BusinessConstant.BIG_DECIMAL_0_5); runHourActual = runHourActual.add(BusinessConstant.BIG_DECIMAL_0_5);
//计算电费
if (greenFlag) {
//绿电电费
powerCostActual = powerCostActual.add(BusinessConstant.BIG_DECIMAL_0_3587.multiply(BusinessConstant.BIG_DECIMAL_0_5));
} else {
//市电峰谷电费
powerCostActual = powerCostActual.add(optimizeWeight.getElectricityPrice().multiply(BusinessConstant.BIG_DECIMAL_0_5));
}
} else if (DateUtil.compare(dateTime, closeWellTime) >= 0) { } else if (DateUtil.compare(dateTime, closeWellTime) >= 0) {
unOptimizeIndex++; unOptimizeIndex++;
} }
...@@ -184,6 +193,7 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe ...@@ -184,6 +193,7 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
unOptimizeIndex = unOptimizeList.size() - 1; unOptimizeIndex = unOptimizeList.size() - 1;
} }
/*--------------------------------------------------*/ /*--------------------------------------------------*/
greenFlag = false;
if (optimizeListFlag) { if (optimizeListFlag) {
SpaceOptimizeWeight predictionWeight = predictionWeightMap.get(dateTime); SpaceOptimizeWeight predictionWeight = predictionWeightMap.get(dateTime);
BigDecimal predictionPower = predictionWeight.getPower(); BigDecimal predictionPower = predictionWeight.getPower();
...@@ -196,6 +206,7 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe ...@@ -196,6 +206,7 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
if (predictionPower.compareTo(BigDecimal.ZERO) <= 0) { if (predictionPower.compareTo(BigDecimal.ZERO) <= 0) {
//不管 //不管
} else if (predictionPower.compareTo(sumServiceRating) >= 0) { } else if (predictionPower.compareTo(sumServiceRating) >= 0) {
greenFlag = true;
//光伏发电功率大于运行负荷: 该时段光伏用电量量=运行负荷*0.5 //光伏发电功率大于运行负荷: 该时段光伏用电量量=运行负荷*0.5
wellGreenPowerOptimize = wellGreenPowerOptimize.add(serviceRating.multiply(BusinessConstant.BIG_DECIMAL_0_5)); wellGreenPowerOptimize = wellGreenPowerOptimize.add(serviceRating.multiply(BusinessConstant.BIG_DECIMAL_0_5));
predictionWeightMap.get(dateTime).setPower(predictionPower.subtract(serviceRating)); predictionWeightMap.get(dateTime).setPower(predictionPower.subtract(serviceRating));
...@@ -210,6 +221,14 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe ...@@ -210,6 +221,14 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
} }
//累加开井时长 //累加开井时长
runHourOptimize = runHourOptimize.add(BusinessConstant.BIG_DECIMAL_0_5); runHourOptimize = runHourOptimize.add(BusinessConstant.BIG_DECIMAL_0_5);
//计算电费
if (greenFlag) {
//绿电电费
powerCostOptimize = powerCostOptimize.add(BusinessConstant.BIG_DECIMAL_0_3587.multiply(BusinessConstant.BIG_DECIMAL_0_5));
} else {
//市电峰谷电费
powerCostOptimize = powerCostOptimize.add(optimizeWeight.getElectricityPrice().multiply(BusinessConstant.BIG_DECIMAL_0_5));
}
} else if (DateUtil.compare(dateTime, closeWellTime) >= 0) { } else if (DateUtil.compare(dateTime, closeWellTime) >= 0) {
optimizeIndex++; optimizeIndex++;
} }
...@@ -234,6 +253,8 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe ...@@ -234,6 +253,8 @@ public class SpaceYesterdayGreenRateCloudServiceImpl extends SpaceOptimizeBaseSe
yesterdayGreenRateView.setGreenPowerRateActual(BaseUtils.getRate(wellGreenPowerActual, wellTotalPowerActual)); yesterdayGreenRateView.setGreenPowerRateActual(BaseUtils.getRate(wellGreenPowerActual, wellTotalPowerActual));
yesterdayGreenRateView.setGreenPowerRateOptimize(BaseUtils.getRate(wellGreenPowerOptimize, wellTotalPowerOptimize)); yesterdayGreenRateView.setGreenPowerRateOptimize(BaseUtils.getRate(wellGreenPowerOptimize, wellTotalPowerOptimize));
yesterdayGreenRateView.setLineName(lineName); yesterdayGreenRateView.setLineName(lineName);
yesterdayGreenRateView.setPowerCostActual(powerCostActual);
yesterdayGreenRateView.setPowerCostOptimize(powerCostOptimize);
batchList.add(yesterdayGreenRateView); batchList.add(yesterdayGreenRateView);
} }
} }
......
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
<result column="green_power_rate_actual" property="greenPowerRateActual" jdbcType="DECIMAL"/> <result column="green_power_rate_actual" property="greenPowerRateActual" jdbcType="DECIMAL"/>
<result column="green_power_rate_optimize" property="greenPowerRateOptimize" jdbcType="DECIMAL"/> <result column="green_power_rate_optimize" property="greenPowerRateOptimize" jdbcType="DECIMAL"/>
<result column="line_name" property="lineName" jdbcType="VARCHAR"/> <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"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id id
...@@ -42,7 +44,9 @@ ...@@ -42,7 +44,9 @@
well_green_power_optimize, well_green_power_optimize,
green_power_rate_actual, green_power_rate_actual,
green_power_rate_optimize, green_power_rate_optimize,
line_name line_name,
power_cost_actual,
power_cost_optimize
</sql> </sql>
<select id="selectOne" parameterType="pps.core.space.entity.SpaceYesterdayGreenRateView" resultMap="BaseResultMap"> <select id="selectOne" parameterType="pps.core.space.entity.SpaceYesterdayGreenRateView" resultMap="BaseResultMap">
select select
...@@ -63,7 +67,7 @@ ...@@ -63,7 +67,7 @@
INSERT INTO space_yesterday_green_rate (id, create_by_id, create_by_name, create_time, modify_by_id, 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, 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, well_total_power_optimize, well_green_power_actual, well_green_power_optimize, green_power_rate_actual,
green_power_rate_optimize, line_name) green_power_rate_optimize, line_name, power_cost_actual, power_cost_optimize)
VALUES VALUES
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
( (
...@@ -84,7 +88,9 @@ ...@@ -84,7 +88,9 @@
#{item.wellGreenPowerOptimize}, #{item.wellGreenPowerOptimize},
#{item.greenPowerRateActual}, #{item.greenPowerRateActual},
#{item.greenPowerRateOptimize}, #{item.greenPowerRateOptimize},
#{item.lineName} #{item.lineName},
#{item.powerCostActual},
#{item.powerCostOptimize}
) )
</foreach> </foreach>
</insert> </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