Quellcode durchsuchen

feat(service): 新增结算报告审批不通过释放积分

lixuesong vor 3 Jahren
Ursprung
Commit
a2efe42cf4

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/ScorePackageStatusEnum.java

@@ -33,7 +33,7 @@ public enum ScorePackageStatusEnum {
 	 */
 	TERMINATED("6"),
 	/**
-	 * 已完成待审批
+	 * 已完成待提交审批
 	 */
 	TO_BE_APPROVAL("7");
 

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

@@ -244,18 +244,16 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 				WmScorePackageStatus updateScorePackageStatus = wmScorePackageStatusService.getOne(Wrappers.query(scorePackageStatus));
 				// 查询已提交的任务(除去审核不通过的任务)
 				Wrapper<WmTask> taskQueryWrapper = Wrappers.<WmTask>lambdaQuery()
-						.eq(WmTask::getScorePackageId, scorePackage.getId())
+						.eq(WmTask::getScorePackageId, task.getScorePackageId())
 						.in(WmTask::getTaskStatus, "1", "2", "3")
 						.eq(WmTask::getRealFlag, "0");
 				List<WmTask> submitedTaskList = wmTaskService.list(taskQueryWrapper);
 				// 统计判断任务累计积分是否达到积分包的预设值
-				int totalTaskScore = 0;
-				for (WmTask wmtask : submitedTaskList) {
-					totalTaskScore += wmtask.getScore();
-				}
+				int totalTaskScore = submitedTaskList.stream().mapToInt(WmTask::getScore).sum();
+				WmScorePackage taskScorePackage = wmScorePackageService.getById(task.getScorePackageId());
 				WmScorePackage updateScorePackage = new WmScorePackage();
 				updateScorePackage.setId(task.getScorePackageId());
-				if (totalTaskScore >= scorePackage.getScore()) {
+				if (totalTaskScore >= taskScorePackage.getScore()) {
 					updateScorePackage.setScorePackageStatus(ScorePackageStatusEnum.TO_BE_APPROVAL.val());
 					updateScorePackage.setTaskAddFlag("0");
 					updateScorePackageStatus.setTaskAddFlag("0");
@@ -273,17 +271,17 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 				Wrapper<WmTask> apporvalWrapper = Wrappers.<WmTask>lambdaQuery()
 						.eq(WmTask::getScorePackageId, task.getScorePackageId())
 						.eq(WmTask::getTaskStatus, TaskStatusEnum.APPROVED.val())
+						.eq(WmTask::getRealFlag, "0")
 						.and(wrapper -> wrapper.eq(WmTask::getReportDrugApprovalOpinion, "1")
 								.or().eq(WmTask::getReportOneApprovalOpinion, "1"));
 				List<WmTask> approvalTaskList = wmTaskService.list(apporvalWrapper);
 				int totalScore = approvalTaskList.stream().mapToInt(WmTask::getScore).sum();
-				if (totalScore >= scorePackage.getScore()) {
+				WmScorePackage taskScorePackage = wmScorePackageService.getById(task.getScorePackageId());
+				if (totalScore >= taskScorePackage.getScore()) {
 					WmScorePackage updateScorePackage = new WmScorePackage();
 					updateScorePackage.setId(task.getScorePackageId());
-					if (totalScore >= scorePackage.getScore()) {
-						updateScorePackage.setScorePackageStatus(ScorePackageStatusEnum.TO_BE_SETTLED.val());
-						updateScorePackage.setTaskAddFlag("0");
-					}
+					updateScorePackage.setScorePackageStatus(ScorePackageStatusEnum.TO_BE_SETTLED.val());
+					updateScorePackage.setTaskAddFlag("0");
 					wmScorePackageService.updateById(updateScorePackage);
 				}
 			});