From 1c050105520c3ad3a5576eac3437c000f120e803 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 17 Jul 2025 16:49:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E6=A0=B8=E7=A8=BD=E6=9F=A5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9009?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/QCOperationService.cs | 110 +++++++++--------- 1 file changed, 57 insertions(+), 53 deletions(-) diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 834c3a4b0..240a09d58 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1400,65 +1400,69 @@ namespace IRaCIS.Core.Application.Image.QA // return ResponseOutput.NotOk("您已经领取了其他受试者,完成后才允许领取新的受试者"); //} - #region 处理验证 - - if (trialConfig.QCProcessEnum == TrialQCProcess.NotAudit) + if (dbSubjectVisit.SecondReviewState == SecondReviewState.None) { - //---项目配置为不审,没有领取QC Task - return ResponseOutput.NotOk(_localizer["QCOperation_NoQC"]); - } - else if (trialConfig.QCProcessEnum == TrialQCProcess.SingleAudit) - { - if (dbSubjectVisit.PreliminaryAuditUserId == _userInfo.UserRoleId) + #region 处理验证 + + if (trialConfig.QCProcessEnum == TrialQCProcess.NotAudit) { - //---初审已通过,不能继续领取 - return ResponseOutput.NotOk(_localizer["QCOperation_InitialAuditPassed"]); + //---项目配置为不审,没有领取QC Task + return ResponseOutput.NotOk(_localizer["QCOperation_NoQC"]); + } + else if (trialConfig.QCProcessEnum == TrialQCProcess.SingleAudit) + { + if (dbSubjectVisit.PreliminaryAuditUserId == _userInfo.UserRoleId) + { + //---初审已通过,不能继续领取 + return ResponseOutput.NotOk(_localizer["QCOperation_InitialAuditPassed"]); + } + + if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.ToAudit) + { + dbSubjectVisit.AuditState = AuditStateEnum.InPrimaryQC; + } + if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.InPrimaryQC) + { + //单审QC 释放后 也是可以领取的 + } + else + { + // ---项目配置为单审,不满足Submmit State:已提交 或者 Audit State:待审核/审核中, 不允许领取,请刷新界面 + return ResponseOutput.NotOk(_localizer["QCOperation_NoSingleAudit"]); + } + } + else if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit) + { + if (dbSubjectVisit.PreliminaryAuditUserId == _userInfo.UserRoleId) + { + //---复审不能和初审是同一个人 + return ResponseOutput.NotOk(_localizer["QCOperation_NoSameReviewer"]); + } + + //提交 并且初审通过 那么领取后进入 复审中 + if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.PrimaryQCPassed) + { + dbSubjectVisit.AuditState = AuditStateEnum.InSecondaryQC; + + } + else if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.ToAudit) + { + dbSubjectVisit.AuditState = AuditStateEnum.InPrimaryQC; + } + else if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && (dbSubjectVisit.AuditState == AuditStateEnum.InPrimaryQC || dbSubjectVisit.AuditState == AuditStateEnum.InSecondaryQC)) + { + //初审中 复审中 领取也是ok的 其他人接着做 + } + else + { + //---项目配置为复审,不满足提交状态:已提交 或者 审核状态:待审核/QC中, 不允许领取,请刷新界面 + return ResponseOutput.NotOk(_localizer["QCOperation_NoSecondaryAudit"]); + } } - if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.ToAudit) - { - dbSubjectVisit.AuditState = AuditStateEnum.InPrimaryQC; - } - if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.InPrimaryQC) - { - //单审QC 释放后 也是可以领取的 - } - else - { - // ---项目配置为单审,不满足Submmit State:已提交 或者 Audit State:待审核/审核中, 不允许领取,请刷新界面 - return ResponseOutput.NotOk(_localizer["QCOperation_NoSingleAudit"]); - } - } - else if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit) - { - if (dbSubjectVisit.PreliminaryAuditUserId == _userInfo.UserRoleId) - { - //---复审不能和初审是同一个人 - return ResponseOutput.NotOk(_localizer["QCOperation_NoSameReviewer"]); - } - - //提交 并且初审通过 那么领取后进入 复审中 - if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.PrimaryQCPassed) - { - dbSubjectVisit.AuditState = AuditStateEnum.InSecondaryQC; - - } - else if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.ToAudit) - { - dbSubjectVisit.AuditState = AuditStateEnum.InPrimaryQC; - } - else if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && (dbSubjectVisit.AuditState == AuditStateEnum.InPrimaryQC || dbSubjectVisit.AuditState == AuditStateEnum.InSecondaryQC)) - { - //初审中 复审中 领取也是ok的 其他人接着做 - } - else - { - //---项目配置为复审,不满足提交状态:已提交 或者 审核状态:待审核/QC中, 不允许领取,请刷新界面 - return ResponseOutput.NotOk(_localizer["QCOperation_NoSecondaryAudit"]); - } + #endregion } - #endregion dbSubjectVisit.IsTake = true;