mitao
2024-08-30 0c851d4d98552250a399533c30e5d6780c3e56b6
bug修改
1个文件已修改
28 ■■■■ 已修改文件
finance-system/src/main/java/com/finance/system/service/impl/AsyncServiceImpl.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
finance-system/src/main/java/com/finance/system/service/impl/AsyncServiceImpl.java
@@ -353,11 +353,11 @@
                    res1 = validateDivisorValue(r);
                    score = 0D;
                    if (!res1) {
                        BigDecimal divided = au.divide(r, 2, RoundingMode.HALF_UP);
                        BigDecimal divided = au.divide(r, 4, RoundingMode.HALF_UP);
                        if (divided.compareTo(BigDecimal.valueOf(0.6D)) > 0) {
                            BigDecimal add = BigDecimal.valueOf(0.6D).subtract(divided)
                                    .multiply(BigDecimal.valueOf(100D))
                                    .divide(BigDecimal.valueOf(4D), 2, RoundingMode.HALF_UP)
                                    .divide(BigDecimal.valueOf(4D), 4, RoundingMode.HALF_UP)
                                    .add(BigDecimal.valueOf(8))
                                    .setScale(2, RoundingMode.HALF_UP);
                            score = add.compareTo(BigDecimal.ZERO) >= 0 ? add.doubleValue() : 0D;
@@ -397,7 +397,7 @@
                    BigDecimal part2 = BigDecimal.ZERO;
                    if (third.compareTo(BigDecimal.valueOf(0.8D)) < 0) {
                        BigDecimal add = third.subtract(BigDecimal.valueOf(0.8D))
                                .divide(BigDecimal.valueOf(0.1D), 2, RoundingMode.HALF_UP)
                                .divide(BigDecimal.valueOf(0.1D), 4, RoundingMode.HALF_UP)
                                .multiply(BigDecimal.valueOf(0.6D))
                                .add(BigDecimal.valueOf(3D))
                                .setScale(2, RoundingMode.HALF_UP);
@@ -426,12 +426,12 @@
                    String substring = tbBasicData.getQuarter().substring(4);
                    if (substring.equals("四季度")) {
                        // 使用全年评价
                        BigDecimal divide = deptDividendValue.divide(deptDivisorValue, 2,
                        BigDecimal divide = deptDividendValue.divide(deptDivisorValue, 4,
                                RoundingMode.HALF_UP);
                        if (divide.compareTo(BigDecimal.valueOf(0.98D)) < 0) {
                            score = divide.subtract(BigDecimal.valueOf(0.98D))
                                    .multiply(BigDecimal.valueOf(100D))
                                    .divide(BigDecimal.valueOf(3D), 2, RoundingMode.HALF_UP)
                                    .divide(BigDecimal.valueOf(3D), 4, RoundingMode.HALF_UP)
                                    .add(BigDecimal.valueOf(vo.getMaxScore()))
                                    .setScale(2, RoundingMode.HALF_UP).doubleValue();
                        } else {
@@ -456,11 +456,11 @@
                    // 16:预算执行方面-中央直达资金-中央直达资金支付进度
                    deptDividendValue = getBigDecimal(sysUser.getAreaName(), deptFieldsMap,
                            BasicDataFieldEnum.BASIC_DATA_FIELD89);
                    BigDecimal divided1 = month.divide(BigDecimal.valueOf(12D), 2,
                    BigDecimal divided1 = month.divide(BigDecimal.valueOf(12D), 4,
                            RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100L));
                    if (deptDividendValue.compareTo(divided1) < 0) {
                        BigDecimal add = deptDividendValue.subtract(divided1)
                                .divide(BigDecimal.valueOf(5D), 2, RoundingMode.HALF_UP)
                                .divide(BigDecimal.valueOf(5D), 4, RoundingMode.HALF_UP)
                                .add(BigDecimal.valueOf(vo.getMaxScore()))
                                .setScale(2, RoundingMode.HALF_UP);
                        score = add.compareTo(BigDecimal.ZERO) < 0 ? 0D : add.doubleValue();
@@ -503,11 +503,11 @@
                    res1 = validateDivisorValue(deptDivisorValue);
                    score = 0D;
                    if (!res1) {
                        BigDecimal d1 = deptDividendValue.divide(deptDivisorValue, 2,
                        BigDecimal d1 = deptDividendValue.divide(deptDivisorValue, 4,
                                RoundingMode.HALF_UP);
                        BigDecimal d2 = month.divide(BigDecimal.valueOf(12D), 2,
                        BigDecimal d2 = month.divide(BigDecimal.valueOf(12D), 4,
                                RoundingMode.HALF_UP);
                        score = d1.compareTo(d2) < 0 ? d1.divide(d2, 2, RoundingMode.HALF_UP)
                        score = d1.compareTo(d2) < 0 ? d1.divide(d2, 4, RoundingMode.HALF_UP)
                                .multiply(BigDecimal.valueOf(vo.getMaxScore()))
                                .setScale(2, RoundingMode.HALF_UP).doubleValue()
                                : vo.getMaxScore();
@@ -629,12 +629,12 @@
        BigDecimal deptDivided = BigDecimal.ZERO;
        if (deptDivisorValue.compareTo(BigDecimal.ZERO) > 0) {
            deptDivided = deptDividendValue.divide(deptDivisorValue, 2, RoundingMode.HALF_UP);
            deptDivided = deptDividendValue.divide(deptDivisorValue, 4, RoundingMode.HALF_UP);
        }
        BigDecimal provinceDivided = BigDecimal.ZERO;
        if (provinceDivisorValue.compareTo(BigDecimal.ZERO) > 0) {
            provinceDivided = provinceDividendValue.divide(provinceDivisorValue, 2,
            provinceDivided = provinceDividendValue.divide(provinceDivisorValue, 4,
                    RoundingMode.HALF_UP);
        }
        if (deptDivided.compareTo(provinceDivided) < 0) {
@@ -657,12 +657,12 @@
        BigDecimal deptDivided = BigDecimal.ZERO;
        if (deptDivisorValue.compareTo(BigDecimal.ZERO) > 0) {
            deptDivided = deptDividendValue.divide(deptDivisorValue, 2, RoundingMode.HALF_UP);
            deptDivided = deptDividendValue.divide(deptDivisorValue, 4, RoundingMode.HALF_UP);
        }
        BigDecimal provinceDivided = BigDecimal.ZERO;
        if (provinceDivisorValue.compareTo(BigDecimal.ZERO) > 0) {
            provinceDivided = provinceDividendValue.divide(provinceDivisorValue, 2,
            provinceDivided = provinceDividendValue.divide(provinceDivisorValue, 4,
                    RoundingMode.HALF_UP);
        }
        if (deptDivided.compareTo(provinceDivided) < 0) {