fix: 82879 工作组&起草组--非管理员角色--负责人看到了非自己负责的数据
This commit is contained in:
+11
-5
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.RolePermissionService;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
@@ -16,6 +17,7 @@ import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.drafting.entity.PayDraftingGroup;
|
||||
import com.jero.drafting.service.IPayDraftingGroupService;
|
||||
import com.jero.drafting.vo.PayDraftingGroupVo;
|
||||
import com.jero.mail.commont.constant;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
@@ -73,13 +75,17 @@ public class PayDraftingGroupController extends JeroController<PayDraftingGroup,
|
||||
if(!StringUtils.isBlank(payDraftingGroup.getDraftingGroupProject()) && payDraftingGroup.getDraftingGroupProject().length() > 50){
|
||||
return Result.error("起草组项目长度不能大于50个字符");
|
||||
}
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!rolePermissionService.getRolePermission("draftingGroup:search")){
|
||||
payDraftingGroup.setPrincipalA(sysUser.getId());
|
||||
payDraftingGroup.setPrincipalB(sysUser.getId());
|
||||
if (StringUtils.isNotBlank(sysUser.getRoleCode())){
|
||||
List<String> roleCodes = new ArrayList<>(Arrays.asList(sysUser.getRoleCode().split(",")));
|
||||
if(rolePermissionService.getRolePermission("draftingGroup:search") &&
|
||||
!(roleCodes.contains(constant.ADMIN))){
|
||||
payDraftingGroup.setPrincipalA(sysUser.getId());
|
||||
payDraftingGroup.setPrincipalB(sysUser.getId());
|
||||
}
|
||||
} else {
|
||||
throw new JeroBootException("登录用户角色为空!");
|
||||
}
|
||||
|
||||
// 分页条件查询
|
||||
Page<PayDraftingGroupVo> page = new Page<>(pageNo, pageSize);
|
||||
if(!StringUtils.isBlank(payDraftingGroup.getDraftingGroupProject())){
|
||||
|
||||
+12
-3
@@ -16,6 +16,8 @@ import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.mail.commont.constant;
|
||||
import com.jero.meeting.entity.PayMeetingQuestion;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
@@ -37,6 +39,7 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -80,9 +83,15 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
|
||||
return Result.error("工作组项目长度不能大于50个字符");
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!rolePermissionService.getRolePermission("workingGroupProject:search")){
|
||||
payWorkingGroup.setPrincipalA(sysUser.getId());
|
||||
payWorkingGroup.setPrincipalB(sysUser.getId());
|
||||
if (StringUtils.isNotBlank(sysUser.getRoleCode())){
|
||||
List<String> roleCodes = new ArrayList<>(Arrays.asList(sysUser.getRoleCode().split(",")));
|
||||
if(rolePermissionService.getRolePermission("workingGroupProject:search") &&
|
||||
!(roleCodes.contains(constant.ADMIN))){
|
||||
payWorkingGroup.setPrincipalA(sysUser.getId());
|
||||
payWorkingGroup.setPrincipalB(sysUser.getId());
|
||||
}
|
||||
} else {
|
||||
throw new JeroBootException("登录用户角色为空!");
|
||||
}
|
||||
Page<PayWorkingGroupVO> page = new Page<PayWorkingGroupVO>(pageNo, pageSize);
|
||||
if(!StringUtils.isBlank(payWorkingGroup.getWorkingGroupProject())){
|
||||
|
||||
Reference in New Issue
Block a user