Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
baa9af7ca5
  1. 46
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java
  2. 18
      xm-core/src/main/java/com/xm/core/service/XmRecordService.java

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

@ -1419,20 +1419,43 @@ public class XmTaskController {
if(canOpxmTasks.size()==0){ if(canOpxmTasks.size()==0){
return ResponseHelper.failed("same-parent","所有任务均属于【"+parentTask.getName()+"】,无需再变更"); return ResponseHelper.failed("same-parent","所有任务均属于【"+parentTask.getName()+"】,无需再变更");
} }
if(canOpxmTasks.stream().filter(i->!i.getProjectId().equals(parentTask.getProjectId())).findAny().isPresent()){
return ResponseHelper.failed("projectId-not-same", "所有任务或计划必须都是同一个项目之下");
if(!"1".equals(parentTask.getPtype())){
if(canOpxmTasks.stream().filter(i->!i.getProjectId().equals(parentTask.getProjectId())).findAny().isPresent()){
return ResponseHelper.failed("projectId-not-same", "所有任务或计划必须都是同一个项目之下");
}
}else {
if(canOpxmTasks.stream().filter(i->!i.getProductId().equals(parentTask.getProductId())).findAny().isPresent()){
return ResponseHelper.failed("productId-not-same", "所有任务或计划必须都是同一个产品之下");
}
} }
List<XmGroupVo> pgroups =new ArrayList<>();
String projectId=parentTask.getProjectId(); String projectId=parentTask.getProjectId();
List<XmGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
if(pgroups==null || pgroups.size()==0){
tips.setFailureMsg("该项目还未建立项目团队,请先进行团队成员维护");
m.put("tips", tips);
return m;
String productId=parentTask.getProductId();
boolean isAdm=false;
if(!"1".equals(parentTask.getPtype())){
isAdm=groupService.checkUserIsProductAdm(projectId,user.getUserid());
pgroups=groupService.getProjectGroupVoList(projectId);
if( !isAdm && (pgroups==null || pgroups.size()==0)){
tips.setFailureMsg("该项目还未建立项目团队,请先进行团队成员维护");
m.put("tips", tips);
return m;
}
}else {
isAdm=groupService.checkUserIsProjectAdm(projectId,user.getUserid());
pgroups=groupService.getProductGroupVoList(productId);
if( !isAdm && ( pgroups==null || pgroups.size()==0 )){
tips.setFailureMsg("该产品还未建立产品团队,请先进行团队成员维护");
m.put("tips", tips);
return m;
}
} }
Map<String,XmTask> allowTasksDbMap=new HashMap<>(); Map<String,XmTask> allowTasksDbMap=new HashMap<>();
Map<String,XmTask> noAllowTasksDbMap=new HashMap<>(); Map<String,XmTask> noAllowTasksDbMap=new HashMap<>();
if(!groupService.checkUserIsProjectAdm(projectId,user.getUserid())){
if(!isAdm){
for (XmTask task : canOpxmTasks) { for (XmTask task : canOpxmTasks) {
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,task.getCreateUserid(),user.getUserid()); boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,task.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
@ -1467,7 +1490,12 @@ public class XmTaskController {
} }
if(allowTasksDbMap3.size()>0){ if(allowTasksDbMap3.size()>0){
this.xmTaskService.batchChangeParent(allowTasksDbMap3.values().stream().collect(Collectors.toList()),parentTask); this.xmTaskService.batchChangeParent(allowTasksDbMap3.values().stream().collect(Collectors.toList()),parentTask);
this.xmRecordService.addXmTaskRecord(projectId,parentTask.getId(),"批量挂接子节点","成功将以下"+allowTasksDbMap3.size()+"个计划或任务及其所有子项挂接到【"+parentTask.getName()+"】上,【"+allowTasksDbMap3.values().stream().map(i->i.getName()).collect(Collectors.joining(","))+"】;");
if("1".equals(parentTask.getPtype())){
this.xmRecordService.addProductXmTaskRecord(productId,parentTask.getId(),"批量挂接子节点","成功将以下"+allowTasksDbMap3.size()+"个计划或任务及其所有子项挂接到【"+parentTask.getName()+"】上,【"+allowTasksDbMap3.values().stream().map(i->i.getName()).collect(Collectors.joining(","))+"】;");
}else {
this.xmRecordService.addXmTaskRecord(projectId,parentTask.getId(),"批量挂接子节点","成功将以下"+allowTasksDbMap3.size()+"个计划或任务及其所有子项挂接到【"+parentTask.getName()+"】上,【"+allowTasksDbMap3.values().stream().map(i->i.getName()).collect(Collectors.joining(","))+"】;");
}
} }
List<String> msgs=new ArrayList<>(); List<String> msgs=new ArrayList<>();

18
xm-core/src/main/java/com/xm/core/service/XmRecordService.java

@ -162,7 +162,23 @@ public class XmRecordService extends BaseService {
record.setObjType("task"); record.setObjType("task");
this.insert(record); this.insert(record);
} }
/**
* 针对项目下的任务的所有操作用此方法
* @param productId 产品编号
* @param taskId 任务编号
* @param action 操作如 新增任务修改任务信息修改任务进度
* @param remarks 人性化语言描述
*/
@Async
public void addProductXmTaskRecord(String productId,String taskId,String action,String remarks) {
XmRecord record=this.initXmRecord();
record.setProductId(productId);
record.setBizId(taskId);
record.setAction(action);
record.setRemarks(remarks);
record.setObjType("task");
this.insert(record);
}
/** /**
* 针对项目下的任务的所有操作用此方法 * 针对项目下的任务的所有操作用此方法
* @param projectId 项目编号 * @param projectId 项目编号

Loading…
Cancel
Save