From 00e9e207b83a05f7e07b52cdcaf31a1ea73ba3dc Mon Sep 17 00:00:00 2001 From: "litao@lymsh.com" Date: Mon, 18 Dec 2017 17:51:16 +0800 Subject: [PATCH] 123 --- .../web/service/impl/BloodPressureServiceImpl.java | 6 ++-- .../web/service/impl/BloodSugarServiceImpl.java | 4 ++- .../lyms/platform/operate/web/utils/MongoUtil.java | 34 ++++++++++++++++++++++ 3 files changed, 40 insertions(+), 4 deletions(-) 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 b22c7dd..daedbc0 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 @@ -88,9 +88,9 @@ 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); - Criteria criteria = Criteria.where("yn").ne("0").and("hospitalId").in(hospitalIds); - Criteria pCriteria = Criteria.where("yn").ne("0").and("hospitalId").in(hospitalIds); +// 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)) { pCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("cardNo").is(key)); } 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 00d3f5a..96448ae 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 @@ -54,6 +54,7 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga bloodSugarService.update(one); return RespBuilder.buildSuccess(one.getId()); } + bloodSugar.setParentId(mongoUtil.doHidePatient(bloodSugar.getParentId(), autoMatchFacade.getHospitalId(userId))); bloodSugar.setHospitalId(autoMatchFacade.getHospitalId(userId)); bloodSugar.setCreated(new Date()); bloodSugar.setCreateUser(userId); @@ -69,7 +70,8 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga public BaseResponse list(String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age, Integer page, Integer limit, Integer userId) { List hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId); Criteria criteria = Criteria.where("yn").is(1).and("hospitalId").in(hospitalIds); - List patientIds = mongoUtil.getPatientIdsByCondition(hospitalIds, key, vcCardNo, weekStart, weekEnd, age); + List patientIds = mongoUtil.getPatientIdsByCondition2(hospitalIds, key, vcCardNo, weekStart, weekEnd, age); + System.out.println(patientIds); criteria.and("parentId").in(patientIds); PageResult pageResult = findMongoPage(BloodSugar.class, Query.query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); List bloodSugars = (List) pageResult.getGrid(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java index 9464a8d..4d0659b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java @@ -636,6 +636,40 @@ public class MongoUtil { return ids; } + public List getPatientIdsByCondition2(List hospitalIds, String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age) { + List patients = getPatientByCondition2(hospitalIds, key, vcCardNo, weekStart, weekEnd, age); + List ids = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(patients)) { + for (Patients patient : patients) { + ids.add(patient.getId()); + } + } + return ids; + } + + public List getPatientByCondition2(List hospitalIds, String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age) { + Criteria pCriteria = Criteria.where("yn").is(1); + if(StringUtils.isNotEmpty(key)) { + pCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("cardNo").is(key)); + } + if(StringUtils.isNotEmpty(vcCardNo)) { + 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); + } + if(age != null) { + Date start = DateUtil.getBeforeAge(age); + Date end = DateUtil.getBeforeAge(age + 1); + pCriteria.and("birth").gt(end).lte(start); + } + List patients = mongoTemplate.find(Query.query(pCriteria), Patients.class); + + return patients; + } + public String getHidByParentId(String parentId) { Patients patients = mongoTemplate.findById(parentId, Patients.class); return patients == null ? null : patients.getHospitalId(); -- 1.8.3.1