|
@@ -562,24 +562,28 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
|
|
|
@Override
|
|
|
public IFormulaService sort() {
|
|
|
- Map<Boolean,List<FormData>> map = tec.formDataList.stream().collect(Collectors.partitioningBy(e->Func.isNotEmpty(e.getFormula())&&e.getFormula().getFormula().contains("E[")));
|
|
|
- tec.formDataList.clear();
|
|
|
- /*没有依赖的*/
|
|
|
- List<FormData> simple=map.get(false);
|
|
|
- if(CollectionUtil.isNotEmpty(simple)){
|
|
|
- tec.formDataList.addAll(simple);
|
|
|
- }
|
|
|
- /*有依赖的*/
|
|
|
- List<FormData> rely= map.get(true);
|
|
|
- if(CollectionUtil.isNotEmpty(rely)){
|
|
|
- sort(rely,((rely.size()+1)/2)*rely.size());
|
|
|
- tec.formDataList.addAll(rely);
|
|
|
+ try {
|
|
|
+ Map<Boolean, List<FormData>> map = tec.formDataList.stream().collect(Collectors.partitioningBy(e -> Func.isNotEmpty(e.getFormula()) && e.getFormula().getFormula().contains("E[")));
|
|
|
+ tec.formDataList.clear();
|
|
|
+ /*没有依赖的*/
|
|
|
+ List<FormData> simple = map.get(false);
|
|
|
+ if (CollectionUtil.isNotEmpty(simple)) {
|
|
|
+ tec.formDataList.addAll(simple);
|
|
|
+ }
|
|
|
+ /*有依赖的*/
|
|
|
+ List<FormData> rely = map.get(true);
|
|
|
+ if (CollectionUtil.isNotEmpty(rely)) {
|
|
|
+ sort(rely, ((rely.size() + 1) / 2) * rely.size());
|
|
|
+ tec.formDataList.addAll(rely);
|
|
|
+ }
|
|
|
+ /*初始化排序值,每个点间隔1000,方便插入*/
|
|
|
+ AtomicInteger sort = new AtomicInteger();
|
|
|
+ tec.formDataList.forEach(e -> e.setSort(sort.getAndAdd(1000)));
|
|
|
+ /*汇总阶段执行的公式*/
|
|
|
+ summaryPre();
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
- /*初始化排序值,每个点间隔1000,方便插入*/
|
|
|
- AtomicInteger sort= new AtomicInteger();
|
|
|
- tec.formDataList.forEach(e->e.setSort(sort.getAndAdd(1000)));
|
|
|
- /*汇总阶段执行的公式*/
|
|
|
- summaryPre();
|
|
|
return this;
|
|
|
}
|
|
|
|