fix: 82879 工作组&起草组--非管理员角色--负责人看到了非自己负责的数据

This commit is contained in:
2024-03-25 18:07:07 +08:00
parent d5619036cf
commit d09ad41d7c
2 changed files with 27 additions and 19 deletions
@@ -94,9 +94,9 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
if(!CollectionUtils.isEmpty(listPayWorkingGroupVO)){
setPayWorkingGroupSubItem(listPayWorkingGroupVO);
listPayWorkingGroupVO.forEach(p->{
if(!rolePermissionService.getRolePermission("generalProject:search") && Objects.equals(p.getPrincipalIdB(),sysUser.getId())){
p.setCheckoutOperation(PayProjectCommon.CHECKOUT_OPERATION2);
}else{
if(!rolePermissionService.getRolePermission("generalProject:search") && (
Objects.equals(p.getPrincipalIdA(),sysUser.getId()) ||
Objects.equals(p.getPrincipalIdB(),sysUser.getId()))){
p.setCheckoutOperation(PayProjectCommon.CHECKOUT_OPERATION1);
}
});
@@ -253,10 +253,12 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
if(Objects.isNull(payWorkingGroupOld)){
return Result.error(payWorkingGroupOld.getWorkingGroupProject() + "工作组不存在!");
}
// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// if(!rolePermissionService.getRolePermission("workingGroupProject:copy") && !Objects.equals(payWorkingGroupOld.getPrincipalIdA(),sysUser.getId())){
// return Result.error(payWorkingGroupOld.getWorkingGroupProject() + "数据权限不足!");
// }
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!rolePermissionService.getRolePermission("workingGroupProject:copy") &&
!Objects.equals(payWorkingGroupOld.getPrincipalIdA(),sysUser.getId()) &&
!Objects.equals(payWorkingGroupOld.getPrincipalIdB(),sysUser.getId())) {
return Result.error(payWorkingGroupOld.getWorkingGroupProject() + "数据权限不足!");
}
payWorkingGroupService.copy(payWorkingGroup);
return Result.OK("复制成功!");
}
@@ -327,10 +329,12 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
}
}
// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// if(!rolePermissionService.getRolePermission("workingGroupProject:edit") && !Objects.equals(payWorkingGroupOld.getPrincipalIdA(),sysUser.getId())){
// return Result.error(payWorkingGroupOld.getWorkingGroupProject() + "数据权限不足!");
// }
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!rolePermissionService.getRolePermission("workingGroupProject:edit") &&
!Objects.equals(payWorkingGroupOld.getPrincipalIdA(),sysUser.getId()) &&
!Objects.equals(payWorkingGroupOld.getPrincipalIdB(),sysUser.getId())) {
return Result.error(payWorkingGroupOld.getWorkingGroupProject() + "数据权限不足!");
}
try {
// 编辑保存前再次校验来款项目是否存在
LambdaQueryWrapper<PayWorkingGroup> queryWrapper = new LambdaQueryWrapper<>();
@@ -110,10 +110,12 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
public void deleteById(String id) {
PayWorkingGroup payWorkingGroupOld = payWorkingGroupService.getById(id);
// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// if(!rolePermissionService.getRolePermission("workingGroupProject:delete") && !Objects.equals(payWorkingGroupOld.getPrincipalIdA(),sysUser.getId())){
// throw new JeroBootException(payWorkingGroupOld.getWorkingGroupProject() + "工作组项目不可操作!");
// }
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!rolePermissionService.getRolePermission("workingGroupProject:delete") &&
!Objects.equals(payWorkingGroupOld.getPrincipalIdA(),sysUser.getId()) &&
!Objects.equals(payWorkingGroupOld.getPrincipalIdB(),sysUser.getId())){
throw new JeroBootException(payWorkingGroupOld.getWorkingGroupProject() + "工作组项目不可操作!");
}
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>();
query.eq(PayWorkingGroupSubItem::getWorkingGroupId,id);
@@ -146,10 +148,12 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
if(Objects.isNull(payWorkingGroupOld)){
throw new JeroBootException("工作组不存在!");
}
// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// if(!rolePermissionService.getRolePermission("workingGroupProject:batchDel") && !Objects.equals(payWorkingGroupOld.getPrincipalIdA(),sysUser.getId())){
// sb.append(payWorkingGroupOld.getWorkingGroupProject() + "工作组项目不可操作!<br/>");
// }
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!rolePermissionService.getRolePermission("workingGroupProject:batchDel") &&
!Objects.equals(payWorkingGroupOld.getPrincipalIdA(),sysUser.getId()) &&
!Objects.equals(payWorkingGroupOld.getPrincipalIdB(),sysUser.getId())){
sb.append(payWorkingGroupOld.getWorkingGroupProject() + "工作组项目不可操作!<br/>");
}
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>();
query.eq(PayWorkingGroupSubItem::getWorkingGroupId, p);
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query);