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,7 +32,21 @@ 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 Guid SubjectId { get; set; }
}
public class GetIRMedicalFeedbackListInDto:PageInput
{
/// <summary>
/// 项目Id
@ -43,7 +57,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public bool? IsUrgent { get; set; }
public MedicalReviewAuditState? AuditState { get; set; }
public Guid? SubjectId { get; set; }
public MedicalReviewAuditState? AuditState { get; set; }
public string SubjectCode { get; set; } = string.Empty;
@ -78,7 +95,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,22 +780,71 @@ 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,
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>
/// 获取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)
.Where(x => x.VisitTask.DoctorUserId == _userInfo.Id)
.Where(x => x.IsHaveQuestion)
.WhereIf(!inDto.TaskBlindName.IsNullOrEmpty(), x => x.VisitTask.TaskBlindName == inDto.TaskBlindName)
.WhereIf(inDto.IsUrgent != null, x => x.VisitTask.IsUrgent == inDto.IsUrgent!)
.WhereIf(inDto.SubjectId != null, x => x.VisitTask.SubjectId == inDto.SubjectId!)
.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!)