|
|
@@ -3209,7 +3209,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
|
|
|
int size = list.size();
|
|
|
Long importId=SnowFlakeUtil.getId();
|
|
|
try{
|
|
|
- String sqlList1 = "Select parent_id,node_name,p_id from m_wbs_tree_contract where contract_id=" + wbsTreeContractRoot.getContractId() + " and wbs_id=" + wbsTreeContractRoot.getWbsId() + " and is_deleted=0";
|
|
|
+ String sqlList1 = "Select parent_id,node_name,p_id ,node_type from m_wbs_tree_contract where contract_id=" + wbsTreeContractRoot.getContractId() + " and wbs_id=" + wbsTreeContractRoot.getWbsId() + " and is_deleted=0";
|
|
|
List<WbsTreeContract> WbsTreeContractList = jdbcTemplate.query(sqlList1, new BeanPropertyRowMapper<>(WbsTreeContract.class));
|
|
|
for (ImportTreeDto dto : list) {
|
|
|
if(size-i>=1){
|
|
|
@@ -3886,22 +3886,31 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
|
|
|
private Boolean isExist(ImportTreeDto dto, List<WbsTreeContract> wbsTreeContractList, int type, WbsTreeContract tree) {
|
|
|
Long contractId = Long.valueOf(tree.getContractId());
|
|
|
String nodeName = "";
|
|
|
+ Integer nodeType;
|
|
|
if (type == 1) {
|
|
|
nodeName = dto.getUnitName();
|
|
|
+ nodeType=1;
|
|
|
} else if (type == 2) {
|
|
|
nodeName = dto.getSubUnitName();
|
|
|
+ nodeType=18;
|
|
|
} else if (type == 3) {
|
|
|
nodeName = dto.getDivisionName();
|
|
|
+ nodeType=2;
|
|
|
} else if (type == 4) {
|
|
|
nodeName = dto.getSubDivisionName();
|
|
|
+ nodeType=3;
|
|
|
} else if (type == 5) {
|
|
|
nodeName = dto.getItemName();
|
|
|
+ nodeType=4;
|
|
|
} else if (type == 6) {
|
|
|
nodeName = dto.getSubItemName();
|
|
|
+ nodeType=5;
|
|
|
+ } else {
|
|
|
+ nodeType = 0;
|
|
|
}
|
|
|
String finalNodeName = nodeName;
|
|
|
List<Long> list = wbsTreeContractList.stream()
|
|
|
- .filter(item -> finalNodeName.equals(item.getNodeName()))
|
|
|
+ .filter(item -> finalNodeName.equals(item.getNodeName())&&item.getNodeType()==nodeType)
|
|
|
.map(item -> item.getPId())
|
|
|
.collect(Collectors.toList());
|
|
|
if (list.size() == 0) {
|
|
|
@@ -3933,6 +3942,9 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
|
|
|
ids = Arrays.stream(ids)
|
|
|
.filter(i -> !i.equals("0"))
|
|
|
.toArray(String[]::new);
|
|
|
+ if(ids.length<=0){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
String sql1 = "Select node_name from m_wbs_tree_contract where p_key_id in(" + String.join(",", ids) + ") and contract_id=" + wbsContract.getContractId() + " and is_deleted=0";
|
|
|
List<String> nodeNames = jdbcTemplate.query(sql1, new SingleColumnRowMapper<>(String.class));
|
|
|
String join = String.join("", nodeNames);
|