diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java index 3c028995..93150761 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java @@ -352,9 +352,9 @@ public class XmTaskController { List no=new ArrayList<>(); for (XmTask xmTaskDb : xmTasksDb) { XmProject xmProject=projectMap.get(xmTaskDb.getProjectId()); - if(projectMap.containsKey(xmProject.getId())){ - xmProject=xmProjectService.getProjectFromCache(xmProject.getId()); - projectMap.put(xmProject.getId(),xmProject); + if(xmProject==null || StringUtils.isEmpty(xmProject.getId()) || !projectMap.containsKey(xmProject.getId())){ + xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId()); + projectMap.put(xmTaskDb.getProjectId(),xmProject); } tips=groupService.checkProjectQx(xmProject,user,xmTaskDb.getCreateUserid(),xmTaskDb.getExecutorUserid()); if(!tips.isOk()){ diff --git a/xm-core/src/main/java/com/xm/core/service/XmGroupService.java b/xm-core/src/main/java/com/xm/core/service/XmGroupService.java index 769defc9..7a9ffef0 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmGroupService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmGroupService.java @@ -171,11 +171,11 @@ public class XmGroupService extends BaseService { Tips tips=new Tips(); if(memUserids==null || memUserids.length==0){ - return this.checkProjectQx(xmProject,head); + return this.checkProjectScopeQx(xmProject,head.getUserid(),head.getBranchId()); } - Set memUseridSet= Arrays.stream(memUserids).filter(k->!k.equals(head.getUserid())).collect(Collectors.toSet()); + Set memUseridSet= Arrays.stream(memUserids).filter(k->StringUtils.hasText(k)&&!k.equals(head.getUserid())).collect(Collectors.toSet()); if(memUseridSet.size()==0){ - return this.checkProjectQx(xmProject,head); + return this.checkProjectScopeQx(xmProject,head.getUserid(),head.getBranchId()); } boolean headIsPm=this.checkUserIsProjectAdm(xmProject,head.getUserid());