diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java index 2545da8..1f848a8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java @@ -93,35 +93,43 @@ public class BloodPressureServiceImpl extends BaseServiceImpl implements IBloodP @Override public BaseResponse list(String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age, Integer page, Integer limit, Integer userId) { -// List hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId); + boolean flag = false; + // List hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId); Criteria criteria = Criteria.where("yn").is(1); //.and("hospitalId").in(hospitalIds); Criteria pCriteria = Criteria.where("yn").is(1); //.and("hospitalId").in(hospitalIds); if(StringUtils.isNotEmpty(key)) { + flag = true; pCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("cardNo").is(key)); } if(StringUtils.isNotEmpty(vcCardNo)) { + flag = true; pCriteria.and("vcCardNo").is(vcCardNo); } if(weekStart != null && weekEnd != null) { Date start = DateUtil.getWeekStart(weekEnd); Date end = DateUtil.getWeekEnd(weekStart); 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) { + 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()); - ids.add(patient.getPid()); + ids.add(patient.getPid()); + } } - } // criteria.and("parentId").in(ids); - criteria.and("pid").in(ids); + criteria.and("pid").in(ids); + } + PageResult pageResult = findMongoPage(BloodPressure.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); List bloodPressures = (List) pageResult.getGrid(); List> restList = new ArrayList<>(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java index cdd6113..00dc3d8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java @@ -11,6 +11,7 @@ import com.lyms.platform.common.result.PageResult; import com.lyms.platform.common.result.RespBuilder; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.EnumUtil; +import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.AccessPermissionFacade; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.service.IBloodSugarService; @@ -70,9 +71,15 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga @Override public BaseResponse list(String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age, Integer page, Integer limit, Integer userId) { + boolean flag = false; + if(StringUtils.isNotEmpty(key) || StringUtils.isNotEmpty(vcCardNo) || weekEnd != null || weekStart != null || age != null) { + flag = true; + } Criteria criteria = Criteria.where("yn").is(1); - List pids = mongoUtil.getPidsByCondition2(null, key, vcCardNo, weekStart, weekEnd, age); - criteria.and("pid").in(pids); + if(flag) { + List pids = mongoUtil.getPidsByCondition2(null, key, vcCardNo, weekStart, weekEnd, age); + criteria.and("pid").in(pids); + } PageResult pageResult = findMongoPage(BloodSugar.class, Query.query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); List bloodSugars = (List) pageResult.getGrid(); List> restList = new ArrayList<>();