diff --git a/src/main/java/com/xdap/self_development/domain/dto/EngineParamDetailDTO.java b/src/main/java/com/xdap/self_development/domain/dto/EngineParamDetailDTO.java index af2477b..5933b66 100644 --- a/src/main/java/com/xdap/self_development/domain/dto/EngineParamDetailDTO.java +++ b/src/main/java/com/xdap/self_development/domain/dto/EngineParamDetailDTO.java @@ -87,4 +87,9 @@ public class EngineParamDetailDTO { */ private Integer isDistributedRes; + /** + * 参数来源 + */ + private String parameterSource; + } diff --git a/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java index fef053c..38d653e 100644 --- a/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java @@ -504,7 +504,6 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { @Override public Map> selectValueByMoreParam(EngineParamDetailRequest request) { List engineParamDetailDTOS = new ArrayList<>(); - List paramDetails = new ArrayList<>(); // 获取当前机型 DataEntryEngineModelPojo model = bd.getBusinessDatabase() @@ -552,16 +551,21 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { List 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 userList = new HashSet<>(); Set 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); diff --git a/src/main/java/com/xdap/self_development/service/impl/TcDataQueryServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TcDataQueryServiceImpl.java index 88f2d98..097594a 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TcDataQueryServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TcDataQueryServiceImpl.java @@ -425,41 +425,37 @@ public class TcDataQueryServiceImpl implements TcDataQueryService { } //解析所有子系统-零部件对 - List> 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 subsystemSet = new HashSet<>(); + Set 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 tcPojos = new ArrayList<>(); - List systemDataList = new ArrayList<>(); - for (Map.Entry subsystemPartsPair : subsystemPartsPairs) { - List 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 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 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> parameterMapTc = tcPojos.stream()