diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 67bba30a1..834c3a4b0 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -732,7 +732,7 @@ namespace IRaCIS.Core.Application.Image.QA if (currentQCType == CurrentQC.SecondReview) { //二次复核自动领取,如果有人先领取了,那么后续不能操作 - await _subjectVisitRepository.UpdatePartialFromQueryAsync(t => t.Id == subjectVisitId && t.CurrentActionUserId == null, u => new SubjectVisit() { CurrentActionUserId = _userInfo.UserRoleId }, true); + await _subjectVisitRepository.UpdatePartialFromQueryAsync(t => t.Id == subjectVisitId && t.CurrentActionUserId == null, u => new SubjectVisit() { CurrentActionUserId = _userInfo.UserRoleId, IsTake = true }, true); } //验证是否能操作 await VerifyIsCanQCAsync(null, subjectVisitId); @@ -1189,13 +1189,15 @@ namespace IRaCIS.Core.Application.Image.QA { var dbSubjectVisit = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException(); + //await VerifyIsCanQCAsync(dbSubjectVisit); + if (dbSubjectVisit.CurrentActionUserId == null && dbSubjectVisit.IsTake == false) { //---当前访视的影像质控任务已被原领取人释放。您可以通过“领取”获得 return ResponseOutput.NotOk(_localizer["QCOperation_QCImageTaskAlreadyReleased"], ApiResponseCodeEnum.NeedTips); } - await VerifyIsCanQCAsync(dbSubjectVisit); + dbSubjectVisit.IsTake = true; @@ -2109,6 +2111,9 @@ namespace IRaCIS.Core.Application.Image.QA if (isSecondPass) { sv.SecondReviewState = SecondReviewState.AuditPassed; + sv.IsTake = false; + sv.CurrentActionUserId = null; + sv.CurrentActionUserExpireTime = null; } else