浏览代码

批量插入编号功能优化

cr 13 小时之前
父节点
当前提交
817f10443b

+ 14 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -6385,7 +6385,20 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
             Optional<String> Key = dataMap2.keySet().stream().findFirst();
             if(Key.isPresent()){
                 String sql="update "+wbsTreeContract.getInitTableName()+" set "+Key.get()+" = '"+dataMap2.get(Key.get())+"' where p_key_id = "+wbsTreeContract.getPKeyId();
-                jdbcTemplate.update(sql);
+                int update = jdbcTemplate.update(sql);
+                if(update<=0){
+                    String sql1 = "select count(id) from " + wbsTreeContract.getInitTableName() + " where p_key_id = ?";
+                    Integer count = jdbcTemplate.queryForObject(sql1, Integer.class, wbsTreeContract.getPKeyId());
+                    if (count == null) {
+                        count = 0;
+                    }
+                    if(count==0){
+                       String insertSql="insert into "+wbsTreeContract.getInitTableName()+"(id,p_key_id,"+Key.get()+") values("+SnowFlakeUtil.getId()+","+wbsTreeContract.getPKeyId()+",'"+dataMap2.get(Key.get())+"')";
+                        System.out.println(insertSql);
+                        jdbcTemplate.execute(insertSql);
+                    }
+
+                }
             }
             //生成单张pdf
             getBussPdfInfo(wbsTreeContract.getPKeyId());