Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

IRC_NewDev
he 2024-09-06 13:05:03 +08:00
commit 9d01b557ce
6 changed files with 58 additions and 19 deletions

View File

@ -356,7 +356,12 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
if (studyMonitor.IsDicomReUpload == false) if (studyMonitor.IsDicomReUpload == false)
{ {
//目前不考虑重传的问题,后面的直接覆盖前面的,全部删除 //目前不考虑重传的问题,后面的直接覆盖前面的,全部删除
if(_taskStudyRepository.Any(t=>t.VisitTaskId==visiTaskId && t.StudyInstanceUid == incommand.Study.StudyInstanceUid))
{
await _taskStudyRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visiTaskId);
await _taskSeriesRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visiTaskId);
await _taskInstanceRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visiTaskId);
}
var study = _mapper.Map<TaskStudy>(incommand.Study); var study = _mapper.Map<TaskStudy>(incommand.Study);
@ -542,15 +547,24 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
[HttpDelete] [HttpDelete]
public async Task<IResponseOutput> DeleteTaskStudy(Guid visitTaskId, bool isDicom, Guid? noneDicomStudyId) public async Task<IResponseOutput> DeleteTaskStudy(Guid visitTaskId, bool isDicom, Guid? dicomStudyId, Guid? noneDicomStudyId)
{ {
if (isDicom) if (isDicom)
{
if (dicomStudyId == null)
{ {
await _taskStudyRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId); await _taskStudyRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId);
await _taskSeriesRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId); await _taskSeriesRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId);
await _taskInstanceRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId); await _taskInstanceRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId);
} }
else else
{
await _taskStudyRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.Id== dicomStudyId);
await _taskSeriesRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.Id== dicomStudyId);
await _taskInstanceRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.Id == dicomStudyId);
}
}
else
{ {
await _noneDicomStudyFileReposiotry.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.NoneDicomStudyId == noneDicomStudyId); await _noneDicomStudyFileReposiotry.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.NoneDicomStudyId == noneDicomStudyId);
} }
@ -628,6 +642,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
} }
/// <summary> /// <summary>
/// IQC 获取CRC 上传到某一个访视的的检查信息 (原始影像信息 包含dicom 非dicom) /// IQC 获取CRC 上传到某一个访视的的检查信息 (原始影像信息 包含dicom 非dicom)
/// </summary> /// </summary>

View File

@ -28,12 +28,27 @@ namespace IRaCIS.Core.Application.Contracts
[HttpGet] [HttpGet]
public async Task<List<NoneDicomStudyView>> GetNoneDicomStudyList([FromQuery, NotDefault] Guid subjectVisitId, [FromQuery] Guid? nonedicomStudyId, [FromQuery] bool isFilterZip) public async Task<List<NoneDicomStudyView>> GetNoneDicomStudyList(
[FromQuery, NotDefault] Guid subjectVisitId,
[FromQuery] Guid? nonedicomStudyId,
[FromQuery] bool isFilterZip,
[FromQuery] Guid? visiTaskId)
{ {
var noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId).WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId) IQueryable<NoneDicomStudyView> noneDicomStudyQueryable = default;
if (visiTaskId == null)
{
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId).WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId)
.ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip}); .ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip});
}
else
{
noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.TaskNoneDicomFileList.Any(t => t.VisitTaskId == visiTaskId))
.WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId)
.ProjectTo<TaskDicomStudyView>(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip, visiTaskId = visiTaskId });
}
return await noneDicomStudyQueryable.ToListAsync(); return await noneDicomStudyQueryable.ToListAsync();
} }

View File

@ -22,7 +22,6 @@ namespace IRaCIS.Core.Application.Contracts
public string FileType { get; set; } public string FileType { get; set; }
//public string PreviewPath => "/Common/LocalFilePreview?relativePath=" + Path;
} }

View File

@ -17,7 +17,11 @@ namespace IRaCIS.Core.Application.Contracts
public List<NoneDicomStudyFileView> NoneDicomStudyFileList { get; set; } = new List<NoneDicomStudyFileView>(); public List<NoneDicomStudyFileView> NoneDicomStudyFileList { get; set; } = new List<NoneDicomStudyFileView>();
//public List<string> NoneDicomStudyFilePreviewList => NoneDicomStudyFileList.Select(t=> t.PreviewPath).ToList();
}
public class TaskDicomStudyView: NoneDicomStudyView
{
} }

View File

@ -16,7 +16,7 @@ namespace IRaCIS.Core.Application.Contracts
Task<IResponseOutput> DeleteNoneDicomStudy(Guid noneDicomStudyId, Guid subjectVisitId); Task<IResponseOutput> DeleteNoneDicomStudy(Guid noneDicomStudyId, Guid subjectVisitId);
Task<IResponseOutput> DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId, Guid subjectVisitId); Task<IResponseOutput> DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId, Guid subjectVisitId);
Task<List<NoneDicomStudyFileView>> GetNoneDicomStudyFileList(Guid noneDicomStudyId); Task<List<NoneDicomStudyFileView>> GetNoneDicomStudyFileList(Guid noneDicomStudyId);
Task<List<NoneDicomStudyView>> GetNoneDicomStudyList(Guid subjectVisitId, Guid? sujectVisitId = null, bool isFilterZip=false); //Task<List<NoneDicomStudyView>> GetNoneDicomStudyList(Guid subjectVisitId, Guid? sujectVisitId = null, bool isFilterZip=false);
Task<List<NoneDicomStudyFileView>> GetVisitNoneDicomStudyFileList(Guid subjectVisitId); Task<List<NoneDicomStudyFileView>> GetVisitNoneDicomStudyFileList(Guid subjectVisitId);
//Task<IResponseOutput> UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId); //Task<IResponseOutput> UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId);

View File

@ -289,6 +289,7 @@ namespace IRaCIS.Core.Application.Service
bool isFilterZip = false; bool isFilterZip = false;
string token = string.Empty; string token = string.Empty;
//一致性核查 //一致性核查
CreateMap<CheckDBModel, CheckViewModel>(); CreateMap<CheckDBModel, CheckViewModel>();
@ -593,10 +594,14 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path)); .ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path));
CreateMap<NoneDicomStudy, NoneDicomStudyView>() CreateMap<NoneDicomStudy, NoneDicomStudyView>()
//.ForMember(d => d.FileCount, u => u.MapFrom(s => s.NoneDicomFileList.Count))
.ForMember(d => d.NoneDicomStudyFileList, u => u.MapFrom(s => isFilterZip ? s.NoneDicomFileList.Where(t => !t.FileType.Contains(StaticData.FileType.Zip)) : s.NoneDicomFileList)) .ForMember(d => d.NoneDicomStudyFileList, u => u.MapFrom(s => isFilterZip ? s.NoneDicomFileList.Where(t => !t.FileType.Contains(StaticData.FileType.Zip)) : s.NoneDicomFileList))
.ForMember(d => d.CodeView, u => u.MapFrom(s => s.StudyCode)); .ForMember(d => d.CodeView, u => u.MapFrom(s => s.StudyCode));
Guid? visiTaskId = null;
CreateMap<NoneDicomStudy, TaskDicomStudyView>()
.ForMember(d => d.NoneDicomStudyFileList, u => u.MapFrom(s => isFilterZip ? s.TaskNoneDicomFileList.WhereIf(visiTaskId!=null,t=>t.VisitTaskId==visiTaskId)
.Where(t => !t.FileType.Contains(StaticData.FileType.Zip)) : s.TaskNoneDicomFileList.WhereIf(visiTaskId != null, t => t.VisitTaskId == visiTaskId)))
.ForMember(d => d.CodeView, u => u.MapFrom(s => s.StudyCode));
} }
} }