From 581179385eb53cabd258c12dd0dd5a66bd7314fc Mon Sep 17 00:00:00 2001 From: zhaokai Date: Wed, 18 Mar 2026 16:46:48 +0800 Subject: [PATCH] =?UTF-8?q?refactor(task):=20=E9=87=8D=E6=9E=84=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=BB=BB=E5=8A=A1=E8=AF=84=E5=88=86=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/query/ProjectTaskQueryExe.java | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskQueryExe.java b/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskQueryExe.java index 2806bdb..03f86ff 100644 --- a/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskQueryExe.java +++ b/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskQueryExe.java @@ -111,18 +111,43 @@ public class ProjectTaskQueryExe { }else{ projectTaskScoreInfoCO.setIsScore(false); } - //判断不是企业,并且不是自己 + + // 判断是否可以查看/设置评分 + boolean canViewScore = checkScorePermission(projectTaskScoreInfoCO); + if(canViewScore){ + projectTaskScoreInfoCO.setScoreFlag(true); + }else{ + projectTaskScoreInfoCO.setScore(null); + projectTaskScoreInfoCO.setScoreFlag(false); + } + /*//判断不是企业,并且不是自己 if((!CorpInfoE.isCorp() && !AuthContext.getUserId().equals(projectTaskScoreInfoCO.getUserId())) && (AuthContext.getRoleIds()!=null && !AuthContext.getRoleIds().contains(2008483105201106946L))) { projectTaskScoreInfoCO.setScore(null); projectTaskScoreInfoCO.setScoreFlag(false); }else{ projectTaskScoreInfoCO.setScoreFlag(true); - } + }*/ }); projectTaskDetailsCO.setProjectTaskScoreInfoCOList(projectTaskScoreInfoCOS); } return projectTaskDetailsCO; } + private boolean checkScorePermission(ProjectTaskScoreInfoCO scoreInfo) { + // 1. 企业账号且数据属于本企业 + if (CorpInfoE.isCorp() && AuthContext.getTenantId().equals(scoreInfo.getCorpinfoId())) { + return true; + } + // 2. 评分人员本人 + if (AuthContext.getUserId().equals(scoreInfo.getUserId())) { + return true; + } + // 3. 拥有特殊管理角色 + if (AuthContext.getRoleIds() != null && + AuthContext.getRoleIds().contains(2008483105201106946L)) { + return true; + } + return false; + } }