Browse Source

质检bug:导入划分修改

chenr 4 months ago
parent
commit
d61fcae089

+ 9 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -2386,7 +2386,6 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         //本次修改的节点
         //本次修改的节点
         List<String> updateList=new ArrayList<>();
         List<String> updateList=new ArrayList<>();
 
 
-        //新增
         String sqlList="Select parent_id,node_name from m_wbs_tree_contract where contract_id="+wbsTreeContractRoot.getContractId()+" and wbs_id="+wbsTreeContractRoot.getWbsId()+" and is_deleted=0";
         String sqlList="Select parent_id,node_name from m_wbs_tree_contract where contract_id="+wbsTreeContractRoot.getContractId()+" and wbs_id="+wbsTreeContractRoot.getWbsId()+" and is_deleted=0";
         List<WbsTreeContract> WbsTreeContractListupdate = jdbcTemplate.query(sqlList, new BeanPropertyRowMapper<>(WbsTreeContract.class));
         List<WbsTreeContract> WbsTreeContractListupdate = jdbcTemplate.query(sqlList, new BeanPropertyRowMapper<>(WbsTreeContract.class));
         //导入节点与现有节点进行比较。进行修改编号
         //导入节点与现有节点进行比较。进行修改编号
@@ -2481,7 +2480,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         int i=0;
         int i=0;
         for (ImportTreeDto dto : list) {
         for (ImportTreeDto dto : list) {
             //新增
             //新增
-            String sqlList1="Select parent_id,node_name 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 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));
             List<WbsTreeContract> WbsTreeContractList = jdbcTemplate.query(sqlList1, new BeanPropertyRowMapper<>(WbsTreeContract.class));
             i++;
             i++;
             //单位工程:如果没有被处理过,说明需要新增
             //单位工程:如果没有被处理过,说明需要新增
@@ -2557,6 +2556,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                             String sql="Select node_name from m_wbs_tree_contract where p_key_id in("+String.join(",", ids)+")";
                             String sql="Select node_name from m_wbs_tree_contract where p_key_id in("+String.join(",", ids)+")";
                             List<String> nodeNames = jdbcTemplate.query(sql, new SingleColumnRowMapper<>(String.class));
                             List<String> nodeNames = jdbcTemplate.query(sql, new SingleColumnRowMapper<>(String.class));
                             String result = String.join("",nodeNames);
                             String result = String.join("",nodeNames);
+                            result=result+contract.getNodeName();
                             String ancestorsName= wbsTreeContractRoot.getNodeName()+StringUtils.defaultString(dto.getUnitName())
                             String ancestorsName= wbsTreeContractRoot.getNodeName()+StringUtils.defaultString(dto.getUnitName())
                                 + StringUtils.defaultString(dto.getSubUnitName());
                                 + StringUtils.defaultString(dto.getSubUnitName());
                             if(result.equals(ancestorsName)){
                             if(result.equals(ancestorsName)){
@@ -2608,6 +2608,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                             String sql="Select node_name from m_wbs_tree_contract where p_key_id in("+String.join(",", ids)+")";
                             String sql="Select node_name from m_wbs_tree_contract where p_key_id in("+String.join(",", ids)+")";
                             List<String> nodeNames = jdbcTemplate.query(sql, new SingleColumnRowMapper<>(String.class));
                             List<String> nodeNames = jdbcTemplate.query(sql, new SingleColumnRowMapper<>(String.class));
                             String result = String.join("",nodeNames);
                             String result = String.join("",nodeNames);
+                            result=result+contract.getNodeName();
                             String ancestorsName= wbsTreeContractRoot.getNodeName()+StringUtils.defaultString(dto.getUnitName())
                             String ancestorsName= wbsTreeContractRoot.getNodeName()+StringUtils.defaultString(dto.getUnitName())
                                 + StringUtils.defaultString(dto.getSubUnitName())
                                 + StringUtils.defaultString(dto.getSubUnitName())
                                 +StringUtils.defaultString(dto.getDivisionName());
                                 +StringUtils.defaultString(dto.getDivisionName());
@@ -2663,6 +2664,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                             String sql="Select node_name from m_wbs_tree_contract where p_key_id in("+String.join(",", ids)+")";
                             String sql="Select node_name from m_wbs_tree_contract where p_key_id in("+String.join(",", ids)+")";
                             List<String> nodeNames = jdbcTemplate.query(sql, new SingleColumnRowMapper<>(String.class));
                             List<String> nodeNames = jdbcTemplate.query(sql, new SingleColumnRowMapper<>(String.class));
                             String result = String.join("",nodeNames);
                             String result = String.join("",nodeNames);
+                            result=result+contract.getNodeName();
                             String ancestorsName= wbsTreeContractRoot.getNodeName()+StringUtils.defaultString(dto.getUnitName())
                             String ancestorsName= wbsTreeContractRoot.getNodeName()+StringUtils.defaultString(dto.getUnitName())
                                 + StringUtils.defaultString(dto.getSubUnitName())
                                 + StringUtils.defaultString(dto.getSubUnitName())
                                 +StringUtils.defaultString(dto.getDivisionName())
                                 +StringUtils.defaultString(dto.getDivisionName())
@@ -2721,6 +2723,7 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                             String sql="Select node_name from m_wbs_tree_contract where p_key_id in("+String.join(",", ids)+")";
                             String sql="Select node_name from m_wbs_tree_contract where p_key_id in("+String.join(",", ids)+")";
                             List<String> nodeNames = jdbcTemplate.query(sql, new SingleColumnRowMapper<>(String.class));
                             List<String> nodeNames = jdbcTemplate.query(sql, new SingleColumnRowMapper<>(String.class));
                             String result = String.join("",nodeNames);
                             String result = String.join("",nodeNames);
+                            result=result+contract.getNodeName();
                             String ancestorsName= wbsTreeContractRoot.getNodeName()+StringUtils.defaultString(dto.getUnitName())
                             String ancestorsName= wbsTreeContractRoot.getNodeName()+StringUtils.defaultString(dto.getUnitName())
                                 + StringUtils.defaultString(dto.getSubUnitName())
                                 + StringUtils.defaultString(dto.getSubUnitName())
                                 +StringUtils.defaultString(dto.getDivisionName())
                                 +StringUtils.defaultString(dto.getDivisionName())
@@ -3081,7 +3084,7 @@ public static boolean hasConflictingCodes(List<ImportTreeDto> list) {
                 return true;
                 return true;
             }
             }
             //如果数据库中存在名称相同的节点,查询该节点的祖级节点
             //如果数据库中存在名称相同的节点,查询该节点的祖级节点
-            String sql="select p_key_id,node_name from m_wbs_tree_contract where is_deleted=0 and contract_id="+contractId+" and p_key_id in ("+String.join(",", list.stream().map(String::valueOf).collect(Collectors.toList()))+")";
+            String sql="select p_key_id,node_name,contract_id from m_wbs_tree_contract where is_deleted=0 and contract_id="+contractId+" and p_key_id in ("+String.join(",", list.stream().map(String::valueOf).collect(Collectors.toList()))+")";
             List<WbsTreeContract> wbsContracts = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
             List<WbsTreeContract> wbsContracts = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
             String  fatherNodeName="";
             String  fatherNodeName="";
             if(type==2){
             if(type==2){
@@ -3105,11 +3108,12 @@ public static boolean hasConflictingCodes(List<ImportTreeDto> list) {
                         String ancestors = jdbcTemplate.queryForObject(Sql, new SingleColumnRowMapper<>(String.class));
                         String ancestors = jdbcTemplate.queryForObject(Sql, new SingleColumnRowMapper<>(String.class));
                         String[] ids = ancestors.split(",");
                         String[] ids = ancestors.split(",");
                         ids=Arrays.stream(ids)
                         ids=Arrays.stream(ids)
-                            .filter(id -> !id.equals("0")) // 过滤掉值为 "0" 的元素
+                            .filter(i->!i.equals("0"))
                             .toArray(String[]::new);
                             .toArray(String[]::new);
-                        String sql1="Select node_name from m_wbs_tree_contract where p_key_id in("+String.join(",", ids)+")";
+                        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));
                         List<String> nodeNames = jdbcTemplate.query(sql1, new SingleColumnRowMapper<>(String.class));
                         String join = String.join("", nodeNames);
                         String join = String.join("", nodeNames);
+                        join=join+wbsContract.getNodeName();
                         if(join.equals(fatherNodeName)){
                         if(join.equals(fatherNodeName)){
                             return true;
                             return true;
                         }
                         }