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