Эх сурвалжийг харах

fix: 修复任务百分比限制打卡类、转发类、普通类任务类型分别校验

李学松 2 жил өмнө
parent
commit
f18e7517f0

+ 11 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskContentServiceImpl.java

@@ -34,6 +34,7 @@ import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
 import com.qunzhixinxi.hnqz.admin.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
 import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskTypeSubCate2;
 import com.qunzhixinxi.hnqz.admin.entity.WmUserSign;
 import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
 import com.qunzhixinxi.hnqz.admin.mapper.WmDaHospitalMapper;
@@ -48,6 +49,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionRuleService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeSubCate2Service;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeSubCategoryService;
 import com.qunzhixinxi.hnqz.admin.util.HnqzUtils;
 import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
@@ -66,6 +68,7 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -93,6 +96,7 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 	private final WmTaskTypeSubCategoryService taskTypeSubCategoryService;
 	private final WmTaskSubmissionRuleService taskSubmissionRuleService;
 	private final WmTaskSubmissionPercentRuleService wmTaskSubmissionPercentRuleService;
+	private final WmTaskTypeSubCate2Service wmTaskTypeSubCate2Service;
 
 
 	private static final DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
@@ -923,8 +927,14 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 //		}
 		// 校验任务百分比限制规则(如果积分包值大于【任务配置】-【百分比限制】配置的起始值,
 		// 且【任务配置】-【百分比限制】所选的任务类型对应的任务总完成积分值>积分包值*【任务配置】-【百分比限制】配置的百分比,则校验不通过)
+		List<WmTaskTypeSubCate2> allTaskTypes = wmTaskTypeSubCate2Service.list();
+		// 过滤掉打卡任务类型、转发任务类型
+		List<String> toCheckTaskTypeList = allTaskTypes.stream().map(subCate2 -> String.valueOf(subCate2.getTypeId()))
+				.filter(typeId -> !Arrays.asList("5", "6", "33").contains(typeId)
+						&& !Arrays.asList("8", "9", "10", "11").contains(typeId))
+				.collect(Collectors.toList());
 		R<?> checkPercentRuleResult =
-				wmTaskSubmissionPercentRuleService.checkPercentRule(scorePackage, SecurityUtils.getUser().getDeptId(), null, null);
+				wmTaskSubmissionPercentRuleService.checkPercentRule(scorePackage, SecurityUtils.getUser().getDeptId(), null, toCheckTaskTypeList);
 		if (checkPercentRuleResult.getCode() != 0) {
 			throw new RuntimeException(checkPercentRuleResult.getMsg());
 		}

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmUserSignServiceImpl.java

@@ -246,7 +246,7 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
 		// 校验任务百分比限制规则(如果积分包值大于【任务配置】-【百分比限制】配置的起始值,
 		// 且【任务配置】-【百分比限制】所选的任务类型对应的任务总完成积分值>积分包值*【任务配置】-【百分比限制】配置的百分比,则校验不通过)
 		R<?> checkPercentRuleResult =
-				wmTaskSubmissionPercentRuleService.checkPercentRule(tWmScorePackage, SecurityUtils.getUser().getDeptId(), null, Arrays.asList(taskTypeId));
+				wmTaskSubmissionPercentRuleService.checkPercentRule(tWmScorePackage, SecurityUtils.getUser().getDeptId(), null, Arrays.asList("5", "6", "33"));
 		if (checkPercentRuleResult.getCode() != 0) {
 			throw new RuntimeException(checkPercentRuleResult.getMsg());
 		}