Browse Source

对科目没值,余额有值的情况,在是否容忍度做特殊处理。

zhang_qk 1 month ago
parent
commit
fe4f097804

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

@@ -357,6 +357,15 @@ public class GeneralLedgerUnit extends CalcUnit {
                 //if (differRate.doubleValue() > diffconfigListModel.getLowerLimit().doubleValue() || differRate.doubleValue() < diffconfigListModel.getUpperLimit().doubleValue()) {
                     // 如果 差异率大于上限或小于下限
                     // 处理结果插入平账表中
+                if(ruleListModel.getGlCode().equals("aaaaaa") || ruleListModel.getGlCode().equals("bbbbbb") ||ruleListModel.getGlCode().equals("cccccc") ||ruleListModel.getGlCode().equals("dddddd") ||ruleListModel.getGlCode().equals("eeeeee") ||ruleListModel.getGlCode().equals("ffffff") ) {
+                    if (differRate.doubleValue() > diffconfigListModel.getLowerLimit().doubleValue() || differRate.doubleValue() < diffconfigListModel.getUpperLimit().doubleValue()) { // 差异率大于上区间 或 小于下区间
+                        isOutDiff = "out_range_tolerance"; // 在偏差范围外
+                    } else if (differAmt.compareTo(BigDecimal.ZERO) == 0) {
+                        isOutDiff = "nodeviation"; // 无偏差
+                    } else {
+                        isOutDiff = "in_range_tolerance"; // 差异容忍度内
+                    }
+                }
                 if( (differAmt.compareTo(BigDecimal.ZERO)  !=0  || ruleListModel.getGlCode().equals("702002") || ruleListModel.getGlCode().equals("113001")) && null != ruleListModel.getOnoroff() && !ruleListModel.getOnoroff().equals("")){ // 差异率不为空 或科目是702002
                     if(differRate.doubleValue() > diffconfigListModel.getLowerLimit().doubleValue() || differRate.doubleValue() < diffconfigListModel.getUpperLimit().doubleValue()){ // 差异率大于上区间 或 小于下区间
                         isOutDiff = "out_range_tolerance"; // 在偏差范围外