Commit 55496e85 authored by ZWT's avatar ZWT

feat(零碳): 长庆

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 45b95958
......@@ -41,7 +41,7 @@ public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService
@Override
public XServiceResult optimizeLongJob(XContext context) {
//取当前时间
DateTime date = DateUtil.date();
DateTime date = DateUtil.beginOfDay(DateTime.now());
//取生效中的基础间开
List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, date.toString(BusinessConstant.DATE_FORMAT_DAY));
SpaceOptimizeLineRelation relation = super.getOptimizeLineRelation(context, detailEntList);
......
package pps.core.prediction.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 功率预测
*
* @author ZWT
* @date 2024/03/21 17:37
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PredictedPowerView {
@XText("预测功率")
@TableField
private BigDecimal power;
@XText("创建时间")
@TableField
private Date createTime;
@XText("开始时间")
@TableField(exist = false)
private String startTime;
@XText("结束时间")
@TableField(exist = false)
private String endTime;
@XText("电站ID")
@TableField(exist = false)
private String plantId;
@XText("电站ID集合")
@TableField(exist = false)
private List<String> plantIds;
}
......@@ -5,6 +5,6 @@ import org.springframework.stereotype.Repository;
import pps.core.prediction.entity.PlantPredictedPowerMidTermEnt;
@Repository(value="pps.core.prediction.mapper.PlantPredictedPowerMidTermMapper")
@Repository(value = "pps.core.prediction.mapper.PlantPredictedPowerMidTermMapper")
public interface PlantPredictedPowerMidTermMapper extends BaseMapper<PlantPredictedPowerMidTermEnt> {
}
package pps.core.prediction.mapper;
import org.springframework.stereotype.Repository;
import pps.core.prediction.entity.PredictedPowerView;
import java.util.List;
/**
* 功率预测
*
* @author ZWT
* @date 2024/03/21 17:30
*/
@Repository(value = "pps.core.prediction.mapper.PredictedPowerViewMapper")
public interface PredictedPowerViewMapper {
/**
* 获取中期预测数据
*
* @param view 看法
* @return {@link List}<{@link PredictedPowerView}>
*/
List<PredictedPowerView> selectMidPowerList(PredictedPowerView view);
}
......@@ -16,11 +16,11 @@ 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.PlantPredictedPowerMidTermEnt;
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.PlantPredictedPowerMidTermMapper;
import pps.core.prediction.mapper.PredictedPowerViewMapper;
import pps.core.prediction.mapper.WellheadDailyProductionSituationViewMapper;
import pps.core.prediction.service.data.wellhead_daily_production_situation.WellheadDailyProductionSituationJob;
import pps.core.prediction.utils.ServiceUtil;
......@@ -67,36 +67,31 @@ public class PlantPredictedPowerCloudServiceImpl implements IPlantPredictedPower
if (CollUtil.isNotEmpty(plantIds)) {
switch (dateType) {
case 0:
PlantPredictedPowerMidTermMapper longTermDataMapper = context.getBean(PlantPredictedPowerMidTermMapper.class);
longTermDataMapper.selectList(
new QueryWrapper<PlantPredictedPowerMidTermEnt>()
.select("power",
"data_date AS create_time")
.lambda()
.eq(StringUtils.isNotBlank(plantId), PlantPredictedPowerMidTermEnt::getPlantId, plantId)
.in(PlantPredictedPowerMidTermEnt::getPlantId, plantIds)
.between(!StringUtils.isAnyBlank(startTime, endTime), PlantPredictedPowerMidTermEnt::getDataDate, startTime, endTime)
.orderByAsc(PlantPredictedPowerMidTermEnt::getDataDate)
);
PredictedPowerViewMapper mapper = context.getBean(PredictedPowerViewMapper.class);
list = mapper.selectMidPowerList(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("hour_time",
"min_time",
"IFNULL( AVG( power ), 0 ) AS power",
"data_date AS create_time")
.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)
);
// PlantPredictedPowerDataMapper mapper = context.getBean(PlantPredictedPowerDataMapper.class);
// list = mapper.selectList(
// new QueryWrapper<PlantPredictedPowerDataEnt>()
// .select("hour_time",
// "min_time",
// "IFNULL( AVG( power ), 0 ) AS power",
// "data_date AS create_time")
// .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)
// );
break;
default:
}
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pps.core.prediction.mapper.PredictedPowerViewMapper">
<resultMap id="BaseResultMap" type="pps.core.prediction.entity.PredictedPowerView">
<result column="power" property="power" jdbcType="DECIMAL"/>
<result column="create_time" property="createTime" jdbcType="DATE"/>
</resultMap>
<select id="selectMidPowerList" resultMap="BaseResultMap">
SELECT
IFNULL( AVG( a.predict_power ), 0 ) AS power,
a.create_time
FROM
(
SELECT
predict_power,
TIME( 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>
</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