From 906ac169e6a92461a705721187ed7cb972747b6a Mon Sep 17 00:00:00 2001 From: liquanyu Date: Fri, 16 Nov 2018 10:41:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=9B=E6=9F=A5=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/operate/web/facade/SieveFacade.java | 43 ++++++++++++++-------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java index 189685b..7601859 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java @@ -1,5 +1,6 @@ package com.lyms.platform.operate.web.facade; +import com.lyms.platform.beans.AddressBean; import com.lyms.platform.beans.MsgRequest; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; @@ -1644,29 +1645,41 @@ public class SieveFacade { h1+=" "+cqSieveQueryRequest.getTime(); } + //获取用户权限医院和筛选条件的交集 + List areaHospitalIds = new ArrayList<>(); + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); dataPermissionsModelQuery.setUserId(userId); List permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); + if (CollectionUtils.isNotEmpty(permissionsModels)) + { + for (DataPermissionsModel permissionsModel : permissionsModels) + { + if (StringUtils.isNotEmpty(permissionsModel.getAreaPermission())) + { + List addressBeanList = JsonUtil.toList(permissionsModels.get(0).getAreaPermission(), AddressBean.class); + if (CollectionUtils.isEmpty(addressBeanList)) + { + continue; + } - boolean hasPermission = false; - if (StringUtils.isNotEmpty(cqSieveQueryRequest.getProvinceId())) { - hasPermission = areaCountFacade.hasPermissions2(cqSieveQueryRequest.getProvinceId(), 1, permissionsModels); - } - if (StringUtils.isNotEmpty(cqSieveQueryRequest.getCityId())) { - hasPermission = areaCountFacade.hasPermissions2(cqSieveQueryRequest.getProvinceId(), 2, permissionsModels); - } - if (StringUtils.isNotEmpty(cqSieveQueryRequest.getAreaId())) { - hasPermission = areaCountFacade.hasPermissions2(cqSieveQueryRequest.getProvinceId(), 3, permissionsModels); + for (AddressBean bean : addressBeanList) + { + areaHospitalIds.addAll(areaCountFacade.getCurrentUserHospPermissions(userId, bean.getP(), + bean.getC(), bean.getA())); + } + } + } } + List> list = new ArrayList<>(); - if (hasPermission) - { //获取用户权限医院和筛选条件的交集 - List currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, cqSieveQueryRequest.getProvinceId(), - cqSieveQueryRequest.getCityId(), cqSieveQueryRequest.getAreaId()); - list = getDiaDatas(currentUserHospPermissions, dates); - } + List currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, cqSieveQueryRequest.getProvinceId(), + cqSieveQueryRequest.getCityId(), cqSieveQueryRequest.getAreaId()); + + currentUserHospPermissions.retainAll(areaHospitalIds); + list = getDiaDatas(currentUserHospPermissions, dates); response.setContentType("application/force-download"); response.setHeader("Content-Disposition", "attachment;filename=" + new String(("产前诊断及新生儿疾病筛查工作情况表.xls").getBytes("UTF-8"), "ISO-8859-1")); String path = this.getClass().getResource("/").getPath()+ "whfy_diagnosis.xls"; -- 1.8.3.1