Commit 89ebd708 authored by ZWT's avatar ZWT

feat(能源管理系统): 间开优化定时任务

1.开发间开优化长期间开优化定时任务,完成并网流程绿电消纳优先策略;
2.开发间开优化长期间开优化定时任务,完成并网流程消峰平谷策略;
3.开发间开优化中短期间开优化定时任务,创建定时任务并添加配置;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent ad59607a
......@@ -46,13 +46,10 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou
*/
@Override
public XServiceResult optimizeLongJob(XContext context) {
//取当前时间
DateTime date = DateUtil.date();
//取生效中的基础间开
SpaceInstitutionDetailMapper detailMapper = context.getBean(SpaceInstitutionDetailMapper.class);
List<SpaceInstitutionDetailEnt> detailEntList = detailMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionDetailEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionDetailEnt::getIsCurrentBasic, BusinessConstant.ZERO)
.apply(" institution_end_date >= CURDATE() ")
);
List<SpaceInstitutionDetailEnt> detailEntList = ServiceUtil.getEffectiveSpaceInstitution(context, date.toString("yyyy-MM-dd"));
if (CollUtil.isEmpty(detailEntList)) {
//未发现可优化基础间开制度
return XServiceResult.error(context, BusinessError.DidNotFindSpace);
......@@ -77,8 +74,6 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou
//未发现可用光伏电站
return XServiceResult.error(context, BusinessError.DidNotFindPlant);
}
//取当前时间
DateTime date = DateUtil.date();
int year = date.year();
//月份要加一
int monthNum = date.month() + 1;
......
......@@ -18,7 +18,6 @@ import pps.core.common.entity.BaseModel;
import pps.core.common.utils.BaseUtils;
import pps.core.space.entity.*;
import pps.core.space.enums.BusinessError;
import pps.core.space.mapper.SpaceInstitutionDetailMapper;
import pps.core.space.mapper.SpaceInstitutionDurationMapper;
import pps.core.space.mapper.SpaceInstitutionWellheadViewMapper;
import pps.core.space.utils.ServiceUtil;
......@@ -52,13 +51,7 @@ public class SpaceOptimizeMidCloudServiceImpl implements ISpaceOptimizeMidCloudS
DateTime date = DateUtil.date();
String startWeek = date.toString("yyyy-MM-dd");
//取生效中的基础间开
SpaceInstitutionDetailMapper detailMapper = context.getBean(SpaceInstitutionDetailMapper.class);
List<SpaceInstitutionDetailEnt> detailEntList = detailMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionDetailEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionDetailEnt::getIsCurrentBasic, BusinessConstant.ZERO)
.le(SpaceInstitutionDetailEnt::getStartInterval, startWeek)
.ge(SpaceInstitutionDetailEnt::getInstitutionEndDate, startWeek)
);
List<SpaceInstitutionDetailEnt> detailEntList = ServiceUtil.getEffectiveSpaceInstitution(context, startWeek);
if (CollUtil.isEmpty(detailEntList)) {
//未发现可优化基础间开制度
return XServiceResult.error(context, BusinessError.DidNotFindSpace);
......
......@@ -3,6 +3,7 @@ package pps.core.space.utils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.lang3.StringUtils;
import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.IBasePriceStrategyCloudService;
......@@ -24,7 +25,10 @@ import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.SystemDictionaryService;
import pps.cloud.system.service.data.*;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.space.entity.SpaceInstitutionDetailEnt;
import pps.core.space.entity.SpaceInstitutionWellheadView;
import pps.core.space.mapper.SpaceInstitutionDetailMapper;
import pps.core.space.service.data.SpaceOptimizeDateDuration;
import pps.core.space.service.data.SpaceOptimizeDateOutput;
import xstartup.base.XContext;
......@@ -215,6 +219,25 @@ public class ServiceUtil {
return result.getResult();
}
/**
* 获得生效中的基础间开
*
* @param context 上下文
* @param sameDay 同一天
* @return {@link List}<{@link SpaceInstitutionDetailEnt}>
*/
public static List<SpaceInstitutionDetailEnt> getEffectiveSpaceInstitution(XContext context, String sameDay) {
//取生效中的基础间开
SpaceInstitutionDetailMapper detailMapper = context.getBean(SpaceInstitutionDetailMapper.class);
List<SpaceInstitutionDetailEnt> detailEntList = detailMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionDetailEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionDetailEnt::getIsCurrentBasic, BusinessConstant.ZERO)
.le(SpaceInstitutionDetailEnt::getInstitutionStartDate, sameDay)
.ge(SpaceInstitutionDetailEnt::getInstitutionEndDate, sameDay)
);
return detailEntList;
}
/**
* 获取优化日期列表
*
......@@ -248,7 +271,7 @@ public class ServiceUtil {
allList.add(
SpaceOptimizeDateDuration.builder()
.openWellTime("00:00")
.closeWellTime("24:00")
.closeWellTime("23:59")
.isOpen(0)
.build()
);
......@@ -292,11 +315,11 @@ public class ServiceUtil {
}
if (i == last) {
//如果结束时间不是24:00开始,初始化最终关井时间
if (!StringUtils.equals("24:00", closeWellTime)) {
if (!StringUtils.equals("23:59", closeWellTime)) {
allList.add(
SpaceOptimizeDateDuration.builder()
.openWellTime(closeWellTime)
.closeWellTime("24:00")
.closeWellTime("23:59")
.isOpen(0)
.build()
);
......
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