Browse Source

feat: 任务复审修改

李学松 2 years ago
parent
commit
2af1560939

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmReportController.java

@@ -265,7 +265,7 @@ public class WmReportController {
 		String approvalOpinion = requestMap.get("approvalOpinion");
 		String approvalInfo = requestMap.get("approvalInfo");
 
-		if (!StrUtil.isAllNotBlank(reportId, taskId, approvalOpinion, approvalInfo)) {
+		if (!StrUtil.isAllNotBlank(reportId, taskId, approvalOpinion)) {
 			return R.failed("必填参数为空");
 		}
 		if (!CollUtil.toList("1", "2").contains(approvalOpinion)) {

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskController.java

@@ -1210,7 +1210,7 @@ public class WmTaskController {
 	@SysLog("个人承接积分值-任务复审")
 	@PostMapping("/review-task")
 	public R<?> reviewTask(@RequestBody WmTask wmTask) {
-		if (!StrUtil.isAllNotBlank(wmTask.getId(), wmTask.getTaskStatus(), wmTask.getTaskStatusInfo())) {
+		if (!StrUtil.isAllNotBlank(wmTask.getId(), wmTask.getTaskStatus())) {
 			return R.failed("必填参数为空");
 		}
 		if (!CollUtil.toList(TaskStatusEnum.APPROVED.val(), TaskStatusEnum.FAIL_APPROVED.val()).contains(wmTask.getTaskStatus())) {

+ 8 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmReportServiceImpl.java

@@ -82,6 +82,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -325,6 +326,10 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 		// 查询任务对应的积分包
 		String taskScorePackageId = queryTask.getScorePackageId();
 		WmScorePackage taskScorePackage = wmScorePackageService.getById(taskScorePackageId);
+		if (!CollUtil.toList(ScorePackageStatusEnum.TO_BE_SETTLED.val(), ScorePackageStatusEnum.TO_BE_APPROVAL.val(), ScorePackageStatusEnum.IN_PROGRESS.val())
+				.contains(taskScorePackage.getScorePackageStatus())) {
+			throw new RuntimeException("任务积分包状态不支持复审");
+		}
 
 		// STEP1: 更新任务企业审核状态
 		LambdaUpdateWrapper<WmTask> updateTaskWrapper = new LambdaUpdateWrapper<>();
@@ -736,6 +741,8 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 			return R.ok();
 		}
 		List<WmTask> taskList=pages.getRecords();
+		List<WmScorePackage> taskScorePackages = wmScorePackageService.listByIds(taskList.stream().map(WmTask::getScorePackageId).collect(Collectors.toSet()));
+		Map<String, WmScorePackage> scorePackageMap = taskScorePackages.stream().collect(Collectors.toMap(WmScorePackage::getId, Function.identity()));
 		if(!taskList.isEmpty()){
 			List<Map> resList =taskList.stream().map(wmtask -> {
 				Map map = JSON.parseObject(JSON.toJSONString(wmtask), Map.class);
@@ -757,6 +764,7 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 						map.put("taskUsername", user.getRealname());
 					}
 				}
+				map.put("scorePackageStatus", scorePackageMap.get(wmTask.getScorePackageId()));
 				return map;
 			}).collect(Collectors.toList());
 

+ 9 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskServiceImpl.java

@@ -2513,7 +2513,6 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 	public Boolean reviewTask(String id, String taskStatus, String taskStatusInfo) {
 		LocalDateTime now = LocalDateTime.now();
 		Integer operatorId = SecurityUtils.getUser().getId();
-		boolean approved = TaskStatusEnum.APPROVED.val().equals(taskStatus);
 		// 查询这条任务
 		WmTask queryTask = this.getById(id);
 		if (queryTask == null) {
@@ -2526,6 +2525,14 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 			throw new RuntimeException("任务状态不支持复审");
 		}
 
+		// 查询积分包
+		String scorePackageId = queryTask.getScorePackageId();
+		WmScorePackage wmScorePackage = wmScorePackageMapper.selectById(scorePackageId);
+		if (!CollUtil.toList(ScorePackageStatusEnum.TO_BE_SETTLED.val(), ScorePackageStatusEnum.TO_BE_APPROVAL.val(), ScorePackageStatusEnum.IN_PROGRESS.val())
+				.contains(wmScorePackage.getScorePackageStatus())) {
+			throw new RuntimeException("积分包状态不支持复审");
+		}
+
 		// STEP1:更新task状态
 		LambdaUpdateWrapper<WmTask> taskUpdateWrapper = Wrappers.<WmTask>lambdaUpdate()
 				.eq(WmTask::getId, id)
@@ -2544,9 +2551,6 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 			throw new RuntimeException("操作失败,请重试");
 		}
 
-		// 查询积分包
-		String scorePackageId = queryTask.getScorePackageId();
-		WmScorePackage wmScorePackage = wmScorePackageMapper.selectById(scorePackageId);
 		// 查询积分包下审核通过和审核中的任务
 		List<WmTask> wmTaskList = wmTaskMapper.selectList(Wrappers.<WmTask>lambdaQuery()
 				.eq(WmTask::getScorePackageId, scorePackageId)
@@ -2590,7 +2594,7 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 				.set(WmScorePackage::getTaskAddFlag, taskAddFlagStr)
 				.set(WmScorePackage::getUpdateUser, wmScorePackage.getUpdateUser())
 				.set(WmScorePackage::getUpdateTime, now);
-		if (!taskAddFlag) {
+		if (taskAddFlag) {
 			// 积分包完成时间
 			scorePackageUpdateWrapper.set(WmScorePackage::getPackageFinishTime, now);
 			// 积分包状态:有关联积分包,则设置为‘已完成待审批’;没有关联积分包,则直接设置为‘已完成待结算’