修改一版

This commit is contained in:
he
2022-04-21 14:57:23 +08:00
parent aaeeff9b00
commit fca6be727c
6 changed files with 145 additions and 15 deletions
@@ -7,6 +7,8 @@ using IRaCIS.Core.Domain.Share;
using Microsoft.Extensions.Hosting;
using System.Text;
using IRaCIS.Core.Application.Contracts;
using Newtonsoft.Json;
using MassTransit;
namespace IRaCIS.Core.Application.Services
{
@@ -15,7 +17,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 IEasyCachingProvider _provider;
private readonly DicomFileStoreHelper _dicomFileStoreHelper;
@@ -26,6 +28,7 @@ namespace IRaCIS.Core.Application.Services
IRepository<DicomSeries> seriesRepository,
IRepository<DicomInstance> instanceRepository,
IHostEnvironment hostEnvironment,
IRepository<DataInspection> inspectionService,
DicomFileStoreHelper dicomFileStoreHelper,
IEasyCachingProvider provider)
{
@@ -36,7 +39,7 @@ namespace IRaCIS.Core.Application.Services
_seriesRepository = seriesRepository;
_instanceRepository = instanceRepository;
this._inspectionService = inspectionService;
_provider = provider;
}
@@ -165,9 +168,91 @@ namespace IRaCIS.Core.Application.Services
DicomSeries dicomSeries = CreateDicomSeries(dataset, dicomStudy, out bool isSeriesNeedAdd);
DicomInstance dicomInstance = CreateDicomInstance(dataset, dicomStudy, dicomSeries);
if (isStudyNeedAdd) await _studyRepository.AddAsync(dicomStudy);
if (isSeriesNeedAdd) await _seriesRepository.AddAsync(dicomSeries);
await _instanceRepository.AddAsync(dicomInstance);
List<DataInspection> datas = new List<DataInspection>();
var createtime=DateTime.Now;
if (isStudyNeedAdd)
{
//dicomStudy.Id = NewId.NextGuid();
//datas.Add(new DataInspection()
//{
// SiteId = dicomStudy.SiteId,
// SubjectId = dicomStudy.SubjectId,
// TrialId = dicomStudy.TrialId,
// SubjectVisitId = dicomStudy.SubjectVisitId,
// CreateTime = createtime,
// GeneralId= dicomStudy.Id,
// Identification = "Edit|Visit|Status|Visit-Image Upload|Add Image",
// JsonDetail = JsonConvert.SerializeObject(new
// {
// SubmitState = "待提交",
// })
//});
// 添加检查
await _studyRepository.AddAsync(dicomStudy);
}
if (isSeriesNeedAdd) {
// 添加序列
dicomSeries.Id = NewId.NextGuid();
datas.Add(new DataInspection()
{
SiteId = dicomStudy.SiteId,
SubjectId = dicomStudy.SubjectId,
TrialId = dicomStudy.TrialId,
GeneralId= dicomSeries.Id,
SubjectVisitId = dicomStudy.SubjectVisitId,
CreateTime = createtime.AddMilliseconds(10),
Identification = "Add|DICOM Series|Info|Visit-Image Upload",
JsonDetail = JsonConvert.SerializeObject(new
{
StudyCode=dicomStudy.StudyCode,
Modalities = dicomStudy.Modalities,
SeriesNumber= dicomSeries.SeriesNumber,
InstanceCount=dicomSeries.InstanceCount,
SeriesTime= dicomSeries.SeriesTime,
})
});
datas.Add(new DataInspection()
{
SiteId = dicomStudy.SiteId,
SubjectId = dicomStudy.SubjectId,
TrialId = dicomStudy.TrialId,
GeneralId = dicomSeries.Id,
SubjectVisitId = dicomStudy.SubjectVisitId,
CreateTime = createtime.AddMilliseconds(510),
Identification = "Init|DICOM Series|Status|Visit-Image Upload",
JsonDetail = JsonConvert.SerializeObject(new
{
StudyCode = dicomStudy.StudyCode,
Modalities = dicomStudy.Modalities,
SeriesNumber = dicomSeries.SeriesNumber,
InstanceCount = dicomSeries.InstanceCount,
SeriesTime = dicomSeries.SeriesTime,
IsReading= dicomSeries.IsReading,
})
});
await _seriesRepository.AddAsync(dicomSeries);
}
await _inspectionService.AddListInspectionRecordAsync(datas);
await _instanceRepository.AddAsync(dicomInstance);