Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is running Details

Test_IRC_Net8
he 2025-11-19 16:29:16 +08:00
commit d213fa7a99
2 changed files with 13 additions and 5 deletions

View File

@ -952,7 +952,7 @@ namespace IRaCIS.Core.Application.Contracts
} }
public class SubjectVisitMarkQuery public class SubjectVisitMarkQuery:PageInput
{ {
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
@ -976,7 +976,7 @@ namespace IRaCIS.Core.Application.Contracts
public bool IsUrgent { get; set; } public bool IsUrgent { get; set; }
public bool SubjectCode { get; set; } public string SubjectCode { get; set; }
public int? VisitCount { get; set; } public int? VisitCount { get; set; }
@ -987,6 +987,10 @@ namespace IRaCIS.Core.Application.Contracts
public int? DicomStudyCount { get; set; } public int? DicomStudyCount { get; set; }
public int? MarkDicomStudyCount { get; set; } public int? MarkDicomStudyCount { get; set; }
public int? NoneDicomStudyCount { get; set; }
public int? MarkNoneDicomStudyCount { get; set; }
} }
public class SubjectVisitMarkStudyDto public class SubjectVisitMarkStudyDto

View File

@ -2193,22 +2193,26 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public async Task<IResponseOutput<List<SubjectVisitMarkDTO>>> GetTrialSubjectVisitMarkList(SubjectVisitMarkQuery inQuery) public async Task<IResponseOutput<PageOutput<SubjectVisitMarkDTO>>> GetTrialSubjectVisitMarkList(SubjectVisitMarkQuery inQuery)
{ {
var list = _subjectRepository.Where(t => t.TrialId == inQuery.TrialId) var list = await _subjectRepository.Where(t => t.TrialId == inQuery.TrialId)
.WhereIf(inQuery.SubjectCode.IsNotNullOrEmpty(), t => t.Code.Contains(inQuery.SubjectCode)) .WhereIf(inQuery.SubjectCode.IsNotNullOrEmpty(), t => t.Code.Contains(inQuery.SubjectCode))
.WhereIf(inQuery.IsUrgent != null, t => t.IsUrgent == inQuery.IsUrgent) .WhereIf(inQuery.IsUrgent != null, t => t.IsUrgent == inQuery.IsUrgent)
.Select(t => new SubjectVisitMarkDTO() .Select(t => new SubjectVisitMarkDTO()
{ {
TrialId = t.TrialId, TrialId = t.TrialId,
SubjectId = t.Id, SubjectId = t.Id,
SubjectCode=t.Code,
IsUrgent = t.IsUrgent, IsUrgent = t.IsUrgent,
VisitCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).Count(), VisitCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).Count(),
MarkVisitCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).Count(t => t.TaskStudyList.Any()), MarkVisitCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).Count(t => t.TaskStudyList.Any()),
DicomStudyCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).SelectMany(t => t.StudyList).Count(), DicomStudyCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).SelectMany(t => t.StudyList).Count(),
MarkDicomStudyCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).SelectMany(t => t.TaskStudyList).Count(), MarkDicomStudyCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).SelectMany(t => t.TaskStudyList).Count(),
}).ToList();
NoneDicomStudyCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).SelectMany(t => t.NoneDicomStudyList).Count(),
MarkNoneDicomStudyCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).SelectMany(t => t.NoneDicomStudyList).Where(t=>t.ImageLabelNoneDicomFileList.Any()).Count(),
}).ToPagedListAsync(inQuery);
return ResponseOutput.Ok(list); return ResponseOutput.Ok(list);
} }