生成任务修改

This commit is contained in:
2022-11-10 15:27:06 +08:00
parent 60de6190f1
commit 9f71ad86cb
11 changed files with 224 additions and 35 deletions
@@ -3,7 +3,6 @@ using Dicom.Imaging.Codec;
using EasyCaching.Core;
using IRaCIS.Core.Application.Contracts.Dicom;
using IRaCIS.Core.Domain.Share;
using Microsoft.Extensions.Hosting;
using System.Text;
using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Application.Helper;
@@ -17,7 +16,7 @@ namespace IRaCIS.Core.Application.Services
private readonly IRepository<DicomStudy> _studyRepository;
private readonly IRepository<DicomSeries> _seriesRepository;
private readonly IRepository<DicomInstance> _instanceRepository;
private readonly IRepository<DataInspection> _inspectionService;
private readonly IRepository<Dictionary> _dictionaryRepository;
private readonly IEasyCachingProvider _provider;
private readonly IWebHostEnvironment _hostEnvironment;
@@ -28,7 +27,7 @@ namespace IRaCIS.Core.Application.Services
IRepository<DicomSeries> seriesRepository,
IRepository<DicomInstance> instanceRepository,
IWebHostEnvironment hostEnvironment,
IRepository<DataInspection> inspectionService,
IRepository<Dictionary> dictionaryRepository,
IEasyCachingProvider provider)
{
_hostEnvironment = hostEnvironment;
@@ -37,7 +36,7 @@ namespace IRaCIS.Core.Application.Services
_seriesRepository = seriesRepository;
_instanceRepository = instanceRepository;
this._inspectionService = inspectionService;
_dictionaryRepository = dictionaryRepository;
_provider = provider;
}
@@ -173,7 +172,7 @@ namespace IRaCIS.Core.Application.Services
}
private DicomStudy CreateDicomStudy(DicomDataset dataset, DicomTrialSiteSubjectInfo addtionalInfo, out bool isStudyNeedAdd)
private DicomStudy CreateDicomStudy(DicomDataset dataset, DicomTrialSiteSubjectInfo addtionalInfo, out bool isStudyNeedAdd)
{
string studyInstanceUid = dataset.GetString(DicomTag.StudyInstanceUID);
@@ -199,13 +198,18 @@ namespace IRaCIS.Core.Application.Services
//dataset.GetSingleValue<string>(DicomTag.StudyDate) + dataset.GetSingleValue<string>(DicomTag.StudyTime)
var modality = dataset.GetSingleValueOrDefault(DicomTag.Modality, string.Empty);
var dicModalityList = _dictionaryRepository.Where(t => t.Code == "Modality").SelectMany(t => t.ChildList.Select(c => c.Value)).ToList();
dicomStudy = new DicomStudy
{
Id = studyId,
StudyInstanceUid = studyInstanceUid,
/* StudyTime = dataset.GetSingleValueOrDefault(DicomTag.StudyDate, DateTime.Now).Add(dataset.GetSingleValueOrDefault(DicomTag.StudyTime, DateTime.Now).TimeOfDay),*///dataset.GetDateTime(DicomTag.StudyDate, DicomTag.StudyTime),
StudyTime = dataset.GetSingleValueOrDefault(DicomTag.StudyDate,string.Empty)==string.Empty?null: dataset.GetSingleValue<DateTime>(DicomTag.StudyDate).Add(dataset.GetSingleValueOrDefault(DicomTag.StudyTime, string.Empty) == string.Empty ?TimeSpan.Zero: dataset.GetSingleValue<DateTime>(DicomTag.StudyTime).TimeOfDay) ,
Modalities = dataset.GetSingleValueOrDefault(DicomTag.Modality, string.Empty),
StudyTime = dataset.GetSingleValueOrDefault(DicomTag.StudyDate, string.Empty) == string.Empty ? null : dataset.GetSingleValue<DateTime>(DicomTag.StudyDate).Add(dataset.GetSingleValueOrDefault(DicomTag.StudyTime, string.Empty) == string.Empty ? TimeSpan.Zero : dataset.GetSingleValue<DateTime>(DicomTag.StudyTime).TimeOfDay),
Modalities = modality,
ModalityForEdit = dicModalityList.Contains(modality) ? modality : String.Empty,
Description = dataset.GetSingleValueOrDefault(DicomTag.StudyDescription, string.Empty),
InstitutionName = dataset.GetSingleValueOrDefault(DicomTag.InstitutionName, string.Empty),
PatientId = dataset.GetSingleValueOrDefault(DicomTag.PatientID, string.Empty),