|
@@ -60,9 +60,8 @@ public class ExecutorFormat extends FormulaExecutor {
|
|
|
}
|
|
|
|
|
|
public void mergeCell(){
|
|
|
- /*清单号*/
|
|
|
+ /*中期支付证书清单号、项目名*/
|
|
|
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();
|
|
@@ -88,6 +87,28 @@ public class ExecutorFormat extends FormulaExecutor {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ /*2-17 小计合计*/
|
|
|
+ FormulaUtils.beRelyFrom(tec.formDataMap,"MtAiv:key_1").findFirst().ifPresent(qh->{
|
|
|
+ FormulaUtils.beRelyFrom(tec.formDataMap,"MtAiv:key_2").findFirst().ifPresent(clmc->{
|
|
|
+ List<ElementData> la = qh.getValues();
|
|
|
+ List<ElementData> lb = clmc.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 name = eb.stringValue();
|
|
|
+ if (("小计").equals(name) || ("合计").equals(name)) {
|
|
|
+ return ea.getIndex() + "@" + ea.getX() + "@" + ea.getY() + "@" + (eb.getX() + 2) + "@" + 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_20240222101754_1760489057181237248", k -> new HashSet<>());
|
|
|
+ set.addAll(mergeSet);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
|