Commit 752474b7 authored by ZWT's avatar ZWT

feat(零碳): 长庆演示系统新增功能

1.修改第三方日累计数据推送表表结构,增加日累计储能放电量字段,同时修改代码对应实体及mapper文件,修改相关接口增加储能日累计放电量接收逻辑;
2.修改首页井场收益分析模块接口,修改获取储能累计放电量逻辑;
3.设计并创建井口日用电趋势表,生成对应实体类及mapper文件;
4.统计分析模块,新增本月累计节电经济效益查询接口,添加线上接口文档并完成接口冒烟测试;
5.统计分析模块,新增本月累计减碳量查询接口,添加线上接口文档并完成接口冒烟测试;
6.统计分析模块,新增光伏发电趋势查询接口,添加线上接口文档并完成接口冒烟测试;
7.统计分析模块,新增月度总览查询接口,添加线上接口文档并完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 679782c7
package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import pps.cloud.space.service.ISpaceOptimizeShortCloudService;
import pps.cloud.space.service.data.space_optimize_short_wellhead.GetMonthlyWellCountInput;
import pps.cloud.space.service.data.space_optimize_short_wellhead.GetMonthlyWellCountOutput;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.utils.BaseUtils;
import pps.core.space.entity.SpaceOptimizeDurationDTO;
import pps.core.space.entity.SpaceOptimizePeriodDTO;
import pps.core.space.entity.SpaceOptimizeShortWellheadEnt;
import pps.core.space.entity.SpaceOptimizeWellheadDTO;
import pps.core.space.mapper.SpaceOptimizeShortWellheadMapper;
import pps.core.space.mapper.SpaceOptimizeViewMapper;
import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.data.XServiceResult;
import xstartup.data.XSingleResult;
import xstartup.helper.XTransactionHelper;
import java.util.ArrayList;
import java.util.List;
/**
* 极短期间开优化Cloud模块
......@@ -28,58 +39,62 @@ public class SpaceOptimizeShortCloudServiceImpl extends SpaceOptimizeBaseService
*/
@Override
public XServiceResult optimizeShortJob(XContext context) {
SpaceOptimizeShortPeriodService bean = context.getBean(SpaceOptimizeShortPeriodService.class);
bean.dynamicOptimize(context);
// List<SpaceOptimizePeriodDTO> periodDTOList = new ArrayList<>(32);
// List<SpaceOptimizeWellheadDTO> wellheadDTOList = new ArrayList<>(64);
// List<SpaceOptimizeDurationDTO> durationDTOList = new ArrayList<>(128);
// List<SpaceOptimizeDurationDTO> unOptimizeDurationList = new ArrayList<>(128);
// super.doOptimize(context, periodDTOList, wellheadDTOList, durationDTOList, unOptimizeDurationList, BusinessConstant.ONE, BusinessConstant.THREE, 1);
// //开启事务
// return XTransactionHelper.begin(context, () -> {
// int size;
// SpaceOptimizeViewMapper optimizeViewMapper = context.getBean(SpaceOptimizeViewMapper.class);
// if (CollUtil.isNotEmpty(periodDTOList)) {
// size = periodDTOList.size();
// if (size > BaseUtils.BATCH_SIZE) {
// List<List<SpaceOptimizePeriodDTO>> subList = BaseUtils.getSubList(periodDTOList);
// subList.forEach(optimizeViewMapper::shortPeriodBatchInsertList);
// } else {
// optimizeViewMapper.shortPeriodBatchInsertList(periodDTOList);
// }
// }
// if (CollUtil.isNotEmpty(wellheadDTOList)) {
// size = wellheadDTOList.size();
// if (size > BaseUtils.BATCH_SIZE) {
// List<List<SpaceOptimizeWellheadDTO>> subList = BaseUtils.getSubList(wellheadDTOList);
// subList.forEach(optimizeViewMapper::shortWellheadBatchInsertList);
// } else {
// optimizeViewMapper.shortWellheadBatchInsertList(wellheadDTOList);
// }
// }
// if (CollUtil.isNotEmpty(unOptimizeDurationList)) {
// size = unOptimizeDurationList.size();
// if (size > BaseUtils.BATCH_SIZE) {
// List<List<SpaceOptimizeDurationDTO>> subList = BaseUtils.getSubList(unOptimizeDurationList);
// subList.forEach(optimizeViewMapper::shortDurationBatchInsertList);
// } else {
// optimizeViewMapper.shortDurationBatchInsertList(unOptimizeDurationList);
// }
// }
// if (CollUtil.isNotEmpty(durationDTOList)) {
// size = durationDTOList.size();
// if (size > BaseUtils.BATCH_SIZE) {
// List<List<SpaceOptimizeDurationDTO>> subList = BaseUtils.getSubList(durationDTOList);
// subList.forEach(optimizeViewMapper::shortDurationBatchInsertList);
// } else {
// optimizeViewMapper.shortDurationBatchInsertList(durationDTOList);
// }
// }
// return XServiceResult.OK;
// });
return XServiceResult.OK;
List<SpaceOptimizePeriodDTO> periodDTOList = new ArrayList<>(32);
List<SpaceOptimizeWellheadDTO> wellheadDTOList = new ArrayList<>(64);
List<SpaceOptimizeDurationDTO> durationDTOList = new ArrayList<>(128);
List<SpaceOptimizeDurationDTO> unOptimizeDurationList = new ArrayList<>(128);
super.dynamicOptimize(context, periodDTOList, wellheadDTOList, durationDTOList, unOptimizeDurationList, BusinessConstant.ONE, BusinessConstant.THREE, 1);
//开启事务
return XTransactionHelper.begin(context, () -> {
int size;
SpaceOptimizeViewMapper optimizeViewMapper = context.getBean(SpaceOptimizeViewMapper.class);
if (CollUtil.isNotEmpty(periodDTOList)) {
size = periodDTOList.size();
if (size > BaseUtils.BATCH_SIZE) {
List<List<SpaceOptimizePeriodDTO>> subList = BaseUtils.getSubList(periodDTOList);
subList.forEach(optimizeViewMapper::shortPeriodBatchInsertList);
} else {
optimizeViewMapper.shortPeriodBatchInsertList(periodDTOList);
}
}
if (CollUtil.isNotEmpty(wellheadDTOList)) {
size = wellheadDTOList.size();
if (size > BaseUtils.BATCH_SIZE) {
List<List<SpaceOptimizeWellheadDTO>> subList = BaseUtils.getSubList(wellheadDTOList);
subList.forEach(optimizeViewMapper::shortWellheadBatchInsertList);
} else {
optimizeViewMapper.shortWellheadBatchInsertList(wellheadDTOList);
}
}
if (CollUtil.isNotEmpty(unOptimizeDurationList)) {
size = unOptimizeDurationList.size();
if (size > BaseUtils.BATCH_SIZE) {
List<List<SpaceOptimizeDurationDTO>> subList = BaseUtils.getSubList(unOptimizeDurationList);
subList.forEach(optimizeViewMapper::shortDurationBatchInsertList);
} else {
optimizeViewMapper.shortDurationBatchInsertList(unOptimizeDurationList);
}
}
if (CollUtil.isNotEmpty(durationDTOList)) {
size = durationDTOList.size();
if (size > BaseUtils.BATCH_SIZE) {
List<List<SpaceOptimizeDurationDTO>> subList = BaseUtils.getSubList(durationDTOList);
subList.forEach(optimizeViewMapper::shortDurationBatchInsertList);
} else {
optimizeViewMapper.shortDurationBatchInsertList(durationDTOList);
}
}
return XServiceResult.OK;
});
}
/**
* 月度井口统计
*
* @param context 上下文
* @param input 输入
* @return {@link XSingleResult }<{@link GetMonthlyWellCountOutput }>
*/
@Override
public XSingleResult<GetMonthlyWellCountOutput> monthlyWellCount(XContext context, GetMonthlyWellCountInput input) {
SpaceOptimizeShortWellheadMapper mapper = context.getBean(SpaceOptimizeShortWellheadMapper.class);
......
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