|
@@ -2,6 +2,7 @@ package org.springblade.manager.formula.impl;
|
|
|
|
|
|
|
|
|
import com.mixsmart.utils.StringUtils;
|
|
|
+import javassist.compiler.KeywordTable;
|
|
|
import lombok.Data;
|
|
|
import org.springblade.common.utils.BaseUtils;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
@@ -87,17 +88,27 @@ public class TableElementConverter implements ITableElementConverter {
|
|
|
@Override
|
|
|
public void after() {
|
|
|
/*可以优化对每一张表进行元素分类,同一张元素*/
|
|
|
+ /*根据数据库表分组*/
|
|
|
+ LinkedHashMap<String,List<KeyMapper>> tabs = keyMappers.stream().collect(Collectors.groupingBy(KeyMapper::getCode,LinkedHashMap::new,Collectors.toList()));
|
|
|
+ Map<String,List<TableInfo>> tableMap = new HashMap<>(tabs.size()*2);
|
|
|
for (FormData fd : this.fds) {
|
|
|
+ /*元素所有的数据内容*/
|
|
|
List<ElementData> values = fd.getValues();
|
|
|
- /*每个元素数据有N组组成,每组由N页组成*/
|
|
|
+ List<TableInfo> tables;
|
|
|
LinkedHashMap<Integer,LinkedHashMap<Integer,List<ElementData>>> groups = values.stream().collect(Collectors.groupingBy(ElementData::getGroupId,LinkedHashMap<Integer,LinkedHashMap<Integer,List<ElementData>>>::new,Collectors.groupingBy(ElementData::getIndex,LinkedHashMap<Integer,List<ElementData>>::new,Collectors.toList())));
|
|
|
- List<Long> tableIds=keyMappers.stream().filter(e -> StringUtils.isEquals(e.getCode(),fd.getCode())).map(KeyMapper::getNodeId).collect(Collectors.toList());
|
|
|
- List<TableInfo> tables = this.tableInfoList.stream().filter(e->tableIds.contains(Long.parseLong(e.getPkeyId()))).collect(Collectors.toList());
|
|
|
+ /*每个元素数据有N组组成,每组由N页组成*/
|
|
|
+ if(tableMap.containsKey(fd.getTableName())){
|
|
|
+ tables=tableMap.get(fd.getTableName());
|
|
|
+ }else{
|
|
|
+ List<Long> tableIds=keyMappers.stream().filter(e -> StringUtils.isEquals(e.getCode(),fd.getCode())).map(KeyMapper::getNodeId).collect(Collectors.toList());
|
|
|
+ tables = this.tableInfoList.stream().filter(e->tableIds.contains(Long.parseLong(e.getPkeyId()))).collect(Collectors.toList());
|
|
|
+ tableMap.put(fd.getTableName(),tables);
|
|
|
+ }
|
|
|
groups.forEach((groupId, group) -> {
|
|
|
group.forEach((index,page)->{
|
|
|
TableInfo info = tables.get(index);
|
|
|
/*每一页对应一个info*/
|
|
|
- info.getDataMap().put(fd.getKey(),page.stream().map(e->StringUtils.handleNull(e.getValue())).collect(Collectors.joining(StringPool.COMMA)));
|
|
|
+ info.getDataMap().put(fd.getKey(),recovery(page,""));
|
|
|
});
|
|
|
});
|
|
|
|
|
@@ -106,7 +117,9 @@ public class TableElementConverter implements ITableElementConverter {
|
|
|
Map<String,List<FormData>> fdsMap = this.fds.stream().collect(Collectors.groupingBy(FormData::getTableName));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ public String recovery(List<ElementData> dataList,String position){
|
|
|
+ return "";
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|