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