Commit 861e9db3 authored by ZWT's avatar ZWT

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

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 89ebd708
package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.space.entity.SpaceInstitutionDetailEnt;
import pps.core.space.enums.BusinessError;
import pps.core.space.mapper.SpaceInstitutionDetailMapper;
import xstartup.base.XContext;
import xstartup.base.exception.XServiceException;
import java.util.List;
/**
* 间开优化公用方法
*
* @author ZWT
* @date 2023/09/18 16:02
*/
public class SpaceOptimizeBaseService {
/**
* 获得生效中的基础间开
*
* @param context 上下文
* @param sameDay 同一天
* @return {@link List}<{@link SpaceInstitutionDetailEnt}>
*/
public 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)
);
if (CollUtil.isEmpty(detailEntList)) {
//未发现可优化基础间开制度
throw new XServiceException(BusinessError.DidNotFindSpace);
}
return detailEntList;
}
public void getWellheadAndPlant(XContext context) {
}
}
...@@ -36,7 +36,7 @@ import java.util.stream.Collectors; ...@@ -36,7 +36,7 @@ import java.util.stream.Collectors;
* @date 2023/09/13 14:14 * @date 2023/09/13 14:14
*/ */
@XService @XService
public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongCloudService { public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService implements ISpaceOptimizeLongCloudService {
/** /**
* 长期间开优化Cloud模块--定时任务 * 长期间开优化Cloud模块--定时任务
...@@ -49,11 +49,7 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou ...@@ -49,11 +49,7 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou
//取当前时间 //取当前时间
DateTime date = DateUtil.date(); DateTime date = DateUtil.date();
//取生效中的基础间开 //取生效中的基础间开
List<SpaceInstitutionDetailEnt> detailEntList = ServiceUtil.getEffectiveSpaceInstitution(context, date.toString("yyyy-MM-dd")); List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, date.toString("yyyy-MM-dd"));
if (CollUtil.isEmpty(detailEntList)) {
//未发现可优化基础间开制度
return XServiceResult.error(context, BusinessError.DidNotFindSpace);
}
Set<String> lineIds = new HashSet<>(32); Set<String> lineIds = new HashSet<>(32);
Set<String> institutionIds = new HashSet<>(32); Set<String> institutionIds = new HashSet<>(32);
for (SpaceInstitutionDetailEnt spaceInstitutionDetailEnt : detailEntList) { for (SpaceInstitutionDetailEnt spaceInstitutionDetailEnt : detailEntList) {
......
...@@ -37,7 +37,7 @@ import java.util.stream.Collectors; ...@@ -37,7 +37,7 @@ import java.util.stream.Collectors;
* @date 2023/09/18 14:14 * @date 2023/09/18 14:14
*/ */
@XService @XService
public class SpaceOptimizeMidCloudServiceImpl implements ISpaceOptimizeMidCloudService { public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService implements ISpaceOptimizeMidCloudService {
/** /**
* 中短期间开优化Cloud模块--定时任务 * 中短期间开优化Cloud模块--定时任务
...@@ -51,11 +51,7 @@ public class SpaceOptimizeMidCloudServiceImpl implements ISpaceOptimizeMidCloudS ...@@ -51,11 +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");
//取生效中的基础间开 //取生效中的基础间开
List<SpaceInstitutionDetailEnt> detailEntList = ServiceUtil.getEffectiveSpaceInstitution(context, startWeek); List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, startWeek);
if (CollUtil.isEmpty(detailEntList)) {
//未发现可优化基础间开制度
return XServiceResult.error(context, BusinessError.DidNotFindSpace);
}
Set<String> lineIds = new HashSet<>(32); Set<String> lineIds = new HashSet<>(32);
Set<String> institutionIds = new HashSet<>(32); Set<String> institutionIds = new HashSet<>(32);
for (SpaceInstitutionDetailEnt spaceInstitutionDetailEnt : detailEntList) { for (SpaceInstitutionDetailEnt spaceInstitutionDetailEnt : detailEntList) {
......
...@@ -3,7 +3,6 @@ package pps.core.space.utils; ...@@ -3,7 +3,6 @@ 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;
...@@ -25,10 +24,7 @@ import pps.cloud.system.service.SysOrganizationCloudService; ...@@ -25,10 +24,7 @@ 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;
...@@ -219,24 +215,7 @@ public class ServiceUtil { ...@@ -219,24 +215,7 @@ 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;
}
/** /**
* 获取优化日期列表 * 获取优化日期列表
......
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