Uat_Study
he 2022-06-10 14:16:56 +08:00
parent 27a584575c
commit f42c47d21a
6 changed files with 126 additions and 31 deletions

View File

@ -1091,7 +1091,12 @@
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataListOutDto.ClinicalDataSetName">
<summary>
名称
项目配置临床类型Name
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataListOutDto.ClinicalDataTrialSetId">
<summary>
下拉ID
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataListOutDto.ClinicalDataTrialSetId">
@ -1119,6 +1124,11 @@
上传方式名称
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataListOutDto.IsCRCUpload">
<summary>
是否为CRC上传
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.GetReadingClinicalDataListOutDto.FileCount">
<summary>
文件数量

View File

@ -1,6 +1,7 @@
using IRaCIS.Core.Domain.Share.Reading;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -66,7 +67,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public class GetReadingClinicalDataListIndto :PageInput
{
public Guid ReadingId { get; set; }
[Required]
public Guid SubjectId { get; set; }
[Required]
public Guid ReadingId { get; set; }
}
public class GetReadingClinicalDataPDFListIndto:PageInput
@ -171,7 +176,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary>
/// 名称
/// 项目配置临床类型Name
/// </summary>
public string ClinicalDataSetName { get; set; }
@ -202,6 +207,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public string ClinicalUploadTypeName { get; set; }
/// <summary>
/// 是否为CRC上传
/// </summary>
public bool IsCRCUpload { get; set; }
/// <summary>
/// 文件数量
/// </summary>

View File

@ -24,15 +24,21 @@ namespace IRaCIS.Application.Services
{
private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
private readonly IRepository<ReadingClinicalDataView> _readingClinicalDataViewRepository;
private readonly IRepository<PreviousPDF> _previousPDFRepository;
private readonly IRepository<ReadingClinicalDataPDF> _readingClinicalDataPDFRepository;
public ReadingClinicalDataService(IRepository<ReadingClinicalData> readingClinicalDataRepository,
IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
IRepository<ReadingClinicalDataView> readingClinicalDataViewRepository,
IRepository<PreviousPDF> previousPDFRepository,
IRepository<ReadingClinicalDataPDF> readingClinicalDataPDFRepository
)
{
this._readingClinicalDataRepository = readingClinicalDataRepository;
this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
this._readingClinicalDataViewRepository = readingClinicalDataViewRepository;
this._previousPDFRepository = previousPDFRepository;
this._readingClinicalDataPDFRepository = readingClinicalDataPDFRepository;
}
@ -124,7 +130,7 @@ namespace IRaCIS.Application.Services
public async Task<List<GetTrialClinicalDataSelectOutDto>> GetTrialClinicalDataSelect(GetTrialClinicalDataSelectIndto inDto)
{
List<GetTrialClinicalDataSelectOutDto> clinicalList = await _clinicalDataTrialSetRepository.Where(x=>x.TrialId==inDto.TrialId&&x.IsConfirm)
List<GetTrialClinicalDataSelectOutDto> clinicalList = await _clinicalDataTrialSetRepository.Where(x=>x.TrialId==inDto.TrialId&&x.IsConfirm&&x.ClinicalDataSetName!= "既往局部治疗史")
//.WhereIf(inDto.ReadingClinicalDataId==null, x=> _readingClinicalDataPDFRepository.Where(y=>y.ObjectId==inDto.ObjectId&&))
@ -151,7 +157,8 @@ namespace IRaCIS.Application.Services
[HttpPost]
public async Task<PageOutput<GetReadingClinicalDataListOutDto>> GetReadingClinicalDataList(GetReadingClinicalDataListIndto inDto)
{
var result = await _readingClinicalDataRepository.Where(x=>x.ReadingId==inDto.ReadingId).ProjectTo<GetReadingClinicalDataListOutDto>(_mapper.ConfigurationProvider).ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField == null ? nameof(GetReadingClinicalDataListOutDto.ClinicalDataSetName) : inDto.SortField,
var result = await _readingClinicalDataViewRepository.Where(x=>x.SubjectId==inDto.SubjectId)
.Where(x=>x.ReadingId==inDto.ReadingId||x.ReadingId==null).ProjectTo<GetReadingClinicalDataListOutDto>(_mapper.ConfigurationProvider).ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField == null ? nameof(GetReadingClinicalDataListOutDto.ClinicalDataSetName) : inDto.SortField,
inDto.Asc);
@ -159,17 +166,38 @@ namespace IRaCIS.Application.Services
{
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()
if (item.IsCRCUpload)
{
Id = y.Id,
FileName = y.FileName,
Path = y.Path
}).ToListAsync()) : (await _readingClinicalDataPDFRepository.Where(y => y.SubjectId == item.SubjectId).Select(y => new GetFileDto()
item.FileList = await _previousPDFRepository.Where(x => x.SubjectId == inDto.SubjectId).Select(y => new GetFileDto()
{
Id = y.Id,
FileName = y.FileName,
Path = y.Path
}).ToListAsync();
}
else
{
Id = y.Id,
FileName = y.FileName,
Path = y.Path
}).ToListAsync());
if (item.ClinicalDataLevel != ClinicalLevel.Subject)
{
item.FileList = await _readingClinicalDataPDFRepository.Where(y => y.ReadingClinicalDataId == item.Id).Select(y => new GetFileDto()
{
Id = y.Id,
FileName = y.FileName,
Path = y.Path
}).ToListAsync();
}
else
{
item.FileList = await _readingClinicalDataPDFRepository.Where(y => y.SubjectId == item.SubjectId).Select(y => new GetFileDto()
{
Id = y.Id,
FileName = y.FileName,
Path = y.Path
}).ToListAsync();
}
}
}
@ -195,19 +223,6 @@ namespace IRaCIS.Application.Services
return result;
}
///// <summary>
///// 新增或者修改PDF
///// </summary>
///// <param name="indto"></param>
///// <returns></returns>
//[HttpPost]
//public async Task<IResponseOutput> AddOrUpdateReadingClinicalDataPDF(AddOrUpdateReadingClinicalDataPDFDto indto)
//{
// var entity = await _readingClinicalDataPDFRepository.InsertOrUpdateAsync(indto, true);
// return ResponseOutput.Ok(entity.Id.ToString());
//}
/// <summary>
/// 删除PDF单个文件
/// </summary>

View File

@ -21,10 +21,12 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.PlanCount, u => u.MapFrom(s => s.ReadingPeriodPlanList.Count));
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));
CreateMap<ReadingClinicalDataView, GetReadingClinicalDataListOutDto>();
// 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()));

View File

@ -0,0 +1,56 @@
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Domain.Share.Reading;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Domain.Models
{
public class ReadingClinicalDataView : Entity
{
/// <summary>
/// 项目ID
/// </summary>
public Guid TrialId { get; set; }
/// <summary>
/// 受试者ID
/// </summary>
public Guid SubjectId { get; set; }
/// <summary>
/// 阅片
/// </summary>
public Guid? ReadingId { get; set; }
/// <summary>
/// 项目配置临床类型ID
/// </summary>
public Guid ClinicalDataTrialSetId { get; set; }
/// <summary>
/// 项目配置临床类型Name
/// </summary>
public string ClinicalDataSetName { get; set; }
/// <summary>
///
/// </summary>
public ClinicalLevel ClinicalDataLevel { get; set; }
/// <summary>
/// 是否为CRC上传
/// </summary>
public bool IsCRCUpload { get; set; }
}
}

View File

@ -182,6 +182,8 @@ namespace IRaCIS.Core.Infra.EFCore
public virtual DbSet<ReadingClinicalData> ReadingClinicalData { get; set; }
public virtual DbSet<ReadingClinicalDataView> ReadingClinicalDataView { get; set; }
public virtual DbSet<ReadingClinicalDataPDF> ReadingClinicalDataPDF { get; set; }
public virtual DbSet<ReadModule> ReadModule { get; set; }