|
@@ -142,8 +142,6 @@ public class TreeContractFirstController extends BladeController {
|
|
|
//获取子节点
|
|
|
this.currentNodeAllChild(childIds, nodeData);
|
|
|
|
|
|
- boolean resultBol;
|
|
|
-
|
|
|
//判断是新增还是删除
|
|
|
if(new Integer("0").equals(saveOrDeleted)){
|
|
|
//检查当前请求的节点是否已经被关联
|
|
@@ -181,16 +179,23 @@ public class TreeContractFirstController extends BladeController {
|
|
|
}
|
|
|
}
|
|
|
//最后操作落库
|
|
|
- resultBol = this.treeContractFirstService.saveBatch(save);
|
|
|
+ this.treeContractFirstService.saveBatch(save);
|
|
|
+ //返回当前操作的节点
|
|
|
+ parentIds.append(",").append(primaryKeyId).append(childIds);
|
|
|
+ List<String> result = JSONArray.parseArray(JSONObject.toJSONString(parentIds.toString().split(",")), String.class);
|
|
|
+ //删掉为空的数据
|
|
|
+ result.removeIf(StringUtils::isEmpty);
|
|
|
+ return R.data(result);
|
|
|
} else {
|
|
|
//删除自身
|
|
|
- resultBol = this.treeContractFirstService.update(Wrappers.<TreeContractFirst>lambdaUpdate().set(TreeContractFirst::getIsDeleted, 1).eq(TreeContractFirst::getWbsNodeId, primaryKeyId));
|
|
|
+ this.treeContractFirstService.update(Wrappers.<TreeContractFirst>lambdaUpdate().set(TreeContractFirst::getIsDeleted, 1).eq(TreeContractFirst::getWbsNodeId, primaryKeyId));
|
|
|
//删除子节点
|
|
|
if(StringUtils.isNotEmpty(childIds.toString()) && !",".equals(childIds.toString())){
|
|
|
//存在子节点,均更改为删除状态
|
|
|
- resultBol = this.treeContractFirstService.update(Wrappers.<TreeContractFirst>lambdaUpdate().set(TreeContractFirst::getIsDeleted, 1).in(TreeContractFirst::getWbsNodeId, Func.toLongList(childIds.toString())));
|
|
|
+ this.treeContractFirstService.update(Wrappers.<TreeContractFirst>lambdaUpdate().set(TreeContractFirst::getIsDeleted, 1).in(TreeContractFirst::getWbsNodeId, Func.toLongList(childIds.toString())));
|
|
|
}
|
|
|
//删除父节点
|
|
|
+ StringBuilder parentResult = new StringBuilder();
|
|
|
if(StringUtils.isNotEmpty(parentIds.toString()) && !",".equals(parentIds.toString())){
|
|
|
//删除父节点情况相对复杂,需要判断对应节点下的是否还存在子节点处于首件状态,如果存在那么当前父节点就不能被删除掉
|
|
|
String[] parentIdArray = parentIds.toString().split(",");
|
|
@@ -208,18 +213,20 @@ public class TreeContractFirstController extends BladeController {
|
|
|
break;
|
|
|
} else {
|
|
|
//反之,说明当前节点下的子节点已经不存在处理首件标记的有效记录,则当前节点可以被取消首件标记
|
|
|
- resultBol = this.treeContractFirstService.update(Wrappers.<TreeContractFirst>lambdaUpdate().set(TreeContractFirst::getIsDeleted, 1).eq(TreeContractFirst::getWbsNodeId, parentId));
|
|
|
+ this.treeContractFirstService.update(Wrappers.<TreeContractFirst>lambdaUpdate().set(TreeContractFirst::getIsDeleted, 1).eq(TreeContractFirst::getWbsNodeId, parentId));
|
|
|
+ parentResult.append(",").append(parentId);
|
|
|
//之后对当前节点的上一级做相同判断
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ parentResult.append(",").append(primaryKeyId).append(childIds);
|
|
|
+ List<String> result = JSONArray.parseArray(JSONObject.toJSONString(parentResult.toString().split(",")), String.class);
|
|
|
+ //删掉为空的数据
|
|
|
+ result.removeIf(StringUtils::isEmpty);
|
|
|
|
|
|
- if(resultBol){
|
|
|
- return R.data(this.treeContractFirstService.queryTreeFirstAllByContractId(nodeData.getContractId()));
|
|
|
+ return R.data(result);
|
|
|
}
|
|
|
- return R.data(null);
|
|
|
}
|
|
|
|
|
|
/**
|