Compare commits
No commits in common. "40483dd4ee610851525f083bd5a3b9ad3e3f531d" and "7a84eebf980b63bd5fbf9c64840899106e8e41a0" have entirely different histories.
40483dd4ee
...
7a84eebf98
|
|
@ -82,7 +82,7 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer
|
||||||
|
|
||||||
var noneDicomQuey = from sv in _subjectVisitRepository.Where(subjectVisitLambda)
|
var noneDicomQuey = from sv in _subjectVisitRepository.Where(subjectVisitLambda)
|
||||||
join subject in _subjectRepository.AsQueryable() on sv.SubjectId equals subject.Id
|
join subject in _subjectRepository.AsQueryable() on sv.SubjectId equals subject.Id
|
||||||
join noneDicomStudy in _noneDicomStudyRepository.Where(t => t.FileCount > 0) on sv.Id equals noneDicomStudy.SubjectVisitId
|
join noneDicomStudy in _noneDicomStudyRepository.AsQueryable() on sv.Id equals noneDicomStudy.SubjectVisitId
|
||||||
select new CheckDBModel()
|
select new CheckDBModel()
|
||||||
{
|
{
|
||||||
SubjectVisitId = sv.Id,
|
SubjectVisitId = sv.Id,
|
||||||
|
|
|
||||||
|
|
@ -1764,22 +1764,22 @@ x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.LesionNumber && x.Readi
|
||||||
|
|
||||||
await _trialEmailNoticeConfigRepository.SaveChangesAsync();
|
await _trialEmailNoticeConfigRepository.SaveChangesAsync();
|
||||||
|
|
||||||
// var cronInfo = await _trialEmailNoticeConfigRepository.Where(t => t.Id == addOrEditTrialEmailNoticeConfig.Id)
|
var cronInfo = await _trialEmailNoticeConfigRepository.Where(t => t.Id == addOrEditTrialEmailNoticeConfig.Id)
|
||||||
//.Select(t => new { t.Id, t.Code, TrialCode = t.Trial.TrialCode, t.EmailCron, t.BusinessScenarioEnum, t.TrialId })
|
.Select(t => new { t.Id, t.Code, TrialCode = t.Trial.TrialCode, t.EmailCron, t.BusinessScenarioEnum, t.TrialId })
|
||||||
//.FirstAsync();
|
.FirstAsync();
|
||||||
|
|
||||||
// var jobId = $"{cronInfo.TrialId}({cronInfo.TrialCode})_({cronInfo.BusinessScenarioEnum})";
|
var jobId = $"{cronInfo.TrialId}({cronInfo.TrialCode})_({cronInfo.BusinessScenarioEnum})";
|
||||||
|
|
||||||
|
|
||||||
// if (addOrEditTrialEmailNoticeConfig.IsAutoSend)
|
if (addOrEditTrialEmailNoticeConfig.IsAutoSend)
|
||||||
// {
|
{
|
||||||
// HangfireJobHelper.AddOrUpdateTrialCronJob(jobId, addOrEditTrialEmailNoticeConfig.TrialId, addOrEditTrialEmailNoticeConfig.BusinessScenarioEnum, addOrEditTrialEmailNoticeConfig.EmailCron);
|
HangfireJobHelper.AddOrUpdateTrialCronJob(jobId, addOrEditTrialEmailNoticeConfig.TrialId, addOrEditTrialEmailNoticeConfig.BusinessScenarioEnum, addOrEditTrialEmailNoticeConfig.EmailCron);
|
||||||
|
|
||||||
// }
|
}
|
||||||
// else
|
else
|
||||||
// {
|
{
|
||||||
// HangfireJobHelper.RemoveCronJob(jobId);
|
HangfireJobHelper.RemoveCronJob(jobId);
|
||||||
// }
|
}
|
||||||
|
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -901,7 +901,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
/// <param name="inQuery"></param>
|
/// <param name="inQuery"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<IResponseOutput<List<TaskNoneDicomStudyDTO>>> GetIRUploadTaskNoneDicomStudyList([FromServices] INoneDicomStudyService _noneDicomStudyService, IRUploadStudyQuery inQuery)
|
public async Task<IResponseOutput<List<TaskNoneDicomStudyDTO>>> GetIRUploadTaskNoneDicomStudyList(IRUploadStudyQuery inQuery)
|
||||||
{
|
{
|
||||||
var subjectCode = inQuery.SubjectCode;
|
var subjectCode = inQuery.SubjectCode;
|
||||||
var subjectId = inQuery.SubjectId;
|
var subjectId = inQuery.SubjectId;
|
||||||
|
|
@ -926,7 +926,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
}
|
}
|
||||||
|
|
||||||
var info = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId)
|
var info = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId)
|
||||||
.Select(t => new { t.IsImageFilter, t.CriterionType, t.TrialId, t.CriterionModalitys, t.IsReadingTaskViewInOrder }).FirstNotNullAsync();
|
.Select(t => new { t.IsImageFilter, t.CriterionModalitys, t.IsReadingTaskViewInOrder }).FirstNotNullAsync();
|
||||||
|
|
||||||
var config = await _subjectRepository.Where(t => t.Id == subjectId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList, t.Trial.IsShowStudyName }).FirstOrDefaultAsync();
|
var config = await _subjectRepository.Where(t => t.Id == subjectId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList, t.Trial.IsShowStudyName }).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
@ -934,61 +934,6 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
//靶段标注上传,查看访视级别,上传绑定访视级别
|
//靶段标注上传,查看访视级别,上传绑定访视级别
|
||||||
if (inQuery.IsImageSegmentLabel == true)
|
if (inQuery.IsImageSegmentLabel == true)
|
||||||
{
|
{
|
||||||
//存在ivus 和oct 这两种的项目
|
|
||||||
if (_readingQuestionCriterionTrialRepository.Where(t => t.TrialId == info.TrialId &&
|
|
||||||
(t.CriterionType == CriterionType.IVUS || t.CriterionType == CriterionType.OCT)).Distinct().Count() == 2
|
|
||||||
&& !_noneDicomStudyReposiotry.Any(t => t.SubjectId == inQuery.SubjectId && t.Modality != "IVUS"))
|
|
||||||
{
|
|
||||||
#region ivus 自动创建非dicom检查
|
|
||||||
|
|
||||||
var addList = await _dicomStudyRepository.Where(t => t.SubjectId == inQuery.SubjectId)
|
|
||||||
.Select(t => new NoneDicomStudyAddOrEdit()
|
|
||||||
{
|
|
||||||
TrialId = t.TrialId,
|
|
||||||
SubjectId = t.SubjectId,
|
|
||||||
SubjectVisitId = t.SubjectVisitId,
|
|
||||||
|
|
||||||
ImageDate = (DateTime)t.StudyTime,
|
|
||||||
BodyPart = t.BodyPartForEdit,
|
|
||||||
BodyPartForEditOther = t.BodyPartForEditOther,
|
|
||||||
Modality = "IVUS"
|
|
||||||
|
|
||||||
}).ToListAsync();
|
|
||||||
|
|
||||||
|
|
||||||
var @lock = _distributedLockProvider.CreateLock($"NoneDicomCode");
|
|
||||||
|
|
||||||
using (await @lock.AcquireAsync())
|
|
||||||
{
|
|
||||||
|
|
||||||
var trialId = addList.FirstOrDefault().TrialId;
|
|
||||||
//默认会是0
|
|
||||||
var code = await _noneDicomStudyReposiotry.Where(t => t.TrialId == trialId).Select(x => x.Code).DefaultIfEmpty().MaxAsync();
|
|
||||||
|
|
||||||
foreach (var g in addList.GroupBy(t => t.SubjectVisitId))
|
|
||||||
{
|
|
||||||
var addOrEditNoneDicomStudy = g.First();
|
|
||||||
|
|
||||||
var optEntity = await _noneDicomStudyReposiotry.InsertFromDTOAsync(addOrEditNoneDicomStudy);
|
|
||||||
|
|
||||||
optEntity.Code = code + 1;
|
|
||||||
|
|
||||||
|
|
||||||
optEntity.StudyCode = AppSettings.GetCodeStr(optEntity.Code, nameof(NoneDicomStudy));
|
|
||||||
|
|
||||||
code++;
|
|
||||||
}
|
|
||||||
|
|
||||||
await _noneDicomStudyReposiotry.SaveChangesAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var list = _noneDicomStudyReposiotry.Where(t => t.SubjectId == subjectId)
|
var list = _noneDicomStudyReposiotry.Where(t => t.SubjectId == subjectId)
|
||||||
.WhereIf(inQuery.SubjectVisitId != null, t => t.SubjectVisitId == inQuery.SubjectVisitId)
|
.WhereIf(inQuery.SubjectVisitId != null, t => t.SubjectVisitId == inQuery.SubjectVisitId)
|
||||||
//.WhereIf(info.IsImageFilter, t => ("|" + info.CriterionModalitys + "|").Contains("|" + t.Modality + "|"))
|
//.WhereIf(info.IsImageFilter, t => ("|" + info.CriterionModalitys + "|").Contains("|" + t.Modality + "|"))
|
||||||
|
|
@ -1422,8 +1367,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
{
|
{
|
||||||
var subjectVisitIdList = list.Select(t => t.SourceSubjectVisitId).Distinct().ToList();
|
var subjectVisitIdList = list.Select(t => t.SourceSubjectVisitId).Distinct().ToList();
|
||||||
|
|
||||||
//var preDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)).SelectMany(t => t.TaskStudyList)
|
var preDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)).SelectMany(t => t.TaskStudyList)
|
||||||
// .ProjectTo<DicomStudyBasicInfo>(_mapper.ConfigurationProvider).ToList();
|
.ProjectTo<DicomStudyBasicInfo>(_mapper.ConfigurationProvider).ToList();
|
||||||
|
|
||||||
var preNoneDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id))
|
var preNoneDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id))
|
||||||
.SelectMany(t => t.NoneDicomStudyList)
|
.SelectMany(t => t.NoneDicomStudyList)
|
||||||
|
|
@ -1433,7 +1378,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
{
|
{
|
||||||
var dicomList = item.DicomStudyList.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true).ToList();
|
var dicomList = item.DicomStudyList.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true).ToList();
|
||||||
|
|
||||||
//dicomList.AddRange(preDicomStudyList.Where(t => t.SubjectVisitId == item.SourceSubjectVisitId).ToList());
|
dicomList.AddRange(preDicomStudyList.Where(t => t.SubjectVisitId == item.SourceSubjectVisitId).ToList());
|
||||||
|
|
||||||
item.DicomStudyList = dicomList;
|
item.DicomStudyList = dicomList;
|
||||||
|
|
||||||
|
|
@ -1530,7 +1475,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
{
|
{
|
||||||
var dirInfolist = _subjectRepository.Where(t => t.Id == inQuery.SubjectId).SelectMany(t => t.SubjectVisitList.Where(t => subjectVisitIdList.Contains(t.Id))).SelectMany(t => t.StudyList)
|
var dirInfolist = _subjectRepository.Where(t => t.Id == inQuery.SubjectId).SelectMany(t => t.SubjectVisitList.Where(t => subjectVisitIdList.Contains(t.Id))).SelectMany(t => t.StudyList)
|
||||||
.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
|
.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
|
||||||
.Where(t => info.IsImageFilter && inQuery.IsImageSegmentLabel == null ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
|
.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
|
||||||
.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true)
|
.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true)
|
||||||
.SelectMany(t => t.InstanceList.Where(t => t.IsReading && t.DicomSerie.IsReading))
|
.SelectMany(t => t.InstanceList.Where(t => t.IsReading && t.DicomSerie.IsReading))
|
||||||
.Select(t => new StudyDIRInfo()
|
.Select(t => new StudyDIRInfo()
|
||||||
|
|
@ -1657,7 +1602,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
VisitName = sv.VisitName,
|
VisitName = sv.VisitName,
|
||||||
TaskBlindName = leftVisitTask.TaskBlindName,
|
TaskBlindName = leftVisitTask.TaskBlindName,
|
||||||
StudyList = sv.StudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
|
StudyList = sv.StudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
|
||||||
.Where(t => info.IsImageFilter && inQuery.IsImageSegmentLabel == null ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
|
.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
|
||||||
.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true)
|
.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true)
|
||||||
.Select(u => new DownloadDicomStudyDto()
|
.Select(u => new DownloadDicomStudyDto()
|
||||||
{
|
{
|
||||||
|
|
@ -1682,35 +1627,35 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
}).ToList()
|
}).ToList()
|
||||||
}).ToList(),
|
}).ToList(),
|
||||||
|
|
||||||
//TaskStudyList =
|
TaskStudyList =
|
||||||
//sv.TaskStudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
|
sv.TaskStudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
|
||||||
////.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
|
//.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
|
||||||
//.Select(u => new DownloadDicomStudyDto()
|
.Select(u => new DownloadDicomStudyDto()
|
||||||
//{
|
{
|
||||||
// PatientId = u.PatientId,
|
PatientId = u.PatientId,
|
||||||
// StudyTime = u.StudyTime,
|
StudyTime = u.StudyTime,
|
||||||
// StudyCode = u.StudyCode,
|
StudyCode = u.StudyCode,
|
||||||
// StudyInstanceUid = u.StudyInstanceUid,
|
StudyInstanceUid = u.StudyInstanceUid,
|
||||||
// StudyDIRPath = u.StudyDIRPath,
|
StudyDIRPath = u.StudyDIRPath,
|
||||||
|
|
||||||
// SeriesList = u.SeriesList.Select(z => new DownloadDicomSeriesDto()
|
SeriesList = u.SeriesList.Select(z => new DownloadDicomSeriesDto()
|
||||||
// {
|
{
|
||||||
// Modality = z.Modality,
|
Modality = z.Modality,
|
||||||
|
|
||||||
// InstanceList = z.InstanceList.Select(k => new DownloadDicomInstanceDto()
|
InstanceList = z.InstanceList.Select(k => new DownloadDicomInstanceDto()
|
||||||
// {
|
{
|
||||||
// IsEncapsulated = k.IsEncapsulated,
|
IsEncapsulated = k.IsEncapsulated,
|
||||||
// InstanceId = k.Id,
|
InstanceId = k.Id,
|
||||||
// FileName = string.Empty,
|
FileName = string.Empty,
|
||||||
// Path = k.Path,
|
Path = k.Path,
|
||||||
// FileSize = k.FileSize
|
FileSize = k.FileSize
|
||||||
// }).ToList()
|
}).ToList()
|
||||||
// }).ToList()
|
}).ToList()
|
||||||
//}).ToList()
|
}).ToList()
|
||||||
//,
|
,
|
||||||
|
|
||||||
NoneDicomStudyList = inQuery.IsImageSegmentLabel != false ? sv.NoneDicomStudyList.Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false)
|
NoneDicomStudyList = inQuery.IsImageSegmentLabel != false ? sv.NoneDicomStudyList.Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false)
|
||||||
.Where(t => info.IsImageFilter && inQuery.IsImageSegmentLabel == null ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true)
|
.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true)
|
||||||
.Where(t => t.IsReading)
|
.Where(t => t.IsReading)
|
||||||
.Select(nd => new DownloadNoneDicomStudyDto()
|
.Select(nd => new DownloadNoneDicomStudyDto()
|
||||||
{
|
{
|
||||||
|
|
@ -1754,7 +1699,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
//靶段标注处理
|
//靶段标注处理
|
||||||
if (inQuery.IsImageSegmentLabel == false)
|
if (inQuery.IsImageSegmentLabel == false)
|
||||||
{
|
{
|
||||||
//result.StudyList.AddRange(result.TaskStudyList);
|
result.StudyList.AddRange(result.TaskStudyList);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var item in result.StudyList.SelectMany(t => t.SeriesList).SelectMany(t => t.InstanceList))
|
foreach (var item in result.StudyList.SelectMany(t => t.SeriesList).SelectMany(t => t.InstanceList))
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
// 生成时间 2021-12-06 10:54:55
|
// 生成时间 2021-12-06 10:54:55
|
||||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
using DocumentFormat.OpenXml.EMMA;
|
|
||||||
using IRaCIS.Core.Application.Filter;
|
using IRaCIS.Core.Application.Filter;
|
||||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||||
using IRaCIS.Core.Domain.Models;
|
using IRaCIS.Core.Domain.Models;
|
||||||
|
|
@ -97,16 +96,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var isFilterIVUSNoneDicom = false;
|
|
||||||
if (_subjectVisitRepository.Where(t => t.Id == subjectVisitId).SelectMany(t => t.Trial.TrialReadingCriterionList)
|
|
||||||
.Where(t => t.CriterionType == CriterionType.IVUS || t.CriterionType == CriterionType.OCT).Distinct().Count() == 2
|
|
||||||
)
|
|
||||||
{
|
|
||||||
isFilterIVUSNoneDicom = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
var list = await noneDicomStudyQueryable.Where(t => isFilterIVUSNoneDicom ? t.Modality != "IVUS" : true)
|
var list = await noneDicomStudyQueryable.OrderBy(x => x.ImageDate).ThenBy(x => x.CreateTime).ToListAsync();
|
||||||
.OrderBy(x => x.ImageDate).ThenBy(x => x.CreateTime).ToListAsync();
|
|
||||||
|
|
||||||
var config = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList, t.Trial.IsShowStudyName, AuditState = qcAuditState }).FirstOrDefaultAsync();
|
var config = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList, t.Trial.IsShowStudyName, AuditState = qcAuditState }).FirstOrDefaultAsync();
|
||||||
return ResponseOutput.Ok(list, config);
|
return ResponseOutput.Ok(list, config);
|
||||||
|
|
|
||||||
|
|
@ -305,18 +305,18 @@ namespace IRaCIS.Core.Application.Services
|
||||||
//预览靶段标注上传的影像
|
//预览靶段标注上传的影像
|
||||||
if (isImageSegmentLabel == true && isVisitTask)
|
if (isImageSegmentLabel == true && isVisitTask)
|
||||||
{
|
{
|
||||||
//var taskStudyList = await _taskStudyRepository.Where(t => t.SubjectVisitId == sujectVisitId)
|
var taskStudyList = await _taskStudyRepository.Where(t => t.SubjectVisitId == sujectVisitId)
|
||||||
// .WhereIf(isImageFilter, t => ("|" + criterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|"))
|
.WhereIf(isImageFilter, t => ("|" + criterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|"))
|
||||||
// .ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
.ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
//foreach (var study in taskStudyList)
|
foreach (var study in taskStudyList)
|
||||||
//{
|
{
|
||||||
// study.SeriesList = study.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).ToList();
|
study.SeriesList = study.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).ToList();
|
||||||
|
|
||||||
// study.InstanceCount = study.SeriesList.SelectMany(t => t.InstanceInfoList).Count();
|
study.InstanceCount = study.SeriesList.SelectMany(t => t.InstanceInfoList).Count();
|
||||||
//}
|
}
|
||||||
|
|
||||||
//studyList.AddRange(taskStudyList);
|
studyList.AddRange(taskStudyList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -515,7 +515,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
//是否有了后处理的NoneDicom检查
|
//是否有了后处理的NoneDicom检查
|
||||||
IsHaveTaskNoneDicomStudyFile = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.TaskNoneDicomFileList.Where(t => t.VisitTaskId == indto.VisitTaskId)).Any(),
|
IsHaveTaskNoneDicomStudyFile = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.TaskNoneDicomFileList.Where(t => t.VisitTaskId == indto.VisitTaskId)).Any(),
|
||||||
//是否有了标注的dicom检查
|
//是否有了标注的dicom检查
|
||||||
//IsMarkDicomStudy = t.SourceSubjectVisit.TaskStudyList.Any(),
|
IsMarkDicomStudy = t.SourceSubjectVisit.TaskStudyList.Any(),
|
||||||
//是否有了标注的NoneDicom检查
|
//是否有了标注的NoneDicom检查
|
||||||
IsMarkNoneDicomStudy = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.ImageLabelNoneDicomFileList).Any()
|
IsMarkNoneDicomStudy = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.ImageLabelNoneDicomFileList).Any()
|
||||||
|
|
||||||
|
|
@ -533,15 +533,19 @@ namespace IRaCIS.Core.Application.Services
|
||||||
.WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|"))
|
.WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|"))
|
||||||
.WhereIf(isManualGenerate, t => t.SubjectCriteriaEvaluationVisitStudyFilterList.Any(t => t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.IsConfirmed && t.IsReading))
|
.WhereIf(isManualGenerate, t => t.SubjectCriteriaEvaluationVisitStudyFilterList.Any(t => t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.IsConfirmed && t.IsReading))
|
||||||
//影像后处理 上传了新的影像 还要原始dsa
|
//影像后处理 上传了新的影像 还要原始dsa
|
||||||
.WhereIf(taskInfo.IsHaveTaskStudy && taskInfo.CriterionType == CriterionType.OCT,
|
.WhereIf(taskInfo.IsHaveTaskStudy
|
||||||
|
&& (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS),
|
||||||
t => t.ModalityForEdit == "XA")
|
t => t.ModalityForEdit == "XA")
|
||||||
|
|
||||||
.WhereIf(taskInfo.CriterionType == CriterionType.IVUS,
|
.WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy && taskInfo.CriterionType == CriterionType.IVUS,
|
||||||
t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "IVUS")
|
t => t.ModalityForEdit == "XA" )
|
||||||
|
|
||||||
.WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.CriterionType == CriterionType.OCT,
|
.WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy && taskInfo.CriterionType == CriterionType.OCT,
|
||||||
t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT")
|
t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT")
|
||||||
|
|
||||||
|
.WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy == false
|
||||||
|
&& (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS),
|
||||||
|
t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" || t.ModalityForEdit == "IVUS")
|
||||||
|
|
||||||
//其他 不应该看原始影像
|
//其他 不应该看原始影像
|
||||||
.WhereIf(taskInfo.IsHaveTaskStudy && (taskInfo.CriterionType != CriterionType.OCT && taskInfo.CriterionType != CriterionType.IVUS), t => false)
|
.WhereIf(taskInfo.IsHaveTaskStudy && (taskInfo.CriterionType != CriterionType.OCT && taskInfo.CriterionType != CriterionType.IVUS), t => false)
|
||||||
|
|
@ -607,12 +611,12 @@ namespace IRaCIS.Core.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
//影像后处理 上传了新的影像
|
//影像后处理 上传了新的影像
|
||||||
if (taskInfo.IsHaveTaskStudy /*|| taskInfo.IsMarkDicomStudy*/ || taskInfo.IsMarkNoneDicomStudy)
|
if (taskInfo.IsHaveTaskStudy || taskInfo.IsMarkDicomStudy || taskInfo.IsMarkNoneDicomStudy)
|
||||||
{
|
{
|
||||||
|
|
||||||
var taskStudyList = await _taskStudyRepository.Where(t => t.TrialId == indto.TrialId)
|
var taskStudyList = await _taskStudyRepository.Where(t => t.TrialId == indto.TrialId)
|
||||||
.WhereIf(taskInfo.IsHaveTaskStudy, t => t.VisitTaskId == indto.VisitTaskId)
|
.WhereIf(taskInfo.IsHaveTaskStudy, t => t.VisitTaskId == indto.VisitTaskId)
|
||||||
.WhereIf(taskInfo.IsHaveTaskStudy == false && (/*taskInfo.IsMarkDicomStudy ||*/ taskInfo.IsMarkNoneDicomStudy), t => t.SubjectVisitId == indto.SujectVisitId)
|
.WhereIf(taskInfo.IsHaveTaskStudy == false && (taskInfo.IsMarkDicomStudy || taskInfo.IsMarkNoneDicomStudy), t => t.SubjectVisitId == indto.SujectVisitId)
|
||||||
.WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|"))
|
.WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|"))
|
||||||
.ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
.ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue