|
@@ -48,6 +48,7 @@ import org.springblade.manager.entity.*;
|
|
import org.springblade.manager.feign.*;
|
|
import org.springblade.manager.feign.*;
|
|
import org.springblade.manager.vo.WbsTreeContractTreeVOS;
|
|
import org.springblade.manager.vo.WbsTreeContractTreeVOS;
|
|
import org.springblade.manager.vo.WbsTreeContractVO8;
|
|
import org.springblade.manager.vo.WbsTreeContractVO8;
|
|
|
|
+import org.springblade.manager.vo.WbsTreePrivateAddVO;
|
|
import org.springblade.producer.bean.PushMessage;
|
|
import org.springblade.producer.bean.PushMessage;
|
|
import org.springblade.resource.feign.NewIOSSClient;
|
|
import org.springblade.resource.feign.NewIOSSClient;
|
|
import org.springblade.system.cache.ParamCache;
|
|
import org.springblade.system.cache.ParamCache;
|
|
@@ -59,6 +60,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
|
+import org.springframework.jdbc.core.PreparedStatementSetter;
|
|
import org.springframework.jdbc.core.RowMapper;
|
|
import org.springframework.jdbc.core.RowMapper;
|
|
import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -3029,10 +3031,10 @@ public class InformationWriteQueryController extends BladeController {
|
|
//先获取当前节点的信息
|
|
//先获取当前节点的信息
|
|
WbsTreeContract treeContract = this.wbsTreeContractClient.getContractWbsTreeByPrimaryKeyId(Long.parseLong(vo.getCurrentNodePrimaryKeyId()));
|
|
WbsTreeContract treeContract = this.wbsTreeContractClient.getContractWbsTreeByPrimaryKeyId(Long.parseLong(vo.getCurrentNodePrimaryKeyId()));
|
|
if (treeContract == null) {
|
|
if (treeContract == null) {
|
|
- //未找到节点信息,说明可能是缓存,那么清除缓存
|
|
|
|
informationQueryService.delAsyncWbsTree(vo.getContractId());
|
|
informationQueryService.delAsyncWbsTree(vo.getContractId());
|
|
throw new ServiceException("该节点为缓存信息,请重试");
|
|
throw new ServiceException("该节点为缓存信息,请重试");
|
|
}
|
|
}
|
|
|
|
+
|
|
//半选
|
|
//半选
|
|
List<AddContractTreeNodeVO.Node> halfSelectedNodeList = vo.getHalfSelectedList();
|
|
List<AddContractTreeNodeVO.Node> halfSelectedNodeList = vo.getHalfSelectedList();
|
|
//全选
|
|
//全选
|
|
@@ -3046,7 +3048,7 @@ public class InformationWriteQueryController extends BladeController {
|
|
List<WbsTreePrivate> query = new ArrayList<>();
|
|
List<WbsTreePrivate> query = new ArrayList<>();
|
|
List<String> pKeyIds = selectList.stream().map(AddContractTreeNodeVO.Node::getPrimaryKeyId).collect(Collectors.toList());
|
|
List<String> pKeyIds = selectList.stream().map(AddContractTreeNodeVO.Node::getPrimaryKeyId).collect(Collectors.toList());
|
|
//所有相关节点集合
|
|
//所有相关节点集合
|
|
- List<WbsTreePrivate> selectedNodeList = new ArrayList<>();
|
|
|
|
|
|
+ List<WbsTreePrivateAddVO> selectedNodeList = new ArrayList<>();
|
|
|
|
|
|
//检查新增类型
|
|
//检查新增类型
|
|
if ("1".equals(vo.getSaveType())) {
|
|
if ("1".equals(vo.getSaveType())) {
|
|
@@ -3059,12 +3061,11 @@ public class InformationWriteQueryController extends BladeController {
|
|
return R.data(null);
|
|
return R.data(null);
|
|
}
|
|
}
|
|
//检查当前操作的节点是否是填报节点,如果是则需要查询相关联表格
|
|
//检查当前操作的节点是否是填报节点,如果是则需要查询相关联表格
|
|
- List<WbsTreePrivate> submitNodeList = selectedNodeList.stream().filter(treeContract1 -> Arrays.asList("1,2,3,4".split(",")).contains(treeContract1.getMajorDataType().toString())).distinct().collect(Collectors.toList());
|
|
|
|
-
|
|
|
|
- List<WbsTreePrivate> childList = new ArrayList<>();
|
|
|
|
- if (submitNodeList.size() > 0) {
|
|
|
|
|
|
+ List<Long> lowNodeIds = selectedNodeList.stream().filter(f -> f.getLow() == 0).map(WbsTreePrivateAddVO::getId).collect(Collectors.toList()); //最底层节点id
|
|
|
|
+ List<WbsTreePrivateAddVO> childList = new ArrayList<>();
|
|
|
|
+ if (lowNodeIds.size() > 0) {
|
|
//只取原始表
|
|
//只取原始表
|
|
- this.foreachQueryChild(submitNodeList, childList);
|
|
|
|
|
|
+ this.foreachQueryChild(lowNodeIds, childList, treeContract);
|
|
//将表格数据设置
|
|
//将表格数据设置
|
|
selectedNodeList.addAll(childList);
|
|
selectedNodeList.addAll(childList);
|
|
}
|
|
}
|
|
@@ -3090,12 +3091,11 @@ public class InformationWriteQueryController extends BladeController {
|
|
return R.data(null);
|
|
return R.data(null);
|
|
}
|
|
}
|
|
//检查当前操作的节点是否是填报节点,如果是则需要查询相关联表格
|
|
//检查当前操作的节点是否是填报节点,如果是则需要查询相关联表格
|
|
- List<WbsTreePrivate> submitNodeList = selectedNodeList.stream().filter(treePrivate -> Arrays.asList("1,2,3,4".split(",")).contains(treePrivate.getMajorDataType().toString())).distinct().collect(Collectors.toList());
|
|
|
|
-
|
|
|
|
- List<WbsTreePrivate> childList = new ArrayList<>();
|
|
|
|
- if (submitNodeList.size() > 0) {
|
|
|
|
|
|
+ List<Long> lowNodeIds = selectedNodeList.stream().filter(f -> f.getLow() == 0).map(WbsTreePrivateAddVO::getId).collect(Collectors.toList()); //最底层节点id
|
|
|
|
+ List<WbsTreePrivateAddVO> childList = new ArrayList<>();
|
|
|
|
+ if (lowNodeIds.size() > 0) {
|
|
//只取原始表
|
|
//只取原始表
|
|
- this.foreachQueryChild(submitNodeList, childList);
|
|
|
|
|
|
+ this.foreachQueryChild(lowNodeIds, childList, treeContract);
|
|
//将表格数据设置
|
|
//将表格数据设置
|
|
selectedNodeList.addAll(childList);
|
|
selectedNodeList.addAll(childList);
|
|
}
|
|
}
|
|
@@ -3169,10 +3169,24 @@ public class InformationWriteQueryController extends BladeController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (var) {
|
|
if (var) {
|
|
- //同节点
|
|
|
|
- newData.setParentId(OldIdToNewIdMap.containsKey(half.getParentId()) ? OldIdToNewIdMap.get(half.getParentId())
|
|
|
|
- : treeContract.getId().equals(half.getParentId()) || treeContract.getOldId().equals(half.getParentId().toString()) ? treeContract.getId()
|
|
|
|
- : SnowFlakeUtil.getId());
|
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(treeContract.getIsCustom()) && treeContract.getIsCustom().equals(1)) {
|
|
|
|
+ //自定义节点(非根节点才处理)
|
|
|
|
+ if (!newData.getParentId().equals(0L)) {
|
|
|
|
+ newData.setParentId(OldIdToNewIdMap.containsKey(half.getParentId())
|
|
|
|
+ ? OldIdToNewIdMap.get(half.getParentId()) : treeContract.getId().equals(half.getParentId())
|
|
|
|
+ ||
|
|
|
|
+ treeContract.getOldId().equals(half.getParentId().toString())
|
|
|
|
+ ? treeContract.getId() : SnowFlakeUtil.getId());
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //非自定义节点
|
|
|
|
+ //同节点
|
|
|
|
+ newData.setParentId(OldIdToNewIdMap.containsKey(half.getParentId())
|
|
|
|
+ ? OldIdToNewIdMap.get(half.getParentId()) : treeContract.getId().equals(half.getParentId())
|
|
|
|
+ ||
|
|
|
|
+ treeContract.getOldId().equals(half.getParentId().toString())
|
|
|
|
+ ? treeContract.getId() : SnowFlakeUtil.getId());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
} else {
|
|
} else {
|
|
@@ -3218,7 +3232,7 @@ public class InformationWriteQueryController extends BladeController {
|
|
//设置节点名称
|
|
//设置节点名称
|
|
newData.setFullName(ObjectUtil.isNotEmpty(idAndNodeNameMaps.get(half.getId())) ? idAndNodeNameMaps.get(half.getId()) : half.getFullName());
|
|
newData.setFullName(ObjectUtil.isNotEmpty(idAndNodeNameMaps.get(half.getId())) ? idAndNodeNameMaps.get(half.getId()) : half.getFullName());
|
|
|
|
|
|
- //重塑父节点关联关系
|
|
|
|
|
|
+ /*//重塑父节点关联关系
|
|
String ancestors = newData.getAncestors();
|
|
String ancestors = newData.getAncestors();
|
|
if (StringUtils.isNotEmpty(ancestors)) {
|
|
if (StringUtils.isNotEmpty(ancestors)) {
|
|
//重组后的链表
|
|
//重组后的链表
|
|
@@ -3235,7 +3249,7 @@ public class InformationWriteQueryController extends BladeController {
|
|
}
|
|
}
|
|
//将新链表设置进对象中
|
|
//将新链表设置进对象中
|
|
newData.setAncestors(stringBuilder.substring(1));
|
|
newData.setAncestors(stringBuilder.substring(1));
|
|
- }
|
|
|
|
|
|
+ }*/
|
|
|
|
|
|
//设置到保存集合中
|
|
//设置到保存集合中
|
|
saveList.add(newData);
|
|
saveList.add(newData);
|
|
@@ -3248,19 +3262,97 @@ public class InformationWriteQueryController extends BladeController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
treeContract.setNodeName(vo.getAllSelectedList().get(0).getNodeName());
|
|
treeContract.setNodeName(vo.getAllSelectedList().get(0).getNodeName());
|
|
|
|
+
|
|
|
|
+ /*如果是自定义新增节点处进行新增,那么需要把根节点替换为该节点*/
|
|
|
|
+ List<WbsTreeContract> customResult = new ArrayList<>();
|
|
|
|
+ if (ObjectUtil.isNotEmpty(treeContract.getIsCustom()) && treeContract.getIsCustom().equals(1)) {
|
|
|
|
+ saveList.removeIf(obj -> obj.getParentId().equals(0L)); //删除根节点
|
|
|
|
+
|
|
|
|
+ List<WbsTreeContract> roots = root(saveList); //选择多个根节点(多个顶层)
|
|
|
|
+ if (roots.size() > 0) {
|
|
|
|
+ for (WbsTreeContract root : roots) {
|
|
|
|
+ List<WbsTreeContract> resultChild = new ArrayList<>();
|
|
|
|
+ child(resultChild, saveList, root); //获取当前根节点对应子级节点
|
|
|
|
+ resultChild.add(0, root);
|
|
|
|
+ List<WbsTreeContract> sortList = sort(resultChild, root.getPKeyId()); //排序
|
|
|
|
+ Map<Long, String> ancestorsMap = new HashMap<>();
|
|
|
|
+ for (WbsTreeContract wbsTreeContract : sortList) { //重新赋值
|
|
|
|
+ if (wbsTreeContract.getPKeyId().equals(root.getPKeyId())) { //根节点
|
|
|
|
+ wbsTreeContract.setParentId(treeContract.getId());
|
|
|
|
+ wbsTreeContract.setAncestors(treeContract.getAncestors() + "," + wbsTreeContract.getParentId());
|
|
|
|
+ ancestorsMap.put(wbsTreeContract.getId(), wbsTreeContract.getAncestors());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (ObjectUtil.isEmpty(wbsTreeContract.getAncestors())) { //子级
|
|
|
|
+ String parentAncestors = ancestorsMap.getOrDefault(wbsTreeContract.getParentId(), null);
|
|
|
|
+ if (ObjectUtil.isNotEmpty(parentAncestors)) {
|
|
|
|
+ wbsTreeContract.setAncestors(parentAncestors + "," + wbsTreeContract.getParentId());
|
|
|
|
+ ancestorsMap.put(wbsTreeContract.getId(), wbsTreeContract.getAncestors());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ customResult.add(wbsTreeContract);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (customResult.size() > 0) {
|
|
|
|
+ saveList.clear();
|
|
|
|
+ saveList.addAll(customResult);
|
|
|
|
+ }
|
|
|
|
+
|
|
R<Boolean> booleanR = this.saveOrCopyNodeTree(saveList, saveLedger, 2, treeContract);
|
|
R<Boolean> booleanR = this.saveOrCopyNodeTree(saveList, saveLedger, 2, treeContract);
|
|
|
|
|
|
- //获取电签信息、默认信息
|
|
|
|
List<WbsTreeContract> nowTabs = saveList.stream().filter(f -> new Integer(2).equals(f.getType())).collect(Collectors.toList());
|
|
List<WbsTreeContract> nowTabs = saveList.stream().filter(f -> new Integer(2).equals(f.getType())).collect(Collectors.toList());
|
|
- this.updateTextDictInfos(nowTabs, oldTabIds, vo.getProjectId());
|
|
|
|
|
|
+ this.updateTextDictInfos(nowTabs, oldTabIds, vo.getProjectId());//获取电签信息、默认信息
|
|
|
|
|
|
- //更新缓存
|
|
|
|
- /*informationQueryService.delAsyncWbsTree(treeContract.getContractId());*/
|
|
|
|
iUserClient.clearContractLocalCacheAndRedisCache();
|
|
iUserClient.clearContractLocalCacheAndRedisCache();
|
|
|
|
|
|
return booleanR;
|
|
return booleanR;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void child(List<WbsTreeContract> resultChild, List<WbsTreeContract> nodeAll, WbsTreeContract root) {
|
|
|
|
+ for (WbsTreeContract node : nodeAll) {
|
|
|
|
+ if (Objects.equals(node.getParentId(), root.getId())) {
|
|
|
|
+ resultChild.add(node);
|
|
|
|
+ child(resultChild, nodeAll, node);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private List<WbsTreeContract> sort(List<WbsTreeContract> inputList, Long rootPKeyId) {
|
|
|
|
+ List<WbsTreeContract> sortedList = new ArrayList<>();
|
|
|
|
+ for (WbsTreeContract wbsTreeContract : inputList) {
|
|
|
|
+ wbsTreeContract.setAncestors(null);
|
|
|
|
+ if (wbsTreeContract.getPKeyId().equals(rootPKeyId)) {
|
|
|
|
+ buildTree(wbsTreeContract, inputList, sortedList, 1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return sortedList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void buildTree(WbsTreeContract contract, List<WbsTreeContract> inputList, List<WbsTreeContract> sortedList, int level) {
|
|
|
|
+ sortedList.add(contract);
|
|
|
|
+ for (WbsTreeContract child : inputList) {
|
|
|
|
+ if (contract.getId().equals(child.getParentId())) {
|
|
|
|
+ buildTree(child, inputList, sortedList, level + 1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private List<WbsTreeContract> root(List<WbsTreeContract> saveList) {
|
|
|
|
+ List<WbsTreeContract> roots = new ArrayList<>();
|
|
|
|
+ Set<Long> allIds = saveList.stream().map(WbsTreeContract::getId).collect(Collectors.toSet());
|
|
|
|
+ for (WbsTreeContract node : saveList) {
|
|
|
|
+ Long parentId = node.getParentId();
|
|
|
|
+ if (parentId == null || !allIds.contains(parentId)) {
|
|
|
|
+ roots.add(node);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return roots;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
@Async
|
|
@Async
|
|
public void updateTextDictInfos(List<WbsTreeContract> nowTabs, List<Long> oldTabIds, String projectId) {
|
|
public void updateTextDictInfos(List<WbsTreeContract> nowTabs, List<Long> oldTabIds, String projectId) {
|
|
if (oldTabIds.size() > 0) {
|
|
if (oldTabIds.size() > 0) {
|
|
@@ -3284,14 +3376,20 @@ public class InformationWriteQueryController extends BladeController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private List<WbsTreePrivate> unifiedCode
|
|
|
|
|
|
+ private List<WbsTreePrivateAddVO> unifiedCode
|
|
(List<AddContractTreeNodeVO.Node> allSelectedNodeList, WbsTreeContract treeContract, String
|
|
(List<AddContractTreeNodeVO.Node> allSelectedNodeList, WbsTreeContract treeContract, String
|
|
saveType, List<WbsTreePrivate> queryResultP) {
|
|
saveType, List<WbsTreePrivate> queryResultP) {
|
|
//获取项目节点树的主键
|
|
//获取项目节点树的主键
|
|
List<Long> halfSelectedList = allSelectedNodeList.stream().map(AddContractTreeNodeVO.Node::getPrimaryKeyId).map(Long::parseLong).distinct().collect(Collectors.toList());
|
|
List<Long> halfSelectedList = allSelectedNodeList.stream().map(AddContractTreeNodeVO.Node::getPrimaryKeyId).map(Long::parseLong).distinct().collect(Collectors.toList());
|
|
|
|
|
|
//获取项目对应的合同段的树原始节点的信息
|
|
//获取项目对应的合同段的树原始节点的信息
|
|
- List<WbsTreePrivate> query = jdbcTemplate.query("select * from m_wbs_tree_private where p_key_id in(" + StringUtils.join(halfSelectedList, ",") + ")", new BeanPropertyRowMapper<>(WbsTreePrivate.class));
|
|
|
|
|
|
+ List<WbsTreePrivateAddVO> query = jdbcTemplate.query("select *," +
|
|
|
|
+ "(SELECT CASE WHEN count(1) > 0 THEN 1 ELSE 0 END FROM m_wbs_tree_contract b WHERE b.parent_id = a.id" +
|
|
|
|
+ " AND b.type = 1 and b.status = 1 AND b.is_deleted = 0 AND b.project_id = " + treeContract.getProjectId() +
|
|
|
|
+ " AND b.wbs_id = " + treeContract.getWbsId() + " AND b.wbs_type = " + treeContract.getWbsType() + ") AS low " +
|
|
|
|
+ " FROM m_wbs_tree_private a WHERE p_key_id IN (" + StringUtils.join(halfSelectedList, ",") + ")",
|
|
|
|
+ new BeanPropertyRowMapper<>(WbsTreePrivateAddVO.class));
|
|
|
|
+
|
|
if (query.size() > 0) {
|
|
if (query.size() > 0) {
|
|
//返回结果集,匹配节点名称使用
|
|
//返回结果集,匹配节点名称使用
|
|
queryResultP.addAll(query);
|
|
queryResultP.addAll(query);
|
|
@@ -3413,14 +3511,15 @@ public class InformationWriteQueryController extends BladeController {
|
|
/**
|
|
/**
|
|
* 处理半选集合
|
|
* 处理半选集合
|
|
*/
|
|
*/
|
|
- private void disposeHalfSelectList(@RequestBody WbsTreeContract
|
|
|
|
- treeContract, List<AddContractTreeNodeVO.Node> allSelectedNodeList, List<WbsTreePrivate> selectedNodeList, List<WbsTreePrivate> queryResultP) {
|
|
|
|
|
|
+ private void disposeHalfSelectList(@RequestBody WbsTreeContract treeContract, List<AddContractTreeNodeVO.Node> allSelectedNodeList,
|
|
|
|
+ List<WbsTreePrivateAddVO> selectedNodeList, List<WbsTreePrivate> queryResultP) {
|
|
if (allSelectedNodeList != null && allSelectedNodeList.size() > 0) {
|
|
if (allSelectedNodeList != null && allSelectedNodeList.size() > 0) {
|
|
//获取主键
|
|
//获取主键
|
|
List<Long> allSelectedList = allSelectedNodeList.stream().map(AddContractTreeNodeVO.Node::getPrimaryKeyId).map(Long::parseLong).distinct().collect(Collectors.toList());
|
|
List<Long> allSelectedList = allSelectedNodeList.stream().map(AddContractTreeNodeVO.Node::getPrimaryKeyId).map(Long::parseLong).distinct().collect(Collectors.toList());
|
|
|
|
|
|
//获取项目对应的合同段的树原始节点的信息
|
|
//获取项目对应的合同段的树原始节点的信息
|
|
- List<WbsTreePrivate> query = jdbcTemplate.query("select * from m_wbs_tree_private where p_key_id in(" + StringUtils.join(allSelectedList, ",") + ")", new BeanPropertyRowMapper<>(WbsTreePrivate.class));
|
|
|
|
|
|
+ List<WbsTreePrivateAddVO> query = jdbcTemplate.query("select * from m_wbs_tree_private where p_key_id in(" + StringUtils.join(allSelectedList, ",") + ")",
|
|
|
|
+ new BeanPropertyRowMapper<>(WbsTreePrivateAddVO.class));
|
|
if (query.size() > 0) {
|
|
if (query.size() > 0) {
|
|
//返回结果集,匹配节点名称使用
|
|
//返回结果集,匹配节点名称使用
|
|
queryResultP.addAll(query);
|
|
queryResultP.addAll(query);
|
|
@@ -3440,19 +3539,19 @@ public class InformationWriteQueryController extends BladeController {
|
|
/**
|
|
/**
|
|
* 循环查询子节点
|
|
* 循环查询子节点
|
|
*
|
|
*
|
|
- * @param parentList 父节点集合
|
|
|
|
- * @param childList 保存集合
|
|
|
|
|
|
+ * @param childList 保存集合
|
|
|
|
+ * @param parentIdsList 最底层节点ids
|
|
|
|
+ * @param wbsTreeContract 选择节点
|
|
*/
|
|
*/
|
|
- private void foreachQueryChild(List<WbsTreePrivate> parentList, List<WbsTreePrivate> childList) {
|
|
|
|
- for (WbsTreePrivate parent : parentList) {
|
|
|
|
- //只获取原始表
|
|
|
|
- List<WbsTreePrivate> childS = jdbcTemplate.query("select * from m_wbs_tree_private where parent_id = " + parent.getId() + " and project_id = " + parent.getProjectId() + " and wbs_id = " + parent.getWbsId() + " and is_deleted = 0 and status = 1", new BeanPropertyRowMapper<>(WbsTreePrivate.class));
|
|
|
|
- if (childS.size() > 0) {
|
|
|
|
- //添加入结果集
|
|
|
|
- childList.addAll(childS);
|
|
|
|
- //继续向下检查子集
|
|
|
|
- this.foreachQueryChild(childS, childList);
|
|
|
|
- }
|
|
|
|
|
|
+ private void foreachQueryChild(List<Long> parentIdsList, List<WbsTreePrivateAddVO> childList, WbsTreeContract wbsTreeContract) {
|
|
|
|
+ List<WbsTreePrivateAddVO> childS = jdbcTemplate.query("select * from m_wbs_tree_private" +
|
|
|
|
+ " where parent_id in(" + StringUtils.join(parentIdsList, ",") + ")" +
|
|
|
|
+ " and project_id = " + wbsTreeContract.getProjectId() +
|
|
|
|
+ " and wbs_id = " + wbsTreeContract.getWbsId() +
|
|
|
|
+ " and wbs_type = " + wbsTreeContract.getWbsType() +
|
|
|
|
+ " and is_deleted = 0 and status = 1", new BeanPropertyRowMapper<>(WbsTreePrivateAddVO.class));
|
|
|
|
+ if (childS.size() > 0) {
|
|
|
|
+ childList.addAll(childS);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -3927,7 +4026,11 @@ public class InformationWriteQueryController extends BladeController {
|
|
obj.setWbsId(parentNode.getWbsId());
|
|
obj.setWbsId(parentNode.getWbsId());
|
|
obj.setNodeName(dto.getNodeName());
|
|
obj.setNodeName(dto.getNodeName());
|
|
obj.setFullName(dto.getNodeName());
|
|
obj.setFullName(dto.getNodeName());
|
|
- obj.setNodeType(dto.getNodeType());
|
|
|
|
|
|
+
|
|
|
|
+ if (ObjectUtil.isNotEmpty(parentNode.getNodeType())) {
|
|
|
|
+ obj.setNodeType(parentNode.getNodeType().equals(6) ? 6 : parentNode.getNodeType() + 1);
|
|
|
|
+ }
|
|
|
|
+
|
|
obj.setPartitionCode(dto.getPartitionCode());
|
|
obj.setPartitionCode(dto.getPartitionCode());
|
|
obj.setParentId(parentNode.getId());
|
|
obj.setParentId(parentNode.getId());
|
|
obj.setAncestors(parentNode.getAncestors() + "," + parentNode.getId());
|
|
obj.setAncestors(parentNode.getAncestors() + "," + parentNode.getId());
|