From f1185758d68c0b509a09f3167007f77ee885a15a Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Sat, 8 Feb 2025 10:48:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A2=86=E5=8F=96=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/DTO/QCListViewModel.cs | 5 +++++ .../Service/QC/QCOperationService.cs | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index 7b21a2efb..f8cabe2bc 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs @@ -81,6 +81,11 @@ namespace IRaCIS.Core.Application.Contracts public Guid? SubjectId { get; set; } public Guid? VisitId { get; set; } + + /// + /// 是否领取了 + /// + public bool IsReceived { get; set; } = false; } public class CRCRequestToQCCommand diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 37ddc5d59..c0be892de 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -882,7 +882,7 @@ namespace IRaCIS.Core.Application.Image.QA { var nextIQCQuality = await this.GetNextIQCQuality(inDto); - if (nextIQCQuality.VisitId != null) + if (nextIQCQuality.VisitId != null&& nextIQCQuality.IsReceived==false) { var visit = await _subjectVisitRepository.Where(x => x.Id == nextIQCQuality.VisitId).FirstNotNullAsync(); if (!visit.IsTake) @@ -910,6 +910,22 @@ namespace IRaCIS.Core.Application.Image.QA .FirstOrDefaultAsync(t => t.TrialId == inDto.TrialId) .IfNullThrowException(); + + + var currentActionList = await _subjectVisitRepository.Where(x => x.TrialId == inDto.TrialId && x.CurrentActionUserId == _userInfo.UserRoleId).OrderByDescending(x => x.IsUrgent) + .ThenBy(x => x.Subject.Code).ThenBy(x => x.VisitNum).ToListAsync(); + + if (currentActionList.Count() > 0) + { + return new GetNextIQCQualityOutDto() + { + IsReceived = true, + SubjectId= currentActionList[0].SubjectId, + VisitId = currentActionList[0].Id, + + }; + } + SubjectVisit? subjectVisit = null; List? visitList = null; switch (trialConfig.QCProcessEnum)