Merge branch 'Test.Study' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test.Study
continuous-integration/drone/push Build is passing Details

Uat_Study
hang 2024-02-01 16:54:24 +08:00
commit c54074dd3d
1 changed files with 39 additions and 27 deletions

View File

@ -330,8 +330,8 @@ namespace IRaCIS.Core.Application.Services
var tag = await _readingCustomTagRepository.Where(x => x.VisitTaskId == indto.VisitTaskId && x.StudyId != null).Select(x => new var tag = await _readingCustomTagRepository.Where(x => x.VisitTaskId == indto.VisitTaskId && x.StudyId != null).Select(x => new
{ {
ShowOrder= 0, ShowOrder = 0,
RowIndex= 0m, RowIndex = 0m,
x.SeriesId, x.SeriesId,
x.StudyId, x.StudyId,
x.InstanceId, x.InstanceId,
@ -447,23 +447,23 @@ namespace IRaCIS.Core.Application.Services
var studyList = await _repository.Where<DicomStudy>(t => t.TrialId == indto.TrialId && t.SubjectVisitId == indto.SujectVisitId) var studyList = await _repository.Where<DicomStudy>(t => t.TrialId == indto.TrialId && t.SubjectVisitId == indto.SujectVisitId)
.Select(k => new VisitStudyDTO() .Select(k => new VisitStudyDTO()
{ {
InstanceCount = k.InstanceCount, InstanceCount = k.InstanceCount,
Modalities = k.Modalities, Modalities = k.Modalities,
SeriesCount = k.SeriesCount, SeriesCount = k.SeriesCount,
StudyCode = k.StudyCode, StudyCode = k.StudyCode,
StudyId = k.Id, StudyId = k.Id,
}).ToListAsync(); }).ToListAsync();
var studyIds = studyList.Select(t => t.StudyId).ToList(); var studyIds = studyList.Select(t => t.StudyId).ToList();
var instanceList = await _repository.Where<DicomInstance>(t => studyIds.Contains(t.StudyId)) var instanceList = await _repository.Where<DicomInstance>(t => studyIds.Contains(t.StudyId))
.Select(t => new { t.SeriesId, t.Id, t.InstanceNumber, t.Path, t.NumberOfFrames,t.WindowCenter,t.WindowWidth }).ToListAsync(); .Select(t => new { t.SeriesId, t.Id, t.InstanceNumber, t.Path, t.NumberOfFrames, t.WindowCenter, t.WindowWidth }).ToListAsync();
List<DicomSeriesDTO> seriesLists = await _repository.Where<DicomSeries>(s => studyIds.Contains(s.StudyId) /*&& s.IsReading*/) List<DicomSeriesDTO> seriesLists = await _repository.Where<DicomSeries>(s => studyIds.Contains(s.StudyId) /*&& s.IsReading*/)
.WhereIf(isManualGenerate==false, t => t.IsReading) .WhereIf(isManualGenerate == false, t => t.IsReading)
.OrderBy(s => s.SeriesNumber). .OrderBy(s => s.SeriesNumber).
ThenBy(s => s.SeriesTime) ThenBy(s => s.SeriesTime)
.ProjectTo<DicomSeriesDTO>(_mapper.ConfigurationProvider).ToListAsync(); .ProjectTo<DicomSeriesDTO>(_mapper.ConfigurationProvider).ToListAsync();
@ -531,23 +531,35 @@ namespace IRaCIS.Core.Application.Services
foreach (var item in noDicomStudyList) foreach (var item in noDicomStudyList)
{ {
var nodicom = noDicomList.Where(x => x.Id == item.StudyId).First(); var nodicom = noDicomList.Where(x => x.Id == item.StudyId).First();
item.SeriesList = new List<DicomSeriesDTO>()
{
new DicomSeriesDTO (){
IsDicom=false,
Id=item.StudyId,
InstanceCount=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).CountAsync(),
Modality=item.Modalities,
StudyId=item.StudyId,
TrialId=nodicom.TrialId,
SiteId=nodicom.SiteId,
SubjectVisitId=nodicom.SubjectVisitId,
SubjectId=nodicom.SubjectId,
SeriesNumber=1,
NoneDicomFileFirstFile=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).Select(x=>x.Path).FirstOrDefaultAsync(),
}
}; var instanceCount = await _noneDicomStudyFileRepository.Where(x => x.NoneDicomStudyId == item.StudyId).CountAsync();
if (instanceCount == 0)
{
item.SeriesList = new List<DicomSeriesDTO>();
item.SeriesCount = 0;
}
else
{
item.SeriesList = new List<DicomSeriesDTO>()
{
new DicomSeriesDTO (){
IsDicom=false,
Id=item.StudyId,
InstanceCount=instanceCount,
Modality=item.Modalities,
StudyId=item.StudyId,
TrialId=nodicom.TrialId,
SiteId=nodicom.SiteId,
SubjectVisitId=nodicom.SubjectVisitId,
SubjectId=nodicom.SubjectId,
SeriesNumber=1,
NoneDicomFileFirstFile=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).Select(x=>x.Path).FirstOrDefaultAsync(),
}
};
}
} }