From 1d81366457e6b3ac15d13b1ca831e1ad549ff37e Mon Sep 17 00:00:00 2001 From: yangfei Date: Fri, 10 Nov 2017 10:12:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E7=96=BE=E7=97=85=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/operate/web/facade/PatientFacade.java | 66 +++++++++++----------- 1 file changed, 34 insertions(+), 32 deletions(-) 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 c6ff6da..edf3c4b 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 @@ -429,35 +429,6 @@ public class PatientFacade { } patientsQuery.setHospitalList(hospitalList); - //根据疾病进行查询 - if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getDiseaseType())) { - MongoCondition criteria = new MongoCondition("hospitalId", hospitalList, MongoOper.IN); - //乙肝查询 - if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.YIGAN.getId())) { - criteria = criteria.and("ygbmky", true, MongoOper.EXISTS).orCondition( - new MongoCondition[]{new MongoCondition("ygbmkt", true, MongoOper.EXISTS), - new MongoCondition("ygeky", true, MongoOper.EXISTS), - new MongoCondition("ygekt", true, MongoOper.EXISTS), - new MongoCondition("yghxkt", true, MongoOper.EXISTS) - }); - } - //丙肝查询 - if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.BINGGAN.getId())) { - criteria = criteria.and("bg", true, MongoOper.EXISTS); - } - //梅毒查询 - if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.MEIDU.getId())) { - criteria = criteria.andCondition(new MongoCondition("syjg", true, MongoOper.EXISTS) - .orCondition(new MongoCondition("hivkt", true, MongoOper.EXISTS))); - } - List antExChuModels = antExService.queryAntExChu(criteria.toMongoQuery()); - List pIds = new ArrayList<>(); - for (AntExChuModel antChu : antExChuModels) { - pIds.add(antChu.getPid()); - } - patientsQuery.setpIds(pIds); - } - fmHospitalList.addAll(hospitalList); if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getFprovinceId())) { @@ -488,16 +459,47 @@ public class PatientFacade { patientsQuery.setFmHospitalList(fmHospitalList); } } - - } else { patientsQuery.setFmHospital(riskPatientsQueryRequest.getFmHospital()); - String hospital = autoMatchFacade.getHospitalId(userId); if (null != hospital) { patientsQuery.setHospitalId(hospital); } + + + //根据疾病进行查询 + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getDiseaseType())) { + MongoCondition criteria = new MongoCondition("hospitalId", hospital, MongoOper.IS); + + List mongoCondits = new ArrayList<>(); + //乙肝查询 + if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.YIGAN.getId())) { + mongoCondits.add(new MongoCondition("ygbmky", true, MongoOper.EXISTS)); + mongoCondits.add(new MongoCondition("ygbmkt", true, MongoOper.EXISTS)); + mongoCondits.add(new MongoCondition("ygeky", true, MongoOper.EXISTS)); + mongoCondits.add(new MongoCondition("ygekt", true, MongoOper.EXISTS)); + mongoCondits.add(new MongoCondition("yghxkt", true, MongoOper.EXISTS)); + } + //丙肝查询 + if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.BINGGAN.getId())) { + mongoCondits.add(new MongoCondition("bg", true, MongoOper.EXISTS)); + } + //梅毒查询 + if (StringUtils.contains(riskPatientsQueryRequest.getDiseaseType(), DiseaseTypeEnums.MEIDU.getId())) { + mongoCondits.add(new MongoCondition("syjg", true, MongoOper.EXISTS)); + mongoCondits.add(new MongoCondition("hivkt", true, MongoOper.EXISTS)); + } + + criteria = criteria.orCondition(mongoCondits.toArray(new MongoCondition[mongoCondits.size()])); + + List antExChuModels = antExService.queryAntExChu(criteria.toMongoQuery()); + List pIds = new ArrayList<>(); + for (AntExChuModel antChu : antExChuModels) { + pIds.add(antChu.getPid()); + } + patientsQuery.setpIds(pIds); + } /* boolean result = autoMatchFacade.checkBStatus(userId); if(!result){ patientsQuery.setEnable("0"); -- 1.8.3.1