Эх сурвалжийг харах

公式相关:通用批量计算bug

yangyj 2 жил өмнө
parent
commit
c3789d8ce3

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

@@ -618,7 +618,7 @@ public class FormulaUtils {
             pretreatment(local,formula);
             pretreatment(local,formula);
             List<Object>  r= local.stream().map(e-> {
             List<Object>  r= local.stream().map(e-> {
                 /*所有依赖元素的内容必须非空才进行计算,否则返回空值*/
                 /*所有依赖元素的内容必须非空才进行计算,否则返回空值*/
-                return e.hasEmptyElementValue()?"": Expression.parse(e.getFormula()).calculate(e.getCurrentMap());
+                return e.hasEmptyElementValue()?"": Expression.parse(e.getFormula()).calculate(e.getCurrentMap()).toString();
             }).collect(Collectors.toList());
             }).collect(Collectors.toList());
             if(CollectionUtil.isNotEmpty(r)&&r.stream().anyMatch(StringUtils::isNotEmpty)){
             if(CollectionUtil.isNotEmpty(r)&&r.stream().anyMatch(StringUtils::isNotEmpty)){
                 result.addAll(r);
                 result.addAll(r);

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

@@ -591,11 +591,15 @@ public class FormulaController {
                List<Map<String,Object>> listMap= this.jdbcTemplate.queryForList("select content from m_formula_panel  a  join m_wbs_tree_private b on a.id=b.init_table_id where b.p_key_id="+pkeyId);
                List<Map<String,Object>> listMap= this.jdbcTemplate.queryForList("select content from m_formula_panel  a  join m_wbs_tree_private b on a.id=b.init_table_id where b.p_key_id="+pkeyId);
                if(Func.isNotEmpty(listMap)){
                if(Func.isNotEmpty(listMap)){
                    JSONObject job = JSON.parseObject(listMap.get(0).get("content").toString());
                    JSONObject job = JSON.parseObject(listMap.get(0).get("content").toString());
-                   JSONArray  jsonArray= createSeries(wtp,id);
-                   if(!jsonArray.isEmpty()){
-                       JSONObject chartData= job.getJSONArray("series").getJSONObject(0);
-                       chartData.put("data",jsonArray);
-                       return R.data(job);
+                   try {
+                       JSONArray  jsonArray= createSeries(wtp,id);
+                       if(!jsonArray.isEmpty()){
+                           JSONObject chartData= job.getJSONArray("series").getJSONObject(0);
+                           chartData.put("data",jsonArray);
+                           return R.data(job);
+                       }
+                   }catch (Exception e){
+                       e.printStackTrace();
                    }
                    }
                }
                }
             }
             }