From db852294b5585756dd745c0805d7ef5bffa0b0a9 Mon Sep 17 00:00:00 2001 From: "ys.git" <18439391935@163.com> Date: Sun, 14 Dec 2025 10:06:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=88=86=E6=9E=90=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AnalysisCommonController.java | 8 ++++ .../controller/request/ReportRequest.java | 13 +---- .../AnalysisCommonParametersServiceImpl.java | 47 ++++++++++++++----- 3 files changed, 45 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/xdap/self_development/controller/AnalysisCommonController.java b/src/main/java/com/xdap/self_development/controller/AnalysisCommonController.java index 832468d..a2d9c92 100644 --- a/src/main/java/com/xdap/self_development/controller/AnalysisCommonController.java +++ b/src/main/java/com/xdap/self_development/controller/AnalysisCommonController.java @@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.List; @RestController @RequestMapping("/custom/analysis") @@ -31,4 +32,11 @@ public class AnalysisCommonController { return Response.ok().data(lists); } +// //模糊查询下拉列表 +// @GetMapping("/analysisShowList") +// public Response analysisShowList(@RequestParam("attribute") String attribute) { +// List lists = analysisCommonParametersService.analysisShowList(attribute); +// return Response.ok().data(lists); +// } + } diff --git a/src/main/java/com/xdap/self_development/controller/request/ReportRequest.java b/src/main/java/com/xdap/self_development/controller/request/ReportRequest.java index cdd92d9..f2edab1 100644 --- a/src/main/java/com/xdap/self_development/controller/request/ReportRequest.java +++ b/src/main/java/com/xdap/self_development/controller/request/ReportRequest.java @@ -3,16 +3,7 @@ package com.xdap.self_development.controller.request; import lombok.Data; -import java.util.List; -/** - *

- * 待办事项表 - *

- * - * @author Lys111 - * @since 2025-11-18 - */ @Data public class ReportRequest { @@ -25,7 +16,7 @@ public class ReportRequest { private String projectNumber; private String emission; private String burnType; - private String engineCapacityMin; - private String engineCapacityMax; + private Double engineCapacityMin; + private Double engineCapacityMax; } diff --git a/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java index d3e2911..f75cbf1 100644 --- a/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java @@ -1,9 +1,8 @@ package com.xdap.self_development.service.impl; -import com.definesys.mpaas.query.db.PageQueryResult; -import com.xdap.api.moudle.department.pojo.entity.XdapDepartments; -import com.xdap.api.moudle.user.pojo.XdapUsers; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import com.xdap.self_development.config.BusinessDatabase; import com.xdap.self_development.controller.request.*; import com.xdap.self_development.enums.ParamPermissionEnum; @@ -88,15 +87,39 @@ public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParame .like("burn_type", request.getBurnType()) .doQuery(DataEntryEngineModelPojo.class); - String engineCapacityMin = request.getEngineCapacityMin(); - String engineCapacityMax = request.getEngineCapacityMax(); -// queryResult.stream().filter(new Predicate() { -// @Override -// public boolean test(DataEntryEngineModelPojo dataEntryEngineModelPojo) { -// dataEntryEngineModelPojo.get -// return false; -// } -// }) + Double engineCapacityMin = request.getEngineCapacityMin(); + Double engineCapacityMax = request.getEngineCapacityMax(); + List engineModelPojos = queryResult.stream().filter(dataEntryEngineModelPojo -> { + String engineCapacity = dataEntryEngineModelPojo.getEngineCapacity(); + Double ec = extractDisplacement(engineCapacity); + return (Double.compare(ec, engineCapacityMin) >= 0 && Double.compare(ec, engineCapacityMax) < 0); + }).collect(Collectors.toList()); + + ArrayList analysisModelParamterViews = new ArrayList<>(); + for (DataEntryEngineModelPojo engineModelPojo : engineModelPojos) { + AnalysisModelParamterView analysisModelParamterView = new AnalysisModelParamterView(); + List pojoList = engineParamDetailService.selectByModelNewVersion(engineModelPojo.getId()); + analysisModelParamterView.setModelID(engineModelPojo.getId()); + analysisModelParamterView.setModelName(engineModelPojo.getModelName()); + analysisModelParamterView.setPojos(pojoList); + analysisModelParamterViews.add(analysisModelParamterView); + } + return analysisModelParamterViews; + } + + public static Double extractDisplacement(String displacementStr) { + if (displacementStr == null || displacementStr.isEmpty()) { + return null; + } + + // 正则匹配:数字(包含小数) + Pattern pattern = java.util.regex.Pattern.compile("(\\d+\\.?\\d*)"); + Matcher matcher = pattern.matcher(displacementStr); + + if (matcher.find()) { + return Double.parseDouble(matcher.group(1)); + } return null; } + }