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