diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index 75e7ab0..895ae72 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -480,25 +480,23 @@ public class IReportServiceImpl extends ServiceImpl //设置权限 list.getRecords().forEach(reportVo -> { + //无权限要求的报告自带预览权限 + if (reportVo.getConfidentialLevel().equals(PUBLIC_REPORT) && + reportVo.getPrivacyLevel().equals(NO_USER_PRIVACY_INVOLVED)) { + reportVo.setPower(PREVIEW); + } else { + reportVo.setPower(NONE); + } List powerApplies = reportPowerMap.get(reportVo.getId()); if (powerApplies != null) { - if (powerApplies.size() == 1) { + //只有当PA表只有一条申请的权限且并不是公开表的时候才给权限 + if (powerApplies.size() == 1 && reportVo.getPower().equals(NONE)) { reportVo.setPower(powerApplies.get(0).getPower()); } else { reportVo.setPower(PREVIEW_DOWNLOAD); } } - //只有用户没有权限的时候才给默认权限 - if (reportVo.getPower() == null) { - //其余人员只能预览公开报告(涉密等级:公开(内部公开)、隐私等级:不涉及用户隐私) - if (reportVo.getConfidentialLevel().equals(PUBLIC_REPORT) && - reportVo.getPrivacyLevel().equals(NO_USER_PRIVACY_INVOLVED)) { - reportVo.setPower(PREVIEW); - } else { - reportVo.setPower(NONE); - } - } //如果上传人是自己也有预览下载权限 if (UserUtils.getUserId().equals(reportVo.getCreateUserId())) { reportVo.setPower(PREVIEW_DOWNLOAD);