From 90a194492d92a6bbfd61aeea2512edb8f135b634 Mon Sep 17 00:00:00 2001 From: dongqin <123456> Date: Mon, 1 Jul 2019 16:17:49 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/MatDeliverFacade.java | 136 +++++++++++---------- 1 file changed, 69 insertions(+), 67 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index e267663..deb7945 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -1719,22 +1719,27 @@ public class MatDeliverFacade { */ public BaseListResponse postpartumDeliver(MatdeliverFollowRequest matdeliverFollowRequest) { BaseListResponse listResponse = new BaseListResponse(); - + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); List matdeliverFollowListResults = new ArrayList<>(); //根据用户id获取医院ID String hospitalId = autoMatchFacade.getHospitalId(matdeliverFollowRequest.getOperatorId()); // 构造医院id集合 List hospitalList = new ArrayList<>(); + List fmhospitalId = new ArrayList<>(); //传入了具体的医院id if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalId())) { hospitalList.add(matdeliverFollowRequest.getHospitalId()); - } else { + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalProvinceId()) || StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalCityId()) || StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalAreaId())) { + matDeliverQuery.setFmHospitalList(hospitalList); + } + + } else { - //默认添加当前医院 - hospitalList.add(hospitalId); + //默认添加当前医院 + hospitalList.add(hospitalId); - /*DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); + /* DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); dataPermissionsModelQuery.setUserId(matdeliverFollowRequest.getOperatorId()); List dataPermissionsModelList = dataPermissionService.queryPermission(dataPermissionsModelQuery); if (CollectionUtils.isNotEmpty(dataPermissionsModelList)) { @@ -1745,38 +1750,41 @@ public class MatDeliverFacade { } } }*/ - // 未传入查询条件,进行院内系统进行查询 - if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalProvinceId()) || StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalCityId()) || StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalAreaId())) { - // 传入了查询条件 - OrganizationQuery organizationQuery = new OrganizationQuery(); - if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalProvinceId())) { - organizationQuery.setProvinceId(matdeliverFollowRequest.getHospitalProvinceId()); - } - if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalCityId())) { - organizationQuery.setCityId(matdeliverFollowRequest.getHospitalCityId()); - } - if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalAreaId())) { - organizationQuery.setAreaId(matdeliverFollowRequest.getHospitalAreaId()); - } - organizationQuery.setYn(YnEnums.YES.getId()); - List organizationList = organizationService.queryHospitals(organizationQuery); - List orgId = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(organizationList)) { - for (Organization organization : organizationList) { - orgId.add(organization.getId().toString()); + // 未传入查询条件,进行院内系统进行查询 + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalProvinceId()) || StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalCityId()) || StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalAreaId())) { + // 传入了查询条件 + OrganizationQuery organizationQuery = new OrganizationQuery(); + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalProvinceId())) { + organizationQuery.setProvinceId(matdeliverFollowRequest.getHospitalProvinceId()); + } + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalCityId())) { + organizationQuery.setCityId(matdeliverFollowRequest.getHospitalCityId()); + } + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalAreaId())) { + organizationQuery.setAreaId(matdeliverFollowRequest.getHospitalAreaId()); + } + organizationQuery.setYn(YnEnums.YES.getId()); + List organizationList = organizationService.queryHospitals(organizationQuery); + List orgId = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(organizationList)) { + for (Organization organization : organizationList) { + orgId.add(organization.getId().toString()); + fmhospitalId.add(organization.getId().toString()); + } + } + + if (CollectionUtils.isEmpty(fmhospitalId)) { + return listResponse; + } else { + hospitalList.retainAll(fmhospitalId); + if (CollectionUtils.isEmpty(fmhospitalId)) { + return listResponse; + } + matDeliverQuery.setFmHospitalList(hospitalList); } } - //取区域范围内的医院id。交集 - hospitalList.retainAll(orgId); } - } - - if (CollectionUtils.isEmpty(hospitalList)) { - // 没有查到,直接抛出 - return listResponse; - } - MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); if (matdeliverFollowRequest.getFollowStarDate() != null) { MatDeliverFollowQuery matDeliverFollowQuery = new MatDeliverFollowQuery(); @@ -1827,7 +1835,8 @@ public class MatDeliverFacade { patientsQuery.setFmDateEnd(DateUtil.addDay(new Date(), -29)); } } - patientsQuery.setFmHospitalQueryList(hospitalList); + //patientsQuery.setFmHospitalQueryList(hospitalList); + //patientsQuery.setTownOrgId(hospitalId); List patientsList = patientsService.queryPatient(patientsQuery); if (CollectionUtils.isEmpty(patientsList)) { @@ -1881,7 +1890,7 @@ public class MatDeliverFacade { // 访视列表无需加上分娩医院,因此注释 //matDeliverQuery.setFmHospitalList(hospitalList); - matDeliverQuery.setFsHospital(hospitalId); + matDeliverQuery.setFsHospitalId(hospitalId); matDeliverQuery.setContactResult(matdeliverFollowRequest.getContactResult()); if (matdeliverFollowRequest.getContactReason() != null) { @@ -1904,7 +1913,13 @@ public class MatDeliverFacade { for (Patients md : patientsList) { parentIdList.add(md.getId()); } - matDeliverQuery.setParentIdList(parentIdList); + List idList = matDeliverQuery.getParentIdList(); + if (CollectionUtils.isNotEmpty(idList)) { + idList.retainAll(parentIdList); + } else { + idList = parentIdList; + } + matDeliverQuery.setParentIdList(idList); } // 高危等级 @@ -1919,29 +1934,14 @@ public class MatDeliverFacade { List parentIdList1 = matDeliverQuery.getParentIdList(); if (CollectionUtils.isNotEmpty(parentIdList1)) { patientIds.addAll(parentIdList1); + parentIdList1.retainAll(parentIdList1); + } else { + parentIdList1 = patientIds; } - matDeliverQuery.setParentIdList(patientIds); + matDeliverQuery.setParentIdList(parentIdList1); } - /*List currentParentIdList = matDeliverQuery.getParentIdList(); - - List townOrgIds = new ArrayList<>(); - - List patients1 = mongoTemplate.find(Query.query(Criteria.where("yn").is(YnEnums.YES.getId()).and("fmHospital").exists(true). - orOperator(Criteria.where("townOrgId").is(hospitalId), Criteria.where("townOrgId").exists(false))), Patients.class); - for (Patients p : patients1) { - townOrgIds.add(p.getId()); - } - - - - if (CollectionUtils.isEmpty(currentParentIdList)) { - currentParentIdList = townOrgIds; - } else { - currentParentIdList.retainAll(townOrgIds); - } - matDeliverQuery.setParentIdList(currentParentIdList);*/ if (StringUtils.isNotEmpty(matdeliverFollowRequest.getNeed())) {//是否分页 matDeliverQuery.setNeed("need"); matDeliverQuery.setLimit(matdeliverFollowRequest.getLimit()); @@ -1998,18 +1998,20 @@ public class MatDeliverFacade { matdeliverFollowListResult.setId(deliverModel.getId()); //机构信息 Organization organization = organizationService.getOrganization(Integer.valueOf(deliverModel.getFmHospital())); - // 市 - BasicConfig cityName = basicConfigService.getOneBasicConfigById(organization.getCityId()); - // 区 - BasicConfig areaName = basicConfigService.getOneBasicConfigById(organization.getAreaId()); - if (cityName != null) { - matdeliverFollowListResult.setHospitalCityName(cityName.getName()); - } - if (areaName != null) { - matdeliverFollowListResult.setHospitalAreaName(areaName.getName()); - } - //分娩医院 - matdeliverFollowListResult.setFmHospital(organization.getName()); + if (organization != null) { + // 市 + BasicConfig cityName = basicConfigService.getOneBasicConfigById(organization.getCityId()); + // 区 + BasicConfig areaName = basicConfigService.getOneBasicConfigById(organization.getAreaId()); + if (cityName != null) { + matdeliverFollowListResult.setHospitalCityName(cityName.getName()); + } + if (areaName != null) { + matdeliverFollowListResult.setHospitalAreaName(areaName.getName()); + } + //分娩医院 + matdeliverFollowListResult.setFmHospital(organization.getName()); + } matdeliverFollowListResult.setContactResult(deliverModel.getContactResult()); //预约联系结果 if (deliverModel.getContactResult() != null) { -- 1.8.3.1