|
@@ -11,6 +11,7 @@ import org.springblade.manager.bean.TableInfo;
|
|
import org.springblade.manager.dto.ElementData;
|
|
import org.springblade.manager.dto.ElementData;
|
|
import org.springblade.manager.dto.FormData;
|
|
import org.springblade.manager.dto.FormData;
|
|
import org.springblade.manager.entity.Formula;
|
|
import org.springblade.manager.entity.Formula;
|
|
|
|
+import org.springblade.manager.formula.Coords;
|
|
import org.springblade.manager.formula.ITableElementConverter;
|
|
import org.springblade.manager.formula.ITableElementConverter;
|
|
import org.springblade.manager.formula.KeyMapper;
|
|
import org.springblade.manager.formula.KeyMapper;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
@@ -33,8 +34,6 @@ public class TableElementConverter implements ITableElementConverter {
|
|
List<Formula> formulas;
|
|
List<Formula> formulas;
|
|
List<FormData> fds;
|
|
List<FormData> fds;
|
|
|
|
|
|
- private TableElementConverter() {
|
|
|
|
- }
|
|
|
|
|
|
|
|
public TableElementConverter(List<TableInfo> tableInfoList, List<KeyMapper> keyMappers, List<Formula> formulas) {
|
|
public TableElementConverter(List<TableInfo> tableInfoList, List<KeyMapper> keyMappers, List<Formula> formulas) {
|
|
this.tableInfoList = tableInfoList;
|
|
this.tableInfoList = tableInfoList;
|
|
@@ -45,6 +44,10 @@ public class TableElementConverter implements ITableElementConverter {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public TableElementConverter() {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
public Boolean isPresent(){
|
|
public Boolean isPresent(){
|
|
return BaseUtils.isNotNull(this.keyMappers,this.formulas,this.nodeId,this.contractId);
|
|
return BaseUtils.isNotNull(this.keyMappers,this.formulas,this.nodeId,this.contractId);
|
|
@@ -106,9 +109,11 @@ public class TableElementConverter implements ITableElementConverter {
|
|
}
|
|
}
|
|
groups.forEach((groupId, group) -> {
|
|
groups.forEach((groupId, group) -> {
|
|
group.forEach((index,page)->{
|
|
group.forEach((index,page)->{
|
|
- TableInfo info = tables.get(index);
|
|
|
|
- /*每一页对应一个info*/
|
|
|
|
- info.getDataMap().put(fd.getKey(),recovery(page,""));
|
|
|
|
|
|
+ if(Func.isNotEmpty(page)) {
|
|
|
|
+ TableInfo info = tables.get(index);
|
|
|
|
+ /*每一页对应一个info*/
|
|
|
|
+ info.getDataMap().put(fd.getKey(), recovery(page, fd.getPosition()));
|
|
|
|
+ }
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
@@ -118,8 +123,51 @@ public class TableElementConverter implements ITableElementConverter {
|
|
}
|
|
}
|
|
|
|
|
|
public String recovery(List<ElementData> dataList,String position){
|
|
public String recovery(List<ElementData> dataList,String position){
|
|
- return "";
|
|
|
|
|
|
+ List<Coords> coordsList = CoordsBuilder.getInstance().build(position);
|
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
|
+ List<Integer[]> total = new ArrayList<>();
|
|
|
|
+ int n=0;
|
|
|
|
+ for(Coords coords:coordsList){
|
|
|
|
+ int outer,outer2,inner,inner2;
|
|
|
|
+ if(coords.getHorizontal()){
|
|
|
|
+ outer =coords.getY();
|
|
|
|
+ outer2=coords.getY2();
|
|
|
|
+ inner=coords.getX();
|
|
|
|
+ inner2=coords.getX2();
|
|
|
|
+ }else{
|
|
|
|
+ outer =coords.getX();
|
|
|
|
+ outer2=coords.getX2();
|
|
|
|
+ inner= coords.getY();
|
|
|
|
+ inner2=coords.getY2();
|
|
|
|
+ }
|
|
|
|
+ List<Integer[]> indexs = new ArrayList<>();
|
|
|
|
+ for(int i=outer;i<outer2;i++){
|
|
|
|
+ for(int j=inner;j<inner2;j++){
|
|
|
|
+ if(coords.getHorizontal()){
|
|
|
|
+ /*[x,y]*/
|
|
|
|
+ indexs.add(new Integer[]{j,i});
|
|
|
|
+ }else{
|
|
|
|
+ indexs.add(new Integer[]{i,j});
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(coords.hasMerge()){
|
|
|
|
+ indexs=indexs.stream().filter(e->!coords.getEx().contains(e[0])&&!coords.getEy().contains(e[1])).collect(Collectors.toList());
|
|
|
|
+ }
|
|
|
|
+ total.addAll(indexs);
|
|
|
|
+ }
|
|
|
|
+ for(int i=0;i<dataList.size();i++){
|
|
|
|
+ if(i>=total.size()) { break;}
|
|
|
|
+ ElementData d = dataList.get(i);
|
|
|
|
+ Integer[] a=total.get(i);
|
|
|
|
+ /*a:[x,y]*/
|
|
|
|
+ sb.append(a[1]).append(StringPool.UNDERSCORE).append(a[0]).append(StringPool.UNDERSCORE).append(d.stringValue());
|
|
|
|
+ }
|
|
|
|
+ return sb.toString();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|