Browse Source

fix: 任务中心/企业承接任务完成百分比保留2位小数

lixuesong 1 year ago
parent
commit
363e3ee767

+ 2 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -657,13 +657,13 @@ public class WmScorePackageController {
 			).intValue();
 			ext.setPayScore(actualTotal1);
 
-			BigDecimal fin = new BigDecimal(ext.getYsh()).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 1, RoundingMode.HALF_UP);
+			BigDecimal fin = new BigDecimal(ext.getYsh()).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 2, RoundingMode.HALF_UP);
 			BigDecimal fin1 = BigDecimal.valueOf(100.00);
 			if (fin.compareTo(fin1) == 1) {
 				fin = BigDecimal.valueOf(100.00);
 			}
 			ext.setFinishRate(fin + "0");
-			BigDecimal payRate = new BigDecimal(ext.getPayScore()).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 1, RoundingMode.HALF_UP);
+			BigDecimal payRate = new BigDecimal(actualTotal1).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 2, RoundingMode.HALF_UP);
 			if (payRate.compareTo(fin1) > 0) {
 				payRate = BigDecimal.valueOf(100.00);
 			}

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

@@ -2685,16 +2685,16 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 
 		// 完成积分值(最终完成积分值 = 完成积分值 * (1+审核管理费比例))
 		int actualScore = BigDecimal.valueOf(ysh).multiply(
-				wmScorePackage.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
+				wmScorePackage.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), 2, 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)
+				wmScorePackage.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), 2, 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);
+				.divide(new BigDecimal(wmScorePackage.getScore()), 2, RoundingMode.HALF_UP);
 		if (payRate.compareTo(new BigDecimal("100")) >= 0) {
 			wmScorePackage.setPayRate(100 + ".00");
 		} else {
@@ -2702,7 +2702,7 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 		}
 
 		BigDecimal fin = new BigDecimal(actualScore).multiply(BigDecimal.valueOf(100))
-				.divide(new BigDecimal(wmScorePackage.getScore()), 2, BigDecimal.ROUND_HALF_UP);
+				.divide(new BigDecimal(wmScorePackage.getScore()), 2, RoundingMode.HALF_UP);
 		if (fin.compareTo(new BigDecimal("100")) > 0) {
 			wmScorePackage.setFinishRate(100 + ".00");
 			if ("0".equals(wmScorePackage.getPackageFinishStatus())) {