|
|
|
@ -53,10 +53,10 @@ namespace IRaCIS.Core.Application.Service
|
|
|
|
[HttpPost]
|
|
|
|
[HttpPost]
|
|
|
|
public async Task<GetNoneDicomMarkListOutDto> GetNoneDicomMarkListOutDto(GetNoneDicomMarkListInDtoDto inDto)
|
|
|
|
public async Task<GetNoneDicomMarkListOutDto> GetNoneDicomMarkListOutDto(GetNoneDicomMarkListInDtoDto inDto)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var result= await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId)
|
|
|
|
var result = await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId)
|
|
|
|
|
|
|
|
|
|
|
|
.ProjectTo<AddNoneDicomMarkInDto>(_mapper.ConfigurationProvider)
|
|
|
|
.ProjectTo<AddNoneDicomMarkInDto>(_mapper.ConfigurationProvider)
|
|
|
|
.ToListAsync();
|
|
|
|
.ToListAsync();
|
|
|
|
|
|
|
|
|
|
|
|
return new GetNoneDicomMarkListOutDto()
|
|
|
|
return new GetNoneDicomMarkListOutDto()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -82,7 +82,7 @@ namespace IRaCIS.Core.Application.Service
|
|
|
|
/// <param name="inDto"></param>
|
|
|
|
/// <param name="inDto"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpPost]
|
|
|
|
[HttpPost]
|
|
|
|
[TrialGlobalLimit( "AfterStopCannNotOpt" )]
|
|
|
|
[TrialGlobalLimit("AfterStopCannNotOpt")]
|
|
|
|
public async Task<IResponseOutput> SaveVisitTaskQuestions(SubmitVisitTaskQuestionsInDto inDto)
|
|
|
|
public async Task<IResponseOutput> SaveVisitTaskQuestions(SubmitVisitTaskQuestionsInDto inDto)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
await VerifyTaskIsSign(inDto.VisitTaskId);
|
|
|
|
await VerifyTaskIsSign(inDto.VisitTaskId);
|
|
|
|
@ -135,29 +135,30 @@ namespace IRaCIS.Core.Application.Service
|
|
|
|
|
|
|
|
|
|
|
|
IQueryable<NoneDicomStudyView> noneDicomStudyQueryable = default;
|
|
|
|
IQueryable<NoneDicomStudyView> noneDicomStudyQueryable = default;
|
|
|
|
|
|
|
|
|
|
|
|
noneDicomStudyQueryable = _noneDicomStudyRepository
|
|
|
|
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.IsReading)
|
|
|
|
.Where(t => visitIds.Contains(t.SubjectVisitId) && t.NoneDicomFileList.Any(t => !t.FileType.Contains(StaticData.FileType.Zip)))
|
|
|
|
.Where(t => visitIds.Contains(t.SubjectVisitId) && t.NoneDicomFileList.Any(t => !t.FileType.Contains(StaticData.FileType.Zip)))
|
|
|
|
.WhereIf(taskinfo.IsImageFilter == true, t => taskinfo.CriterionModalitys.Contains(t.Modality))
|
|
|
|
.WhereIf(taskinfo.IsImageFilter == true, t => taskinfo.CriterionModalitys.Contains(t.Modality))
|
|
|
|
.ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = true });
|
|
|
|
.ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = true, isFilterReading = true });
|
|
|
|
|
|
|
|
|
|
|
|
if (inDto.VisistTaskId != null && _noneDicomStudyFileSystem.Any(t => t.VisitTaskId == inDto.VisistTaskId))
|
|
|
|
if (inDto.VisistTaskId != null && _noneDicomStudyFileSystem.Any(t => t.VisitTaskId == inDto.VisistTaskId))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.TaskNoneDicomFileList.Any(t => t.VisitTaskId == inDto.VisistTaskId))
|
|
|
|
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.IsReading)
|
|
|
|
|
|
|
|
.Where(t => t.TaskNoneDicomFileList.Any(t => t.VisitTaskId == inDto.VisistTaskId))
|
|
|
|
.Where(t => taskinfo.IsImageFilter ? ("|" + taskinfo.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true)
|
|
|
|
.Where(t => taskinfo.IsImageFilter ? ("|" + taskinfo.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true)
|
|
|
|
.Where(t => visitIds.Contains(t.SubjectVisitId))
|
|
|
|
.Where(t => visitIds.Contains(t.SubjectVisitId))
|
|
|
|
.ProjectTo<TaskDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = true, visiTaskId = inDto.VisistTaskId });
|
|
|
|
.ProjectTo<TaskDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = true, isFilterReading = true, visiTaskId = inDto.VisistTaskId });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
List<NoneDicomStudyView> result = await noneDicomStudyQueryable.OrderBy(x=>x.ImageDate).ThenBy(x=>x.CreateTime).ToListAsync();
|
|
|
|
List<NoneDicomStudyView> result = await noneDicomStudyQueryable.OrderBy(x => x.ImageDate).ThenBy(x => x.CreateTime).ToListAsync();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var nonoDicomStudyFileIds=await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == inDto.VisistTaskId).ToListAsync();
|
|
|
|
var nonoDicomStudyFileIds = await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == inDto.VisistTaskId).ToListAsync();
|
|
|
|
if (nonoDicomStudyFileIds.Count > 0&& taskinfo.ReadingTaskState== ReadingTaskState.HaveSigned)
|
|
|
|
if (nonoDicomStudyFileIds.Count > 0 && taskinfo.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var studyId = nonoDicomStudyFileIds.Select(x => x.StudyId).FirstOrDefault();
|
|
|
|
var studyId = nonoDicomStudyFileIds.Select(x => x.StudyId).FirstOrDefault();
|
|
|
|
|
|
|
|
|
|
|
|
var noneDicomids= nonoDicomStudyFileIds.Select(x=>x.NoneDicomFileId).ToList();
|
|
|
|
var noneDicomids = nonoDicomStudyFileIds.Select(x => x.NoneDicomFileId).ToList();
|
|
|
|
var noneDicomStudyViewMark =new NoneDicomStudyView() { Id = Guid.NewGuid() };
|
|
|
|
var noneDicomStudyViewMark = new NoneDicomStudyView() { Id = Guid.NewGuid() };
|
|
|
|
noneDicomStudyViewMark.IsCriticalSequence = true;
|
|
|
|
noneDicomStudyViewMark.IsCriticalSequence = true;
|
|
|
|
noneDicomStudyViewMark.NoneDicomStudyFileList = await _noneDicomStudyFileRepository.Where(x => noneDicomids.Contains(x.Id)).ProjectTo<NoneDicomStudyFileView>(_mapper.ConfigurationProvider).ToListAsync();
|
|
|
|
noneDicomStudyViewMark.NoneDicomStudyFileList = await _noneDicomStudyFileRepository.Where(x => noneDicomids.Contains(x.Id)).ProjectTo<NoneDicomStudyFileView>(_mapper.ConfigurationProvider).ToListAsync();
|
|
|
|
result.Insert(0, noneDicomStudyViewMark);
|
|
|
|
result.Insert(0, noneDicomStudyViewMark);
|
|
|
|
|