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