Browse Source

Merge remote-tracking branch 'origin/master'

liuyc 2 years ago
parent
commit
a8dc9ab05a

+ 1 - 0
blade-service/blade-manager/src/main/java/com/mixsmart/utils/CustomFunction.java

@@ -2570,4 +2570,5 @@ public class CustomFunction {
 
 
 
+
 }

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/TableElementConverter.java

@@ -205,6 +205,7 @@ public class TableElementConverter implements ITableElementConverter {
                             /*每一页映射一个tableInfo*/
                             List<ElementData> p = pages.get(i);
                             TableInfo info = tables.get(i);
+                            info.setToBeUpdated(true);
                             info.getDataMap().put(fd.getKey(), recovery(p));
                         }
                     }catch (Exception e){

+ 9 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -815,13 +815,18 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         for (String p : part) {
             Matcher m = RegexUtils.matcher("(m_\\d{14}_\\d{19})\\((.+)\\)VALUES\\(([^)]+)\\).+column'(key_\\d{0,2})'", p.replaceAll("[\\n\\s]*", ""));
             if (m.find()) {
-                List<Map<String, Object>> result = this.jdbcTemplate.queryForList("select CONCAT(a.tab_ch_name,'&',b.e_name) tf from m_table_info a join m_wbs_form_element b on b.f_id=a.id where a.tab_en_name='" + m.group(1) + "' and  b.e_key='" + m.group(4) + "'");
-                if (result.size() > 0) {
-                    sb.append("【").append(result.get(0).values().stream().map(String::valueOf).collect(Collectors.joining(","))).append("】");
+                if(p.contains("Data too long for column")){
+                    List<Map<String, Object>> result = this.jdbcTemplate.queryForList("select CONCAT(a.tab_ch_name,'&',b.e_name) tf from m_table_info a join m_wbs_form_element b on b.f_id=a.id where a.tab_en_name='" + m.group(1) + "' and  b.e_key='" + m.group(4) + "'");
+                    if (result.size() > 0) {
+                        sb.append("【").append(result.get(0).values().stream().map(String::valueOf).collect(Collectors.joining(","))).append("数据库字段太短】");
+                    }
+                }else if(p.contains("Unknown column")){
+                    sb.append("【").append(m.group(1)).append(":").append(m.group(4)).append("关联错误】");
                 }
+
             }
         }
-        return sb.append("数据库字段太短,请联系管理员").toString();
+        return sb.append("保存异常,请联系管理员").toString();
     }
 
     // 获取用户

+ 2 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -739,7 +739,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                    BeanUtil.copy(e,km);
                    km.setPkId(target.getPKeyId());
                    tec.getKeyMappers().add(km);
-                   if(StringUtils.handleNull(tec.getCoordinateMap().get(e.getCode())).contains(";")){
+                   if(StringUtils.handleNull(tec.getCoordinateMap().get(e.getTableName()).get(e.getField())).contains(";")){
                        removeKeys.add(e.getField());
                    }
                });
@@ -814,7 +814,7 @@ public  List<ElementData> setScale(Integer scale,List<ElementData> data){
                 "from m_wbs_tree_contract a " +
                 "inner join m_table_info b on a.init_table_name=b.tab_en_name " +
                 "INNER JOIN m_wbs_form_element c on b.id=c.f_id " +
-                "where a.p_key_id in("+pkIds+")  ORDER BY a.init_table_name");
+                "where a.p_key_id in("+pkIds+")  ORDER BY a.sort,a.create_time");
         List<Long> nodeIds= this.jdbcTemplate.queryForList("select b.parent_id from m_wbs_tree_contract  a join m_wbs_tree_private b on a.is_type_private_pid=b.p_key_id where a.p_key_id in("+pkIds+")",Long.class);
         if(Func.isNotEmpty(listMap)){
             /*当前节点的某个元素存在多种作用域的公式,作用域范围越小优先级越高*/