IRC_NewDev
he 2024-06-27 16:02:29 +08:00
parent 27d9104607
commit 10380994a4
3 changed files with 20 additions and 27 deletions

View File

@ -259,7 +259,7 @@ namespace IRaCIS.Core.Application.Service
.ProjectTo<TaskMedicalReviewView>(_mapper.ConfigurationProvider);
var defalutSortArray = new string[] { nameof(TaskMedicalReviewView.AuditState), nameof(TaskMedicalReviewView.SubjectId), nameof(TaskMedicalReviewView.ArmEnum), nameof(TaskMedicalReviewView.VisitTaskNum) };
var defalutSortArray = new string[] { nameof(TaskMedicalReviewView.SubjectId), nameof(TaskMedicalReviewView.ArmEnum), nameof(TaskMedicalReviewView.VisitTaskNum) };
var pageList = await taskMedicalReviewQueryable.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, inQuery.SortField, inQuery.Asc, string.IsNullOrWhiteSpace(inQuery.SortField), defalutSortArray);
return ResponseOutput.Ok(pageList, new

View File

@ -42,7 +42,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid TrialReadingCriterionId { get; set; }
public Guid SubjectId { get; set; }
public Guid TaskMedicalReviewId { get; set; }
}

View File

@ -792,40 +792,33 @@ namespace IRaCIS.Core.Application.Service
var list = await GetIRMedicalFeedbackList(new GetIRMedicalFeedbackListInDto()
{
TrialId=inDto.TrialId,
AuditState= MedicalReviewAuditState.Auditing,
TrialReadingCriterionId=inDto.TrialReadingCriterionId,
SubjectId=inDto.SubjectId,
PageIndex=1,
PageSize=1,
PageSize=99999,
});
var index = list.CurrentPageData.ToList().FindIndex(x => x.Id == inDto.TaskMedicalReviewId);
if (list.CurrentPageData.Count() == 0)
var result = new GetIRMedicalFeedbackListOutDto() { };
if (index + 1 == list.CurrentPageData.Count()) // 最后一个
{
list = await GetIRMedicalFeedbackList(new GetIRMedicalFeedbackListInDto()
{
TrialId = inDto.TrialId,
AuditState = MedicalReviewAuditState.Auditing,
TrialReadingCriterionId = inDto.TrialReadingCriterionId,
PageIndex = 1,
PageSize = 1,
});
}
if (list.CurrentPageData.Count() > 0)
{
return list.CurrentPageData[0];
}
else
{
throw new BusinessValidationFailedException(_localizer["MedicalReview_IRFinish"], ApiResponseCodeEnum.CloseCurrentWindows);
}
else if (index == -1 || list.CurrentPageData.Count == 1) // 第一个或者只有一个
{
if (list.CurrentPageData[0].Id == inDto.TaskMedicalReviewId)
{
throw new BusinessValidationFailedException(_localizer["MedicalReview_IRFinish"], ApiResponseCodeEnum.CloseCurrentWindows);
}
result = list.CurrentPageData[0];
}
else
{
result = list.CurrentPageData.Skip(index + 1).Take(1).First();
}
return result;
}
/// <summary>