|
@@ -2654,7 +2654,7 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
List<WbsTreePrivate> query = new ArrayList<>();
|
|
|
List<String> pKeyIds = selectList.stream().map(AddContractTreeNodeVO.Node::getPrimaryKeyId).collect(Collectors.toList());
|
|
|
//所有相关节点集合
|
|
|
- List<WbsTreeContract> selectedNodeList = new ArrayList<>();
|
|
|
+ List<WbsTreePrivate> selectedNodeList = new ArrayList<>();
|
|
|
|
|
|
//检查新增类型
|
|
|
if ("1".equals(vo.getSaveType())) {
|
|
@@ -2667,9 +2667,9 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
return R.data(null);
|
|
|
}
|
|
|
//检查当前操作的节点是否是填报节点,如果是则需要查询相关联表格
|
|
|
- List<WbsTreeContract> submitNodeList = selectedNodeList.stream().filter(treeContract1 -> Arrays.asList("1,2,3,4".split(",")).contains(treeContract1.getMajorDataType().toString())).distinct().collect(Collectors.toList());
|
|
|
+ List<WbsTreePrivate> submitNodeList = selectedNodeList.stream().filter(treeContract1 -> Arrays.asList("1,2,3,4".split(",")).contains(treeContract1.getMajorDataType().toString())).distinct().collect(Collectors.toList());
|
|
|
|
|
|
- List<WbsTreeContract> childList = new ArrayList<>();
|
|
|
+ List<WbsTreePrivate> childList = new ArrayList<>();
|
|
|
if (submitNodeList.size() > 0) {
|
|
|
//只取原始表
|
|
|
this.foreachQueryChild(submitNodeList, childList);
|
|
@@ -2679,11 +2679,11 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
|
|
|
if (childList.size() > 0) {
|
|
|
//处理重复的数据
|
|
|
- Iterator<WbsTreeContract> iterator = childList.iterator();
|
|
|
+ Iterator<WbsTreePrivate> iterator = childList.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
|
- WbsTreeContract next = iterator.next();
|
|
|
- for (WbsTreeContract wbsTreeContract : selectedNodeList) {
|
|
|
- if (wbsTreeContract.getPKeyId().equals(next.getPKeyId())) {
|
|
|
+ WbsTreePrivate next = iterator.next();
|
|
|
+ for (WbsTreePrivate wbsTreePrivate : selectedNodeList) {
|
|
|
+ if (wbsTreePrivate.getPKeyId().equals(next.getPKeyId())) {
|
|
|
//删掉重复数据
|
|
|
iterator.remove();
|
|
|
break;
|
|
@@ -2709,9 +2709,9 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
return R.data(null);
|
|
|
}
|
|
|
//检查当前操作的节点是否是填报节点,如果是则需要查询相关联表格
|
|
|
- List<WbsTreeContract> submitNodeList = selectedNodeList.stream().filter(treePrivate -> Arrays.asList("1,2,3,4".split(",")).contains(treePrivate.getMajorDataType().toString())).distinct().collect(Collectors.toList());
|
|
|
+ List<WbsTreePrivate> submitNodeList = selectedNodeList.stream().filter(treePrivate -> Arrays.asList("1,2,3,4".split(",")).contains(treePrivate.getMajorDataType().toString())).distinct().collect(Collectors.toList());
|
|
|
|
|
|
- List<WbsTreeContract> childList = new ArrayList<>();
|
|
|
+ List<WbsTreePrivate> childList = new ArrayList<>();
|
|
|
if (submitNodeList.size() > 0) {
|
|
|
//只取原始表
|
|
|
this.foreachQueryChild(submitNodeList, childList);
|
|
@@ -2736,20 +2736,24 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
.orElse("")));
|
|
|
|
|
|
//原始表ids,电签位置信息使用
|
|
|
- List<Long> oldTabIds = selectedNodeList.stream().filter(f -> new Integer(2).equals(f.getType())).map(WbsTreeContract::getId).collect(Collectors.toList());
|
|
|
+ List<Long> oldTabIds = selectedNodeList.stream().filter(f -> new Integer(2).equals(f.getType())).map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
|
|
|
//构造参数
|
|
|
if (selectedNodeList.size() > 0) {
|
|
|
//重塑关键信息
|
|
|
Map<Long, Long> OldIdToNewIdMap = new HashMap<>();
|
|
|
- Map<String, WbsTreeContract> nodeMap = new HashMap<>();
|
|
|
+ Map<String, WbsTreePrivate> nodeMap = new HashMap<>();
|
|
|
+ Map<String, WbsTreeContract> nodeMapContract = new HashMap<>();
|
|
|
selectedNodeList.forEach(half -> {
|
|
|
OldIdToNewIdMap.put(half.getId(), SnowFlakeUtil.getId());
|
|
|
nodeMap.put(half.getId().toString(), half);
|
|
|
+
|
|
|
+ WbsTreeContract wbsTreeContract = BeanUtil.copyProperties(half, WbsTreeContract.class);
|
|
|
+ nodeMapContract.put(half.getId().toString(), wbsTreeContract);
|
|
|
});
|
|
|
|
|
|
//处理数据
|
|
|
- for (WbsTreeContract half : selectedNodeList) {
|
|
|
+ for (WbsTreePrivate half : selectedNodeList) {
|
|
|
//处理合同段数据
|
|
|
WbsTreeContract newData = new WbsTreeContract();
|
|
|
BeanUtils.copyProperties(half, newData);
|
|
@@ -2766,8 +2770,8 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
//当前节点及其子节点操作
|
|
|
if (OldIdToNewIdMap.containsKey(half.getParentId())) {
|
|
|
//跨节点
|
|
|
- WbsTreeContract wbsTreeContract = nodeMap.get(half.getParentId() + "");
|
|
|
- if (treeContract.getNodeType().equals(wbsTreeContract.getNodeType()) && treeContract.getNodeName().equals(wbsTreeContract.getNodeName())) {
|
|
|
+ WbsTreePrivate wbsTreePrivate = nodeMap.get(half.getParentId() + "");
|
|
|
+ if (treeContract.getNodeType().equals(wbsTreePrivate.getNodeType()) && treeContract.getNodeName().equals(wbsTreePrivate.getNodeName())) {
|
|
|
newData.setParentId(treeContract.getId());
|
|
|
var = false;
|
|
|
}
|
|
@@ -2842,7 +2846,8 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
|
|
|
if (new Integer("6").equals(newData.getNodeType())) {
|
|
|
//生成施工日志
|
|
|
- this.createLedger(newData, saveLedger, null, nodeMap);
|
|
|
+
|
|
|
+ this.createLedger(newData, saveLedger, null, nodeMapContract);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2883,28 +2888,25 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private List<WbsTreeContract> unifiedCode(List<AddContractTreeNodeVO.Node> allSelectedNodeList, WbsTreeContract treeContract, String saveType, List<WbsTreePrivate> queryResultP) {
|
|
|
+ private List<WbsTreePrivate> unifiedCode(List<AddContractTreeNodeVO.Node> allSelectedNodeList, WbsTreeContract treeContract, String saveType, List<WbsTreePrivate> queryResultP) {
|
|
|
//获取项目节点树的主键
|
|
|
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<Long> projectNodeIds = query.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
- if (projectNodeIds.size() > 0) {
|
|
|
+ if (query.size() > 0) {
|
|
|
//返回结果集,匹配节点名称使用
|
|
|
queryResultP.addAll(query);
|
|
|
|
|
|
- //查询数据
|
|
|
- List<WbsTreeContract> selectedNodeList = jdbcTemplate.query("select * from m_wbs_tree_contract where contract_id = " + treeContract.getContractId() + " and status = 1 and is_deleted = 0 and id in(" + StringUtils.join(projectNodeIds, ",") + ")", new BeanPropertyRowMapper<>(WbsTreeContract.class));
|
|
|
-
|
|
|
//剔除与当前操作节点相同的ID,(如果saveType=1,表示当前及子级节点,那么就要剔除自己本身,否则视为仅当前节点操作,会存在自己本身)
|
|
|
if ("1".equals(saveType)) {
|
|
|
- selectedNodeList.removeIf(wbsTreePrivate -> {
|
|
|
+ query.removeIf(wbsTreePrivate -> {
|
|
|
Long id = wbsTreePrivate.getId();
|
|
|
return treeContract.getId() != null && treeContract.getId().equals(id);
|
|
|
});
|
|
|
}
|
|
|
- return selectedNodeList;
|
|
|
+
|
|
|
+ return query;
|
|
|
}
|
|
|
|
|
|
return null;
|
|
@@ -3015,29 +3017,25 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
/**
|
|
|
* 处理半选集合
|
|
|
*/
|
|
|
- private void disposeHalfSelectList(@RequestBody WbsTreeContract treeContract, List<AddContractTreeNodeVO.Node> allSelectedNodeList, List<WbsTreeContract> selectedNodeList, List<WbsTreePrivate> queryResultP) {
|
|
|
+ private void disposeHalfSelectList(@RequestBody WbsTreeContract treeContract, List<AddContractTreeNodeVO.Node> allSelectedNodeList, List<WbsTreePrivate> selectedNodeList, List<WbsTreePrivate> queryResultP) {
|
|
|
if (allSelectedNodeList != null && allSelectedNodeList.size() > 0) {
|
|
|
//获取主键
|
|
|
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<Long> projectNodeIds = query.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
- if (projectNodeIds.size() > 0) {
|
|
|
+ if (query.size() > 0) {
|
|
|
//返回结果集,匹配节点名称使用
|
|
|
queryResultP.addAll(query);
|
|
|
|
|
|
- //查询数据
|
|
|
- List<WbsTreeContract> allSelectedNodeLists = jdbcTemplate.query("select * from m_wbs_tree_contract where contract_id = " + treeContract.getContractId() + " and status = 1 and is_deleted = 0 and id in(" + StringUtils.join(projectNodeIds, ",") + ")", new BeanPropertyRowMapper<>(WbsTreeContract.class));
|
|
|
-
|
|
|
//剔除与当前操作节点相同的ID
|
|
|
- allSelectedNodeLists.removeIf(wbsTreePrivate -> {
|
|
|
+ query.removeIf(wbsTreePrivate -> {
|
|
|
Long id = wbsTreePrivate.getId();
|
|
|
return treeContract.getId() != null && treeContract.getId().equals(id);
|
|
|
});
|
|
|
|
|
|
//设置到集合中
|
|
|
- selectedNodeList.addAll(allSelectedNodeLists);
|
|
|
+ selectedNodeList.addAll(query);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -3048,10 +3046,10 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
* @param parentList 父节点集合
|
|
|
* @param childList 保存集合
|
|
|
*/
|
|
|
- private void foreachQueryChild(List<WbsTreeContract> parentList, List<WbsTreeContract> childList) {
|
|
|
+ private void foreachQueryChild(List<WbsTreePrivate> parentList, List<WbsTreePrivate> childList) {
|
|
|
parentList.forEach(parent -> {
|
|
|
- //只获取原始表,不获取复制的表(业务说是从项目wbs处取表,目前直接从当前合同段取原始表,也是一样的)
|
|
|
- List<WbsTreeContract> childS = jdbcTemplate.query("select * from m_wbs_tree_contract where parent_id = " + parent.getId() + " and contract_id = " + parent.getContractId() + " and is_deleted = 0 and is_cope_tab is null", new BeanPropertyRowMapper<>(WbsTreeContract.class));
|
|
|
+ //只获取原始表,不获取复制的表(业务说是从项目wbs树处取表)
|
|
|
+ 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);
|