Browse Source

项目及项目组相关进行权限优化

master
qqkj 5 years ago
parent
commit
5315fbc00c
  1. 16
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java
  2. 18
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java
  3. 110
      xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java

16
xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java

@ -137,7 +137,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsHead(pgroups,user.getUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,user.getUserid(),user.getUserid());
if(!isHead){ if(!isHead){
tips.setFailureMsg("您无权新建任务!项目经理、组长可以新建任务。"); tips.setFailureMsg("您无权新建任务!项目经理、组长可以新建任务。");
m.put("tips", tips); m.put("tips", tips);
@ -262,7 +262,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsHead(pgroups,user.getUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,user.getUserid(),user.getUserid());
if(!isHead){ if(!isHead){
tips.setFailureMsg("您无权删除该任务!项目经理、组长可以删除任务。"); tips.setFailureMsg("您无权删除该任务!项目经理、组长可以删除任务。");
m.put("tips", tips); m.put("tips", tips);
@ -319,7 +319,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
tips.setFailureMsg("您无权修改该任务基础信息!项目经理、组长可以修改任务的基础信息。"); tips.setFailureMsg("您无权修改该任务基础信息!项目经理、组长可以修改任务的基础信息。");
m.put("tips", tips); m.put("tips", tips);
@ -395,7 +395,7 @@ public class XmTaskController {
return m; return m;
} }
XmTask xmTaskDb=xmTaskService.selectOneObject(xmTask); XmTask xmTaskDb=xmTaskService.selectOneObject(xmTask);
boolean isHead=groupService.checkUserIsHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
boolean isCreateUser=user.getUserid().equals(xmTaskDb.getCreateUserid()); boolean isCreateUser=user.getUserid().equals(xmTaskDb.getCreateUserid());
boolean isExecUser=user.getUserid().equals(xmTaskDb.getExecutorUserid()); boolean isExecUser=user.getUserid().equals(xmTaskDb.getExecutorUserid());
@ -467,7 +467,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsHead(pgroups,user.getUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,user.getUserid(),user.getUserid());
if(!isHead){ if(!isHead){
tips.setFailureMsg("您无权批量导入任务!项目经理、组长可以批量导入任务。"); tips.setFailureMsg("您无权批量导入任务!项目经理、组长可以批量导入任务。");
m.put("tips", tips); m.put("tips", tips);
@ -564,7 +564,7 @@ public class XmTaskController {
if(isMyCreate){ if(isMyCreate){
allowTasks.add(task); allowTasks.add(task);
}else{ }else{
boolean isHead=groupService.checkUserIsHead(pgroups,task.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,task.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
noAllowTasks.add(task); noAllowTasks.add(task);
}else { }else {
@ -643,7 +643,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsHead(pgroups,task.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,task.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
noAllowTasks.add(task); noAllowTasks.add(task);
}else { }else {
@ -757,7 +757,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsHead(pgroups,task.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,task.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
noAllowTasksDbMap.put(task.getId(),task); noAllowTasksDbMap.put(task.getId(),task);
}else { }else {

18
xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java

@ -112,7 +112,7 @@ public class XmTaskExecuserController {
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) { if(!isHead ) {
if(user.getUserid().equals(xmTaskExecuser.getUserid())){ if(user.getUserid().equals(xmTaskExecuser.getUserid())){
tips.setFailureMsg(user.getUsername()+"不是组长,无权进行新增任务执行人、候选人等操作"); tips.setFailureMsg(user.getUsername()+"不是组长,无权进行新增任务执行人、候选人等操作");
@ -155,7 +155,7 @@ public class XmTaskExecuserController {
List<String> allowUserNames=new ArrayList<>(); List<String> allowUserNames=new ArrayList<>();
for (XmTaskExecuser xmTaskExecuser : xmTaskExecusers) { for (XmTaskExecuser xmTaskExecuser : xmTaskExecusers) {
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
boolean isHead= groupService.checkUserIsHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) { if(!isHead ) {
//throw new BizException(user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权修改"); //throw new BizException(user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权修改");
noAllowUsers.add(xmTaskExecuser.getUsername()); noAllowUsers.add(xmTaskExecuser.getUsername());
@ -210,7 +210,7 @@ public class XmTaskExecuserController {
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
boolean isHead= groupService.checkUserIsHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) { if(!isHead ) {
if(user.getUserid().equals(xmTaskExecuser.getUserid())){ if(user.getUserid().equals(xmTaskExecuser.getUserid())){
tips.setFailureMsg("组长可以把候选人变更为任务执行人,"+user.getUsername()+"不是组长,无权变更"); tips.setFailureMsg("组长可以把候选人变更为任务执行人,"+user.getUsername()+"不是组长,无权变更");
@ -265,7 +265,7 @@ public class XmTaskExecuserController {
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) { if(!isHead ) {
tips.setFailureMsg("自己或者组长可以提交任务到测试,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权提交"); tips.setFailureMsg("自己或者组长可以提交任务到测试,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权提交");
} }
@ -298,7 +298,7 @@ public class XmTaskExecuserController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) { if(!isHead ) {
if(user.getUserid().equals(xmTaskExecuser.getUserid())) { if(user.getUserid().equals(xmTaskExecuser.getUserid())) {
tips.setFailureMsg("组长可以提交该任务的测试结果,"+user.getUsername()+"不是组长,无权提交"); tips.setFailureMsg("组长可以提交该任务的测试结果,"+user.getUsername()+"不是组长,无权提交");
@ -336,7 +336,7 @@ public class XmTaskExecuserController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) { if(!isHead ) {
if(user.getUserid().equals(xmTaskExecuser.getUserid())) { if(user.getUserid().equals(xmTaskExecuser.getUserid())) {
tips.setFailureMsg("组长可以提交该任务的测试结果,"+user.getUsername()+"不是组长,无权修改"); tips.setFailureMsg("组长可以提交该任务的测试结果,"+user.getUsername()+"不是组长,无权修改");
@ -398,7 +398,7 @@ public class XmTaskExecuserController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) { if(!isHead ) {
tips.setFailureMsg("自己或者组长可以修改任务的报价信息,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权修改"); tips.setFailureMsg("自己或者组长可以修改任务的报价信息,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权修改");
} }
@ -439,7 +439,7 @@ public class XmTaskExecuserController {
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) { if(!isHead ) {
tips.setFailureMsg("自己申请成为该任务候选人或者组长邀请您成为任务候选人,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权操作"); tips.setFailureMsg("自己申请成为该任务候选人或者组长邀请您成为任务候选人,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权操作");
} }
@ -476,7 +476,7 @@ public class XmTaskExecuserController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
boolean isHead= groupService.checkUserIsHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
boolean isHead= groupService.checkUserIsOtherUserTeamHead(pgroups, xmTaskExecuser.getUserid(), user.getUserid());
if(!isHead ) { if(!isHead ) {
tips.setFailureMsg("只有自己或者组长可以删除任务执行人,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权删除"); tips.setFailureMsg("只有自己或者组长可以删除任务执行人,"+user.getUsername()+"不是"+xmTaskExecuser.getUsername()+"的组长,无权删除");
} }

110
xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java

@ -143,8 +143,14 @@ public class XmProjectGroupService extends BaseService {
} }
groupCacheService.putGroups(projectId, null); groupCacheService.putGroups(projectId, null);
} }
//更新项目团队
@Transactional
/*
* 更新项目团队
* 1.项目经理项目创建人可以添加项目小组
* 2.小组长可以添加本小组成员清空本小组所有成员
* 3.项目经理创建人可以任意添加删除成员
* 4.项目经理创建人可以调整小组组长
*/
//@Transactional 无须事务
public List<XmProjectGroupVo> updateGroup(String projectId,List<XmProjectGroupVo> xmProjectGroupVoList) { public List<XmProjectGroupVo> updateGroup(String projectId,List<XmProjectGroupVo> xmProjectGroupVoList) {
XmProjectGroup group = new XmProjectGroup(); XmProjectGroup group = new XmProjectGroup();
group.setProjectId(projectId); group.setProjectId(projectId);
@ -156,7 +162,8 @@ public class XmProjectGroupService extends BaseService {
List<XmProjectGroupVo> myGroupVos=this.getUserGroups(projectGroupVos, user.getUserid()); List<XmProjectGroupVo> myGroupVos=this.getUserGroups(projectGroupVos, user.getUserid());
boolean isProjectCreate=user.getUserid().equals(project.getCreateUserid()); boolean isProjectCreate=user.getUserid().equals(project.getCreateUserid());
boolean isPm = this.checkUserIsProjectManager(projectGroupVos, user.getUserid());
boolean isPm = this.checkUserIsProjectManager(projectGroupVos, user.getUserid());
boolean isHeadPm=this.checkUserIsHeadProjectManager(projectGroupVos,user.getUserid());
//查出需要删除的组进行删除组及关联组成员 //查出需要删除的组进行删除组及关联组成员
groupListDb.forEach(g->{ groupListDb.forEach(g->{
@ -167,8 +174,11 @@ public class XmProjectGroupService extends BaseService {
public boolean test(XmProjectGroupVo t) { public boolean test(XmProjectGroupVo t) {
if(t.getGroupName().equals(g.getGroupName())) { if(t.getGroupName().equals(g.getGroupName())) {
t.setId(g.getId()); t.setId(g.getId());
t.setPgTypeId(g.getPgTypeId());
t.setPgTypeName(g.getPgTypeName());
return true; return true;
}else { }else {
return false; return false;
} }
} }
@ -184,7 +194,13 @@ public class XmProjectGroupService extends BaseService {
throw new BizException("无权操作!只有项目创建人、项目经理可以删除小组"); throw new BizException("无权操作!只有项目创建人、项目经理可以删除小组");
} }
} }
for (XmProjectGroup delGroup : delGroups) {
if("nbxmjl".equals(delGroup.getPgTypeId()) && !isProjectCreate ){
throw new BizException("无权操作!只有项目创建人可以删除内部管理组");
}
}
delGroups.forEach(g->{ delGroups.forEach(g->{
XmProjectGroupUser UserDel = new XmProjectGroupUser(); XmProjectGroupUser UserDel = new XmProjectGroupUser();
UserDel.setGroupId(g.getId()); UserDel.setGroupId(g.getId());
xmProjectGroupUserService.delete("deleteByGroupId",UserDel); xmProjectGroupUserService.delete("deleteByGroupId",UserDel);
@ -254,6 +270,8 @@ public class XmProjectGroupService extends BaseService {
}); });
} }
List<XmProjectGroupVo> canDelUserByGroupIds=new ArrayList<>();
if(xmProjectGroupVoEdit.size()>0) { if(xmProjectGroupVoEdit.size()>0) {
xmProjectGroupVoEdit.forEach(gvo -> { xmProjectGroupVoEdit.forEach(gvo -> {
@ -272,24 +290,43 @@ public class XmProjectGroupService extends BaseService {
} }
if(guser==null || guser.size()==0) { if(guser==null || guser.size()==0) {
boolean isTeamHead=false;
if(!isProjectCreate) { if(!isProjectCreate) {
if(!isPm) { if(!isPm) {
throw new BizException("无权操作!只有项目创建人、项目经理可以清空小组成员");
for (XmProjectGroupVo myGroupVo : myGroupVos) {
if(myGroupVo.getId().equals(gvo.getId())){
List<XmProjectGroupUser> groupUsers=myGroupVo.getGroupUsers();
for (XmProjectGroupUser groupUser : groupUsers) {
if("1".equals(groupUser.getIsHead())){
isTeamHead=true;
break;
}
}
}
}
} }
} }
XmProjectGroupUser userDel = new XmProjectGroupUser();
userDel.setGroupId(gvo.getId());
int i=xmProjectGroupUserService.delete("deleteByGroupId",userDel);
if(i>0) {
xmRecordService.addXmGroupRecord(projectId,gvo.getId(), "项目-团队-删除小组成员", "删除小组["+gvo.getGroupName()+"]中所有组员["+i+"]个",JSON.toJSONString(gvo),null);
}
if(isProjectCreate || isPm || isTeamHead){
canDelUserByGroupIds.add(gvo);
}
} }
});
});
if(canDelUserByGroupIds.size()>0){
for (XmProjectGroupVo gvo : canDelUserByGroupIds) {
XmProjectGroupUser userDel=new XmProjectGroupUser();
userDel.setGroupId(gvo.getId());
int i=xmProjectGroupUserService.delete("deleteByGroupId",userDel);
if(i>0) {
xmRecordService.addXmGroupRecord(projectId,gvo.getId(), "项目-团队-删除小组成员", "删除小组["+gvo.getGroupName()+"]中所有组员["+i+"]个",JSON.toJSONString(gvo),null);
}
}
}
if(allUsersFromUi.size()>0) { if(allUsersFromUi.size()>0) {
List<XmProjectGroupUser> groupUserList=this.xmProjectGroupUserService.selectGroupUserListByProjectId(projectId);
List<XmProjectGroupUser> groupUserDbList=this.xmProjectGroupUserService.selectGroupUserListByProjectId(projectId);
List<XmProjectGroupUser> allUsersAdd=new ArrayList<>(); List<XmProjectGroupUser> allUsersAdd=new ArrayList<>();
List<XmProjectGroupUser> allUsersDel=new ArrayList<>(); List<XmProjectGroupUser> allUsersDel=new ArrayList<>();
List<XmProjectGroupUser> allUsersEdit=new ArrayList<>(); List<XmProjectGroupUser> allUsersEdit=new ArrayList<>();
@ -299,7 +336,7 @@ public class XmProjectGroupService extends BaseService {
allUsersFromUi.forEach(gu->{ allUsersFromUi.forEach(gu->{
boolean existsInDb=false; boolean existsInDb=false;
XmProjectGroupUser currDbUser=null; XmProjectGroupUser currDbUser=null;
for (XmProjectGroupUser t : groupUserList) {
for (XmProjectGroupUser t : groupUserDbList) {
if(t.getGroupId().equals(gu.getGroupId()) && t.getUserid().equals(gu.getUserid())) { if(t.getGroupId().equals(gu.getGroupId()) && t.getUserid().equals(gu.getUserid())) {
existsInDb=true; existsInDb=true;
currDbUser=t; currDbUser=t;
@ -329,7 +366,7 @@ public class XmProjectGroupService extends BaseService {
} }
}); });
groupUserList.forEach(gu->{
groupUserDbList.forEach(gu->{
if(allUsersFromUi.stream().noneMatch(new Predicate<XmProjectGroupUser>() { if(allUsersFromUi.stream().noneMatch(new Predicate<XmProjectGroupUser>() {
@Override @Override
@ -482,7 +519,7 @@ public class XmProjectGroupService extends BaseService {
} }
public boolean checkUserExistsGroup(String projectId,String userid){ public boolean checkUserExistsGroup(String projectId,String userid){
List<XmProjectGroupVo> userGroups=getUserGroups(projectId,userid); List<XmProjectGroupVo> userGroups=getUserGroups(projectId,userid);
return userGroups.size()>0;
return userGroups!=null && userGroups.size()>0;
} }
/** /**
@ -492,7 +529,7 @@ public class XmProjectGroupService extends BaseService {
* @param headUserid * @param headUserid
* @return * @return
*/ */
public boolean checkUserIsHead( List<XmProjectGroupVo> xmProjectGroupVoList,String memUserid,String headUserid){
public boolean checkUserIsOtherUserTeamHead(List<XmProjectGroupVo> xmProjectGroupVoList, String memUserid, String headUserid){
if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0) { if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0) {
return false; return false;
} }
@ -530,8 +567,13 @@ public class XmProjectGroupService extends BaseService {
return null; return null;
} }
public XmProjectGroupUser getHeadProjectManager( List<XmProjectGroupVo> xmProjectGroupVoList){
/**
* 找到项目经理
* @param xmProjectGroupVoList
* @return
*/
public XmProjectGroupUser getHeadProjectManager( List<XmProjectGroupVo> xmProjectGroupVoList){
List<XmProjectGroupUser> getProjectManagers=this.getProjectManagers(xmProjectGroupVoList); List<XmProjectGroupUser> getProjectManagers=this.getProjectManagers(xmProjectGroupVoList);
if(getProjectManagers==null || getProjectManagers.size()==0) { if(getProjectManagers==null || getProjectManagers.size()==0) {
return null; return null;
@ -544,8 +586,30 @@ public class XmProjectGroupService extends BaseService {
} }
return null; return null;
} }
public boolean checkUserIsProjectManager( List<XmProjectGroupVo> xmProjectGroupVoList ,String headUserid) {
/**
* 检测某个用户是否项目经理
* @param xmProjectGroupVoList
* @param headPmUserid
* @return
*/
public boolean checkUserIsHeadProjectManager( List<XmProjectGroupVo> xmProjectGroupVoList,String headPmUserid){
XmProjectGroupUser groupUser=this.getHeadProjectManager(xmProjectGroupVoList);
if(groupUser!=null){
if(groupUser.getUserid().equals(headPmUserid)){
return true;
}
}
return false;
}
/**
* 检测某个用户是否属于项目组的内部管理团队成员内部管理组成员
* @param xmProjectGroupVoList
* @param pmUserid
* @return
*/
public boolean checkUserIsProjectManager( List<XmProjectGroupVo> xmProjectGroupVoList ,String pmUserid) {
if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0) { if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0) {
return false; return false;
} }
@ -554,7 +618,7 @@ public class XmProjectGroupService extends BaseService {
return false; return false;
} }
for (XmProjectGroupUser user : getProjectManagers) { for (XmProjectGroupUser user : getProjectManagers) {
if( user.getUserid().equals(headUserid)) {
if( user.getUserid().equals(pmUserid)) {
return true; return true;
} }

Loading…
Cancel
Save