selectValueByMoreParam查询优化完善
This commit is contained in:
parent
cbb7c5476d
commit
783737a2f9
@ -87,4 +87,9 @@ public class EngineParamDetailDTO {
|
||||
*/
|
||||
private Integer isDistributedRes;
|
||||
|
||||
/**
|
||||
* 参数来源
|
||||
*/
|
||||
private String parameterSource;
|
||||
|
||||
}
|
||||
|
||||
@ -504,7 +504,6 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
||||
@Override
|
||||
public Map<String, List<EngineParamDetailDTO>> selectValueByMoreParam(EngineParamDetailRequest request) {
|
||||
List<EngineParamDetailDTO> engineParamDetailDTOS = new ArrayList<>();
|
||||
List<EngineParamDetailPojo> paramDetails = new ArrayList<>();
|
||||
|
||||
// 获取当前机型
|
||||
DataEntryEngineModelPojo model = bd.getBusinessDatabase()
|
||||
@ -552,16 +551,21 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
||||
List<EngineParamDetailPojo> pojoList = query.doQuery(EngineParamDetailPojo.class);
|
||||
|
||||
if (ObjectUtils.isNotEmpty(request.getFilledById()) && pojoList.isEmpty()) {
|
||||
query.eq("filled_by", request.getFilledById());
|
||||
query.eq("major_version", model.getVersionNumber());
|
||||
paramDetails.addAll(query.doQuery(EngineParamDetailPojo.class));
|
||||
} else {
|
||||
paramDetails.addAll(pojoList);
|
||||
pojoList.addAll(
|
||||
bd.getBusinessDatabase()
|
||||
.eq("engine_model_id", model.getId())
|
||||
.in("subsystem_name", subsystemSet)
|
||||
.in("parts_name", typeSet)
|
||||
.eq("parameter_source", "数据平台手工录入")
|
||||
.eq("filled_by", request.getFilledById())
|
||||
.eq("major_version", model.getVersionNumber())
|
||||
.doQuery(EngineParamDetailPojo.class)
|
||||
);
|
||||
}
|
||||
|
||||
Set<String> userList = new HashSet<>();
|
||||
Set<String> parameterList = new HashSet<>();
|
||||
paramDetails.forEach(item -> {
|
||||
pojoList.forEach(item -> {
|
||||
if (ObjectUtils.isNotEmpty(item.getFilledBy())) {
|
||||
userList.add(item.getFilledBy());
|
||||
}
|
||||
@ -581,7 +585,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
|
||||
.collect(Collectors.toMap(ParameterPojo::getId, parameterPojo -> parameterPojo));
|
||||
|
||||
// 构建返回
|
||||
for (EngineParamDetailPojo detail : paramDetails) {
|
||||
for (EngineParamDetailPojo detail : pojoList) {
|
||||
EngineParamDetailDTO engineParamDetailDTO = new EngineParamDetailDTO();
|
||||
BeanUtils.copyProperties(detail, engineParamDetailDTO);
|
||||
|
||||
|
||||
@ -425,41 +425,37 @@ public class TcDataQueryServiceImpl implements TcDataQueryService {
|
||||
}
|
||||
|
||||
//解析所有子系统-零部件对
|
||||
List<Map.Entry<String, String>> subsystemPartsPairs = analysisRequest.getSubsystemParts().stream()
|
||||
.map(subsystemType -> {
|
||||
if (subsystemType.split("-").length != 2) {
|
||||
throw new CommonException("查询条件异常,需子系统-零部件名称,若零部件为空则传入“/ ”");
|
||||
}
|
||||
String subsystem = subsystemType.split("-")[0];
|
||||
String partsName = subsystemType.split("-")[1];
|
||||
return new AbstractMap.SimpleEntry<>(subsystem, partsName);
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
Set<String> subsystemSet = new HashSet<>();
|
||||
Set<String> partsNameSet = new HashSet<>();
|
||||
analysisRequest.getSubsystemParts().forEach(subsystemType -> {
|
||||
if (subsystemType.split("-").length != 2) {
|
||||
throw new CommonException("查询条件异常,需子系统-零部件名称,若零部件为空则传入“/”");
|
||||
}
|
||||
String subsystem = subsystemType.split("-")[0];
|
||||
String partsName = subsystemType.split("-")[1];
|
||||
subsystemSet.add(subsystem);
|
||||
partsNameSet.add(partsName);
|
||||
});
|
||||
|
||||
//批量查询所有系统数据
|
||||
List<EngineParamDetailPojo> tcPojos = new ArrayList<>();
|
||||
List<EngineParamDetailPojo> systemDataList = new ArrayList<>();
|
||||
for (Map.Entry<String, String> subsystemPartsPair : subsystemPartsPairs) {
|
||||
List<EngineParamDetailPojo> pojoList = bd.getBusinessDatabase()
|
||||
.eq("engine_model_id", analysisRequest.getEngineModelID())
|
||||
.eq("major_version", analysisRequest.getParameterVersion())
|
||||
.eq("subsystem_name", subsystemPartsPair.getKey())
|
||||
.eq("parts_name", subsystemPartsPair.getValue())
|
||||
.ne("parameter_source", "TC分类表")
|
||||
.doQuery(EngineParamDetailPojo.class);
|
||||
tcPojos.addAll(
|
||||
bd.getBusinessDatabase()
|
||||
.eq("engine_model_id", analysisRequest.getEngineModelID())
|
||||
.eq("major_version", analysisRequest.getParameterVersion())
|
||||
.eq("subsystem_name", subsystemPartsPair.getKey())
|
||||
.eq("parts_name", subsystemPartsPair.getValue())
|
||||
.eq("parameter_source", "TC分类表")
|
||||
.doQuery(EngineParamDetailPojo.class)
|
||||
);
|
||||
if (ObjectUtils.isNotEmpty(pojoList)) {
|
||||
systemDataList.addAll(pojoList);
|
||||
}
|
||||
}
|
||||
List<EngineParamDetailPojo> systemDataList = new ArrayList<>(
|
||||
bd.getBusinessDatabase()
|
||||
.eq("engine_model_id", analysisRequest.getEngineModelID())
|
||||
.eq("major_version", analysisRequest.getParameterVersion())
|
||||
.in("subsystem_name", subsystemSet)
|
||||
.in("parts_name", partsNameSet)
|
||||
.ne("parameter_source", "TC分类表")
|
||||
.doQuery(EngineParamDetailPojo.class)
|
||||
);
|
||||
List<EngineParamDetailPojo> tcPojos = new ArrayList<>(
|
||||
bd.getBusinessDatabase()
|
||||
.eq("engine_model_id", analysisRequest.getEngineModelID())
|
||||
.eq("major_version", analysisRequest.getParameterVersion())
|
||||
.in("subsystem_name", subsystemSet)
|
||||
.in("parts_name", partsNameSet)
|
||||
.eq("parameter_source", "TC分类表")
|
||||
.doQuery(EngineParamDetailPojo.class)
|
||||
);
|
||||
|
||||
//批量查询所有TC数据
|
||||
Map<String, List<EngineParamDetailPojo>> parameterMapTc = tcPojos.stream()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user