浏览代码

批量插入编号二次开发

cr 1 月之前
父节点
当前提交
3365f2446d

+ 27 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -6315,6 +6315,9 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         int i=0;
         boolean flag=false;
         for (WbsTreeContract contract : resultList) {
+            List<String> strings1=new ArrayList<>();
+            String sql="select "+strings[0]+ " from "+contract.getInitTableName()+" where p_key_id="+contract.getPKeyId();
+            strings1= jdbcTemplate.queryForList(sql, String.class);
             if(flag){
                 break;
             }
@@ -6324,11 +6327,6 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
             String htmlString = IoUtil.readToString(fileInputStream);
             Document doc = Jsoup.parse(htmlString);
             Elements keyNames = doc.getElementsByAttribute("keyname");
-            List<String> strings1=new ArrayList<>();
-            if(Objects.equals(contract.getPKeyId(), dto.getPkeyId())){
-                String sql="select "+strings[0]+ " from "+contract.getInitTableName()+" where p_key_id="+contract.getPKeyId();
-                strings1= jdbcTemplate.queryForList(sql, String.class);
-            }
             for (Element keyName : keyNames) {
                 String result = keyName.attr("keyname");
                 if(result.contains(strings[0])){
@@ -6342,6 +6340,18 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                             if(i2>=i1){
                                 map.put(result, numbers.get(i));
                                 i++;
+                                if(strings1.size()>0){
+                                    String string = strings1.get(0);
+                                    if(StringUtils.isNotEmpty(string)){
+                                        String[] split = string.split("☆");
+                                        for (String s : split) {
+                                            if(Objects.equals(s.split("_\\^_")[1], result.split("__")[1])){
+                                                map.put(result, s.split("_\\^_")[0]);
+                                                i--;
+                                            }
+                                        }
+                                    }
+                                }
                             }else {
                                 if(strings1.size()>0){
                                     String string = strings1.get(0);
@@ -6358,6 +6368,18 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                         }else {
                             map.put(result, numbers.get(i));
                             i++;
+                            if(strings1.size()>0){
+                                String string = strings1.get(0);
+                                if(StringUtils.isNotEmpty(string)){
+                                    String[] split = string.split("☆");
+                                    for (String s : split) {
+                                        if(Objects.equals(s.split("_\\^_")[1], result.split("__")[1])){
+                                            map.put(result, s.split("_\\^_")[0]);
+                                            i--;
+                                        }
+                                    }
+                                }
+                            }
                         }
                     } else {
                         flag=true;