修改IR 页面设置 软删除和不读片
parent
57617d9cf5
commit
83e6226c22
|
@ -7179,10 +7179,9 @@
|
|||
<param name="tpCode"></param>
|
||||
<param name="key"></param>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Services.SeriesService.List(System.Guid,System.String)">
|
||||
<member name="M:IRaCIS.Core.Application.Services.SeriesService.List(System.Guid)">
|
||||
<summary> 指定资源Id,获取Dicom检查所属序列信息列表 </summary>
|
||||
<param name="studyId"> Dicom检查的Id </param>
|
||||
<param name="tpCode"></param>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Services.SeriesService.Preview(System.Guid)">
|
||||
<summary> 指定资源Id,渲染Dicom序列的Jpeg预览图像 </summary>
|
||||
|
|
|
@ -24,10 +24,9 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
public string Path { get; set; }
|
||||
|
||||
//public Guid CreateUserId { get; set; }
|
||||
//public DateTime CreateTime { get; set; }
|
||||
//public Guid UpdateUserId { get; set; }
|
||||
//public DateTime UpdateTime { get; set; }
|
||||
|
||||
public bool IsDeleted { get; set; }
|
||||
public bool IsReading { get; set; } = true;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,9 @@
|
|||
public Guid UpdateUserId { get; set; }
|
||||
public DateTime UpdateTime { get; set; }
|
||||
|
||||
public bool IsDeleted { get; set; }
|
||||
public bool IsReading { get; set; } = true;
|
||||
|
||||
public List<Guid> InstanceList { get; set; } = new List<Guid>();
|
||||
|
||||
public List<string> InstancePathList { get; set; } = new List<string>();
|
||||
|
|
|
@ -30,14 +30,13 @@ namespace IRaCIS.Core.Application.Services
|
|||
//医生读片那一块有耦合,关键序列 这里暂时留存
|
||||
/// <summary> 指定资源Id,获取Dicom检查所属序列信息列表 </summary>
|
||||
/// <param name="studyId"> Dicom检查的Id </param>
|
||||
/// <param name="tpCode"></param>
|
||||
[HttpGet, Route("{studyId:guid}/{tpCode?}")]
|
||||
public async Task<IResponseOutput<List<DicomSeriesWithLabelDTO>>> List(Guid studyId, string? tpCode)
|
||||
[HttpGet, Route("{studyId:guid}")]
|
||||
public async Task<IResponseOutput<List<DicomSeriesDTO>>> List(Guid studyId)
|
||||
{
|
||||
|
||||
var seriesList = await _seriesRepository.Where(s => s.StudyId == studyId).OrderBy(s => s.SeriesNumber).
|
||||
ThenBy(s => s.SeriesTime).ThenBy(s => s.CreateTime)
|
||||
.ProjectTo<DicomSeriesWithLabelDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
.ProjectTo<DicomSeriesDTO>(_mapper.ConfigurationProvider).ToListAsync();
|
||||
|
||||
var idList = await _instanceRepository.Where(s => s.StudyId == studyId).OrderBy(t => t.SeriesId).ThenBy(t => t.InstanceNumber)
|
||||
.ThenBy(s => s.InstanceTime).ThenBy(s => s.CreateTime)
|
||||
|
|
|
@ -58,7 +58,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
CreateMap<DicomStudy, QAStudyInfoDTO>()
|
||||
.ForMember(o => o.UploadedTime, t => t.MapFrom(u => u.CreateTime))
|
||||
.ForMember(o => o.Uploader, t => t.MapFrom(u => u.Uploader.LastName + " / " + u.Uploader.FirstName))
|
||||
.ForMember(o => o.StudyId, t => t.MapFrom(u => u.Id));
|
||||
.ForMember(o => o.StudyId, t => t.MapFrom(u => u.Id)
|
||||
|
||||
|
||||
|
||||
|
@ -74,7 +74,9 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
CreateMap<StudyStatusDetail, StudyStatusDetailDTO>();
|
||||
|
||||
CreateMap<DicomInstance, DicomInstanceDTO>();
|
||||
CreateMap<DicomInstance, DicomInstanceDTO>()
|
||||
.ForMember(o => o.IsDeleted, t => t.MapFrom(u => u.DicomSerie.IsDeleted))
|
||||
.ForMember(o => o.IsReading, t => t.MapFrom(u => u.DicomSerie.IsReading));
|
||||
CreateMap<DicomStudy, DicomStudyDTO>();
|
||||
CreateMap<DicomSeries, DicomSeriesDTO>();
|
||||
|
||||
|
|
|
@ -404,7 +404,6 @@ namespace IRaCIS.Core.Application.Contracts.DTO
|
|||
|
||||
public string BodyPartForEdit { get; set; } = String.Empty;
|
||||
|
||||
|
||||
public string SeriesInstanceUid { get; set; } = String.Empty;
|
||||
public int SeriesNumber { get; set; }
|
||||
public DateTime? SeriesTime { get; set; }
|
||||
|
|
|
@ -1348,8 +1348,8 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
|
||||
//删除 软删除的物理文件
|
||||
var instanceIdList = await _repository.Where<DicomInstance>(t => t.DicomSerie.IsDeleted && t.SubjectVisitId == subjectVisitId)
|
||||
.Select(t => new { InstanceId = t.Id, t.SeriesId, t.StudyId, t.SubjectId, t.SiteId }).ToListAsync();
|
||||
var instancePathList = await _repository.Where<DicomInstance>(t => t.DicomSerie.IsDeleted && t.SubjectVisitId == subjectVisitId)
|
||||
.Select(t => t.Path).ToListAsync();
|
||||
|
||||
//维护统一状态
|
||||
dbSubjectVisit.ReadingStatus = ReadingStatusEnum.ConsistencyCheck;
|
||||
|
@ -1385,12 +1385,15 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
dbSubjectVisit.ReadingStatus = trialConfig.IsImageConsistencyVerification ? ReadingStatusEnum.ConsistencyCheck : ReadingStatusEnum.TaskAllocate;
|
||||
|
||||
//删除影像
|
||||
instanceIdList.ForEach(t =>
|
||||
instancePathList.ForEach(path =>
|
||||
{
|
||||
var dicomStudy = new DicomStudy() { Id = t.StudyId, SubjectId = t.SubjectId, TrialId = trialId, SiteId = t.SiteId, SubjectVisitId = subjectVisitId };
|
||||
var (physicalPath, relativePath) =
|
||||
|
||||
FileStoreHelper.GetDicomInstanceFilePath(_hostEnvironment, dicomStudy.TrialId, dicomStudy.SiteId, dicomStudy.SubjectId, dicomStudy.SubjectVisitId, dicomStudy.Id, t.InstanceId);
|
||||
var physicalPath = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment, path);
|
||||
|
||||
//var dicomStudy = new DicomStudy() { Id = t.StudyId, SubjectId = t.SubjectId, TrialId = trialId, SiteId = t.SiteId, SubjectVisitId = subjectVisitId };
|
||||
//var (physicalPath, relativePath) =
|
||||
|
||||
// FileStoreHelper.GetDicomInstanceFilePath(_hostEnvironment, dicomStudy.TrialId, dicomStudy.SiteId, dicomStudy.SubjectId, dicomStudy.SubjectVisitId, dicomStudy.Id, t.InstanceId);
|
||||
|
||||
if (System.IO.File.Exists(physicalPath))
|
||||
{
|
||||
|
@ -1448,12 +1451,10 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
dbSubjectVisit.ReadingStatus = trialConfig.IsImageConsistencyVerification ? ReadingStatusEnum.ConsistencyCheck : ReadingStatusEnum.TaskAllocate;
|
||||
|
||||
//删除影像
|
||||
instanceIdList.ForEach(t =>
|
||||
instancePathList.ForEach(path =>
|
||||
{
|
||||
var dicomStudy = new DicomStudy() { Id = t.StudyId, SubjectId = t.SubjectId, TrialId = trialId, SiteId = t.SiteId, SubjectVisitId = subjectVisitId };
|
||||
var(physicalPath, relativePath) =
|
||||
|
||||
FileStoreHelper.GetDicomInstanceFilePath(_hostEnvironment, dicomStudy.TrialId, dicomStudy.SiteId, dicomStudy.SubjectId, dicomStudy.SubjectVisitId, dicomStudy.Id, t.InstanceId);
|
||||
var physicalPath = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment, path);
|
||||
|
||||
if (System.IO.File.Exists(physicalPath))
|
||||
{
|
||||
|
|
|
@ -56,11 +56,10 @@ namespace IRaCIS.Core.Domain.Models
|
|||
public Guid UpdateUserId { get; set; }
|
||||
public DateTime UpdateTime { get; set; } = DateTime.Now;
|
||||
|
||||
public bool IsDeleted {get;set;}
|
||||
public DateTime? DeletedTime { get; set; }
|
||||
|
||||
public Guid? DeleteUserId { get; set; }
|
||||
|
||||
public bool IsDeleted {get;set;}
|
||||
public bool IsReading { get; set; } = true;
|
||||
|
||||
public string BodyPartForEdit { get; set; } = string.Empty;
|
||||
|
|
Loading…
Reference in New Issue