Commit ab00b5a4 authored by ZWT's avatar ZWT

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

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent ac9882b9
...@@ -9,6 +9,7 @@ import pps.core.common.entity.BaseModel; ...@@ -9,6 +9,7 @@ import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -80,4 +81,16 @@ public class SpaceOptimizeShortDurationView extends BaseModel implements Seriali ...@@ -80,4 +81,16 @@ public class SpaceOptimizeShortDurationView extends BaseModel implements Seriali
@XText("查询时间") @XText("查询时间")
@TableField(exist = false) @TableField(exist = false)
private Date queryDate; private Date queryDate;
@XText("井组名称")
@TableField(exist = false)
private String lineName;
@XText("运行功率")
@TableField(exist = false)
private BigDecimal serviceRating;
@XText("启动顺序")
@TableField(exist = false)
private Integer startSeq;
} }
...@@ -30,4 +30,12 @@ public interface SpaceOptimizeShortDurationViewMapper { ...@@ -30,4 +30,12 @@ public interface SpaceOptimizeShortDurationViewMapper {
* @return {@link List}<{@link SpaceOptimizeShortDurationView}> * @return {@link List}<{@link SpaceOptimizeShortDurationView}>
*/ */
List<SpaceOptimizeShortDurationView> selectDailySystemDisplay(SpaceOptimizeShortDurationView record); List<SpaceOptimizeShortDurationView> selectDailySystemDisplay(SpaceOptimizeShortDurationView record);
/**
* 优化结果列表
*
* @param record 记录
* @return {@link List }<{@link SpaceOptimizeShortDurationView }>
*/
List<SpaceOptimizeShortDurationView> selectOptimizationResultList(SpaceOptimizeShortDurationView record);
} }
package pps.core.space.service; package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
...@@ -8,12 +9,16 @@ import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerI ...@@ -8,12 +9,16 @@ import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerI
import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerOutput; import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerOutput;
import pps.cloud.space.service.IDailyElectricityTrendCloudService; import pps.cloud.space.service.IDailyElectricityTrendCloudService;
import pps.core.common.constant.BusinessConstant; import pps.core.common.constant.BusinessConstant;
import pps.core.space.entity.SpaceOptimizeShortDurationView;
import pps.core.space.mapper.SpaceOptimizeShortDurationViewMapper;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.data.XListResult; import xstartup.data.XListResult;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 日用电趋势计算Cloud模块 * 日用电趋势计算Cloud模块
...@@ -28,7 +33,7 @@ public class DailyElectricityTrendCloudServiceImpl extends SpaceOptimizeBaseServ ...@@ -28,7 +33,7 @@ public class DailyElectricityTrendCloudServiceImpl extends SpaceOptimizeBaseServ
* 日用电趋势计算 * 日用电趋势计算
* <p> * <p>
* (1)取昨日极短期间开优化结果 * (1)取昨日极短期间开优化结果
* (2)绿电阶段开井时间:每15分钟判段光伏出力>运行功率(考虑开井顺序) 并且当前时段开井,则算坐开井时段(0.25小时),全天累加 * (2)绿电阶段开井时间:每15分钟判段光伏出力>运行功率(考虑开井顺序,功率累加) 并且当前时段开井,则算坐开井时段(0.25小时),全天累加
* (3)单井绿电用电:运行功率*绿电阶段开井时间 * (3)单井绿电用电:运行功率*绿电阶段开井时间
* (4)市电用电:总用电-光伏用电 * (4)市电用电:总用电-光伏用电
* *
...@@ -44,9 +49,23 @@ public class DailyElectricityTrendCloudServiceImpl extends SpaceOptimizeBaseServ ...@@ -44,9 +49,23 @@ public class DailyElectricityTrendCloudServiceImpl extends SpaceOptimizeBaseServ
.createDate(yesterday) .createDate(yesterday)
.build()); .build());
result.throwIfFail(); result.throwIfFail();
List<GetThirdActivePowerOutput> list = result.getResult(); List<GetThirdActivePowerOutput> powerList = result.getResult();
if (CollUtil.isEmpty(powerList)) {
return XServiceResult.OK;
}
//查昨日间开优化结果 //查昨日间开优化结果
SpaceOptimizeShortDurationViewMapper shortMapper = context.getBean(SpaceOptimizeShortDurationViewMapper.class);
List<SpaceOptimizeShortDurationView> durationList = shortMapper.selectOptimizationResultList(SpaceOptimizeShortDurationView.builder()
.optimizeDate(yesterday)
.build());
if (CollUtil.isEmpty(durationList)) {
return XServiceResult.OK;
}
//转map
Map<String, List<GetThirdActivePowerOutput>> powerMap = powerList.stream()
.collect(Collectors.groupingBy(GetThirdActivePowerOutput::getStationName));
Map<String, List<SpaceOptimizeShortDurationView>> lineMap = durationList.stream()
.collect(Collectors.groupingBy(SpaceOptimizeShortDurationView::getLineName));
List<DateTime> rangeToList = DateUtil.rangeToList(BusinessConstant.DATE_FLAG_BEGIN, BusinessConstant.DATE_FLAG, DateField.MINUTE, 15); List<DateTime> rangeToList = DateUtil.rangeToList(BusinessConstant.DATE_FLAG_BEGIN, BusinessConstant.DATE_FLAG, DateField.MINUTE, 15);
return null; return null;
......
...@@ -80,6 +80,9 @@ ...@@ -80,6 +80,9 @@
<result column="ou_name" property="ouName" jdbcType="VARCHAR"/> <result column="ou_name" property="ouName" jdbcType="VARCHAR"/>
<result column="well_number" property="wellNumber" jdbcType="VARCHAR"/> <result column="well_number" property="wellNumber" jdbcType="VARCHAR"/>
<result column="interval_describe" property="intervalDescribe" jdbcType="VARCHAR"/> <result column="interval_describe" property="intervalDescribe" jdbcType="VARCHAR"/>
<result column="line_name" property="lineName" jdbcType="VARCHAR"/>
<result column="service_rating" property="serviceRating" jdbcType="DECIMAL"/>
<result column="start_seq" property="startSeq" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<select id="selectDailySystemDisplay" resultMap="ExtendsResultMap" <select id="selectDailySystemDisplay" resultMap="ExtendsResultMap"
...@@ -113,4 +116,26 @@ ...@@ -113,4 +116,26 @@
WHERE WHERE
rn = 1 rn = 1
</select> </select>
<select id="selectOptimizationResultList" resultMap="ExtendsResultMap"
parameterType="pps.core.space.entity.SpaceOptimizeShortDurationView">
SELECT p.line_id,
l.line_name,
s.well_number,
s.wellhead_id,
w.service_rating,
s.start_seq,
d.open_well_time,
d.close_well_time
FROM space_optimize_short_period p
JOIN space_optimize_short_wellhead s ON p.id = s.short_period_id
JOIN space_optimize_short_duration d ON s.wellhead_id = d.wellhead_id
AND s.optimize_date = d.optimize_date
LEFT JOIN base_wellhead w ON s.wellhead_id = w.id
LEFT JOIN base_power_line l ON p.line_id = l.id
WHERE p.optimize_date = #{optimizeDate}
AND d.is_optimize = 0
ORDER BY p.line_id,
s.start_seq
</select>
</mapper> </mapper>
\ No newline at end of file
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