From b6f7aad3354d7e8579cc17c842b3dd8ea3032adf Mon Sep 17 00:00:00 2001 From: "litao@lymsh.com" Date: Fri, 22 Dec 2017 04:33:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/service/impl/PatientWeightServiceImpl.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java index 4bb7a2e..9af5860 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java @@ -200,33 +200,40 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient @Override public BaseResponse list(String key, String vcCardNo, Integer currentWeekStart, Integer currentWeekEnd, Integer age, Integer page, Integer limit, Integer userId) { + boolean flag = false; List hospital = groupsFacade.findGroupHospital(userId, true) ; Criteria criteria = Criteria.where("yn").ne("0").and("hospitalId").in(hospital); Criteria pCriteria = Criteria.where("yn").ne("0").and("hospitalId").in(hospital); if(StringUtils.isNotBlank(key)) { pCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("cardNo").is(key)); + flag = true; } if(StringUtils.isNotBlank(vcCardNo)) { pCriteria.and("vcCardNo").is(vcCardNo); + flag = true; } if(currentWeekStart != null && currentWeekEnd != null) { Date start = DateUtil.getWeekStart(currentWeekEnd); Date end = DateUtil.getWeekEnd(currentWeekStart); pCriteria.and("lastMenses").gt(start).lte(end); + flag = true; } if(age != null) { Date start = DateUtil.getBeforeAge(age); Date end = DateUtil.getBeforeAge(age + 1); pCriteria.and("birth").gt(end).lte(start); + flag = true; } - List patients = mongoTemplate.find(Query.query(pCriteria), Patients.class); - List ids = new ArrayList<>(); - if(CollectionUtils.isNotEmpty(patients)) { - for (Patients patient : patients) { - ids.add(patient.getId()); + if(flag) { + List patients = mongoTemplate.find(Query.query(pCriteria), Patients.class); + List ids = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(patients)) { + for (Patients patient : patients) { + ids.add(patient.getId()); + } } + criteria.and("patientId").in(ids); } - criteria.and("patientId").in(ids); PageResult pageResult = findMongoPage(PatientWeight.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); List patientWeights = (List) pageResult.getGrid(); -- 1.8.3.1