IRC_NewDev
he 2024-06-27 14:21:32 +08:00
parent 5c9664ec7d
commit ba8f22f260
2 changed files with 56 additions and 5 deletions

View File

@ -32,7 +32,19 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool IsApplyHeavyReading { get; set; } = false;
}
public class GetIRMedicalFeedbackListInDto:PageInput
public class GetNextIRMedicalFeedbackInDto
{
/// <summary>
/// 项目Id
/// </summary>
[NotDefault]
public Guid TrialId { get; set; }
public Guid? TrialReadingCriterionId { get; set; }
}
public class GetIRMedicalFeedbackListInDto:PageInput
{
/// <summary>
/// 项目Id
@ -78,7 +90,13 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool? IsInvalid { get; set; }
public Guid? TrialReadingCriterionId { get; set; }
}
/// <summary>
/// 获取不加急的
/// </summary>
public bool IsNotHaveSigned { get; set; } = false;
}
public class GetIRMedicalFeedbackListOutDto
{

View File

@ -780,13 +780,45 @@ namespace IRaCIS.Core.Application.Service
return ResponseOutput.Result(result);
}
/// <summary>
/// 获取IR医学审核信息
/// 获取下一个IR医学反馈
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
/// <exception cref="BusinessValidationFailedException"></exception>
[HttpPost]
public async Task<GetIRMedicalFeedbackListOutDto> GetNextIRMedicalFeedback(GetNextIRMedicalFeedbackInDto inDto)
{
var list = await GetIRMedicalFeedbackList(new GetIRMedicalFeedbackListInDto()
{
TrialId=inDto.TrialId,
IsNotHaveSigned=true,
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);
}
}
/// <summary>
/// 获取IR医学审核信息
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<GetIRMedicalFeedbackListOutDto>> GetIRMedicalFeedbackList(GetIRMedicalFeedbackListInDto inDto)
{
var taskMedicalReviewquery = _taskMedicalReviewRepository.Where(x => x.TrialId == inDto.TrialId).Include(x => x.VisitTask)
@ -795,7 +827,8 @@ namespace IRaCIS.Core.Application.Service
.WhereIf(!inDto.TaskBlindName.IsNullOrEmpty(), x => x.VisitTask.TaskBlindName == inDto.TaskBlindName)
.WhereIf(inDto.IsUrgent != null, x => x.VisitTask.IsUrgent == inDto.IsUrgent!)
.WhereIf(inDto.AuditState != null, x => x.AuditState == inDto.AuditState!)
.WhereIf(inDto.ReadingCategory != null, x => x.VisitTask.ReadingCategory == inDto.ReadingCategory!)
.WhereIf(inDto.IsNotHaveSigned, x => x.AuditState != MedicalReviewAuditState.HaveSigned)
.WhereIf(inDto.ReadingCategory != null, x => x.VisitTask.ReadingCategory == inDto.ReadingCategory!)
.WhereIf(inDto.AuditAdviceEnum != null, x => x.AuditAdviceEnum == inDto.AuditAdviceEnum!)
.WhereIf(inDto.DoctorUserIdeaEnum != null, x => x.DoctorUserIdeaEnum == inDto.DoctorUserIdeaEnum!)
.WhereIf(inDto.IsClosedDialog != null, x => x.IsClosedDialog == inDto.IsClosedDialog!)