Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
1a4592a541
  1. 8
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java
  2. 26
      xm-core/src/main/java/com/xm/core/service/XmTaskService.java

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

@ -1023,12 +1023,8 @@ public class XmTaskController {
List<XmTask> canDelNodes=new ArrayList<>();
if(noExecuserList.size()>0){
for (XmTask node : noExecuserList) {
if(node.getChildrenCnt()==null || node.getChildrenCnt()<=0){
canDelNodes.add(node);
continue;
}
long childCount=noExecuserList.stream().filter(i->node.getId().equals(i.getParentTaskid())).count();
if(childCount>=node.getChildrenCnt()){
boolean canDel=this.xmTaskService.checkCanDelAllChild(node,noExecuserList);
if(canDel){
canDelNodes.add(node);
}else{
hadChildNodes.add(node);

26
xm-core/src/main/java/com/xm/core/service/XmTaskService.java

@ -596,5 +596,31 @@ public class XmTaskService extends BaseService {
}
return true;
}
/**
* 检查是否能删除干净所有儿子孙子节点
* @param delNode 当前删除节点
* @param delNodes 本批量需要删除的全部节点
* @return
*/
public boolean checkCanDelAllChild(XmTask delNode, List<XmTask> delNodes) {
if(delNode==null){
return true;
}
if(delNode.getChildrenCnt()==null||delNode.getChildrenCnt()<=0){
return true;
}
List<XmTask> childList=delNodes.stream().filter(i->delNode.getId().equals(i.getParentTaskid())).collect(Collectors.toList());
if(childList==null||childList.size()<delNode.getChildrenCnt()){
return false;
}
for (XmTask n : childList) {
if (!this.checkCanDelAllChild(n, delNodes)) {
return false;
}
}
return true;
}
}
Loading…
Cancel
Save