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;
* @date 2023/09/13 14:14
*/
@XService
public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongCloudService {
public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService implements ISpaceOptimizeLongCloudService {
/**
* 长期间开优化Cloud模块--定时任务
......@@ -49,11 +49,7 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou
//取当前时间
DateTime date = DateUtil.date();
//取生效中的基础间开
List<SpaceInstitutionDetailEnt> detailEntList = ServiceUtil.getEffectiveSpaceInstitution(context, date.toString("yyyy-MM-dd"));
if (CollUtil.isEmpty(detailEntList)) {
//未发现可优化基础间开制度
return XServiceResult.error(context, BusinessError.DidNotFindSpace);
}
List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, date.toString("yyyy-MM-dd"));
Set<String> lineIds = new HashSet<>(32);
Set<String> institutionIds = new HashSet<>(32);
for (SpaceInstitutionDetailEnt spaceInstitutionDetailEnt : detailEntList) {
......
......@@ -37,7 +37,7 @@ import java.util.stream.Collectors;
* @date 2023/09/18 14:14
*/
@XService
public class SpaceOptimizeMidCloudServiceImpl implements ISpaceOptimizeMidCloudService {
public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService implements ISpaceOptimizeMidCloudService {
/**
* 中短期间开优化Cloud模块--定时任务
......@@ -51,11 +51,7 @@ public class SpaceOptimizeMidCloudServiceImpl implements ISpaceOptimizeMidCloudS
DateTime date = DateUtil.date();
String startWeek = date.toString("yyyy-MM-dd");
//取生效中的基础间开
List<SpaceInstitutionDetailEnt> detailEntList = ServiceUtil.getEffectiveSpaceInstitution(context, startWeek);
if (CollUtil.isEmpty(detailEntList)) {
//未发现可优化基础间开制度
return XServiceResult.error(context, BusinessError.DidNotFindSpace);
}
List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, startWeek);
Set<String> lineIds = new HashSet<>(32);
Set<String> institutionIds = new HashSet<>(32);
for (SpaceInstitutionDetailEnt spaceInstitutionDetailEnt : detailEntList) {
......
......@@ -3,7 +3,6 @@ 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;
......@@ -25,10 +24,7 @@ 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;
......@@ -219,24 +215,7 @@ 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;
}
/**
* 获取优化日期列表
......
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