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)