修改viewer导出法规清单权限问题

This commit is contained in:
gaosong
2023-12-27 16:44:36 +08:00
parent fb0e38dc67
commit c16279ec56
@@ -3966,6 +3966,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
@Override @Override
public void exportData(HttpServletResponse response, HttpServletRequest request, ProjectLawsInventoryEO projectLawsInventoryEO) { public void exportData(HttpServletResponse response, HttpServletRequest request, ProjectLawsInventoryEO projectLawsInventoryEO) {
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<ProjectLawsInventoryEO> dataList = new ArrayList<>(); List<ProjectLawsInventoryEO> dataList = new ArrayList<>();
QueryWrapper<ProjectLawsInventoryEO> queryWrapper = QueryGenerator.initQueryWrapper(projectLawsInventoryEO, request.getParameterMap()); QueryWrapper<ProjectLawsInventoryEO> queryWrapper = QueryGenerator.initQueryWrapper(projectLawsInventoryEO, request.getParameterMap());
queryWrapper.in("project_library_id", projectLawsInventoryEO.getProjectLibraryId()); queryWrapper.in("project_library_id", projectLawsInventoryEO.getProjectLibraryId());
@@ -3977,13 +3978,20 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
int isProjectRole = Integer.parseInt(projectLawsInventoryEO.getRoleCode()); int isProjectRole = Integer.parseInt(projectLawsInventoryEO.getRoleCode());
if (isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue()) if (isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.MANAGER.getValue()) && isProjectRole != Integer.parseInt(ProjectRoleEnum.MANAGER.getValue())
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.ADMIN.getValue())) { && isProjectRole != Integer.parseInt(ProjectRoleEnum.ADMIN.getValue())
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); && isProjectRole != Integer.parseInt(ProjectRoleEnum.VIEWER.getValue())) {
queryWrapper.and(q -> { queryWrapper.and(q -> {
q.eq("regulation_owner_id", currentUser.getId()). q.eq("regulation_owner_id", currentUser.getId()).
or().eq("homologation_engineer_id", currentUser.getId()); or().eq("homologation_engineer_id", currentUser.getId());
}); });
} }
if (isProjectRole == Integer.parseInt(ProjectRoleEnum.VIEWER.getValue())) {
//查当前用户Viewer对应责任领域
List<String> dutyTerritoryList = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(currentUser.getId());
if (ObjectUtils.isNotEmpty(dutyTerritoryList)) {
queryWrapper.in("duty_territory", dutyTerritoryList);
}
}
//导出的数据 //导出的数据
dataList = this.list(queryWrapper); dataList = this.list(queryWrapper);
@@ -4009,7 +4017,6 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//数据转换(文件名称,对应标准) //数据转换(文件名称,对应标准)
dataTransition(dataList, fileInfos, sysUserList, projectLawsInventoryEO); dataTransition(dataList, fileInfos, sysUserList, projectLawsInventoryEO);
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
this.dataDispose(dataList, currentUser, Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue()), projectLawsInventoryEO.getCut()); this.dataDispose(dataList, currentUser, Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue()), projectLawsInventoryEO.getCut());
OutputStream os = null; OutputStream os = null;
try { try {