Sfoglia il codice sorgente

后管-公式
1、多重判断 查询问题处理

LHB 1 settimana fa
parent
commit
2a9ca0ac7a

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

@@ -8,10 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import com.mixsmart.utils.CustomFunction;
-import com.mixsmart.utils.FormulaUtils;
-import com.mixsmart.utils.ListUtils;
-import com.mixsmart.utils.StringUtils;
+import com.mixsmart.utils.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -287,12 +284,16 @@ public class FormulaController {
                 if(formula.contains(".ifelseMulti")){
                     //处理数据
                     formula = formula.replaceFirst("FC.ifelseMulti","");
-                    String[] split = formula.split(",");
-                    if(split.length == 4){
-                        String s = split[0].replaceAll("\\(", "");
+
+                    String sumStr = formula;
+                    sumStr = sumStr.replaceFirst("\\(","").replaceFirst("\\)$","");
+                    List<String> list = parseParameters(sumStr);
+                    if(list.size() == 4){
+                        String remove = list.remove(0);
+                        String s = remove.replaceAll("\\(", "");
                         fb.setMethod(s);
-                        split[0] = "(";
-                        formula = StringUtil.join(split,",");
+                        list.set(0,"(" + list.get(0));
+                        formula = StringUtil.join(list,",") + ")";
                     }
 
                     List<FormulaMultipleIf> formulaMultipleIfs = new ArrayList<>();