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();