From 29b2da34c6d53268e299eb98b8c2f66427fb78b3 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 30 Nov 2016 17:55:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/PuerperaManageController.java | 2 +- .../platform/operate/web/facade/PatientFacade.java | 21 ++++++++ .../operate/web/facade/RiskReportFacade.java | 17 +++---- .../operate/web/result/RiskPatientsResult.java | 57 ++++++++++++++++++++++ .../operate/web/result/RiskReportResult.java | 19 +++++++- 5 files changed, 104 insertions(+), 12 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java index 0cf695a..a723a94 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java @@ -93,7 +93,7 @@ public class PuerperaManageController extends BaseController { @TokenRequired public BaseResponse queryAllPatPuerpera(@Valid RiskPatientsQueryRequest patientsQueryRequest,HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return patientFacade.queryHighRisk(patientsQueryRequest, Boolean.TRUE, null, loginState.getId(), "true", Boolean.FALSE); + return patientFacade.queryHighRisk1(patientsQueryRequest, null, null, loginState.getId(), "true", Boolean.FALSE); } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 54b9658..91f202c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -421,6 +421,27 @@ public class PatientFacade { return new BaseListResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(patientsQuery.getPageInfo()); } + + public BaseResponse queryHighRisk1(RiskPatientsQueryRequest riskPatientsQueryRequest, Boolean isHighRisk, Integer type, Integer userId, String needPage, boolean isRegion) { + //组合请求 + PatientsQuery patientsQuery = complayRequest(riskPatientsQueryRequest, isHighRisk, type, userId, needPage, isRegion); + + String hospital = autoMatchFacade.getHospitalId(userId); + //查询符合条件的孕妇 + StopWatch stopWatch = new StopWatch("queryPatient2 -" + hospital); + stopWatch.start(); + List patientses = patientsService.queryPatient1(patientsQuery, "modified"); + stopWatch.stop(); + + logger.info(stopWatch.toString()); + List data = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(patientses)) { + //如果是查高危孕妇 + data = convertToHighRisk(patientses, userId, hospital); + } + return new BaseListResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(patientsQuery.getPageInfo()); + } + public BaseResponse findPatient(PatientQueryRequest patientQueryRequest, Integer userId) { PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setPid(patientQueryRequest.getPid()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java index 6959eea..ee01b70 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java @@ -10,10 +10,7 @@ import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; -import com.lyms.platform.common.utils.DateUtil; -import com.lyms.platform.common.utils.JsonUtil; -import com.lyms.platform.common.utils.StringUtils; -import com.lyms.platform.common.utils.SystemConfig; +import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.request.BabyCheckRequest; import com.lyms.platform.operate.web.request.RiskPatientsQueryRequest; import com.lyms.platform.operate.web.result.*; @@ -101,7 +98,7 @@ public class RiskReportFacade { //总的孕妇条数 int allPatientCount = patientsService.queryPatientCount(patientsQuery); - List results = new ArrayList<>(); + List results = new ArrayList<>(); BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); basicConfigQuery.setYn(YnEnums.YES.getId()); @@ -131,15 +128,15 @@ public class RiskReportFacade { for (Future f : futures) { try { - results.addAll((List) f.get()); - } catch (InterruptedException e) { - e.printStackTrace(); - } catch (ExecutionException e) { - e.printStackTrace(); + results.addAll((List) f.get()); + } catch (Exception e) { + ExceptionUtils.catchException(e, "high risk count error."); } } } + Collections.sort(results,new RiskReportResult()); + return new BaseListResponse() .setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(results); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskPatientsResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskPatientsResult.java index 786451e..e4c56d6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskPatientsResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskPatientsResult.java @@ -69,6 +69,63 @@ public class RiskPatientsResult implements IBasicResultConvert { //高危因素Id private String highRiskId; @@ -63,4 +66,18 @@ public class RiskReportResult { public void setPercent(String percent) { this.percent = percent; } + + @Override + public int compare(RiskReportResult o1, RiskReportResult o2) { + if (o1 != null && o2 != null) + { + if (StringUtils.isNotEmpty(o2.getRiskCount()) && StringUtils.isNotEmpty(o1.getRiskCount())) + { + return Integer.parseInt(o2.getRiskCount()) - Integer.parseInt(o1.getRiskCount()); + } + } + return 0; + } + + } -- 1.8.3.1