Browse Source

团队重构

master
陈裕财 3 years ago
parent
commit
042b5ccb83
  1. 4
      xm-core/src/main/java/com/xm/core/ctrl/XmEnvListController.java
  2. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmFileController.java
  3. 22
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java
  4. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java
  5. 10
      xm-core/src/main/java/com/xm/core/ctrl/XmWorkloadController.java
  6. 23
      xm-core/src/main/java/com/xm/core/service/XmGroupService.java

4
xm-core/src/main/java/com/xm/core/ctrl/XmEnvListController.java

@ -152,7 +152,7 @@ public class XmEnvListController {
return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改"); return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改");
} }
}else if("3".equals(writeQx)){//同一机构同一项目可写 }else if("3".equals(writeQx)){//同一机构同一项目可写
Tips isHeader=this.xmGroupService.checkIsAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId());
Tips isHeader=this.xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId());
if(!isHeader.isOk()){ if(!isHeader.isOk()){
return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改"); return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改");
} }
@ -197,7 +197,7 @@ public class XmEnvListController {
return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改"); return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改");
} }
}else if("3".equals(writeQx)){//同一机构同一项目可写 }else if("3".equals(writeQx)){//同一机构同一项目可写
Tips isHeader=this.xmGroupService.checkIsAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId());
Tips isHeader=this.xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId());
if(!isHeader.isOk()){ if(!isHeader.isOk()){
return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改"); return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改");
} }

2
xm-core/src/main/java/com/xm/core/ctrl/XmFileController.java

@ -121,7 +121,7 @@ public class XmFileController {
} }
if(!user.getUserid().equals(file.getCreateUserid()) ){ if(!user.getUserid().equals(file.getCreateUserid()) ){
Tips isHead=xmGroupService.checkIsAdmOrTeamHeadOrAss(user,file.getCreateUserid(),file.getProjectId());
Tips isHead=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,file.getCreateUserid(),file.getProjectId());
if(!isHead.isOk()){ if(!isHead.isOk()){
return ResponseHelper.failed("no-qx","您只能删除自己创建的文档"); return ResponseHelper.failed("no-qx","您只能删除自己创建的文档");
} }

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

@ -327,7 +327,7 @@ public class XmTaskController {
if(xmTaskMap.containsKey("createUserid")){ if(xmTaskMap.containsKey("createUserid")){
Set<String> projects=xmTasksDb.stream().map(i->i.getProjectId()).collect(Collectors.toSet()); Set<String> projects=xmTasksDb.stream().map(i->i.getProjectId()).collect(Collectors.toSet());
for (String project : projects) { for (String project : projects) {
tips=groupService.checkIsAdmOrTeamHeadOrAss(user, (String) xmTaskMap.get("createUserid"),project);
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user, (String) xmTaskMap.get("createUserid"),project);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed("no-qx-0","您无权把任务指派给您的小组成员以外的人。"); return ResponseHelper.failed("no-qx-0","您无权把任务指派给您的小组成员以外的人。");
} }
@ -339,10 +339,10 @@ public class XmTaskController {
List<XmTask> no=new ArrayList<>(); List<XmTask> no=new ArrayList<>();
for (XmTask xmTaskDb : xmTasksDb) { for (XmTask xmTaskDb : xmTasksDb) {
if(StringUtils.hasText(xmTaskDb.getCreateUserid())){ if(StringUtils.hasText(xmTaskDb.getCreateUserid())){
tips=groupService.checkIsAdmOrTeamHeadOrAss(user,xmTaskDb.getCreateUserid(),xmTaskDb.getProjectId());
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getCreateUserid(),xmTaskDb.getProjectId());
} }
if(!tips.isOk() && StringUtils.hasText(xmTaskDb.getExecutorUserid())){ if(!tips.isOk() && StringUtils.hasText(xmTaskDb.getExecutorUserid())){
tips=groupService.checkIsAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
} }
if(!tips.isOk()){ if(!tips.isOk()){
@ -531,7 +531,7 @@ public class XmTaskController {
return ResponseHelper.failed("projectId-0","项目编号不能为空"); return ResponseHelper.failed("projectId-0","项目编号不能为空");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
tips=groupService.checkIsAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskVo.getProjectId());
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskVo.getProjectId());
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -691,7 +691,7 @@ public class XmTaskController {
return ResponseHelper.failed("existsExecuser","有待验收、待结算的执行人,不能删除"); return ResponseHelper.failed("existsExecuser","有待验收、待结算的执行人,不能删除");
}; };
tips=groupService.checkIsAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -732,7 +732,7 @@ public class XmTaskController {
return m; return m;
} }
tips=groupService.checkIsAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -786,7 +786,7 @@ public class XmTaskController {
xmTaskVo.setNtype("1"); xmTaskVo.setNtype("1");
} }
} }
tips=groupService.checkIsAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -839,7 +839,7 @@ public class XmTaskController {
if(xmTaskDb==null){ if(xmTaskDb==null){
return ResponseHelper.failed("data-0","任务已不存在"); return ResponseHelper.failed("data-0","任务已不存在");
} }
tips=groupService.checkIsAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
if(!tips.isOk()){ if(!tips.isOk()){
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());
@ -930,7 +930,7 @@ public class XmTaskController {
} }
String projectId=batchImportVo.getProjectId(); String projectId=batchImportVo.getProjectId();
String productId=batchImportVo.getProductId(); String productId=batchImportVo.getProductId();
tips=groupService.checkIsAdmOrTeamHeadOrAss(user,user.getUserid(),batchImportVo.getProjectId());
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),batchImportVo.getProjectId());
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -1297,7 +1297,7 @@ public class XmTaskController {
return ResponseHelper.failed("data-0","计划任务已不存在"); return ResponseHelper.failed("data-0","计划任务已不存在");
} }
String projectId=xmTaskDb.getProjectId(); String projectId=xmTaskDb.getProjectId();
tips=groupService.checkIsAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -1565,7 +1565,7 @@ public class XmTaskController {
if(!"1".equals(parentTask.getNtype())){ if(!"1".equals(parentTask.getNtype())){
return ResponseHelper.failed("parentTask-ntype-not-1", "【"+parentTask.getName()+"】为任务,不能作为上级节点。请另选上级或者变更其为计划节点"); return ResponseHelper.failed("parentTask-ntype-not-1", "【"+parentTask.getName()+"】为任务,不能作为上级节点。请另选上级或者变更其为计划节点");
} }
Tips tips2=this.groupService.checkIsAdmOrTeamHeadOrAss(user,user.getUserid(),parentTask.getProjectId());
Tips tips2=this.groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),parentTask.getProjectId());
if(!tips2.isOk()){ if(!tips2.isOk()){
return ResponseHelper.failed(tips2); return ResponseHelper.failed(tips2);
} }

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

@ -305,7 +305,7 @@ public class XmTaskExecuserController {
allowUsers.add(xmTaskExecuser); allowUsers.add(xmTaskExecuser);
allowUserNames.add(xmTaskExecuser.getUsername()); allowUserNames.add(xmTaskExecuser.getUsername());
}else{ }else{
Tips tips2=groupService.checkIsAdmOrTeamHeadOrAss(user,xmTaskExecuser.getUserid(),xmTask.getProjectId());
Tips tips2=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskExecuser.getUserid(),xmTask.getProjectId());
if(tips2.isOk()==false){ if(tips2.isOk()==false){
noAllowUsers.add(xmTaskExecuser.getUsername()); noAllowUsers.add(xmTaskExecuser.getUsername());
continue; continue;

10
xm-core/src/main/java/com/xm/core/ctrl/XmWorkloadController.java

@ -305,7 +305,7 @@ public class XmWorkloadController {
} }
//待他人报工需要检查我的权限需要项目管理人员才有权限代他人报工 //待他人报工需要检查我的权限需要项目管理人员才有权限代他人报工
if(!xmWorkload.getUserid().equals(user.getUserid())){ if(!xmWorkload.getUserid().equals(user.getUserid())){
Tips tips3=xmGroupService.checkIsAdmOrTeamHeadOrAss(user,xmWorkload.getUserid(),xmTaskDb.getProjectId());
Tips tips3=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmWorkload.getUserid(),xmTaskDb.getProjectId());
if(!tips3.isOk()){ if(!tips3.isOk()){
return failed("no-qx-for-oth-user","无权限代他人报工。只有项目管理人员可以代他人报工。"); return failed("no-qx-for-oth-user","无权限代他人报工。只有项目管理人员可以代他人报工。");
} }
@ -446,9 +446,9 @@ public class XmWorkloadController {
} }
User user= LoginUtils.getCurrentUserInfo(); User user= LoginUtils.getCurrentUserInfo();
if(!(user.getUserid().equals(xmTaskDb.getCreateUserid())|| user.getUserid().equals(xmTaskDb.getExecutorUserid()))){ if(!(user.getUserid().equals(xmTaskDb.getCreateUserid())|| user.getUserid().equals(xmTaskDb.getExecutorUserid()))){
Tips isCreate=xmGroupService.checkIsAdmOrTeamHeadOrAss(user,xmTaskDb.getCreateUserid(),xmTaskDb.getProjectId());
Tips isCreate=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getCreateUserid(),xmTaskDb.getProjectId());
if(!isCreate.isOk()){ if(!isCreate.isOk()){
Tips isExec=xmGroupService.checkIsAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
Tips isExec=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
if(!isExec.isOk()){ if(!isExec.isOk()){
return failed("noqx-0","你无权针对该业务进行报工"); return failed("noqx-0","你无权针对该业务进行报工");
} }
@ -499,9 +499,9 @@ public class XmWorkloadController {
Set<String> xmMenuIds=new HashSet<>(); Set<String> xmMenuIds=new HashSet<>();
for (XmTask xmTaskDb : tasksDb) { for (XmTask xmTaskDb : tasksDb) {
if(!(user.getUserid().equals(xmTaskDb.getCreateUserid())|| user.getUserid().equals(xmTaskDb.getExecutorUserid()))){ if(!(user.getUserid().equals(xmTaskDb.getCreateUserid())|| user.getUserid().equals(xmTaskDb.getExecutorUserid()))){
Tips isCreate=xmGroupService.checkIsAdmOrTeamHeadOrAss(user,xmTaskDb.getCreateUserid(),xmTaskDb.getProjectId());
Tips isCreate=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getCreateUserid(),xmTaskDb.getProjectId());
if(!isCreate.isOk()){ if(!isCreate.isOk()){
Tips isExec=xmGroupService.checkIsAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
Tips isExec=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
if(!isExec.isOk()){ if(!isExec.isOk()){
break; break;
} }

23
xm-core/src/main/java/com/xm/core/service/XmGroupService.java

@ -63,20 +63,37 @@ public class XmGroupService extends BaseService {
} }
public Tips checkIsProductAdmOrTeamHeadOrAss(User user, String tardgetUserid, String productId){
Tips tips = new Tips("成功");
List<XmGroupVo> pgroups=new ArrayList<>();
boolean isAdm=this.checkUserIsProductAdm(productId, user.getUserid());
if(!isAdm){
pgroups=this.getProductGroupVoList(productId);
if(pgroups==null || pgroups.size()==0){
return new Tips(false,"group-0","该产品还未建立产品团队,请先进行团队成员维护");
}
boolean isHead=this.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),tardgetUserid);
if(!isHead){
return new Tips(false,"not-head","您无权操作!产品经理、组长可以操作。");
}
}
return tips;
}
public Tips checkIsAdmOrTeamHeadOrAss(User user,String tardgetUserid,String projectId){
public Tips checkIsProjectAdmOrTeamHeadOrAss(User user, String tardgetUserid, String projectId){
Tips tips = new Tips("成功"); Tips tips = new Tips("成功");
List<XmGroupVo> pgroups=new ArrayList<>(); List<XmGroupVo> pgroups=new ArrayList<>();
boolean isAdm=this.checkUserIsProjectAdm(projectId, user.getUserid()); boolean isAdm=this.checkUserIsProjectAdm(projectId, user.getUserid());
if(!isAdm){ if(!isAdm){
pgroups=this.getProjectGroupVoList(projectId); pgroups=this.getProjectGroupVoList(projectId);
if(pgroups==null || pgroups.size()==0){ if(pgroups==null || pgroups.size()==0){
return new Tips(false,"group-0","该产品还未建立产品团队,请先进行团队成员维护");
return new Tips(false,"group-0","该项目还未建立项目团队,请先进行团队成员维护");
} }
boolean isHead=this.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),tardgetUserid); boolean isHead=this.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),tardgetUserid);
if(!isHead){ if(!isHead){
return new Tips(false,"not-head","您无权操作!产品经理、组长可以操作。");
return new Tips(false,"not-head","您无权操作!项目经理、组长可以操作。");
} }
} }

Loading…
Cancel
Save