Commit 76df7f227c1ffec6952848eb3e06700b497aafc5
1 parent
1b7dcc6f42
Exists in
dev
#fix:优化产后康复高危匹配原则
Showing 2 changed files with 30 additions and 3 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnancyReportController.java
View file @
76df7f2
... | ... | @@ -219,12 +219,13 @@ |
219 | 219 | */ |
220 | 220 | @RequestMapping(method = RequestMethod.GET, value = "/wx/matters/getRisk") |
221 | 221 | @ResponseBody |
222 | - public BaseResponse getWxReportByRisk(@RequestParam Integer week, | |
222 | + public BaseResponse getWxReportByRisk(@RequestParam Integer week,@RequestParam Integer type, | |
223 | 223 | @RequestParam String riskFactorId, |
224 | 224 | @RequestParam String hospitalId){ |
225 | 225 | BaseResponse baseResponse= new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); |
226 | 226 | PregnancyReportMattersQuery postpartumReportQuery=new PregnancyReportMattersQuery(); |
227 | 227 | postpartumReportQuery.setWeek(week); |
228 | + postpartumReportQuery.setType(type); | |
228 | 229 | postpartumReportQuery.setHospitalId(hospitalId); |
229 | 230 | postpartumReportQuery.setRiskFactorId(StringUtils.covertToList(riskFactorId, String.class)); |
230 | 231 | List<PregnancyReportMatters> reportByRisk = pregnancyReportMattersServiceFacade.getReportByRisk(postpartumReportQuery, null); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumReportFacade.java
View file @
76df7f2
... | ... | @@ -12,7 +12,10 @@ |
12 | 12 | import org.springframework.beans.factory.annotation.Autowired; |
13 | 13 | import org.springframework.stereotype.Component; |
14 | 14 | |
15 | +import java.util.Arrays; | |
16 | +import java.util.HashSet; | |
15 | 17 | import java.util.List; |
18 | +import java.util.Set; | |
16 | 19 | |
17 | 20 | @Component |
18 | 21 | public class PostpartumReportFacade { |
19 | 22 | |
20 | 23 | |
21 | 24 | |
... | ... | @@ -55,18 +58,41 @@ |
55 | 58 | } |
56 | 59 | |
57 | 60 | public BaseResponse getPatientInfo(PostpartumReportQuery postpartumReportQuery, Integer userId) { |
58 | - //TODO 根据不同的type查询模版中公共的逻辑 | |
59 | 61 | if (userId!=null){ |
60 | 62 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
61 | 63 | postpartumReportQuery.setHospitalId(hospitalId); |
62 | 64 | } |
63 | 65 | postpartumReportQuery.setYn(1); |
64 | 66 | List<PostpartumReport> list= postpartumReportService.queryPatientList(postpartumReportQuery); |
67 | + PostpartumReport postpartumReport=null; | |
68 | + if (CollectionUtils.isNotEmpty(list)){ | |
69 | + boolean b=false; | |
70 | + Integer num=0; | |
71 | + for (PostpartumReport postpartumReport1:list){ | |
72 | + Integer size= checkRisk(postpartumReport1.getRiskFactorId() | |
73 | + ,postpartumReportQuery.getrFactorList()); | |
74 | + if (size>num){ | |
75 | + num=size; | |
76 | + postpartumReport=postpartumReport1; | |
77 | + b=true; | |
78 | + } | |
79 | + } | |
80 | + if (!b){ | |
81 | + postpartumReport=list.get(0); | |
82 | + } | |
83 | + } | |
65 | 84 | BaseResponse baseResponse=new BaseResponse(); |
66 | - baseResponse.setObject(list.get(0)); | |
85 | + baseResponse.setObject(postpartumReport); | |
67 | 86 | baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); |
68 | 87 | baseResponse.setErrormsg("成功"); |
69 | 88 | return baseResponse; |
89 | + } | |
90 | + | |
91 | + private static Integer checkRisk(List<String> riskIds,List<String> rFactor){ | |
92 | + Set<String> set1 = new HashSet<>(riskIds); | |
93 | + Set<String> set2 = new HashSet<>(rFactor); | |
94 | + set1.retainAll(set2); | |
95 | + return set1.size(); | |
70 | 96 | } |
71 | 97 | |
72 | 98 | public PostpartumReportModel addModel(PostpartumReportModel postpartumReport, Integer userId){ |