From 85eebd17ef17296dd9236a69974adf6b236466a8 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 24 Jun 2022 15:05:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/UploadDownLoadController.cs | 1 + .../IRaCIS.Core.Application.xml | 17 ++++++ .../Reading/Dto/ReadingClinicalDataDto.cs | 29 ++++++++++ .../Reading/ReadingClinicalDataService.cs | 53 +++++++++++++++++++ 4 files changed, 100 insertions(+) diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index 645e99d4a..c15766519 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -402,6 +402,7 @@ namespace IRaCIS.Core.API.Controllers { if(trialId==null) trialId=default(Guid); + var filerelativePath = string.Empty; List fileDtos = new List(); await FileUploadAsync(async (fileName) => diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 551e1a4e3..c2721e965 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1035,6 +1035,16 @@ 要删除的对象 + + + 名称 + + + + + 名称 + + 是否盲化 @@ -4263,6 +4273,13 @@ + + + 获取CRC上传的文件 + + + + 删除 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs index 1239d99dc..d5b51bdce 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs @@ -60,6 +60,35 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public List AddFileList { get; set; } = new List(); } + public class GetCRCClinicalDataOutDto + { + /// + /// 名称 + /// + public Guid ClinicalDataTrialSetId { get; set; } + + /// + /// 名称 + /// + public string ClinicalDataSetName { get; set; } + + public List ReadingClinicalDataList { get; set; } + } + + + + public class GetCRCClinicalDataInDto + { + [NotDefault] + public Guid SubjectVisitId { get; set; } + + [NotDefault] + public Guid TrialId { get; set; } + + [NotDefault] + public Guid SubjectId { get; set; } + } + /// /// 是否盲化 /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs index 41392d936..dafa0e639 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs @@ -111,6 +111,42 @@ namespace IRaCIS.Application.Services } + /// + /// 获取CRC上传的文件 + /// + /// + /// + [HttpPost] + public async Task> GetCRCClinicalData(GetCRCClinicalDataInDto inDto) + { + + List cRCClinicalDataList = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == inDto.TrialId && x.UploadRole == UploadRole.CRC) + .Select(x => new GetCRCClinicalDataOutDto() + { + ClinicalDataSetName = x.ClinicalDataSetName, + ClinicalDataTrialSetId = x.Id, + }).ToListAsync() ; + + PageOutput clinicalData = await this.GetReadingClinicalDataList(new GetReadingClinicalDataListIndto() + { + PageIndex = 1, + PageSize = 9999, + SubjectId = inDto.SubjectId, + ReadingId = inDto.SubjectVisitId, + + }); + + cRCClinicalDataList.ForEach(x => + { + x.ReadingClinicalDataList = clinicalData.CurrentPageData.Where(y => y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).ToList(); + }); + + + return cRCClinicalDataList; + + + } + ///// ///// 设置临床数据是否盲化 ///// @@ -146,6 +182,12 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task> GetTrialClinicalDataSelect(GetTrialClinicalDataSelectIndto inDto) { + if (_userInfo.UserTypeShortName == "PM" || _userInfo.UserTypeShortName == "IR") + { + inDto.UploadRole = UploadRole.PM; + + } + var usedIdsQuery = _readingClinicalDataRepository.Where(x => x.ReadingId == inDto.ReadingId && x.Id != inDto.ReadingClinicalDataId).Select(x => x.ClinicalDataTrialSetId); List clinicalList = await _clinicalDataTrialSetRepository.Where(x=>x.TrialId==inDto.TrialId&&x.IsConfirm) @@ -193,6 +235,17 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task> GetReadingClinicalDataList(GetReadingClinicalDataListIndto inDto) { + + if (_userInfo.UserTypeShortName == "PM" || _userInfo.UserTypeShortName == "IR") + { + inDto.UploadRole = UploadRole.PM; + + } + else if (_userInfo.UserTypeShortName == "CRC" || _userInfo.UserTypeShortName == "IQC") + { + inDto.UploadRole = UploadRole.CRC; + } + var isBaseLine = await _subjectVisitRepository.AnyAsync(x => x.Id == inDto.ReadingId && x.IsBaseLine); var resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId) .Where(x => x.ReadingId == inDto.ReadingId)