无序阅片顺序

IRC_NewDev
he 2023-07-17 15:59:48 +08:00
parent edaab02d0b
commit 6a53aaf010
1 changed files with 16 additions and 3 deletions

View File

@ -2332,9 +2332,22 @@ namespace IRaCIS.Application.Services
}
else
{
task = await _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId == trialReadingCriterionId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.DoctorUserId == _userInfo.Id
var query = _visitTaskRepository.Where(x => x.TrialId == inDto.TrialId && x.TrialReadingCriterionId == trialReadingCriterionId && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.DoctorUserId == _userInfo.Id
&& x.TrialReadingCriterionId == trialReadingCriterionId
&& x.TaskState == TaskState.Effect).Select(x => new GetReadingTaskDto()
&& x.TaskState == TaskState.Effect);
var count = await query.CountAsync();
if (count == 0)
{
throw new BusinessValidationFailedException(_localizer["ReadingImage_TaskFinish"]);
}
Random random = new Random();
var skipcount = 0;
if (count >= 2)
{
skipcount = random.Next(0, count - 1);
}
task = await query
.Select(x => new GetReadingTaskDto()
{
VisitTaskId = x.Id,
ArmEnum = x.ArmEnum,
@ -2345,7 +2358,7 @@ namespace IRaCIS.Application.Services
SubjectId = x.SubjectId,
SubjectCode = x.Subject.Code,
TrialReadingCriterionId = x.TrialReadingCriterionId,
}).FirstOrDefaultAsync();
}).Skip(skipcount).FirstOrDefaultAsync();
}