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 93f2013..1a4e451 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 @@ -805,6 +805,8 @@ public class PatientFacade { //分娩档案 String hospital = autoMatchFacade.getHospitalId(userId); PatientsQuery patientsQuery = new PatientsQuery(); + PatientsQuery pq = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); patientsQuery.setType(3); patientsQuery.setSort(" created "); @@ -816,6 +818,7 @@ public class PatientFacade { patientsQuery.setIsAutoFm(YnEnums.NO.getId()); patientsQuery.setFmHospital(hospital); patientsQuery.setCardNo(riskPatientsQueryRequest.getCardNo()); + patientsQuery.setQueryNo(riskPatientsQueryRequest.getQueryNo()); patientsQuery.setLastMensesStart(riskPatientsQueryRequest.capEnd()); patientsQuery.setLastMensesEnd(riskPatientsQueryRequest.capStart()); patientsQuery.setrLevel(riskPatientsQueryRequest.getrLevel()); @@ -832,6 +835,7 @@ public class PatientFacade { List data = new ArrayList<>(); List idsMd = new ArrayList<>(); List idsPW = new ArrayList<>(); + List gteList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(patientses)) { for (Patients patients : patientses) { //儿童体重大于等于4000克 @@ -845,25 +849,43 @@ public class PatientFacade { } } } - + boolean bmiSta = true; //孕妇体重 if(StringUtils.isNotEmpty(riskPatientsQueryRequest.getBmiStart()) && StringUtils.isNotEmpty(riskPatientsQueryRequest.getBmiEnd()) && CollectionUtils.isNotEmpty(idsMd)){ + bmiSta = false; for (String id : idsMd) { - Query query = Query.query(Criteria.where("patientId").is(id) - .and("yn").ne("0").and("bmi").gte(riskPatientsQueryRequest.getBmiStart()).lte(riskPatientsQueryRequest.getBmiEnd())); - List patientWeightList = mongoTemplate.find(query, PatientWeight.class); - if(CollectionUtils.isNotEmpty(patientWeightList)){ - PatientWeight patientWeight = patientWeightList.get(0); + + Query gtequery = Query.query(Criteria.where("patientId").is(id).and("yn").ne("0").and("$where").is("(this.bmi >= "+riskPatientsQueryRequest.getBmiStart()+" )")); + Query ltequery = null; + List gteWeightList = mongoTemplate.find(gtequery, PatientWeight.class); + if(CollectionUtils.isNotEmpty(gteWeightList)){ + for (PatientWeight p:gteWeightList) { + if(StringUtils.isEmpty(p.getId())){ + continue; + } + gteList.add(p.getId()); + } + ltequery= Query.query(Criteria.where("patientId").is(id).and("yn").ne("0").and("id").in(gteList) + .and("$where").is("(this.bmi <= " + riskPatientsQueryRequest.getBmiEnd() + " )")); + }else { + ltequery= Query.query(Criteria.where("patientId").is(id).and("yn").ne("0") + .and("$where").is("(this.bmi <= " + riskPatientsQueryRequest.getBmiEnd() + " )")); + } + List lteWeightList = mongoTemplate.find(ltequery, PatientWeight.class); +// Query query = Query.query(Criteria.where("patientId").is(id).and("yn").ne("0").and("bmi").gte(riskPatientsQueryRequest.getBmiStart()).lte(riskPatientsQueryRequest.getBmiEnd())); +// List patientWeightList = mongoTemplate.find(query, PatientWeight.class); + if(CollectionUtils.isNotEmpty(lteWeightList)){ + PatientWeight patientWeight = lteWeightList.get(0); if(patientWeight!=null && com.lyms.platform.common.utils.StringUtils.isNotEmpty(patientWeight.getBmi())){ idsPW.add(id); + bmiSta = true; } } } } - if(CollectionUtils.isNotEmpty(idsMd) || CollectionUtils.isNotEmpty(idsPW)){ + if((CollectionUtils.isNotEmpty(idsMd) || CollectionUtils.isNotEmpty(idsPW)) && bmiSta){ //获取bmi大于 25 &筛选bmi条件 - PatientsQuery pq = new PatientsQuery(); pq.setIds(CollectionUtils.isEmpty(idsPW)? idsMd : idsPW); pq.setPage(riskPatientsQueryRequest.getPage()); pq.setLimit(riskPatientsQueryRequest.getLimit()); @@ -873,7 +895,7 @@ public class PatientFacade { } } } - return new BaseListResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(patientsQuery.getPageInfo()); + return new BaseListResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(pq.getPageInfo()); } public void exportQueryAbnormalWeight(RiskPatientsQueryRequest riskPatientsQueryRequest, Integer id, HttpServletResponse response) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanWeightWorker.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanWeightWorker.java index 59bb041..47a3162 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanWeightWorker.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanWeightWorker.java @@ -119,7 +119,7 @@ public class QuanWeightWorker implements Callable> { for(Map.Entry entry : patientWeight.getDayWeights().entrySet()){ String mapKey = entry.getKey(); String mapValue = entry.getValue(); - System.out.println(mapKey + "/" + mapValue); +// System.out.println(mapKey + "/" + mapValue); map.put("dayWeights"+i++, mapKey + "/" + mapValue); }