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