From 731b3596b6e897a3796d93eac88ead4c572773a3 Mon Sep 17 00:00:00 2001 From: landong2015 Date: Tue, 13 Dec 2016 10:42:51 +0800 Subject: [PATCH] update --- .../operate/web/facade/FolicAcidFacade.java | 60 +++++++++++++++++++--- 1 file changed, 52 insertions(+), 8 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java index 6efa494..0eadbce 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java @@ -1,6 +1,7 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.DataPermissionService; import com.lyms.platform.biz.service.FolicAcidService; import com.lyms.platform.biz.service.ResidentsArchiveService; import com.lyms.platform.common.constants.ErrorCodeConstants; @@ -19,8 +20,10 @@ import com.lyms.platform.permission.model.OrganizationQuery; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.DataPermissionsModel; import com.lyms.platform.pojo.FolicAcid; import com.lyms.platform.pojo.ResidentsArchiveModel; +import com.lyms.platform.query.DataPermissionsModelQuery; import com.lyms.platform.query.FolicAcidQuery; import com.lyms.platform.query.ResidentsArchiveQuery; import org.apache.commons.collections.CollectionUtils; @@ -50,6 +53,8 @@ public class FolicAcidFacade { private UsersService usersService; @Autowired private BasicConfigService basicConfigService; + @Autowired + private DataPermissionService dataPermissionService; public BaseResponse addOrUpdateFolicAcid(FolicAcidAddRequest addRequest,Integer userId){ @@ -99,6 +104,8 @@ public class FolicAcidFacade { //建档日期 model.setBuildDay(DateUtil.getYmd(new Date())); + model.setVcCardNo(addRequest.getVcCardNo()); + ResidentsArchiveModel residentsArchiveModel = residentsArchiveService.addResident(model); id = addOrUpdate(addRequest,userId,residentsArchiveModel.getId()); @@ -205,7 +212,7 @@ public class FolicAcidFacade { return response; } - public BaseListResponse queryFolicAcid(FolicAcidQueryRequest queryRequest){ + public BaseListResponse queryFolicAcid(FolicAcidQueryRequest queryRequest,Integer userId){ List> list = new ArrayList<>(); @@ -217,8 +224,6 @@ public class FolicAcidFacade { folicAcidQuery.setLimit(queryRequest.getLimit()); folicAcidQuery.setNeed("y"); - folicAcidQuery.setHospitalId(queryRequest.getHospitalId()); - if(StringUtils.isNotEmpty(queryRequest.getDrawTime())){ String[] dates = queryRequest.getDrawTime().split(" - "); folicAcidQuery.setDrawTimeStart(DateUtil.parseYMD(dates[0])); @@ -231,7 +236,6 @@ public class FolicAcidFacade { folicAcidQuery.setDrawTimeEnd(date); } } - folicAcidQuery.setHighRisk(queryRequest.getHighRisk()); //省市区筛选机构 @@ -242,13 +246,54 @@ public class FolicAcidFacade { organizationQuery.setProvinceId(queryRequest.getProvinceId()); organizationQuery.setCityId(queryRequest.getCityId()); organizationQuery.setAreaId(queryRequest.getAreaId()); - organizationList = new ArrayList<>(); organizationList = organizationService.queryHospitals(organizationQuery); } - List hospitalIds = null; + List hospitalList = null; + //判断当前用户是否有区域权限 + if (userId!=null){ + hospitalList = new ArrayList<>(); + String hospital = autoMatchFacade.getHospitalId(userId); + if(null!=hospital){ + //本院 + hospitalList.add(hospital); + } + //查询用户是否有区域权限 + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); + dataPermissionsModelQuery.setUserId(userId); + List permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); + if (CollectionUtils.isNotEmpty(permissionsModels)) { + Set set = permissionsModels.get(0).getData().keySet(); + Iterator it = set.iterator(); + while (it.hasNext()) { + String id = it.next(); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id) && !hospitalList.contains(id)) { + hospitalList.add(id); + } + } + } + if (StringUtils.isNotEmpty(queryRequest.getHospitalId())){ + List orgId = new ArrayList<>(); + orgId.add(queryRequest.getHospitalId()); + hospitalList.retainAll(orgId); + } + + if (organizationList!=null){ + List orgId = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(organizationList)) { + for (Organization org : organizationList) { + if (null != org.getId()) { + orgId.add(org.getId() + ""); + } + } + } + hospitalList.retainAll(orgId); + } + folicAcidQuery.setHospitalList(hospitalList); + } + /*List hospitalIds = null; if (CollectionUtils.isNotEmpty(organizationList)){ hospitalIds = new ArrayList<>(); for (Organization hospital : organizationList){ @@ -262,8 +307,7 @@ public class FolicAcidFacade { }else { folicAcidQuery.setHospitalId("-1"); } - } - + }*/ List folicAcidList = folicAcidService.queryFolicAcid(folicAcidQuery); if (CollectionUtils.isNotEmpty(folicAcidList)){ for (FolicAcid data : folicAcidList){ -- 1.8.3.1