Ver Fonte

处理计算过程。

CodeLife_leno há 1 mês atrás
pai
commit
f34cb0aa48

+ 9 - 7
Procedure/backend/project/src/main/java/com/sundata/product/rwa/calc/service/implement/units/GeneralLedgerUnit.java

@@ -20,6 +20,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.math.BigDecimal;
+import java.math.MathContext;
+import java.math.RoundingMode;
 import java.text.DecimalFormat;
 import java.util.HashMap;
 import java.util.List;
@@ -160,7 +162,7 @@ public class GeneralLedgerUnit extends CalcUnit {
             DiffconfigListModel diffconfigListModel = subjectDiffConfig.get(ruleListModel.getGlCode());
             boolean isInDiff = true;
 //            BigDecimal differAmt = BigDecimal.ZERO; // 核对差异金额(万元)
-            BigDecimal differRate = differAmt.divide(subjectSumBigDecimal); // 核对差异率%
+            BigDecimal differRate = differAmt.divide(subjectSumBigDecimal, 8, RoundingMode.HALF_UP); // 核对差异率%
             String percThreshold = "[0.0-0.0]"; // 差异容忍度%
             if (diffconfigListModel != null) {
 //                close - close
@@ -170,16 +172,16 @@ public class GeneralLedgerUnit extends CalcUnit {
 
                 String intervalType = diffconfigListModel.getIntervalType();
 
-                if (StrUtil.isBlank(intervalType) || intervalType.indexOf("-")!=6) {// 默认 闭-闭区间
+                if (StrUtil.isBlank(intervalType) || intervalType.indexOf("-") != 6) {// 默认 闭-闭区间
                     intervalType = "[close-close]";
                 }
-                intervalType = StrUtil.replace(intervalType,"[close","[");
-                intervalType = StrUtil.replace(intervalType,"close]","]");
-                intervalType = StrUtil.replace(intervalType,"open]",")");
-                intervalType = StrUtil.replace(intervalType,"[open","(");
+                intervalType = StrUtil.replace(intervalType, "[close", "[");
+                intervalType = StrUtil.replace(intervalType, "close]", "]");
+                intervalType = StrUtil.replace(intervalType, "open]", ")");
+                intervalType = StrUtil.replace(intervalType, "[open", "(");
                 String[] split = intervalType.split("-");
                 DecimalFormat df = new DecimalFormat("#,##0.00");
-                percThreshold = split[0]+ df.format(diffconfigListModel.getUpperLimit()) + "-" + df.format(diffconfigListModel.getLowerLimit()) + split[1];
+                percThreshold = split[0] + df.format(diffconfigListModel.getUpperLimit()) + "-" + df.format(diffconfigListModel.getLowerLimit()) + split[1];
             }
         }
     }