Преглед изворни кода

后管-元素中间表
m_wbs_form_element添加字段assist
1、公式执行时 中间辅助元素也要执行公式

LHB пре 4 дана
родитељ
комит
f323808d84

+ 4 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/KeyMapper.java

@@ -46,6 +46,10 @@ public class KeyMapper {
      * 公式id
      */
     private Long formulaId;
+    /**
+     * 是否为辅助字段
+     */
+    private Integer assist;
 
     public String getCode() {
         return this.tableName + StringPool.COLON + this.field;

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

@@ -706,11 +706,9 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                 if (list.size() > 0) {
                     list.forEach(e -> {
                         Map<String, String> elementCell = FormulaUtils.getElementCell(e.getHtmlUrl());
-                        //扩展中间元素开发
-                        List<String> collect = keyMappers.stream().map(KeyMapper::getField).filter(f -> f.split("_").length == 2
-                                && Integer.parseInt(f.split("_")[1]) >= 1000
-                                && Integer.parseInt(f.split("_")[1]) <= 1100
-                                && elementCell.get(f) == null).collect(Collectors.toList());
+                        //扩展中间元素开发 获取字段是辅助字段  并且在html上没有这个字段
+                        List<String> collect = keyMappers.stream().filter(f -> f.getAssist() == 1
+                                && elementCell.get(f.getField()) == null).map(KeyMapper::getField).collect(Collectors.toList());
                         collect.forEach(f->{
                             elementCell.put(f,"0_0");
                         });

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

@@ -5402,7 +5402,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
     private List<Map<String, Object>> listMap(List<Long> ids, ExecuteType type) {
         String pkIds = ids.stream().map(String::valueOf).collect(Collectors.joining(","));
         String tableName = ExecuteType.INSPECTION.equals(type) ? "m_wbs_tree_contract" : "m_wbs_tree_private";
-        return this.jdbcTemplate.queryForList(" select a.init_table_name as tableName,a.p_key_id as pkId ,c.e_key as field,c.e_name as eName,c.id  as fieldId ,c.e_type eType , e_allow_deviation as eAllowDeviation  " +
+        return this.jdbcTemplate.queryForList(" select a.init_table_name as tableName,a.p_key_id as pkId ,c.e_key as field,c.e_name as eName,c.id  as fieldId ,c.e_type eType, c.assist , e_allow_deviation as eAllowDeviation  " +
                 "from " + tableName + " 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 " +