Commit 31c7de35 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.邮件发送服务代码修改,修改配置文件及发送逻辑,解决邮件名称唯一性;
2.邮件接收功能修改,解决邮件接收协议修改后导致的一系列问题;
3.长期间开优化功能修改,修改定时任务处理逻辑及执行周期;
4.中期间开优化功能修改,修改定时任务处理逻辑及执行周期;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent d11ec61a
......@@ -11,7 +11,6 @@ import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrate
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.utils.BaseUtils;
import pps.core.space.entity.*;
import pps.core.space.mapper.*;
import pps.core.space.service.data.SpaceOptimizeDateDuration;
......@@ -167,14 +166,13 @@ public class SpaceOptimizeLongPeriodService extends SpaceOptimizeBaseService {
output.setWellheadList(new ArrayList<>(0));
}
//查功率预测信息
DateTime date = DateUtil.date(period.getCreateTime());
output.setPowerGenerationList(
super.getAveragePowerGenerationHourList(context, DynamicQueryPlantPredictedPowerInput.builder()
.plantIds(super.getOptimizeLineRelation(context, CollUtil.newArrayList(detailEnt))
.getPlantIdsByLineIdMap()
.get(detailEnt.getLineId()))
.yearTime(String.valueOf(date.year()))
.monthTime(BaseUtils.getMonthString(date.month() + 1))
.startTime(DateUtil.beginOfDay(period.getCreateTime()).toString())
.endTime(DateUtil.beginOfDay(period.getOptimizeDeadline()).toString())
.dateType(BusinessConstant.ZERO)
.build())
);
......
......@@ -31,6 +31,10 @@ public class PredictedPowerView {
@TableField
private Date createTime;
@XText("时")
@TableField
private String hourTime;
@XText("开始时间")
@TableField(exist = false)
private String startTime;
......
......@@ -29,4 +29,20 @@ public interface PredictedPowerViewMapper {
* @return {@link List}<{@link PredictedPowerView}>
*/
List<PredictedPowerView> selectShortPowerList(PredictedPowerView view);
/**
* 获取中期预测数据(小时)
*
* @param view 看法
* @return {@link List}<{@link PredictedPowerView}>
*/
List<PredictedPowerView> selectMidPowerHourList(PredictedPowerView view);
/**
* 获取短期预测数据(小时)
*
* @param view 看法
* @return {@link List}<{@link PredictedPowerView}>
*/
List<PredictedPowerView> selectShortPowerHourList(PredictedPowerView view);
}
......@@ -4,8 +4,6 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils;
import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
......@@ -14,12 +12,8 @@ import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQuery
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerOutput;
import pps.core.auth.HttpRequestClient;
import pps.core.prediction.constant.ThirdPartyApiConstant;
import pps.core.prediction.entity.PlantPredictedPowerDataEnt;
import pps.core.prediction.entity.PlantPredictedPowerLongTermDataEnt;
import pps.core.prediction.entity.PredictedPowerView;
import pps.core.prediction.entity.WellheadDailyProductionSituationView;
import pps.core.prediction.mapper.PlantPredictedPowerDataMapper;
import pps.core.prediction.mapper.PlantPredictedPowerLongTermDataMapper;
import pps.core.prediction.mapper.PredictedPowerViewMapper;
import pps.core.prediction.mapper.WellheadDailyProductionSituationViewMapper;
import pps.core.prediction.service.data.wellhead_daily_production_situation.WellheadDailyProductionSituationJob;
......@@ -111,38 +105,21 @@ public class PlantPredictedPowerCloudServiceImpl implements IPlantPredictedPower
Integer dateType = input.getDateType();
List list = null;
if (CollUtil.isNotEmpty(plantIds)) {
PredictedPowerViewMapper mapper = context.getBean(PredictedPowerViewMapper.class);
switch (dateType) {
case 0:
PlantPredictedPowerLongTermDataMapper longTermDataMapper = context.getBean(PlantPredictedPowerLongTermDataMapper.class);
list = longTermDataMapper.selectList(
new QueryWrapper<PlantPredictedPowerLongTermDataEnt>()
.select("CONCAT( hour_time, ':', REPLACE ( min_time, ':00', '' ) ) AS hour_time",
"IFNULL( AVG( power ), 0 ) AS power")
.lambda()
.eq(StringUtils.isNotBlank(plantId), PlantPredictedPowerLongTermDataEnt::getPlantId, plantId)
.in(PlantPredictedPowerLongTermDataEnt::getPlantId, plantIds)
.eq(StringUtils.isNotBlank(yearTime), PlantPredictedPowerLongTermDataEnt::getYearTime, yearTime)
.eq(StringUtils.isNotBlank(monthTime), PlantPredictedPowerLongTermDataEnt::getMonthTime, monthTime)
.between(!StringUtils.isAnyBlank(startTime, endTime), PlantPredictedPowerLongTermDataEnt::getDataDate, startTime, endTime)
.groupBy(PlantPredictedPowerLongTermDataEnt::getHourTime, PlantPredictedPowerLongTermDataEnt::getMinTime)
.orderByAsc(PlantPredictedPowerLongTermDataEnt::getHourTime, PlantPredictedPowerLongTermDataEnt::getMinTime)
);
list = mapper.selectMidPowerHourList(PredictedPowerView.builder()
.plantIds(plantIds)
.startTime(startTime)
.endTime(endTime)
.build());
break;
case 1:
PlantPredictedPowerDataMapper mapper = context.getBean(PlantPredictedPowerDataMapper.class);
list = mapper.selectList(
new QueryWrapper<PlantPredictedPowerDataEnt>()
.select("CONCAT( hour_time, ':', REPLACE ( min_time, ':00', '' ) ) AS hour_time",
"IFNULL( AVG( power ), 0 ) AS power")
.lambda()
.eq(StringUtils.isNotBlank(plantId), PlantPredictedPowerDataEnt::getPlantId, plantId)
.in(PlantPredictedPowerDataEnt::getPlantId, plantIds)
.eq(StringUtils.isNotBlank(yearTime), PlantPredictedPowerDataEnt::getYearTime, yearTime)
.eq(StringUtils.isNotBlank(monthTime), PlantPredictedPowerDataEnt::getMonthTime, monthTime)
.between(!StringUtils.isAnyBlank(startTime, endTime), PlantPredictedPowerDataEnt::getDataDate, startTime, endTime)
.groupBy(PlantPredictedPowerDataEnt::getHourTime, PlantPredictedPowerDataEnt::getMinTime)
.orderByAsc(PlantPredictedPowerDataEnt::getHourTime, PlantPredictedPowerDataEnt::getMinTime)
);
list = mapper.selectShortPowerHourList(PredictedPowerView.builder()
.plantIds(plantIds)
.startTime(startTime)
.endTime(endTime)
.build());
break;
default:
}
......
......@@ -4,6 +4,7 @@
<resultMap id="BaseResultMap" type="pps.core.prediction.entity.PredictedPowerView">
<result column="power" property="power" jdbcType="DECIMAL"/>
<result column="create_time" property="createTime" jdbcType="DATE"/>
<result column="hour_time" property="hourTime" jdbcType="VARCHAR"/>
</resultMap>
<select id="selectMidPowerList" resultMap="BaseResultMap">
......@@ -63,4 +64,62 @@
ORDER BY
a.create_time
</select>
<select id="selectMidPowerHourList" resultMap="BaseResultMap">
SELECT
IFNULL( AVG( a.predict_power ), 0 ) AS power,
a.create_time AS hour_time
FROM
(
SELECT
predict_power,
HOUR( data_date ) AS create_time
FROM
plant_predicted_power_mid_term
WHERE
plant_id IN
<foreach collection="plantIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="startTime != null and endTime != null">
AND
data_date BETWEEN
#{startTime} AND
#{endTime}
</if>
) a
GROUP BY
a.create_time
ORDER BY
a.create_time
</select>
<select id="selectShortPowerHourList" resultMap="BaseResultMap">
SELECT
IFNULL( AVG( a.predict_power ), 0 ) AS power,
a.create_time AS hour_time
FROM
(
SELECT
predict_power,
HOUR( data_date ) AS create_time
FROM
plant_predicted_power_short_term
WHERE
plant_id IN
<foreach collection="plantIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="startTime != null and endTime != null">
AND
data_date BETWEEN
#{startTime} AND
#{endTime}
</if>
) a
GROUP BY
a.create_time
ORDER BY
a.create_time
</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