修改
This commit is contained in:
@@ -79,6 +79,11 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||
public UserSimpleInfo DoctorUser { get; set; }
|
||||
}
|
||||
|
||||
public class GetNextMedicalReviewTaskInDto
|
||||
{
|
||||
[NotDefault]
|
||||
public Guid MedicalReviewId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
///<summary>TaskMedicalReviewQuery 列表查询参数模型</summary>
|
||||
@@ -89,6 +94,9 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||
|
||||
public Guid? SubjectId { get; set; }
|
||||
|
||||
|
||||
public bool IsGetBeRead { get; set; } = false;
|
||||
|
||||
public string SubjectCode { get; set; } = String.Empty;
|
||||
|
||||
public string TrialSiteCode { get; set; } = String.Empty;
|
||||
|
||||
@@ -125,6 +125,39 @@ namespace IRaCIS.Core.Application.Service
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取下一个医学审核任务
|
||||
/// </summary>
|
||||
/// <param name="inDto"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BusinessValidationFailedException"></exception>
|
||||
[HttpPost]
|
||||
public async Task<TaskMedicalReviewView> GetNextMedicalReviewTask(GetNextMedicalReviewTaskInDto inDto)
|
||||
{
|
||||
var medicalReview = await _taskMedicalReviewRepository.Where(x => x.Id == inDto.MedicalReviewId).Include(x=>x.VisitTask).FirstNotNullAsync();
|
||||
|
||||
var data =await GetMIMMedicalReviewTaskList(new TaskMedicalReviewQuery()
|
||||
{
|
||||
|
||||
TrialId = medicalReview.TrialId,
|
||||
IsGetBeRead = true,
|
||||
TrialReadingCriterionId = medicalReview.VisitTask.TrialReadingCriterionId,
|
||||
PageIndex=1,
|
||||
PageSize=1,
|
||||
});
|
||||
|
||||
|
||||
if (data.Item1.CurrentPageData.Count == 1)
|
||||
{
|
||||
return data.Item1.CurrentPageData[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new BusinessValidationFailedException(_localizer["MedicalReview_Finish"]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -145,7 +178,7 @@ namespace IRaCIS.Core.Application.Service
|
||||
.WhereIf(inQuery.DoctorUserId != null, t => t.VisitTask.DoctorUserId == inQuery.DoctorUserId)
|
||||
.WhereIf(inQuery.ReadingCategory != null, t => t.VisitTask.ReadingCategory == inQuery.ReadingCategory)
|
||||
.WhereIf(inQuery.ReadingTaskState != null, t => t.VisitTask.ReadingTaskState == inQuery.ReadingTaskState)
|
||||
|
||||
.WhereIf(inQuery.IsGetBeRead,x=>x.IsInvalid&&x.AuditState!= MedicalReviewAuditState.HaveSigned)
|
||||
.WhereIf(inQuery.TrialReadingCriterionId != null, t => t.VisitTask.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)
|
||||
.ProjectTo<TaskMedicalReviewView>(_mapper.ConfigurationProvider);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user