Browse Source

团队重构

master
陈裕财 3 years ago
parent
commit
db45aac3e4
  1. 47
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java

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

@ -556,11 +556,18 @@ public class XmTaskController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(StringUtils.isEmpty(xmTaskVo.getCreateUserid())){
xmTaskVo.setCreateUserid(user.getUserid());
xmTaskVo.setCreateUsername(user.getUsername());
}
XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskVo.getProjectId()); XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskVo.getProjectId());
Tips tips1=groupService.checkProjectQx(xmProject,user,xmTaskVo.getCreateUserid()); Tips tips1=groupService.checkProjectQx(xmProject,user,xmTaskVo.getCreateUserid());
if(!tips1.isOk()){
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1); return ResponseHelper.failed(tips1);
} }
}
@ -703,9 +710,14 @@ public class XmTaskController {
}; };
XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId()); XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId());
Tips tips1=groupService.checkProjectQx(xmProject,user,xmTaskDb.getCreateUserid()); Tips tips1=groupService.checkProjectQx(xmProject,user,xmTaskDb.getCreateUserid());
if(!tips1.isOk()){
if(StringUtils.hasText(xmTaskDb.getExecutorUserid()) && !user.getUserid().equals(xmTaskDb.getCreateUserid()) && !xmTaskDb.getCreateUserid().equals(xmTaskDb.getExecutorUserid())){
tips1=groupService.checkProjectQx(xmProject,user,xmTaskDb.getExecutorUserid());
}
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1); return ResponseHelper.failed(tips1);
} }
}
xmTaskService.deleteTask(xmTaskDb); xmTaskService.deleteTask(xmTaskDb);
xmRecordService.addXmTaskRecord(xmTaskDb.getProjectId(), xmTaskDb.getId(), "项目-任务-删除任务", "删除任务"+xmTaskDb.getName()); xmRecordService.addXmTaskRecord(xmTaskDb.getProjectId(), xmTaskDb.getId(), "项目-任务-删除任务", "删除任务"+xmTaskDb.getName());
@ -956,9 +968,10 @@ public class XmTaskController {
} }
String projectId=batchImportVo.getProjectId(); String projectId=batchImportVo.getProjectId();
String productId=batchImportVo.getProductId(); String productId=batchImportVo.getProductId();
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),batchImportVo.getProjectId());
if(!tips.isOk()){
return ResponseHelper.failed(tips);
XmProject xmProject=xmProjectService.getProjectFromCache(projectId);
Tips tips1=groupService.checkProjectQx(xmProject,user,user.getUserid());
if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
} }
Map<String,String> newIdMap=new HashMap<>(); Map<String,String> newIdMap=new HashMap<>();
if(!StringUtils.hasText(batchImportVo.getParentTaskid())){ if(!StringUtils.hasText(batchImportVo.getParentTaskid())){
@ -1014,7 +1027,6 @@ public class XmTaskController {
} }
xmTaskService.parentIdPathsCalcBeforeSave(xmTasks); xmTaskService.parentIdPathsCalcBeforeSave(xmTasks);
List<XmTask> tasksLvl1=xmTasks.stream().filter(i->i.getLvl()<=1).collect(Collectors.toList()); List<XmTask> tasksLvl1=xmTasks.stream().filter(i->i.getLvl()<=1).collect(Collectors.toList());
XmProject xmProject=xmProjectService.getProjectFromCache(projectId);
if("1".equals(xmProject.getBudgetCtrl())){ if("1".equals(xmProject.getBudgetCtrl())){
if(tasksLvl1.size()>0){ if(tasksLvl1.size()>0){
BigDecimal totalTaskBudgetAt=BigDecimal.ZERO; BigDecimal totalTaskBudgetAt=BigDecimal.ZERO;
@ -1204,6 +1216,7 @@ public class XmTaskController {
return ResponseHelper.failed("menuId-0","需求编号不能为空"); return ResponseHelper.failed("menuId-0","需求编号不能为空");
}; };
XmMenu xmMenuDb= menuOperQxService.getUserCanOpMenuById(tasksMenu.getMenuId(), user.getUserid(), false); XmMenu xmMenuDb= menuOperQxService.getUserCanOpMenuById(tasksMenu.getMenuId(), user.getUserid(), false);
if(xmMenuDb==null){ if(xmMenuDb==null){
return ResponseHelper.failed("menu-0","无权限挂接任务到别人负责的需求上"); return ResponseHelper.failed("menu-0","无权限挂接任务到别人负责的需求上");
} }
@ -1238,24 +1251,22 @@ public class XmTaskController {
for (Map.Entry<String, List<XmTask>> pt : projectTasksMap.entrySet()) { for (Map.Entry<String, List<XmTask>> pt : projectTasksMap.entrySet()) {
XmProject xmProjectDb=this.xmProjectService.getProjectFromCache(pt.getKey()); XmProject xmProjectDb=this.xmProjectService.getProjectFromCache(pt.getKey());
boolean isProjectAdm=groupService.checkUserIsProjectAdm(xmProjectDb,user.getUserid());
List<XmGroupVo> groupVoList=groupService.getProjectGroupVoList(xmProjectDb.getId());
if(isProjectAdm==false){
if(groupVoList==null){
Tips tips1=groupService.checkProjectQx(xmProjectDb,user);
if(!tips1.isOk()){
noAllowTasks.addAll(pt.getValue()); noAllowTasks.addAll(pt.getValue());
}else{ }else{
for (XmTask xmTask : pt.getValue()) { for (XmTask xmTask : pt.getValue()) {
if(!user.getUserid().equals(xmTask.getCreateUserid()) && !user.getUserid().equals(xmTask.getExecutorUserid())){ if(!user.getUserid().equals(xmTask.getCreateUserid()) && !user.getUserid().equals(xmTask.getExecutorUserid())){
if(!groupService.checkUserIsOtherUserTeamHeadOrAss(groupVoList,user.getUserid(),xmTask.getCreateUserid())){
if(!groupService.checkUserIsOtherUserTeamHeadOrAss(groupVoList,user.getUserid(),xmTask.getExecutorUserid())){
tips1=groupService.checkProjectQx(xmProjectDb,user, xmTask.getCreateUserid());
if(!tips1.isOk()){
tips1=groupService.checkProjectQx(xmProjectDb,user, xmTask.getExecutorUserid());
if(!tips1.isOk()){
noAllowTasks.add(xmTask); noAllowTasks.add(xmTask);
} }
} }
} }
} }
} }
}
} }
allowTasks=tasksDb.stream().filter(i->!noAllowTasks.stream().filter(k->k.getId().equals(i.getId())).findAny().isPresent()).collect(Collectors.toList()); allowTasks=tasksDb.stream().filter(i->!noAllowTasks.stream().filter(k->k.getId().equals(i.getId())).findAny().isPresent()).collect(Collectors.toList());
@ -1323,7 +1334,8 @@ public class XmTaskController {
return ResponseHelper.failed("data-0","计划任务已不存在"); return ResponseHelper.failed("data-0","计划任务已不存在");
} }
String projectId=xmTaskDb.getProjectId(); String projectId=xmTaskDb.getProjectId();
tips=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),xmTaskDb.getProjectId());
XmProject xmProject=xmProjectService.getProjectFromCache(projectId);
tips=groupService.checkProjectQx(xmProject,user);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -1335,10 +1347,15 @@ public class XmTaskController {
if(!projectId.equals(node.getProjectId()) ){ if(!projectId.equals(node.getProjectId()) ){
return ResponseHelper.failed("not-same-project","所有任务必须同属于一个项目"); return ResponseHelper.failed("not-same-project","所有任务必须同属于一个项目");
} }
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),node.getCreateUserid());
Tips tips1=groupService.checkProjectQx(xmProject,user,node.getCreateUserid());
if(!isHead){
if(!tips1.isOk()){
tips1=groupService.checkProjectQx(xmProject,user,node.getExecutorUserid());
if(!tips1.isOk()){
noAllowNodes.add(node); noAllowNodes.add(node);
}else {
noAllowNodes.add(node);
}
}else { }else {
allowDelNodes.add(node); allowDelNodes.add(node);
} }

Loading…
Cancel
Save