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

feat: 个人承接积分包列表-终止状态字段调整

lixuesong 1 жил өмнө
parent
commit
e68403e1e7

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

@@ -2176,20 +2176,30 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 
 
 			// 设置中止状态
-			//统计发包方还未审核的
-			long drugNeedToCheckCount = taskList.stream()
-					.filter(t -> "3".equals(t.getTaskStatus()) && reportWaitingCheckStatus.contains(t.getReportDrugApprovalStatus()))
-					.count();
+			if (relationScorePackage != null) {
+				// 关联了上级包的情况
+				// 统计发包方还未审核的
+				long drugNeedToCheckCount = taskList.stream()
+						.filter(t -> "3".equals(t.getTaskStatus()) && reportWaitingCheckStatus.contains(t.getReportDrugApprovalStatus()))
+						.count();
 
-			// 统计cso未审核 和审核通过的还未提交到药企的任务数
-			long csoNeedToCheckCount = taskList.stream()
-					.filter(t -> "2".equals(t.getTaskStatus()) ||
-							("3".equals(t.getTaskStatus()) && (reportWaitingCheckStatus.contains(t.getReportOneApprovalStatus()))))
-					.count();
+				// 统计cso未审核 和审核通过的还未提交到药企的任务数
+				long csoNeedToCheckCount = taskList.stream()
+						.filter(t -> "2".equals(t.getTaskStatus()) ||
+								("3".equals(t.getTaskStatus()) && (reportWaitingCheckStatus.contains(t.getReportOneApprovalStatus()))))
+						.count();
 
-			// 如果有发包方未审核的不能中止
-			if (drugNeedToCheckCount != 0L || csoNeedToCheckCount != 0L) {
-				scorePackage.setStopStatus(WmScorePackage.PackageStopStatus.NOTHING);
+				// 如果有发包方未审核的不能中止
+				if (drugNeedToCheckCount != 0L || csoNeedToCheckCount != 0L) {
+					scorePackage.setStopStatus(WmScorePackage.PackageStopStatus.NOTHING);
+				}
+			} else {
+				// 没有关联上级包的情况
+				// 统计待审核任务数
+				long toApproveCount = taskList.stream().filter(t -> TaskStatusEnum.UNDER_REVIEW.val().equals(t.getTaskStatus())).count();
+				if (toApproveCount > 0) {
+					scorePackage.setStopStatus(WmScorePackage.PackageStopStatus.NOTHING);
+				}
 			}
 		}
 
@@ -2400,20 +2410,30 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 
 
 		// 设置中止状态
-		//统计发包方还未审核的
-		long drugNeedToCheckCount = taskList.stream()
-				.filter(t -> "3".equals(t.getTaskStatus()) && reportWaitingCheckStatus.contains(t.getReportDrugApprovalStatus()))
-				.count();
+		if (relationScorePackage != null) {
+			// 关联了上级包的情况
+			// 统计发包方还未审核的
+			long drugNeedToCheckCount = taskList.stream()
+					.filter(t -> "3".equals(t.getTaskStatus()) && reportWaitingCheckStatus.contains(t.getReportDrugApprovalStatus()))
+					.count();
 
-		// 统计cso未审核 和审核通过的还未提交到药企的任务数
-		long csoNeedToCheckCount = taskList.stream()
-				.filter(t -> "2".equals(t.getTaskStatus()) ||
-						("3".equals(t.getTaskStatus()) && (reportWaitingCheckStatus.contains(t.getReportOneApprovalStatus()))))
-				.count();
+			// 统计cso未审核 和审核通过的还未提交到药企的任务数
+			long csoNeedToCheckCount = taskList.stream()
+					.filter(t -> "2".equals(t.getTaskStatus()) ||
+							("3".equals(t.getTaskStatus()) && (reportWaitingCheckStatus.contains(t.getReportOneApprovalStatus()))))
+					.count();
 
-		// 如果有发包方未审核的不能中止
-		if (drugNeedToCheckCount != 0L || csoNeedToCheckCount != 0L) {
-			scorePackage.setStopStatus(WmScorePackage.PackageStopStatus.NOTHING);
+			// 如果有发包方未审核的不能中止
+			if (drugNeedToCheckCount != 0L || csoNeedToCheckCount != 0L) {
+				scorePackage.setStopStatus(WmScorePackage.PackageStopStatus.NOTHING);
+			}
+		} else {
+			// 没有关联上级包的情况
+			// 统计待审核任务数
+			long toApproveCount = taskList.stream().filter(t -> TaskStatusEnum.UNDER_REVIEW.val().equals(t.getTaskStatus())).count();
+			if (toApproveCount > 0) {
+				scorePackage.setStopStatus(WmScorePackage.PackageStopStatus.NOTHING);
+			}
 		}
 
 		// 封装报告记录