Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-06-27 14:34:09 +08:00
commit a16fbc187a
2 changed files with 79 additions and 7 deletions

View File

@ -32,6 +32,20 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool IsApplyHeavyReading { get; set; } = false; public bool IsApplyHeavyReading { get; set; } = false;
} }
public class GetNextIRMedicalFeedbackInDto
{
/// <summary>
/// 项目Id
/// </summary>
[NotDefault]
public Guid TrialId { get; set; }
public Guid TrialReadingCriterionId { get; set; }
public Guid SubjectId { get; set; }
}
public class GetIRMedicalFeedbackListInDto:PageInput public class GetIRMedicalFeedbackListInDto:PageInput
{ {
/// <summary> /// <summary>
@ -43,6 +57,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool? IsUrgent { get; set; } public bool? IsUrgent { get; set; }
public Guid? SubjectId { get; set; }
public MedicalReviewAuditState? AuditState { get; set; } public MedicalReviewAuditState? AuditState { get; set; }
public string SubjectCode { get; set; } = string.Empty; public string SubjectCode { get; set; } = string.Empty;
@ -78,6 +95,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool? IsInvalid { get; set; } public bool? IsInvalid { get; set; }
public Guid? TrialReadingCriterionId { get; set; } public Guid? TrialReadingCriterionId { get; set; }
/// <summary>
/// 获取不加急的
/// </summary>
public bool IsNotHaveSigned { get; set; } = false;
} }
public class GetIRMedicalFeedbackListOutDto public class GetIRMedicalFeedbackListOutDto

View File

@ -780,6 +780,53 @@ namespace IRaCIS.Core.Application.Service
return ResponseOutput.Result(result); return ResponseOutput.Result(result);
} }
/// <summary>
/// 获取下一个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,
AuditState= MedicalReviewAuditState.Auditing,
TrialReadingCriterionId=inDto.TrialReadingCriterionId,
SubjectId=inDto.SubjectId,
PageIndex=1,
PageSize=1,
});
if (list.CurrentPageData.Count() == 0)
{
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);
}
}
/// <summary> /// <summary>
/// 获取IR医学审核信息 /// 获取IR医学审核信息
@ -793,8 +840,10 @@ namespace IRaCIS.Core.Application.Service
.Where(x => x.VisitTask.DoctorUserId == _userInfo.Id) .Where(x => x.VisitTask.DoctorUserId == _userInfo.Id)
.Where(x => x.IsHaveQuestion) .Where(x => x.IsHaveQuestion)
.WhereIf(!inDto.TaskBlindName.IsNullOrEmpty(), x => x.VisitTask.TaskBlindName == inDto.TaskBlindName) .WhereIf(!inDto.TaskBlindName.IsNullOrEmpty(), x => x.VisitTask.TaskBlindName == inDto.TaskBlindName)
.WhereIf(inDto.SubjectId != null, x => x.VisitTask.SubjectId == inDto.SubjectId!)
.WhereIf(inDto.IsUrgent != null, x => x.VisitTask.IsUrgent == inDto.IsUrgent!) .WhereIf(inDto.IsUrgent != null, x => x.VisitTask.IsUrgent == inDto.IsUrgent!)
.WhereIf(inDto.AuditState != null, x => x.AuditState == inDto.AuditState!) .WhereIf(inDto.AuditState != null, x => x.AuditState == inDto.AuditState!)
.WhereIf(inDto.IsNotHaveSigned, x => x.AuditState != MedicalReviewAuditState.HaveSigned)
.WhereIf(inDto.ReadingCategory != null, x => x.VisitTask.ReadingCategory == inDto.ReadingCategory!) .WhereIf(inDto.ReadingCategory != null, x => x.VisitTask.ReadingCategory == inDto.ReadingCategory!)
.WhereIf(inDto.AuditAdviceEnum != null, x => x.AuditAdviceEnum == inDto.AuditAdviceEnum!) .WhereIf(inDto.AuditAdviceEnum != null, x => x.AuditAdviceEnum == inDto.AuditAdviceEnum!)
.WhereIf(inDto.DoctorUserIdeaEnum != null, x => x.DoctorUserIdeaEnum == inDto.DoctorUserIdeaEnum!) .WhereIf(inDto.DoctorUserIdeaEnum != null, x => x.DoctorUserIdeaEnum == inDto.DoctorUserIdeaEnum!)