diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 59268af2f..04209cfae 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -169,7 +169,7 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - public async Task> GetCRCSubjectClinicalList(GetCRCSubjectClinicalInDto inDto) + public async Task> GetCRCSubjectClinicalList(GetCRCSubjectClinicalInDto inDto) { await AutoAddCRCClinical(new AutoAddClinicalInDto() @@ -183,7 +183,7 @@ namespace IRaCIS.Core.Application.Service var subjects = await _subjectRepository.Where(x => x.TrialId == inDto.TrialId).Select(x => new GetCRCSubjectClinicalResultDto() { SubjectId = x.Id, - SunjectCode = x.ShortName + SubjectCode = x.Code }).ToListAsync(); @@ -191,31 +191,28 @@ namespace IRaCIS.Core.Application.Service .Where(x=>!x.IsSign) .Include(x=>x.ClinicalDataTrialSet).Select(x=>new GetCRCSubjectClinicalOutDto() { SubjectId=x.SubjectId, + SubjectCode=x.Subject.Code, ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id, - ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us), - }).OrderBy(x=>x.ClinicalDataSetName).ToListAsync(); + ClinicalDataSetEnName= x.ClinicalDataTrialSet.ClinicalDataSetEnName, + ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName, + }).OrderBy(x=>x.SubjectCode).ToListAsync(); - - - - var clinicalFormData = await _clinicalFormRepository.Where(x => x.SubjectId == inDto.TrialId).ToListAsync(); - - subjects.ForEach(x => + // 一次查询报错 分两次写 + clinicalData.ForEach(x => { - - x.ClinicalDataList = clinicalData.Where(y => y.SubjectId == x.SubjectId).ToList(); - - x.ClinicalDataList.ForEach(n => - { - n.ClinicalCount = clinicalData.Where(y => y.ClinicalDataTrialSetId == n.ClinicalDataTrialSetId && y.SubjectId == n.SubjectId).Count(); - }); + x.ClinicalDataSetEnName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us); }); + + var clinicalFormData = await _clinicalFormRepository.Where(x => x.TrialId == inDto.TrialId).ToListAsync(); + clinicalData.ForEach(n => + { + n.ClinicalCount = clinicalFormData.Where(y => y.ClinicalDataTrialSetId == n.ClinicalDataTrialSetId && y.SubjectId == n.SubjectId).Count(); + }); - - - return subjects; + + return clinicalData; } /// @@ -317,6 +314,7 @@ namespace IRaCIS.Core.Application.Service { ClinicalDataTrialSetId = inDto.ClinicalDataTrialSetId, SubjectId = inDto.SubjectId, + TrialId= inDto.TrialId, Id = inDto.ClinicalFormId ?? NewId.NextGuid(), ReadingId = inDto.ReadingId, VisitId = inDto.VisitId, diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index 80825b48d..fb947d31d 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -26,11 +26,15 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public class GetCRCSubjectClinicalOutDto { public Guid SubjectId { get; set; } + + public string SubjectCode { get; set; } public Guid ClinicalDataTrialSetId { get; set; } public string ClinicalDataSetName { get; set; } - public int ClinicalCount { get; set; } = 0; + public string ClinicalDataSetEnName { get; set; } + + public int ClinicalCount { get; set; } = 0; } @@ -38,7 +42,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto { public Guid SubjectId { get; set; } - public string SunjectCode { get; set; } + public string SubjectCode { get; set; } public List ClinicalDataList { get; set; } } @@ -105,7 +109,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid SubjectId { get; set; } - public Guid ClinicalDataTrialSetId { get; set; } + public Guid TrialId { get; set; } + + public Guid ClinicalDataTrialSetId { get; set; } public List QuestionAnswers { get; set; } diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs index 2cbed9d30..db9e8f70a 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs @@ -80,6 +80,11 @@ namespace IRaCIS.Core.Domain.Models public SubjectVisit SubjectVisit { get; set; } + [JsonIgnore] + [ForeignKey("SubjectId")] + + public Subject Subject { get; set; } + [JsonIgnore] [ForeignKey("ReadingId")] diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs index 7a292cfd6..ea748bc2a 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs @@ -20,10 +20,13 @@ namespace IRaCIS.Core.Domain.Models /// 受试者Id /// public Guid SubjectId { get; set; } - + + + public Guid TrialId { get; set; } + /// - /// 检查日期 - /// + /// 检查日期 + /// public DateTime CheckDate { get; set; } ///