Просмотр исходного кода

feat: 任务中心/结算报告审批/企业承接任务-完成积分值加上审核管理费

lixuesong 1 год назад
Родитель
Сommit
4dcad562a4

+ 13 - 7
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -2683,7 +2683,17 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 		int payScore = payScoreAndYsh.get("payScore");
 		int ysh = payScoreAndYsh.get("ysh");
 
-		BigDecimal payRate = new BigDecimal(payScore).multiply(BigDecimal.valueOf(100))
+		// 完成积分值(最终完成积分值 = 完成积分值 * (1+审核管理费比例))
+		int actualScore = BigDecimal.valueOf(ysh).multiply(
+				wmScorePackage.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
+		).intValue();
+
+		// payScore(payScore = 完成积分值 * (1+审核管理费比例))
+		int actualPayScore = BigDecimal.valueOf(payScore).multiply(
+				wmScorePackage.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
+		).intValue();
+
+		BigDecimal payRate = new BigDecimal(actualPayScore).multiply(BigDecimal.valueOf(100))
 				.divide(new BigDecimal(wmScorePackage.getScore()), 2, BigDecimal.ROUND_HALF_UP);
 		if (payRate.compareTo(new BigDecimal("100")) >= 0) {
 			wmScorePackage.setPayRate(100 + ".00");
@@ -2691,7 +2701,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 			wmScorePackage.setPayRate(payRate + "");
 		}
 
-		BigDecimal fin = new BigDecimal(ysh).multiply(BigDecimal.valueOf(100))
+		BigDecimal fin = new BigDecimal(actualScore).multiply(BigDecimal.valueOf(100))
 				.divide(new BigDecimal(wmScorePackage.getScore()), 2, BigDecimal.ROUND_HALF_UP);
 		if (fin.compareTo(new BigDecimal("100")) > 0) {
 			wmScorePackage.setFinishRate(100 + ".00");
@@ -2708,12 +2718,8 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 			}
 		}
 
-		wmScorePackage.setPayScore(payScoreAndYsh.get("payScore"));
+		wmScorePackage.setPayScore(actualPayScore);
 
-		// 完成积分值(最终完成积分值 = 完成积分值 * (1+审核管理费比例))
-		int actualScore = BigDecimal.valueOf(ysh).multiply(
-				wmScorePackage.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
-		).intValue();
 		wmScorePackage.setYsh(actualScore);
 
 		// 封装报告状态