Преглед на файлове

fix: 个人单发包终止回收积分值问题

lixuesong преди 1 година
родител
ревизия
36147e26c3
променени са 1 файла, в които са добавени 22 реда и са изтрити 9 реда
  1. 22 9
      hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

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

@@ -2923,15 +2923,28 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 			if (pendingReportApprovalFlag && parentScorePackage != null) {
 				throw new RuntimeException("有在途任务,不允许终止");
 			}
-			// 审核通过的任务
-			List<WmTask> approvedTasks = taskList.stream()
-					.filter(t -> TaskStatusEnum.APPROVED.val().equals(t.getTaskStatus()))
-					.filter(wmTask -> ReportEnum.APPROVAL_OPINION_YES.getType().equals(wmTask.getReportDrugApprovalOpinion())
-							|| ReportEnum.APPROVAL_OPINION_YES.getType().equals(wmTask.getReportOneApprovalOpinion()))
-					.collect(Collectors.toList());
-			// 审核通过的积分
-			approvedScore = approvedTasks.stream()
-					.mapToInt(WmTask::getScore).sum();
+
+			if (parentScorePackage != null) {
+				// 关联了大包的情况
+				// 审核通过的任务
+				List<WmTask> approvedTasks = taskList.stream()
+						.filter(t -> TaskStatusEnum.APPROVED.val().equals(t.getTaskStatus()))
+						.filter(wmTask -> ReportEnum.APPROVAL_OPINION_YES.getType().equals(wmTask.getReportDrugApprovalOpinion())
+								|| ReportEnum.APPROVAL_OPINION_YES.getType().equals(wmTask.getReportOneApprovalOpinion()))
+						.collect(Collectors.toList());
+				// 审核通过的积分
+				approvedScore = approvedTasks.stream()
+						.mapToInt(WmTask::getScore).sum();
+			} else {
+				// 没有关联大包的情况
+				// 审核通过的任务
+				List<WmTask> approvedTasks = taskList.stream()
+						.filter(t -> TaskStatusEnum.APPROVED.val().equals(t.getTaskStatus()))
+						.collect(Collectors.toList());
+				// 审核通过的积分
+				approvedScore = approvedTasks.stream()
+						.mapToInt(WmTask::getScore).sum();
+			}
 		}
 
 		// 更新积分包状态