From 05adb5ee84a5faef7e0d342877039984107a5a59 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 28 Jun 2023 14:51:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ClinicalData/ClinicalAnswerService.cs | 33 +++++++------------ .../Service/Reading/Dto/ClinicalAnswerDto.cs | 2 ++ .../ClinicalData/ReadingClinicalData.cs | 5 +++ .../ClinicalQuestionAnswer/ClinicalForm.cs | 9 +++-- 4 files changed, 24 insertions(+), 25 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index b6a308606..4b56cf569 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() @@ -191,10 +191,11 @@ 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, ClinicalDataSetEnName= x.ClinicalDataTrialSet.ClinicalDataSetEnName, ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName, - }).OrderBy(x=>x.ClinicalDataSetName).ToListAsync(); + }).OrderBy(x=>x.SubjectCode).ToListAsync(); // 一次查询报错 分两次写 clinicalData.ForEach(x => @@ -202,28 +203,16 @@ namespace IRaCIS.Core.Application.Service 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(); + }); - - var clinicalFormData = await _clinicalFormRepository.Where(x => x.SubjectId == inDto.TrialId).ToListAsync(); - - subjects.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(); - }); - - }); - - - - - return subjects; + + return clinicalData; } /// diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index ddec9aa32..82a59323a 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -26,6 +26,8 @@ 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; } 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; } ///