From 76df7f227c1ffec6952848eb3e06700b497aafc5 Mon Sep 17 00:00:00 2001 From: zhangchao Date: Thu, 4 Jul 2024 17:20:53 +0800 Subject: [PATCH] =?UTF-8?q?#fix:=E4=BC=98=E5=8C=96=E4=BA=A7=E5=90=8E?= =?UTF-8?q?=E5=BA=B7=E5=A4=8D=E9=AB=98=E5=8D=B1=E5=8C=B9=E9=85=8D=E5=8E=9F?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/PregnancyReportController.java | 3 ++- .../operate/web/facade/PostpartumReportFacade.java | 30 ++++++++++++++++++++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnancyReportController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnancyReportController.java index 4e74ec6..ec86537 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnancyReportController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnancyReportController.java @@ -219,12 +219,13 @@ public class PregnancyReportController extends BaseController { */ @RequestMapping(method = RequestMethod.GET, value = "/wx/matters/getRisk") @ResponseBody - public BaseResponse getWxReportByRisk(@RequestParam Integer week, + public BaseResponse getWxReportByRisk(@RequestParam Integer week,@RequestParam Integer type, @RequestParam String riskFactorId, @RequestParam String hospitalId){ BaseResponse baseResponse= new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); PregnancyReportMattersQuery postpartumReportQuery=new PregnancyReportMattersQuery(); postpartumReportQuery.setWeek(week); + postpartumReportQuery.setType(type); postpartumReportQuery.setHospitalId(hospitalId); postpartumReportQuery.setRiskFactorId(StringUtils.covertToList(riskFactorId, String.class)); List reportByRisk = pregnancyReportMattersServiceFacade.getReportByRisk(postpartumReportQuery, null); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumReportFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumReportFacade.java index 210a265..2c33b29 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumReportFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumReportFacade.java @@ -12,7 +12,10 @@ import com.lyms.platform.query.PostpartumReportQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; @Component public class PostpartumReportFacade { @@ -55,20 +58,43 @@ public class PostpartumReportFacade { } public BaseResponse getPatientInfo(PostpartumReportQuery postpartumReportQuery, Integer userId) { - //TODO 根据不同的type查询模版中公共的逻辑 if (userId!=null){ String hospitalId = autoMatchFacade.getHospitalId(userId); postpartumReportQuery.setHospitalId(hospitalId); } postpartumReportQuery.setYn(1); List list= postpartumReportService.queryPatientList(postpartumReportQuery); + PostpartumReport postpartumReport=null; + if (CollectionUtils.isNotEmpty(list)){ + boolean b=false; + Integer num=0; + for (PostpartumReport postpartumReport1:list){ + Integer size= checkRisk(postpartumReport1.getRiskFactorId() + ,postpartumReportQuery.getrFactorList()); + if (size>num){ + num=size; + postpartumReport=postpartumReport1; + b=true; + } + } + if (!b){ + postpartumReport=list.get(0); + } + } BaseResponse baseResponse=new BaseResponse(); - baseResponse.setObject(list.get(0)); + baseResponse.setObject(postpartumReport); baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); baseResponse.setErrormsg("成功"); return baseResponse; } + private static Integer checkRisk(List riskIds,List rFactor){ + Set set1 = new HashSet<>(riskIds); + Set set2 = new HashSet<>(rFactor); + set1.retainAll(set2); + return set1.size(); + } + public PostpartumReportModel addModel(PostpartumReportModel postpartumReport, Integer userId){ String hospitalId = autoMatchFacade.getHospitalId(userId); postpartumReport.setHospitalId(hospitalId); -- 1.8.3.1