From a21885fadfa0fc53374e9d51c2452c31479af3d7 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Wed, 8 Nov 2017 16:42:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E9=83=A8=E5=AD=95=E5=A6=87=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=A2=9E=E5=8A=A0=E6=8C=89=E7=85=A7=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/service/PatientsService.java | 11 ++++ .../platform/operate/web/facade/PatientFacade.java | 8 +-- .../web/request/RiskPatientsQueryRequest.java | 77 ++++++++++++++++++++++ 3 files changed, 92 insertions(+), 4 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java index 3cdbd14..cd373f2 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java @@ -96,6 +96,17 @@ public class PatientsService { return iPatientDao.queryPatient(query.addOrder(Sort.Direction.DESC, field)); } + public List queryPatientBySort(PatientsQuery patientsQuery, String field,String sort) { + MongoQuery query = patientsQuery.convertToQuery(); + if (StringUtils.isNotEmpty(patientsQuery.getNeed())) { + patientsQuery.mysqlBuild(iPatientDao.queryPatientCount(query)); + query.start(patientsQuery.getOffset()).end(patientsQuery.getLimit()); + } + + return iPatientDao.queryPatient(query.addOrder(Sort.Direction.fromString(sort), field)); + } + + public int queryPatientCount(PatientsQuery patientsQuery) { return iPatientDao.queryPatientCount(patientsQuery.convertToQuery()); } 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 03b64eb..c6ff6da 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 @@ -582,20 +582,20 @@ public class PatientFacade { /** * 查询高危孕妇 * - * @param riskPatientsQueryRequest + * @param patientQueryRequest * @param isHighRisk 控制是否是高危 * @param type 控制类型 1孕妇 3产妇 * @return */ - public BaseResponse queryHighRisk(RiskPatientsQueryRequest riskPatientsQueryRequest, Boolean isHighRisk, Integer type, Integer userId, String needPage, boolean isRegion) { + public BaseResponse queryHighRisk(RiskPatientsQueryRequest patientQueryRequest, Boolean isHighRisk, Integer type, Integer userId, String needPage, boolean isRegion) { //组合请求 - PatientsQuery patientsQuery = complayRequest(riskPatientsQueryRequest, isHighRisk, type, userId, needPage, isRegion); + PatientsQuery patientsQuery = complayRequest(patientQueryRequest, isHighRisk, type, userId, needPage, isRegion); String hospital = autoMatchFacade.getHospitalId(userId); //查询符合条件的孕妇 StopWatch stopWatch = new StopWatch("queryPatient1 -" + hospital); stopWatch.start(); - List patientses = patientsService.queryPatient1(patientsQuery, "modified"); + List patientses = patientsService.queryPatientBySort(patientsQuery,patientQueryRequest.getSort(),patientQueryRequest.getOrder()); stopWatch.stop(); logger.info(stopWatch.toString()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java index 721dede..c85e01a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java @@ -147,6 +147,83 @@ public class RiskPatientsQueryRequest extends BasePageQueryRequest { private String notEnable; + + //排序的字段 + private String sort; + //排序的策略 升序/降序 + private String order; + + /** + * 排序策略枚举 + */ + private enum OrderEnum{ + DESC("1","DESC"),ASC("2","ASC"); + private OrderEnum(String id,String order){ + this.id + =id; + this.order=order; + } + private String id; + private String order; + + public static String valueOfOrder(String id){ + if(org.apache.commons.lang.StringUtils.isEmpty(id)){ + return DESC.order; + } + for(OrderEnum order:values()){ + if(order.id.equals(id)){ + return order.order; + } + } + return DESC.order; + } + } + + /** + * 排序字段枚举 + */ + private enum SortEnum{ + SORT_MODIFIED("1","modified"),//按更新时间排 + SORT_BUILD_DATE("2","bookbuildingDate"),//按建档时间排 + SORT_DUE_TIME("3","lastMenses"),//按孕产期排 + SORT_DUE_DETE("4","lastMenses");//按当前孕周排 + private SortEnum(String id,String sort){ + this.id=id + ; + this.sort=sort; + } + private String id; + private String sort; + + public static String valueOfOrder(String id){ + if(org.apache.commons.lang.StringUtils.isEmpty(id)){ + return SORT_MODIFIED.sort; + } + for(SortEnum order:values()){ + if(order.id.equals(id)){ + return order.sort; + } + } + return SORT_MODIFIED.sort; + } + } + + public String getSort() { + return SortEnum.valueOfOrder(sort); + } + + public void setSort(String sort) { + this.sort = sort; + } + + public String getOrder() { + return OrderEnum.valueOfOrder(order); + } + + public void setOrder(String order) { + this.order = order; + } + public String getDiseaseType() { return diseaseType; } -- 1.8.3.1