|
@@ -2648,8 +2648,14 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
if (scorePackageIds.size() > 1) {
|
|
|
throw new RuntimeException("只能处理同一个积分包下的任务");
|
|
|
}
|
|
|
+
|
|
|
+ String scorePackageId = scorePackageIds.iterator().next();
|
|
|
// 批量查询积分包
|
|
|
- WmScorePackage wmScorePackage = wmScorePackageService.getById(scorePackageIds.iterator().next());
|
|
|
+ WmScorePackage wmScorePackage = wmScorePackageService.getById(scorePackageId);
|
|
|
+
|
|
|
+ if (!StrUtil.equals(ScorePackageStatusEnum.IN_PROGRESS.val(), wmScorePackage.getScorePackageStatus())) {
|
|
|
+ throw new RuntimeException("积分包状态不支持审核");
|
|
|
+ }
|
|
|
|
|
|
idList.forEach(id -> {
|
|
|
// 查询这条任务
|
|
@@ -2667,12 +2673,6 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
throw new RuntimeException("已生成报告");
|
|
|
}
|
|
|
|
|
|
- // 查询积分包
|
|
|
- String scorePackageId = queryTask.getScorePackageId();
|
|
|
- if (!StrUtil.equals(ScorePackageStatusEnum.IN_PROGRESS.val(), wmScorePackage.getScorePackageStatus())) {
|
|
|
- throw new RuntimeException("积分包状态不支持审核");
|
|
|
- }
|
|
|
-
|
|
|
// STEP1:更新task状态
|
|
|
LambdaUpdateWrapper<WmTask> taskUpdateWrapper = Wrappers.<WmTask>lambdaUpdate()
|
|
|
.eq(WmTask::getId, id)
|
|
@@ -2690,67 +2690,6 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
throw new RuntimeException("操作失败,请重试");
|
|
|
}
|
|
|
|
|
|
- // 查询积分包下审核通过和审核中的任务
|
|
|
- List<WmTask> wmTaskList = wmTaskMapper.selectList(Wrappers.<WmTask>lambdaQuery()
|
|
|
- .eq(WmTask::getScorePackageId, scorePackageId)
|
|
|
- .ne(WmTask::getTaskStatus, TaskStatusEnum.FAIL_APPROVED.val())
|
|
|
- .eq(WmTask::getRealFlag, "0"));
|
|
|
- int totalCount = wmTaskList.stream().map(WmTask::getScore).reduce(0, Integer::sum);
|
|
|
- // 标记任务总积分 是否超过积分包的值
|
|
|
- boolean taskAddFlag = totalCount >= wmScorePackage.getScore();
|
|
|
- String taskAddFlagStr = taskAddFlag ? "0" : "1";
|
|
|
- // 查询领包记录
|
|
|
- List<WmScorePackageStatus> packageStatusList = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
- .eq(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val())
|
|
|
- .eq(WmScorePackageStatus::getPackageId, wmScorePackage.getId()));
|
|
|
- if (CollUtil.isNotEmpty(packageStatusList)) {
|
|
|
- // STEP2:修改领包记录状态
|
|
|
- packageStatusList.forEach(packageStatus -> {
|
|
|
- LambdaUpdateWrapper<WmScorePackageStatus> updateWrapper = Wrappers.<WmScorePackageStatus>lambdaUpdate()
|
|
|
- .eq(WmScorePackageStatus::getId, packageStatus.getId())
|
|
|
- .eq(packageStatus.getUpdateTime() != null, WmScorePackageStatus::getUpdateTime, packageStatus.getUpdateTime())
|
|
|
- .eq(packageStatus.getUpdateUser() != null, WmScorePackageStatus::getUpdateUser, packageStatus.getUpdateUser())
|
|
|
- .set(WmScorePackageStatus::getTaskAddFlag, taskAddFlagStr)
|
|
|
- .set(WmScorePackageStatus::getUpdateTime, now)
|
|
|
- .set(WmScorePackageStatus::getUpdateUser, operatorId);
|
|
|
- log.info("pacakgeStatus更新参数:条件id={},updateTime={},updateUser={},更新项taskAddFlag={},updateTime={},updateUser={}",
|
|
|
- packageStatus.getId(), packageStatus.getUpdateTime(), packageStatus.getUpdateUser(), taskAddFlagStr, now, operatorId);
|
|
|
- boolean pacakgeStatusUpdate = wmScorePackageStatusService.update(updateWrapper);
|
|
|
- if (!pacakgeStatusUpdate) {
|
|
|
- throw new RuntimeException("操作失败,请重试");
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- // STEP3:修改积分包状态
|
|
|
- String packageFinishStatus = totalCount >= wmScorePackage.getScore() ?
|
|
|
- PackageFinishStatusEnum.NOT_COMPLETE.val() : PackageFinishStatusEnum.COMPLETED.val();
|
|
|
- LambdaUpdateWrapper<WmScorePackage> scorePackageUpdateWrapper = Wrappers.<WmScorePackage>lambdaUpdate()
|
|
|
- .eq(WmScorePackage::getId, scorePackageId)
|
|
|
- .eq(wmScorePackage.getUpdateTime() != null, WmScorePackage::getUpdateTime, wmScorePackage.getUpdateTime())
|
|
|
- .eq(wmScorePackage.getUpdateUser() != null, WmScorePackage::getUpdateUser, wmScorePackage.getUpdateUser())
|
|
|
- .set(WmScorePackage::getPackageFinishStatus, packageFinishStatus)
|
|
|
- .set(WmScorePackage::getTaskAddFlag, taskAddFlagStr)
|
|
|
- .set(WmScorePackage::getUpdateUser, wmScorePackage.getUpdateUser())
|
|
|
- .set(WmScorePackage::getUpdateTime, now);
|
|
|
- if (taskAddFlag) {
|
|
|
- // 任务总积分超过积分包的值
|
|
|
- // 积分包完成时间
|
|
|
- scorePackageUpdateWrapper.set(WmScorePackage::getPackageFinishTime, now);
|
|
|
- // 积分包状态:有关联积分包,则设置为‘已完成待审批’;没有关联积分包,则直接设置为‘已完成待结算’
|
|
|
- scorePackageUpdateWrapper.set(WmScorePackage::getScorePackageStatus, StringUtils.isNotBlank(wmScorePackage.getRelationScoreId()) ?
|
|
|
- ScorePackageStatusEnum.TO_BE_APPROVAL.val() : ScorePackageStatusEnum.TO_BE_SETTLED.val());
|
|
|
- } else {
|
|
|
- // 任务总积分小于积分包的值
|
|
|
- scorePackageUpdateWrapper.set(WmScorePackage::getScorePackageStatus, ScorePackageStatusEnum.IN_PROGRESS.val());
|
|
|
- }
|
|
|
- log.info("scorePackage更新参数:条件id={},updateTime={},updateUser={},更新项packageFinishStatus={},taskAddFlag={},updateTime={},updateUser={}",
|
|
|
- scorePackageId, wmScorePackage.getUpdateTime(), wmScorePackage.getUpdateUser(), packageFinishStatus, taskAddFlagStr, now, operatorId);
|
|
|
- boolean packageUpdate = wmScorePackageService.update(scorePackageUpdateWrapper);
|
|
|
- if (!packageUpdate) {
|
|
|
- throw new RuntimeException("操作失败,请重试");
|
|
|
- }
|
|
|
-
|
|
|
// STEP4: 如果是源头积分包,则判断是否审核入库调查信息
|
|
|
if (StringUtils.isBlank(wmScorePackage.getRelationScoreId())) {
|
|
|
this.task15_30_16_18(queryTask, taskStatus, taskStatusInfo);
|
|
@@ -2760,6 +2699,67 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
this.removePicCache(queryTask);
|
|
|
});
|
|
|
|
|
|
+ // 查询积分包下审核通过和审核中的任务
|
|
|
+ List<WmTask> wmTaskList = wmTaskMapper.selectList(Wrappers.<WmTask>lambdaQuery()
|
|
|
+ .eq(WmTask::getScorePackageId, scorePackageId)
|
|
|
+ .ne(WmTask::getTaskStatus, TaskStatusEnum.FAIL_APPROVED.val())
|
|
|
+ .eq(WmTask::getRealFlag, "0"));
|
|
|
+ int totalCount = wmTaskList.stream().map(WmTask::getScore).reduce(0, Integer::sum);
|
|
|
+ // 标记任务总积分 是否超过积分包的值
|
|
|
+ boolean taskAddFlag = totalCount >= wmScorePackage.getScore();
|
|
|
+ String taskAddFlagStr = taskAddFlag ? "0" : "1";
|
|
|
+ // 查询领包记录
|
|
|
+ List<WmScorePackageStatus> packageStatusList = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
+ .eq(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val())
|
|
|
+ .eq(WmScorePackageStatus::getPackageId, wmScorePackage.getId()));
|
|
|
+ if (CollUtil.isNotEmpty(packageStatusList)) {
|
|
|
+ // STEP2:修改领包记录状态
|
|
|
+ packageStatusList.forEach(packageStatus -> {
|
|
|
+ LambdaUpdateWrapper<WmScorePackageStatus> updateWrapper = Wrappers.<WmScorePackageStatus>lambdaUpdate()
|
|
|
+ .eq(WmScorePackageStatus::getId, packageStatus.getId())
|
|
|
+ .eq(packageStatus.getUpdateTime() != null, WmScorePackageStatus::getUpdateTime, packageStatus.getUpdateTime())
|
|
|
+ .eq(packageStatus.getUpdateUser() != null, WmScorePackageStatus::getUpdateUser, packageStatus.getUpdateUser())
|
|
|
+ .set(WmScorePackageStatus::getTaskAddFlag, taskAddFlagStr)
|
|
|
+ .set(WmScorePackageStatus::getUpdateTime, now)
|
|
|
+ .set(WmScorePackageStatus::getUpdateUser, operatorId);
|
|
|
+ log.info("pacakgeStatus更新参数:条件id={},updateTime={},updateUser={},更新项taskAddFlag={},updateTime={},updateUser={}",
|
|
|
+ packageStatus.getId(), packageStatus.getUpdateTime(), packageStatus.getUpdateUser(), taskAddFlagStr, now, operatorId);
|
|
|
+ boolean pacakgeStatusUpdate = wmScorePackageStatusService.update(updateWrapper);
|
|
|
+ if (!pacakgeStatusUpdate) {
|
|
|
+ throw new RuntimeException("操作失败,请重试");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // STEP3:修改积分包状态
|
|
|
+ String packageFinishStatus = totalCount >= wmScorePackage.getScore() ?
|
|
|
+ PackageFinishStatusEnum.NOT_COMPLETE.val() : PackageFinishStatusEnum.COMPLETED.val();
|
|
|
+ LambdaUpdateWrapper<WmScorePackage> scorePackageUpdateWrapper = Wrappers.<WmScorePackage>lambdaUpdate()
|
|
|
+ .eq(WmScorePackage::getId, scorePackageId)
|
|
|
+ .eq(wmScorePackage.getUpdateTime() != null, WmScorePackage::getUpdateTime, wmScorePackage.getUpdateTime())
|
|
|
+ .eq(wmScorePackage.getUpdateUser() != null, WmScorePackage::getUpdateUser, wmScorePackage.getUpdateUser())
|
|
|
+ .set(WmScorePackage::getPackageFinishStatus, packageFinishStatus)
|
|
|
+ .set(WmScorePackage::getTaskAddFlag, taskAddFlagStr)
|
|
|
+ .set(WmScorePackage::getUpdateUser, wmScorePackage.getUpdateUser())
|
|
|
+ .set(WmScorePackage::getUpdateTime, now);
|
|
|
+ if (taskAddFlag) {
|
|
|
+ // 任务总积分超过积分包的值
|
|
|
+ // 积分包完成时间
|
|
|
+ scorePackageUpdateWrapper.set(WmScorePackage::getPackageFinishTime, now);
|
|
|
+ // 积分包状态:有关联积分包,则设置为‘已完成待审批’;没有关联积分包,则直接设置为‘已完成待结算’
|
|
|
+ scorePackageUpdateWrapper.set(WmScorePackage::getScorePackageStatus, StringUtils.isNotBlank(wmScorePackage.getRelationScoreId()) ?
|
|
|
+ ScorePackageStatusEnum.TO_BE_APPROVAL.val() : ScorePackageStatusEnum.TO_BE_SETTLED.val());
|
|
|
+ } else {
|
|
|
+ // 任务总积分小于积分包的值
|
|
|
+ scorePackageUpdateWrapper.set(WmScorePackage::getScorePackageStatus, ScorePackageStatusEnum.IN_PROGRESS.val());
|
|
|
+ }
|
|
|
+ log.info("scorePackage更新参数:条件id={},updateTime={},updateUser={},更新项packageFinishStatus={},taskAddFlag={},updateTime={},updateUser={}",
|
|
|
+ scorePackageId, wmScorePackage.getUpdateTime(), wmScorePackage.getUpdateUser(), packageFinishStatus, taskAddFlagStr, now, operatorId);
|
|
|
+ boolean packageUpdate = wmScorePackageService.update(scorePackageUpdateWrapper);
|
|
|
+ if (!packageUpdate) {
|
|
|
+ throw new RuntimeException("操作失败,请重试");
|
|
|
+ }
|
|
|
+
|
|
|
return Boolean.TRUE;
|
|
|
}
|
|
|
|