修改一版

Uat_Study
he 2022-06-27 14:14:34 +08:00
parent 69436a2780
commit 37320c5be5
3 changed files with 60 additions and 32 deletions

View File

@ -63,6 +63,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public class GetCRCClinicalDataOutDto
{
public Guid Id { get; set; }
/// <summary>
/// 名称
/// </summary>
@ -95,7 +98,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public string Path { get; set; }
public List<GetReadingClinicalDataListOutDto> ReadingClinicalDataList { get; set; }
//public List<GetReadingClinicalDataListOutDto> ReadingClinicalDataList { get; set; }
public List<GetFileDto> PDFFileList { get; set; } = new List<GetFileDto>();
public ClinicalDataTable ClinicalTableData { get; set; }
}
@ -347,6 +352,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 上传时间
/// </summary>
public DateTime CreateTime { get; set; }
}

View File

@ -70,7 +70,6 @@ namespace IRaCIS.Application.Services
{
return ResponseOutput.NotOk("存在同类型的临床数据");
}
var clinicalDataTrialSet = (await _clinicalDataTrialSetRepository.Where(x => x.Id == indto.ClinicalDataTrialSetId).FirstOrDefaultAsync()).IfNullThrowException();
if (indto.Id == null)
{
@ -86,8 +85,6 @@ namespace IRaCIS.Application.Services
ClinicalDataLevel= clinicalDataTrialSet.ClinicalDataLevel,
ReadingId=indto.ReadingId
}).ToList();
await _readingClinicalDataRepository.AddAsync(entity, true);
var success = await _readingClinicalDataRepository.SaveChangesAsync();
return ResponseOutput.Ok(entity.Id);
@ -100,7 +97,6 @@ namespace IRaCIS.Application.Services
await _readingClinicalDataRepository.SaveChangesAsync();
var addFileList = indto.AddFileList.Select(x => new ReadingClinicalDataPDF()
{
TrialId = entity.TrialId,
SubjectId = indto.SubjectId,
FileName = x.FileName,
@ -112,7 +108,6 @@ namespace IRaCIS.Application.Services
ReadingClinicalDataId= entity.Id,
}).ToList();
await _readingClinicalDataPDFRepository.AddRangeAsync(addFileList);
var success = await _readingClinicalDataRepository.SaveChangesAsync();
return ResponseOutput.Ok(entity.Id);
@ -128,16 +123,19 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<List<GetCRCClinicalDataOutDto>> GetCRCClinicalData(GetCRCClinicalDataInDto inDto)
{
await this.AddCRCClinicalData(inDto);
List<GetCRCClinicalDataOutDto> cRCClinicalDataList = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == inDto.TrialId && x.UploadRole == UploadRole.CRC&&x.ClinicalDataLevel != ClinicalLevel.Read)
List<GetCRCClinicalDataOutDto> cRCClinicalDataList = await _readingClinicalDataRepository.Where(x =>x.ReadingId==inDto.SubjectVisitId)
.Where(x=> x.ClinicalDataTrialSet.TrialId == inDto.TrialId && x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC && x.ClinicalDataTrialSet.ClinicalDataLevel != ClinicalLevel.Read && x.ClinicalDataTrialSet.IsConfirm)
.Select(x => new GetCRCClinicalDataOutDto()
{
ClinicalDataSetName = x.ClinicalDataSetName,
ClinicalUploadType=x.ClinicalUploadType,
ClinicalDataTrialSetId = x.Id,
FileName=x.FileName,
UploadRole=x.UploadRole,
Path=x.Path,
Id=x.Id,
ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName,
ClinicalUploadType=x.ClinicalDataTrialSet.ClinicalUploadType,
ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id,
FileName=x.ClinicalDataTrialSet.FileName,
UploadRole=x.ClinicalDataTrialSet.UploadRole,
Path=x.ClinicalDataTrialSet.Path,
}).ToListAsync() ;
PageOutput<GetReadingClinicalDataListOutDto> clinicalData = await this.GetReadingClinicalDataList(new GetReadingClinicalDataListIndto()
@ -155,7 +153,7 @@ namespace IRaCIS.Application.Services
foreach (var item in cRCClinicalDataList)
{
item.ReadingClinicalDataList = clinicalData.CurrentPageData.Where(y => y.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).ToList();
item.PDFFileList = clinicalData.CurrentPageData.Where(y => y.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).SelectMany(x=>x.FileList).ToList();
item.ClinicalTableData = new ClinicalDataTable()
{
PreviousHistoryList = previousHistoryList.Where(x => x.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).ToList(),
@ -164,12 +162,31 @@ namespace IRaCIS.Application.Services
};
}
return cRCClinicalDataList;
}
/// <summary>
/// 添加CRC数据类型
/// </summary>
/// <returns></returns>
private async Task AddCRCClinicalData(GetCRCClinicalDataInDto inDto)
{
var cRCClinicalDataIds = await _clinicalDataTrialSetRepository.Where(x => x.TrialId == inDto.TrialId && x.UploadRole == UploadRole.CRC && x.ClinicalDataLevel != ClinicalLevel.Read && x.IsConfirm).Select(x => x.Id).ToListAsync();
var needAddIds = cRCClinicalDataIds.Where(x => _readingClinicalDataRepository.Where(y => y.ReadingId == inDto.SubjectVisitId && x == y.ClinicalDataTrialSetId).Count() == 0).ToList();
List<ReadingClinicalData> readingClinicals = needAddIds.Select(x => new ReadingClinicalData()
{
ClinicalDataTrialSetId = x,
IsVisit = true,
SubjectId = inDto.SubjectId,
ReadingId = inDto.SubjectVisitId,
TrialId = inDto.TrialId
}).ToList();
await _readingClinicalDataRepository.AddRangeAsync(readingClinicals);
await _readingClinicalDataRepository.SaveChangesAsync();
}
@ -301,7 +318,8 @@ namespace IRaCIS.Application.Services
{
Id = y.Id,
FileName = y.FileName,
Path = y.Path
Path = y.Path,
CreateTime=y.CreateTime,
}).ToList()
});

View File

@ -55,15 +55,15 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public Guid? ReadingPeriodSetId { get; set; }
/// <summary>
/// 上一次访视(截止访视)
/// </summary>
public Guid? LastVisitIdSetId { get; set; }
///// <summary>
///// 上一次访视(截止访视)
///// </summary>
//public Guid? LastVisitIdSetId { get; set; }
/// <summary>
/// 裁判对应原阅片模块的Id
/// </summary>
public Guid? ReadModuleId { get; set; }
// /// <summary>
///// 裁判对应原阅片模块的Id
///// </summary>
//public Guid? ReadModuleId { get; set; }
/// <summary>
/// 项目ID
@ -109,11 +109,11 @@ namespace IRaCIS.Core.Domain.Models
public ReadingSetType ReadingSetType { get; set; }
/// <summary>
/// 访视
/// </summary>
[ForeignKey("LastVisitIdSetId")]
public SubjectVisit LastSubjectVisit { get; set; }
///// <summary>
///// 访视
///// </summary>
//[ForeignKey("LastVisitIdSetId")]
//public SubjectVisit LastSubjectVisit { get; set; }
public ReadingStatusEnum ReadingStatus { get; set; }
}