Commit f1719057 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.长庆演示首页功能开发,新增采油厂统计信息查询接口,添加线上接口并完成接口冒烟测试;
2.长庆演示首页功能开发,新增线路图查询接口,添加线上接口并完成接口冒烟测试;
3.长庆演示首页功能开发,新增线路详情查询接口,添加线上接口并完成接口冒烟测试;
4.对接第三方接口,完成获取井场日累计数据接口调用,创建数据表,同时生成对应代码,开发定时任务及对外接口,完成第三方数据接入及系统展示功能,添加线上接口文档并完成接口及定时任务冒烟测试;
5.对接第三方接口,完成获取第三方单井平均有功功率接口调用,创建数据表,同时生成对应代码,开发定时任务及对外接口,完成第三方数据接入及系统展示功能,添加线上接口文档并完成接口及定时任务冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 203cbc92
......@@ -10,6 +10,7 @@ import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 第三方有功功率
......@@ -57,4 +58,16 @@ public class ThirdActivePowerView implements Serializable {
@XText("小时")
@TableField(exist = false)
private Integer saveHour;
@XText("电站名称列表")
@TableField(exist = false)
private List<String> stationNames;
@XText("开始时间")
@TableField(exist = false)
private Date startTime;
@XText("结束时间")
@TableField(exist = false)
private Date endTime;
}
......@@ -33,4 +33,12 @@ public interface ThirdActivePowerViewMapper {
* @return {@link List}<{@link ThirdActivePowerView}>
*/
List<ThirdActivePowerView> selectEnergyUseCurve(ThirdActivePowerView record);
/**
* 每小时发电功率
*
* @param record 记录
* @return {@link List}<{@link ThirdActivePowerView}>
*/
List<ThirdActivePowerView> selectGeneratedPowerHour(ThirdActivePowerView record);
}
......@@ -44,6 +44,7 @@ import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.data.XSingleResult;
import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
import java.math.BigDecimal;
......@@ -210,6 +211,7 @@ public class HomePageService {
* @param input 输入
* @return {@link XListResult}<{@link DynamicQueryEnergyConsumptionAnalysisViewOutput}>
*/
@XApiAnonymous
@XText("首页模块--用能分析")
@XApiGet
public XListResult<GetPowerAnalyseOutput> getPowerAnalyse(XContext context, GetStationViewInput input) {
......@@ -234,17 +236,15 @@ public class HomePageService {
//查组织下所有电站
List<GetBasePhotovoltaicPlantCloudOutput> plantList = this.getPlantList(context, stationId, null);
//发电功率
ThirdActivePowerMapper dailyUpdateMapper = context.getBean(ThirdActivePowerMapper.class);
Map<Date, BigDecimal> powerMap = dailyUpdateMapper.selectList(new QueryWrapper<ThirdActivePowerEnt>()
.select("IFNULL( AVG( photovoltaic_power ), 0 ) AS photovoltaic_power", "DATE_FORMAT( create_date, '%Y-%m-%d %H:00:00' ) AS create_date")
.lambda()
.in(ThirdActivePowerEnt::getStationName, plantList.stream()
ThirdActivePowerViewMapper dailyUpdateMapper = context.getBean(ThirdActivePowerViewMapper.class);
Map<Date, BigDecimal> powerMap = dailyUpdateMapper.selectGeneratedPowerHour(ThirdActivePowerView.builder()
.stationNames(plantList.stream()
.map(GetBasePhotovoltaicPlantCloudOutput::getStationName)
.collect(Collectors.toList()))
.between(ThirdActivePowerEnt::getCreateDate, startTime, endTime)
.last("GROUP BY DATE_FORMAT( create_date, '%Y-%m-%d %H:00:00' )")
).stream()
.collect(Collectors.toMap(ThirdActivePowerEnt::getCreateDate, ThirdActivePowerEnt::getPhotovoltaicPower));
.startTime(startTime)
.endTime(endTime)
.build()).stream()
.collect(Collectors.toMap(ThirdActivePowerView::getCreateDate, ThirdActivePowerView::getPhotovoltaicPower));
//封装结果
List<GetPowerAnalyseOutput> outputs = new ArrayList<>(7);
List<DateTime> rangeToList = DateUtil.rangeToList(startTime, endTime, DateField.HOUR_OF_DAY);
......
......@@ -5,7 +5,7 @@
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="station_name" property="stationName" jdbcType="VARCHAR"/>
<result column="station_id" property="stationId" jdbcType="VARCHAR"/>
<result column="create_date" property="createDate" jdbcType="DATE"/>
<result column="create_date" property="createDate" jdbcType="VARCHAR"/>
<result column="photovoltaic_power" property="photovoltaicPower" jdbcType="DECIMAL"/>
<result column="meter_power" property="meterPower" jdbcType="DECIMAL"/>
<result column="system_source" property="systemSource" jdbcType="VARCHAR"/>
......@@ -69,4 +69,27 @@
GROUP BY hour_str
ORDER BY hour_str
</select>
<select id="selectGeneratedPowerHour" parameterType="pps.core.prediction.entity.ThirdActivePowerView"
resultMap="ExtBaseResultMap">
SELECT SUM(photovoltaic_power) AS photovoltaic_power,
create_date
FROM (SELECT IFNULL(AVG(photovoltaic_power), 0) AS photovoltaic_power,
DATE_FORMAT(create_date, '%Y-%m-%d %H:00:00') AS create_date,
station_name
FROM third_active_power
WHERE (
<if test="stationNames != null">
station_name IN
<foreach collection="stationNames" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
AND create_date BETWEEN #{startTime}
AND #{endTime}
)
GROUP BY station_name,
DATE_FORMAT(create_date, '%Y-%m-%d %H:00:00')) z
GROUP BY create_date
</select>
</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