|
@@ -12,6 +12,7 @@ import org.springblade.manager.entity.Formula;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.function.BiFunction;
|
|
|
+import java.util.function.Predicate;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.IntStream;
|
|
|
|
|
@@ -26,6 +27,21 @@ public class ExecutorFormat extends FormulaExecutor {
|
|
|
public ExecutorFormat(TableElementConverter tec) {
|
|
|
super(tec);
|
|
|
}
|
|
|
+ List<String> initTableNames = Arrays.asList("m_20240222101436_1760488226289614848");
|
|
|
+ List<String> elementCodes = Arrays.asList("排除的元素code");
|
|
|
+ private Predicate<FormData> zeroSkipPd=fd->{
|
|
|
+ for(String tn:initTableNames){
|
|
|
+ if(tn.equals(fd.getTableName())){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(String tn:elementCodes){
|
|
|
+ if(tn.equals(fd.getCode())){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ };
|
|
|
|
|
|
@Override
|
|
|
public void handle() {
|
|
@@ -45,12 +61,13 @@ public class ExecutorFormat extends FormulaExecutor {
|
|
|
}
|
|
|
}
|
|
|
/*0不显示*/
|
|
|
- fd.getValues().forEach(ed->{
|
|
|
- if(BaseUtils.isZero(ed.getValue())){
|
|
|
- ed.setValue(StringPool.EMPTY);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
+ if(zeroSkipPd.test(fd)) {
|
|
|
+ fd.getValues().forEach(ed -> {
|
|
|
+ if (BaseUtils.isZero(ed.getValue())) {
|
|
|
+ ed.setValue(StringPool.EMPTY);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
/*合并单元格*/
|
|
@@ -60,6 +77,8 @@ public class ExecutorFormat extends FormulaExecutor {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
private void biColumnMerge(String col1, String col2, String tableName, BiFunction<ElementData,ElementData,String> coordsFc){
|
|
|
FormulaUtils.beRelyFrom(tec.formDataMap,col1).findFirst().ifPresent(c1->{
|
|
|
FormulaUtils.beRelyFrom(tec.formDataMap,col2).findFirst().ifPresent(c2->{
|
|
@@ -105,34 +124,6 @@ public class ExecutorFormat extends FormulaExecutor {
|
|
|
/*2-17 小计合计*/
|
|
|
biColumnMerge("MtAiv:key_1","MtAiv:key_2","m_20240222101754_1760489057181237248",coordsFc217);
|
|
|
|
|
|
- /*FormData qdh= FormulaUtils.elementFindByCode(tec.formDataMap,"m_20240325154016_1772166597482381312:key_1").orElse(null);
|
|
|
- FormData xm= FormulaUtils.elementFindByCode(tec.formDataMap,"m_20240325154016_1772166597482381312:key_13").orElse(null);
|
|
|
- if(qdh!=null&&xm!=null){
|
|
|
- List<ElementData> la = qdh.getValues();
|
|
|
- List<ElementData> lb = xm.getValues();
|
|
|
- if(la.size()>0&&lb.size()>0){
|
|
|
- Set<String> mergeSet= IntStream.range(0, Math.min(la.size(),lb.size())).boxed().map(i->{
|
|
|
- ElementData ea=la.get(i);
|
|
|
- ElementData eb=lb.get(i);
|
|
|
- String a= ea.stringValue();
|
|
|
- *//*StringUtils.isNotEmpty(eb.getValue())&&eb.getValue().toString().contains("暂")*//*
|
|
|
- if(a!=null&&!a.matches("^\\d+.+")||StringUtils.isNotEmpty(eb.getValue())&&eb.getValue().toString().contains("暂")){
|
|
|
- if(StringUtils.isNotEmpty(eb.getValue())&&eb.getValue().toString().contains("暂")) {
|
|
|
- ea.setValue(eb.getValue());
|
|
|
- eb.setValue("");
|
|
|
- }
|
|
|
- return ea.getIndex()+"@"+ea.getX()+"@"+ea.getY()+"@"+(eb.getX()+1)+"@"+eb.getY();
|
|
|
- }
|
|
|
- return StringPool.EMPTY;
|
|
|
- }).filter(s->!StringPool.EMPTY.equals(s)).collect(Collectors.toSet());
|
|
|
- if(mergeSet.size()>0){
|
|
|
- Set<String> set=tec.getMergeCellMaps().computeIfAbsent("m_20240325154016_1772166597482381312", k->new HashSet<>());
|
|
|
- set.addAll(mergeSet);
|
|
|
- }
|
|
|
- }
|
|
|
- }*/
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
|