Browse Source

公式相关

yangyj 2 years ago
parent
commit
cb313ebc51

+ 1 - 1
blade-service/blade-manager/src/main/java/com/mixsmart/utils/CustomFunction.java

@@ -1524,7 +1524,7 @@ public class CustomFunction {
 			List<String>nodes=new ArrayList<>(treeNodes);
 			//Collections.reverse(nodes);
 			List<String> result = new ArrayList<>();
-			param=param.replaceAll("(?i:c)","");
+			param=param.trim().replaceAll("(?i:c)","");
 			List<String> list = Arrays.asList(param.split("[^.\\d]"));
 			List<Integer> index =list.stream().map(Integer::parseInt).collect(Collectors.toList());
 			for(Integer i:index){

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/FormulaController.java

@@ -394,7 +394,7 @@ public class FormulaController {
     @GetMapping("/log")
     public R<Object> log(Long pkeyId){
         Map<String,Object> result = new HashMap<>();
-        result.put("版本信息","202303081747");
+        result.put("版本信息","202303101210");
         if(Func.isNotEmpty(pkeyId)){
             result.put("执行情况",this.jdbcTemplate.queryForList("select * from m_formula_log where id="+pkeyId));
         }

+ 11 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -410,7 +410,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             total.stream().filter(p->e.getEName().contains(p.getName().replace("【水】","").trim())&&!this.formDataList.contains(e)).findAny().ifPresent(d->{
                 Formula  formula=new Formula();
                 formula.setOutm(Formula.FULL);
-                if(RegexUtil.match(ParamElements.LEVEL_REG,d.getV())){
+                if(RegexUtil.match(ParamElements.LEVEL_REG,d.getV().trim())){
                     /*取层级*/
                     formula.setFormula("FC.tree(trees,WP["+d.getK()+"])");
                 }else{
@@ -532,6 +532,16 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                             }
                             if(fd.getCoordsList().size()>1&&f.split("[/+\\-*]").length>1){
                                 LinkedHashMap<String,FormData> fdMap =new LinkedHashMap<>();
+                               Optional<FormData> tto= ele.stream().max(Comparator.comparingInt(fe->fe.getValues().size()));
+                               Optional<FormData> tts= ele.stream().min(Comparator.comparingInt(fe->fe.getValues().size()));
+                               if(tto.isPresent()&&tts.isPresent()){
+                                   if(tto.get().getValues().size()!=tts.get().getValues().size()){
+                                       int baseLength=tto.get().getValues().size();
+                                       ele.forEach(e->{
+                                           e.setStep(baseLength/e.getValues().size());
+                                       });
+                                   }
+                               }
                                 ele.forEach(e->{
                                     /*步进处理*/
                                     if(e.getCode().equals("m_20220928135543_1575001284954554368:key_31")){

+ 2 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsParamServiceImpl.java

@@ -73,6 +73,7 @@ public class WbsParamServiceImpl extends BaseServiceImpl<WbsParamMapper, WbsPara
                 wbsTreeContract = treeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getPKeyId, pkId));
             }
             /*去头尾*/
+            Collections.reverse(nodes);
             nodes.remove(nodes.size() - 1);
             nodes.remove(0);
             assert wbsTreeContract != null;
@@ -81,7 +82,7 @@ public class WbsParamServiceImpl extends BaseServiceImpl<WbsParamMapper, WbsPara
             }
             nodes.add(wbsTreeContract);
         }
-        Collections.reverse(nodes);
+
         return nodes;
     }