修改一版
This commit is contained in:
@@ -180,6 +180,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||
/// </summary>
|
||||
public ClinicalLevel ClinicalDataLevel { get; set; }
|
||||
|
||||
public Guid SubjectId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 上传方式
|
||||
@@ -199,10 +200,37 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||
/// <summary>
|
||||
/// 文件数量
|
||||
/// </summary>
|
||||
public int FileCount { get; set; } = 0;
|
||||
public int FileCount { get {
|
||||
|
||||
return this.FileList.Count();
|
||||
} }
|
||||
|
||||
public List<GetFileDto> FileList { get; set; } = new List<GetFileDto>();
|
||||
}
|
||||
|
||||
|
||||
public class GetFileDto
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Id
|
||||
/// </summary>
|
||||
|
||||
public Guid Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Path
|
||||
/// </summary>
|
||||
|
||||
public string Path { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// FileName
|
||||
/// </summary>
|
||||
|
||||
public string FileName { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class GetTrialClinicalDataSelectIndto
|
||||
{
|
||||
@@ -221,6 +249,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||
/// </summary>
|
||||
public Guid ReadingId { get; set; }
|
||||
|
||||
public Guid SubjectId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否是访视
|
||||
/// </summary>
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace IRaCIS.Application.Services
|
||||
public async Task<IResponseOutput> AddOrUpdateReadingClinicalData(AddOrUpdateReadingClinicalDataDto indto)
|
||||
{
|
||||
|
||||
var clinicalDataTrialSet = (await _clinicalDataTrialSetRepository.Where(x => x.Id == indto.ClinicalDataTrialSetId).FirstOrDefaultAsync()).IfNullThrowException();
|
||||
if (indto.Id == null)
|
||||
{
|
||||
var entity = _mapper.Map<ReadingClinicalData>(indto);
|
||||
@@ -56,7 +57,9 @@ namespace IRaCIS.Application.Services
|
||||
SubjectId= indto.SubjectId,
|
||||
FileName=x.FileName,
|
||||
Path=x.Path,
|
||||
ClinicalDataTrialSetId=indto.ClinicalDataTrialSetId,
|
||||
IsVisit= indto.IsVisit,
|
||||
ClinicalDataLevel= clinicalDataTrialSet.ClinicalDataLevel,
|
||||
ReadingId=indto.ReadingId
|
||||
}).ToList();
|
||||
|
||||
@@ -79,6 +82,7 @@ namespace IRaCIS.Application.Services
|
||||
FileName = x.FileName,
|
||||
Path = x.Path,
|
||||
IsVisit = indto.IsVisit,
|
||||
ClinicalDataLevel = clinicalDataTrialSet.ClinicalDataLevel,
|
||||
ReadingId = indto.ReadingId
|
||||
}).ToList();
|
||||
await _readingClinicalDataPDFRepository.AddRangeAsync(addFileList);
|
||||
@@ -139,13 +143,30 @@ namespace IRaCIS.Application.Services
|
||||
[HttpPost]
|
||||
public async Task<PageOutput<GetReadingClinicalDataListOutDto>> GetReadingClinicalDataList(GetReadingClinicalDataListIndto inDto)
|
||||
{
|
||||
var result = await _readingClinicalDataRepository.ProjectTo<GetReadingClinicalDataListOutDto>(_mapper.ConfigurationProvider).ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField == null ? nameof(GetReadingClinicalDataListOutDto.ClinicalDataSetName) : inDto.SortField,
|
||||
var result = await _readingClinicalDataRepository.Where(x=>x.Id==inDto.ReadingId).ProjectTo<GetReadingClinicalDataListOutDto>(_mapper.ConfigurationProvider).ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField == null ? nameof(GetReadingClinicalDataListOutDto.ClinicalDataSetName) : inDto.SortField,
|
||||
inDto.Asc);
|
||||
|
||||
result.CurrentPageData.ForEach(x => {
|
||||
x.ClinicalDataLevelName = x.ClinicalDataLevel.GetDisplayName();
|
||||
x.ClinicalUploadTypeName = x.ClinicalUploadType.GetDisplayName();
|
||||
});
|
||||
|
||||
foreach (var item in result.CurrentPageData)
|
||||
{
|
||||
item.ClinicalDataLevelName = item.ClinicalDataLevel.GetDisplayName();
|
||||
item.ClinicalUploadTypeName = item.ClinicalUploadType.GetDisplayName();
|
||||
item.FileList = item.ClinicalDataLevel != ClinicalLevel.Subject ? (await _readingClinicalDataPDFRepository.Where(y => y.ReadingClinicalDataId == item.Id).Select(y => new GetFileDto()
|
||||
{
|
||||
Id = y.Id,
|
||||
FileName = y.FileName,
|
||||
Path = y.Path
|
||||
}).ToListAsync()) : (await _readingClinicalDataPDFRepository.Where(y => y.SubjectId == item.SubjectId).Select(y => new GetFileDto()
|
||||
{
|
||||
Id = y.Id,
|
||||
FileName = y.FileName,
|
||||
Path = y.Path
|
||||
}).ToListAsync());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -24,8 +24,8 @@ namespace IRaCIS.Core.Application.Service
|
||||
CreateMap<ReadingClinicalData, GetReadingClinicalDataListOutDto>()
|
||||
.ForMember(d => d.ClinicalDataLevel, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalDataLevel))
|
||||
.ForMember(d => d.ClinicalDataLevelName, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalDataSetName))
|
||||
.ForMember(d => d.ClinicalUploadType, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalUploadType))
|
||||
.ForMember(d => d.FileCount, u => u.MapFrom(s => s.ReadingClinicalDataPDFList.Count()));
|
||||
.ForMember(d => d.ClinicalUploadType, u => u.MapFrom(s => s.ClinicalDataTrialSet.ClinicalUploadType));
|
||||
//.ForMember(d => d.FileCount, u => u.MapFrom(s => s.ReadingClinicalDataPDFList.Count()));
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user