Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
d2a9f478e4
|
@ -21,6 +21,7 @@ namespace IRaCIS.Application.Services
|
||||||
public class ReadingClinicalDataService : BaseService, IReadingClinicalDataService
|
public class ReadingClinicalDataService : BaseService, IReadingClinicalDataService
|
||||||
{
|
{
|
||||||
private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
|
private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
|
||||||
|
private readonly IRepository<ReadingConsistentClinicalData> _readingConsistentClinicalDataRepository;
|
||||||
private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
|
private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
|
||||||
private readonly IRepository<VisitTask> _visitTaskRepository;
|
private readonly IRepository<VisitTask> _visitTaskRepository;
|
||||||
private readonly IRepository<PreviousPDF> _previousPDFRepository;
|
private readonly IRepository<PreviousPDF> _previousPDFRepository;
|
||||||
|
@ -38,6 +39,7 @@ namespace IRaCIS.Application.Services
|
||||||
private readonly IRepository<ReadingClinicalDataPDF> _readingClinicalDataPDFRepository;
|
private readonly IRepository<ReadingClinicalDataPDF> _readingClinicalDataPDFRepository;
|
||||||
|
|
||||||
public ReadingClinicalDataService(IRepository<ReadingClinicalData> readingClinicalDataRepository,
|
public ReadingClinicalDataService(IRepository<ReadingClinicalData> readingClinicalDataRepository,
|
||||||
|
IRepository<ReadingConsistentClinicalData> readingConsistentClinicalDataRepository,
|
||||||
IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
|
IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
|
||||||
IRepository<PreviousPDF> previousPDFRepository,
|
IRepository<PreviousPDF> previousPDFRepository,
|
||||||
IRepository<SubjectVisit> subjectVisitRepository,
|
IRepository<SubjectVisit> subjectVisitRepository,
|
||||||
|
@ -56,6 +58,7 @@ namespace IRaCIS.Application.Services
|
||||||
IRepository<VisitTask> visitTaskRepository)
|
IRepository<VisitTask> visitTaskRepository)
|
||||||
{
|
{
|
||||||
this._readingClinicalDataRepository = readingClinicalDataRepository;
|
this._readingClinicalDataRepository = readingClinicalDataRepository;
|
||||||
|
this._readingConsistentClinicalDataRepository = readingConsistentClinicalDataRepository;
|
||||||
this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
|
this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
|
||||||
this._previousPDFRepository = previousPDFRepository;
|
this._previousPDFRepository = previousPDFRepository;
|
||||||
this._subjectVisitRepository = subjectVisitRepository;
|
this._subjectVisitRepository = subjectVisitRepository;
|
||||||
|
@ -785,46 +788,97 @@ namespace IRaCIS.Application.Services
|
||||||
public async Task<List<GetReadingClinicalDataListOutDto>> GetClinicalDataList(GetReadingOrTaskClinicalDataListInDto inDto)
|
public async Task<List<GetReadingClinicalDataListOutDto>> GetClinicalDataList(GetReadingOrTaskClinicalDataListInDto inDto)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
var resultQuery = _readingClinicalDataRepository.Where(x=>1==1).Select(x=> new GetReadingClinicalDataListOutDto() { });
|
||||||
|
bool isSelfAnalysis = false;
|
||||||
if (inDto.ReadingId == null)
|
if (inDto.ReadingId == null)
|
||||||
{
|
{
|
||||||
var visitTask = await _visitTaskRepository.FirstOrDefaultAsync(x => x.Id == inDto.VisitTaskId);
|
var visitTask = await _visitTaskRepository.FirstOrDefaultAsync(x => x.Id == inDto.VisitTaskId);
|
||||||
inDto.ReadingId = visitTask.SouceReadModuleId ?? visitTask.SourceSubjectVisitId;
|
inDto.ReadingId = visitTask.SouceReadModuleId ?? visitTask.SourceSubjectVisitId;
|
||||||
|
|
||||||
|
|
||||||
|
if (visitTask.IsAnalysisCreate && visitTask.IsSelfAnalysis == true)
|
||||||
|
{
|
||||||
|
isSelfAnalysis = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
// 一致性分析
|
||||||
|
if (isSelfAnalysis)
|
||||||
|
{
|
||||||
|
resultQuery = _readingConsistentClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId)
|
||||||
|
.WhereIf(inDto.ReadingClinicalDataId != null, x => x.Id == inDto.ReadingClinicalDataId)
|
||||||
|
.WhereIf(inDto.ClinicalDataTrialSetId != null, x => x.ClinicalDataTrialSetId == inDto.ClinicalDataTrialSetId)
|
||||||
|
.WhereIf(inDto.SelectIsSign, x => x.IsSign == true)
|
||||||
|
.Where(x => x.ReadingId == inDto.ReadingId)
|
||||||
|
.WhereIf(inDto.TrialReadingCriterionId != null, x => x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
|
||||||
|
.Select(x => new GetReadingClinicalDataListOutDto()
|
||||||
|
{
|
||||||
|
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
|
||||||
|
SubjectId = x.SubjectId,
|
||||||
|
ReadingId = x.ReadingId,
|
||||||
|
ClinicalDataSetEnName = x.ClinicalDataTrialSet.ClinicalDataSetEnName,
|
||||||
|
ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us),
|
||||||
|
ClinicalDataTrialSetId = x.ClinicalDataTrialSetId,
|
||||||
|
IsSign = x.IsSign,
|
||||||
|
ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType,
|
||||||
|
CriterionEnumList = x.ClinicalDataTrialSet.CriterionEnumList,
|
||||||
|
TrialClinicalDataSetCriteriaList = x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList,
|
||||||
|
Id = x.Id,
|
||||||
|
UploadRole = x.ClinicalDataTrialSet.UploadRole,
|
||||||
|
IsCRCUpload = x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC,
|
||||||
|
IsBlind = x.IsBlind,
|
||||||
|
IsComplete = x.IsComplete,
|
||||||
|
FileCount = x.FileCount,
|
||||||
|
ReadingClinicalDataState = x.ReadingClinicalDataState,
|
||||||
|
FileList = x.ReadingClinicalDataPDFList.Select(y => new GetFileDto()
|
||||||
|
{
|
||||||
|
Id = y.Id,
|
||||||
|
FileName = y.FileName,
|
||||||
|
Path = y.Path,
|
||||||
|
CreateTime = y.CreateTime,
|
||||||
|
}).ToList(),
|
||||||
|
|
||||||
var resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId)
|
});
|
||||||
.WhereIf(inDto.ReadingClinicalDataId != null, x => x.Id == inDto.ReadingClinicalDataId)
|
}
|
||||||
.WhereIf(inDto.ClinicalDataTrialSetId != null, x => x.ClinicalDataTrialSetId == inDto.ClinicalDataTrialSetId)
|
else
|
||||||
.WhereIf(inDto.SelectIsSign, x => x.IsSign == true)
|
{
|
||||||
.Where(x => x.ReadingId == inDto.ReadingId)
|
resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId)
|
||||||
.WhereIf(inDto.TrialReadingCriterionId!=null, x => x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
|
.WhereIf(inDto.ReadingClinicalDataId != null, x => x.Id == inDto.ReadingClinicalDataId)
|
||||||
.Select(x => new GetReadingClinicalDataListOutDto()
|
.WhereIf(inDto.ClinicalDataTrialSetId != null, x => x.ClinicalDataTrialSetId == inDto.ClinicalDataTrialSetId)
|
||||||
|
.WhereIf(inDto.SelectIsSign, x => x.IsSign == true)
|
||||||
|
.Where(x => x.ReadingId == inDto.ReadingId)
|
||||||
|
.WhereIf(inDto.TrialReadingCriterionId != null, x => x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId))
|
||||||
|
.Select(x => new GetReadingClinicalDataListOutDto()
|
||||||
|
{
|
||||||
|
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
|
||||||
|
SubjectId = x.SubjectId,
|
||||||
|
ReadingId = x.ReadingId,
|
||||||
|
ClinicalDataSetEnName = x.ClinicalDataTrialSet.ClinicalDataSetEnName,
|
||||||
|
ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us),
|
||||||
|
ClinicalDataTrialSetId = x.ClinicalDataTrialSetId,
|
||||||
|
IsSign = x.IsSign,
|
||||||
|
ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType,
|
||||||
|
CriterionEnumList = x.ClinicalDataTrialSet.CriterionEnumList,
|
||||||
|
TrialClinicalDataSetCriteriaList = x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList,
|
||||||
|
Id = x.Id,
|
||||||
|
UploadRole = x.ClinicalDataTrialSet.UploadRole,
|
||||||
|
IsCRCUpload = x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC,
|
||||||
|
IsBlind = x.IsBlind,
|
||||||
|
IsComplete = x.IsComplete,
|
||||||
|
FileCount = x.FileCount,
|
||||||
|
ReadingClinicalDataState = x.ReadingClinicalDataState,
|
||||||
|
FileList = x.ReadingClinicalDataPDFList.Select(y => new GetFileDto()
|
||||||
{
|
{
|
||||||
ClinicalDataLevel = x.ClinicalDataTrialSet.ClinicalDataLevel,
|
Id = y.Id,
|
||||||
SubjectId = x.SubjectId,
|
FileName = y.FileName,
|
||||||
ReadingId = x.ReadingId,
|
Path = y.Path,
|
||||||
ClinicalDataSetEnName = x.ClinicalDataTrialSet.ClinicalDataSetEnName,
|
CreateTime = y.CreateTime,
|
||||||
ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName.LanguageName(x.ClinicalDataTrialSet.ClinicalDataSetEnName, _userInfo.IsEn_Us),
|
}).ToList(),
|
||||||
ClinicalDataTrialSetId = x.ClinicalDataTrialSetId,
|
|
||||||
IsSign = x.IsSign,
|
|
||||||
ClinicalUploadType = x.ClinicalDataTrialSet.ClinicalUploadType,
|
|
||||||
CriterionEnumList = x.ClinicalDataTrialSet.CriterionEnumList,
|
|
||||||
TrialClinicalDataSetCriteriaList = x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList,
|
|
||||||
Id = x.Id,
|
|
||||||
UploadRole = x.ClinicalDataTrialSet.UploadRole,
|
|
||||||
IsCRCUpload = x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC,
|
|
||||||
IsBlind = x.IsBlind,
|
|
||||||
IsComplete = x.IsComplete,
|
|
||||||
FileCount = x.FileCount,
|
|
||||||
ReadingClinicalDataState = x.ReadingClinicalDataState,
|
|
||||||
FileList = x.ReadingClinicalDataPDFList.Select(y => new GetFileDto()
|
|
||||||
{
|
|
||||||
Id = y.Id,
|
|
||||||
FileName = y.FileName,
|
|
||||||
Path = y.Path,
|
|
||||||
CreateTime = y.CreateTime,
|
|
||||||
}).ToList(),
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var result = new List<GetReadingClinicalDataListOutDto>();
|
var result = new List<GetReadingClinicalDataListOutDto>();
|
||||||
if (!inDto.IsOnlyGetCRCReadModule)
|
if (!inDto.IsOnlyGetCRCReadModule)
|
||||||
|
|
Loading…
Reference in New Issue