Przeglądaj źródła

Merge branch 'refs/heads/feature-lihb-20251113-element' into dev

# Conflicts:
#	blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java
LHB 1 dzień temu
rodzic
commit
0ad1aa875b

+ 7 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/WbsFormElement.java

@@ -77,4 +77,11 @@ public class WbsFormElement extends BaseEntity {
      */
     @ApiModelProperty(value = "exid")
     private Long exid;
+
+    /**
+     * 是否辅助(1-是,0-不是)
+     */
+    @ApiModelProperty(value = "是否辅助(1-是,0-不是)")
+    private Integer assist;
+
 }

+ 13 - 0
blade-service/blade-manager/src/main/java/com/mixsmart/utils/FormulaUtils.java

@@ -295,6 +295,19 @@ public class FormulaUtils {
             fd.getValues().forEach(t->t.setValue(null));
             if(data instanceof List){
                 List<Object> values = (List<Object>) data;
+                //中间元素根据数据动态扩容
+                ElementData elementData = fd.getValues().get(0);
+                //中间元素初始坐标
+                if(elementData.getX() == 0 && elementData.getY() == 0){
+                    for (int i = 1; i < values.size(); i++) {
+                        ElementData elementData1 = new ElementData();
+                        elementData1.setIndex(0);
+                        elementData1.setX(-i);
+                        elementData1.setY(0);
+                        elementData1.setGroupId(0);
+                        fd.getValues().add(elementData1);
+                    }
+                }
                 if(!retainEmpty){
                     /*不包含空白内容*/
                     values=values.stream().filter(StringUtils::isNotEmpty).collect(Collectors.toList());

+ 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 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.xml

@@ -407,6 +407,7 @@
     <select id="selectFormElements" resultMap="wbsFormElementMap">
         select f_id,
                e_key,
+               a.assist,
                a.id,
                a.dynamic_dict,
                e_name,
@@ -425,6 +426,7 @@
         union
         select f_id,
                e_key,
+               a.assist,
                a.id,
                a.dynamic_dict,
                e_name,
@@ -445,6 +447,7 @@
         select b.id
              , IF(c.formula_id > 0, 1, 0)           globalFormula
              , b.e_name
+             , b.assist
              , e_type
              , e_length
              , e_allow_deviation

+ 8 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -705,6 +705,14 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                             htmlElementCellMap.put(e.getHtmlUrl(), map);
                         }
                         Map<String, String> elementCell = map;
+
+                        //扩展中间元素开发 获取字段是辅助字段  并且在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");
+                        });
+
                         coordinateMap.computeIfAbsent(e.getInitTableName(), k -> elementCell);
                     });
                 }

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

@@ -5391,7 +5391,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 " +