Commit 9e0772a7 authored by ZWT's avatar ZWT

feat(能源管理系统): 测试问题修复

1.修改运维管理-组织机构管理模块,查询组织和线路列表接口sql查询逻辑,解决出现重复组织问题;
2.修改运维管理-组织机构管理模块,查询组织机构分页列表接口sql查询逻辑,解决出现重复组织问题;
3.修改运维管理-基础信息配置-井口配置模块,查询井口分页列表接口查询逻辑,解决添加线路页选择关联井口时查到其它机构的井口问题;
4.修改运维管理-基础信息配置-柴发设备配置模块,查询柴发设备分页列表接口查询逻辑,解决添加线路页选择关联井口时查到其它机构的井口问题;
5.修改运维管理-基础信息配置-储能设备配置模块,查询储能设备分页列表接口查询逻辑,解决添加线路页选择关联井口时查到其它机构的井口问题;
6.修改运维管理-基础信息配置-光伏电站配置模块,查询光伏电站分页列表接口查询逻辑,解决添加线路页选择关联井口时查到其它机构的井口问题;
7.修改间开制度管理模块部分mapper文件,处理返回时间类型数据丢失精度问题;
8.修改间开制度管理-短期极端天气优化模块,查询优化详情接口,重构接口查询逻辑,解决无法查询当天基础间开信息问题;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 1258f4cf
......@@ -56,6 +56,16 @@ public class BusinessConstant {
*/
public static final String STRING_ONE = "1";
/**
* 已优化
*/
public static final String OPTIMIZED_C = "已优化";
/**
* 未优化
*/
public static final String NO_OPTIMIZATION_C = "未优化";
/*------------------------------数字------------------------------*/
/**
......
......@@ -69,7 +69,7 @@ public class SpaceOptimizeLongPeriodService {
output.setLineName(lineName);
output.setOuName(ouMap.get(output.getOuId()));
output.setGridTypeName(gridTypeMap.get(output.getGridTypeKey()));
output.setOptimizeStateValue(output.getOptimizeState().equals(0) ? "已优化" : "未优化");
output.setOptimizeStateValue(output.getOptimizeState().equals(0) ? BusinessConstant.OPTIMIZED_C : BusinessConstant.NO_OPTIMIZATION_C);
});
}
return XPageResult.success(outputs, input, pageInfo.getTotal());
......
......@@ -69,7 +69,7 @@ public class SpaceOptimizeMidPeriodService {
output.setLineName(lineName);
output.setOuName(ouMap.get(output.getOuId()));
output.setGridTypeName(gridTypeMap.get(output.getGridTypeKey()));
output.setOptimizeStateValue(output.getOptimizeState().equals(0) ? "已优化" : "未优化");
output.setOptimizeStateValue(output.getOptimizeState().equals(0) ? BusinessConstant.OPTIMIZED_C : BusinessConstant.NO_OPTIMIZATION_C);
});
}
return XPageResult.success(outputs, input, pageInfo.getTotal());
......
package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.core.space.entity.SpaceInstitutionDetailEnt;
import pps.core.space.entity.SpaceOptimizeShortDurationView;
import pps.core.space.entity.SpaceOptimizeShortPeriodEnt;
import pps.core.space.entity.SpaceOptimizeShortWellheadEnt;
import pps.core.space.mapper.SpaceInstitutionDetailMapper;
import pps.core.space.mapper.SpaceOptimizeShortDurationViewMapper;
import pps.core.space.mapper.SpaceOptimizeShortPeriodMapper;
import pps.core.space.mapper.SpaceOptimizeShortWellheadMapper;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.space.entity.*;
import pps.core.space.mapper.*;
import pps.core.space.service.data.SpaceOptimizeDateDuration;
import pps.core.space.service.data.space_optimize_short_period.GetSpaceOptimizeShortPeriodViewInput;
import pps.core.space.service.data.space_optimize_short_period.GetSpaceOptimizeShortPeriodViewOutput;
......@@ -23,10 +21,7 @@ import xstartup.data.XSingleResult;
import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -51,49 +46,78 @@ public class SpaceOptimizeShortPeriodService {
@XText("短期间开优化--详情")
public XSingleResult<GetSpaceOptimizeShortPeriodViewOutput> getSpaceOptimizeShortPeriodView(XContext context, GetSpaceOptimizeShortPeriodViewInput input) {
SpaceOptimizeShortPeriodMapper mapper = context.getBean(SpaceOptimizeShortPeriodMapper.class);
//查当日记录
GetSpaceOptimizeShortPeriodViewOutput output = new GetSpaceOptimizeShortPeriodViewOutput();
SpaceInstitutionDetailMapper detailMapper = context.getBean(SpaceInstitutionDetailMapper.class);
//查询当前线路的基础制度
DateTime date = DateUtil.date();
SpaceInstitutionDetailEnt detailEnt = detailMapper.selectOne(new LambdaQueryWrapper<SpaceInstitutionDetailEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionDetailEnt::getIsCurrentBasic, BusinessConstant.ZERO)
.le(SpaceInstitutionDetailEnt::getInstitutionStartDate, date)
.ge(SpaceInstitutionDetailEnt::getInstitutionEndDate, date)
.last("LIMIT 1")
);
if (Objects.isNull(detailEnt)) {
//当前线路没有基础制度
output.setWellheadList(new ArrayList<>(0));
}
output.setGridTypeKey(detailEnt.getGridTypeKey());
//查出当前制度所有的井口
String institutionId = detailEnt.getId();
SpaceInstitutionWellheadMapper wellheadMapper = context.getBean(SpaceInstitutionWellheadMapper.class);
List<SpaceInstitutionWellheadEnt> wellheadEntList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionWellheadEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionWellheadEnt::getInstitutionId, institutionId)
.orderByAsc(BaseModel::getCreateTime)
);
if (CollUtil.isEmpty(wellheadEntList)) {
//缺少井口
output.setWellheadList(new ArrayList<>(0));
}
//查当日是否存在优化记录
SpaceOptimizeShortPeriodEnt period = mapper.selectOne(
new LambdaQueryWrapper<SpaceOptimizeShortPeriodEnt>()
.eq(SpaceOptimizeShortPeriodEnt::getLineId, input.getLineId())
.apply("DATE_FORMAT( optimize_date, '%Y-%m-%d' ) = curdate()")
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.apply("DATE_FORMAT( optimize_date, '%Y-%m-%d' ) = CURDATE()")
);
GetSpaceOptimizeShortPeriodViewOutput output = new GetSpaceOptimizeShortPeriodViewOutput();
Map<String, List<SpaceOptimizeDateDuration>> collect = new HashMap<>(0);
if (Objects.nonNull(period)) {
//查间开制度详情
SpaceInstitutionDetailMapper detailMapper = context.getBean(SpaceInstitutionDetailMapper.class);
SpaceInstitutionDetailEnt detailEnt = detailMapper.selectById(period.getInstitutionId());
output.setGridTypeKey(detailEnt.getGridTypeKey());
String shortPeriodId = period.getId();
//查井口列表
SpaceOptimizeShortWellheadMapper wellheadMapper = context.getBean(SpaceOptimizeShortWellheadMapper.class);
List<SpaceOptimizeShortWellheadEnt> wellheadList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortWellheadEnt>()
.eq(SpaceOptimizeShortWellheadEnt::getShortPeriodId, shortPeriodId)
//如果存在,查出优化过的区间
SpaceOptimizeShortDurationViewMapper durationViewMapper = context.getBean(SpaceOptimizeShortDurationViewMapper.class);
List<SpaceOptimizeShortDurationView> durationViewList = durationViewMapper.selectList(SpaceOptimizeShortDurationView.builder()
.shortPeriodId(period.getId())
.build()
);
if (CollUtil.isNotEmpty(wellheadList)) {
List<GetSpaceOptimizeShortWellheadViewOutput> wellheadViewOutputs = XCopyUtils.copyNewList(wellheadList, GetSpaceOptimizeShortWellheadViewOutput.class);
//查井口间隔配置
SpaceOptimizeShortDurationViewMapper durationViewMapper = context.getBean(SpaceOptimizeShortDurationViewMapper.class);
List<SpaceOptimizeShortDurationView> durationViewList = durationViewMapper.selectList(SpaceOptimizeShortDurationView.builder()
.shortPeriodId(shortPeriodId)
.build()
);
if (CollUtil.isNotEmpty(durationViewList)) {
Map<String, List<SpaceOptimizeDateDuration>> collect = XCopyUtils.copyNewList(durationViewList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
wellheadViewOutputs.forEach(w -> {
if (collect.containsKey(w.getWellheadId())) {
w.setDurationList(ServiceUtil.getAllDateDuration(collect.get(w.getWellheadId())));
} else {
w.setDurationList(new ArrayList<>(0));
}
});
}
output.setWellheadList(wellheadViewOutputs);
if (CollUtil.isNotEmpty(durationViewList)) {
collect = XCopyUtils.copyNewList(durationViewList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
}
} else {
output.setWellheadList(new ArrayList<>(0));
//如果没有,查初始区间
SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class);
List<SpaceInstitutionDurationEnt> durationEntList = durationMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionDurationEnt::getInstitutionId, institutionId)
.orderByAsc(BaseModel::getCreateTime)
);
if (CollUtil.isNotEmpty(durationEntList)) {
collect = XCopyUtils.copyNewList(durationEntList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
}
}
//遍历井口,添加区间
List<GetSpaceOptimizeShortWellheadViewOutput> wellheadViewOutputs = XCopyUtils.copyNewList(wellheadEntList, GetSpaceOptimizeShortWellheadViewOutput.class);
for (GetSpaceOptimizeShortWellheadViewOutput wellheadViewOutput : wellheadViewOutputs) {
if (collect.containsKey(wellheadViewOutput.getWellheadId())) {
wellheadViewOutput.setDurationList(ServiceUtil.getAllDateDuration(collect.get(wellheadViewOutput.getWellheadId())));
} else {
wellheadViewOutput.setDurationList(new ArrayList<>(0));
}
}
output.setWellheadList(wellheadViewOutputs);
return XSingleResult.success(output);
}
}
\ No newline at end of file
......@@ -158,7 +158,7 @@ public class ServiceUtil {
SpaceOptimizeDateOutput spaceOptimizeDateOutput = new SpaceOptimizeDateOutput();
spaceOptimizeDateOutput.setDateTime(r);
spaceOptimizeDateOutput.setOptimizeCode(BusinessConstant.ZERO);
spaceOptimizeDateOutput.setOptimizeValue("已优化");
spaceOptimizeDateOutput.setOptimizeValue(BusinessConstant.OPTIMIZED_C);
return spaceOptimizeDateOutput;
}).collect(Collectors.toList());
}
......@@ -174,8 +174,8 @@ public class ServiceUtil {
if (CollUtil.isEmpty(optimizeList)) {
allList.add(
SpaceOptimizeDateDuration.builder()
.openWellTime("00:00")
.closeWellTime("23:59")
.openWellTime(BusinessConstant.START_OF_DAY_TIME)
.closeWellTime(BusinessConstant.END_OF_DAY_TIME)
.isOpen(0)
.build()
);
......@@ -189,10 +189,10 @@ public class ServiceUtil {
optimize.setIsOpen(1);
if (i == 0) {
//如果开始时间不是从00:00开始,初始化开始时间为关井时间
if (!StringUtils.equals("00:00", openWellTime)) {
if (!StringUtils.equals(BusinessConstant.START_OF_DAY_TIME, openWellTime)) {
allList.add(
SpaceOptimizeDateDuration.builder()
.openWellTime("00:00")
.openWellTime(BusinessConstant.START_OF_DAY_TIME)
.closeWellTime(openWellTime)
.isOpen(0)
.build()
......@@ -219,11 +219,11 @@ public class ServiceUtil {
}
if (i == last) {
//如果结束时间不是24:00开始,初始化最终关井时间
if (!StringUtils.equals("23:59", closeWellTime)) {
if (!StringUtils.equals(BusinessConstant.END_OF_DAY_TIME, closeWellTime)) {
allList.add(
SpaceOptimizeDateDuration.builder()
.openWellTime(closeWellTime)
.closeWellTime("23:59")
.closeWellTime(BusinessConstant.END_OF_DAY_TIME)
.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