Forráskód Böngészése

feat: 校验可分配积分

shc 3 éve
szülő
commit
8227663468

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

@@ -3358,10 +3358,14 @@ public class WmScorePackageController {
 
 
 		// 业务校验
+		for (int i = 0, batchScoreTotal = 0, rows = batchPackageExcelModels.size(); i < rows; i++) {
 
-		for (int i = 0, rows = batchPackageExcelModels.size(); i < rows; i++) {
+			batchScoreTotal += checkColumn(batchPackageExcelModels.get(i), targetType, errorMap, i + 1, user.getDeptId());
 
-			checkColumn(batchPackageExcelModels.get(i), targetType, errorMap, i + 1, user.getDeptId());
+			// 额外校验可分配积分包
+			if (batchScoreTotal > scorePackage.getKfpjf()){
+				errorMap.put("批量下发总值大于可分配值", i + 1);
+			}
 
 		}
 
@@ -3425,8 +3429,8 @@ public class WmScorePackageController {
 	 * @param row        所在行
 	 * @param deptId     所属企业
 	 */
-	private void checkColumn(BatchPackageExcelModel model, TargetType targetType,
-							 Multimap<String, Integer> errorMap, Integer row, Integer deptId) {
+	private Integer checkColumn(BatchPackageExcelModel model, TargetType targetType,
+								Multimap<String, Integer> errorMap, Integer row, Integer deptId) {
 
 		log.warn("==========================================校验批量下发积分包model:开始=====================================================");
 
@@ -3451,6 +3455,7 @@ public class WmScorePackageController {
 		log.info("[{}]", model.getScore());
 		if (model.getScore() == null) {
 			errorMap.put("积分值未填", row);
+			model.setScore(0);
 		}
 
 		// 全职校验
@@ -3490,8 +3495,10 @@ public class WmScorePackageController {
 
 
 		log.warn("==========================================校验批量下发积分包model:开始=====================================================");
+		return model.getScore();
 	}
 
 
 
+
 }