This commit is contained in:
he
2025-02-25 14:07:25 +08:00
parent cc17816dae
commit 51f21805be
11 changed files with 19287 additions and 1 deletions
@@ -32,6 +32,8 @@ namespace IRaCIS.Core.Application.Service
IRepository<NoneDicomStudy> _noneDicomStudyRepository,
IRepository<VisitTask> _visitTaskRepository,
IRepository<Trial> _trialRepository,
IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository,
IRepository<ReadingNoneDicomMark> _readingNoneDicomMarkRepository,
IRepository<UserLog> _userLogRepository,
IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository,
IRepository<ReadingOncologyTaskInfo> _readingOncologyTaskInfoRepository,
@@ -1,6 +1,7 @@
using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Application.Filter;
using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Domain.Share;
using MassTransit;
using Microsoft.AspNetCore.Mvc;
@@ -31,6 +32,49 @@ namespace IRaCIS.Core.Application.Service
}
/// <summary>
/// 添加非Dicom标记
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> AddNoneDicomMark(AddNoneDicomMarkInDto inDto)
{
var entity = await _readingNoneDicomMarkRepository.InsertOrUpdateAsync(inDto, true);
return ResponseOutput.Ok(entity.Id);
}
/// <summary>
/// 获取非Dicom标记
/// </summary>
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<GetNoneDicomMarkListOutDto> GetNoneDicomMarkListOutDto(GetNoneDicomMarkListInDtoDto inDto)
{
var result= await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId)
.ProjectTo<AddNoneDicomMarkInDto>(_mapper.ConfigurationProvider)
.ToListAsync();
return new GetNoneDicomMarkListOutDto()
{
NoneDicomMarkList = result
};
}
/// <summary>
/// 删除非Dicom标记
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
public async Task<IResponseOutput> DeleteTrialFileType(Guid id)
{
var success = await _readingNoneDicomMarkRepository.DeleteFromQueryAsync(t => t.Id == id, true);
return ResponseOutput.Ok();
}
/// <summary>
/// 保存任务问题
/// </summary>
@@ -106,6 +150,20 @@ namespace IRaCIS.Core.Application.Service
List<NoneDicomStudyView> result = await noneDicomStudyQueryable.ToListAsync();
var nonoDicomStudyFileIds=await _readingNoneDicomMarkRepository.Where(x => x.VisitTaskId == inDto.VisistTaskId).ToListAsync();
if (nonoDicomStudyFileIds.Count > 0)
{
var studyId = nonoDicomStudyFileIds.Select(x => x.StudyId).FirstOrDefault();
var noneDicomids= nonoDicomStudyFileIds.Select(x=>x.NoneDicomFileId).ToList();
var noneDicomStudyViewMark =await _noneDicomStudyRepository.Where(x => x.Id == studyId).ProjectTo<TaskDicomStudyView>(_mapper.ConfigurationProvider).FirstNotNullAsync();
noneDicomStudyViewMark.IsCriticalSequence = true;
noneDicomStudyViewMark.NoneDicomStudyFileList = await _noneDicomStudyFileRepository.Where(x => noneDicomids.Contains(x.Id)).ProjectTo<NoneDicomStudyFileView>(_mapper.ConfigurationProvider).ToListAsync();
result.Insert(0, noneDicomStudyViewMark);
}
var trialInfo = await _trialRepository.Where(x => x.Id == inDto.TrialId).Select(x => new
{
x.ClinicalInformationTransmissionEnum,