diff --git a/postdischarge-common/src/main/java/com/xinelu/common/core/domain/entity/SysRole.java b/postdischarge-common/src/main/java/com/xinelu/common/core/domain/entity/SysRole.java index dd55e073..30c5ecd0 100644 --- a/postdischarge-common/src/main/java/com/xinelu/common/core/domain/entity/SysRole.java +++ b/postdischarge-common/src/main/java/com/xinelu/common/core/domain/entity/SysRole.java @@ -44,7 +44,7 @@ public class SysRole extends BaseEntity { /** * 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */ - @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限") + @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限,6=本机构数据权限") private String dataScope; /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java index 5890929c..1683dc54 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java @@ -49,7 +49,6 @@ public class AgencyController extends BaseController { */ @GetMapping("/selectAgencyList") public AjaxResult selectAgencyByIdList(Agency agency) { - // TODO 根据用户角色确定查询范围 return agencyService.selectAgencyByIdList(agency); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java index 43b7efeb..87f4a47c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java @@ -2,6 +2,7 @@ package com.xinelu.manage.service.agency.impl; import com.xinelu.common.constant.Constants; import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.core.domain.entity.SysRole; import com.xinelu.common.enums.NodeTypeEnum; import com.xinelu.common.exception.ServiceException; import com.xinelu.common.utils.SecurityUtils; @@ -21,19 +22,18 @@ import com.xinelu.manage.vo.agency.AgencyTreeVO; import com.xinelu.manage.vo.agency.AgencyVO; import com.xinelu.manage.vo.agency.HospitalVO; import com.xinelu.manage.vo.sysarea.SysAreaVO; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.BooleanUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; +import javax.annotation.Resource; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.BooleanUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** @@ -102,6 +102,14 @@ public class AgencyServiceImpl implements IAgencyService { */ @Override public AjaxResult selectAgencyByIdList(Agency agency) { + // 查询用户角色 + List roleList = SecurityUtils.getLoginUser().getUser().getRoles(); + if (CollectionUtils.isNotEmpty(roleList)) { + List dataScopeList = roleList.stream().map(SysRole::getDataScope).collect(Collectors.toList()); + if (!dataScopeList.contains("1")) { // 不是全部数据权限,就只查询本机构 + agency.setId(SecurityUtils.getLoginUser().getUser().getHospitalAgencyId()); + } + } return AjaxResult.success(agencyMapper.selectAgencyList(agency)); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java index e5cbe04d..8dfb7131 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/patienttaskexecuterecord/impl/PatientTaskExecuteRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.xinelu.manage.service.patienttaskexecuterecord.impl; +import com.xinelu.common.annotation.DataScope; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.utils.AgeUtil; import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord; @@ -44,6 +45,7 @@ public class PatientTaskExecuteRecordServiceImpl implements IPatientTaskExecuteR * @return 患者管理任务执行记录 */ @Override + @DataScope(agencyAlias = "pi", deptAlias = "pi") public List selectPatientTaskExecuteRecordList(PatientTaskExecuteRecordVO patientTaskExecuteRecord) { return patientTaskExecuteRecordMapper.selectPatientAndExecuteRecordList(patientTaskExecuteRecord); } diff --git a/postdischarge-manage/src/main/resources/mapper/manage/agency/AgencyMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/agency/AgencyMapper.xml index 99567af2..02d8133e 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/agency/AgencyMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/agency/AgencyMapper.xml @@ -58,6 +58,9 @@