zhangchenglong 2 роки тому
батько
коміт
23c35df61f

+ 3 - 3
src/main/java/com/syjy/calculate/entity/AssessmentRequest.java

@@ -44,12 +44,12 @@ public class AssessmentRequest implements Serializable  {
     private BigDecimal powerGeneration;
 
     /**
-     * 中期上报率
+     * 中期上报率
      */
     private BigDecimal midReportRate;
 
     /**
-     * 短期上报率
+     * 短期上报率
      */
     private BigDecimal shortReportRate;
 
@@ -84,7 +84,7 @@ public class AssessmentRequest implements Serializable  {
     private BigDecimal ultraShortPassRate;
 
     /**
-     * 单机合格率考核
+     * 单机合格率
      */
     private BigDecimal singleMachinePassRate;
 

+ 9 - 0
src/main/java/com/syjy/calculate/service/AccuracyPassRateCalculateService.java

@@ -1,5 +1,6 @@
 package com.syjy.calculate.service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.googlecode.aviator.AviatorEvaluator;
 import com.syjy.calculate.entity.*;
 import com.syjy.calculate.repository.CalculationFormulaRepository;
@@ -111,6 +112,11 @@ public class AccuracyPassRateCalculateService {
      * @return 过滤后的结果
      */
     private String filterResult(Object result,String type) {
+        // 如果是map类型,转为jsonString
+        if(result instanceof HashMap){
+            String jsonStr = JSONObject.toJSONString(result);
+            return  jsonStr;
+        }
         // 如果返回的不是数值类型,则不用过滤,直接返回
         if ((result instanceof String) || (result instanceof Boolean)|| (result instanceof HashMap)) {
             return String.valueOf(result);
@@ -137,6 +143,9 @@ public class AccuracyPassRateCalculateService {
             return resultBig + CalculateResult.PERCENT;
         }
 
+        //如果结果不带百分号,直接四舍五入4位小数
+        resultBig = resultBig.setScale(4,BigDecimal.ROUND_HALF_UP);
+
         return resultBig.toString();
     }