修改一版
parent
aaeeff9b00
commit
fca6be727c
|
@ -369,7 +369,7 @@ namespace IRaCIS.Core.API.Controllers
|
||||||
|
|
||||||
|
|
||||||
var fun = await _qCOperationService.UploadVisitCheckExcel(file, opt.trialId);
|
var fun = await _qCOperationService.UploadVisitCheckExcel(file, opt.trialId);
|
||||||
return ResponseOutput.Ok();
|
return fun;
|
||||||
//var data = JsonConvert.DeserializeObject<DataInspectionAddDTO>(opt.AuditInfo);
|
//var data = JsonConvert.DeserializeObject<DataInspectionAddDTO>(opt.AuditInfo);
|
||||||
//return await _inspectionService.Enforcement(opt.trialId, data, null, null, fun);
|
//return await _inspectionService.Enforcement(opt.trialId, data, null, null, fun);
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,9 @@ namespace IRaCIS.Api.Controllers
|
||||||
public async Task<IResponseOutput> ArchiveStudy([FromForm] ArchiveStudyCommand archiveStudyCommand)
|
public async Task<IResponseOutput> ArchiveStudy([FromForm] ArchiveStudyCommand archiveStudyCommand)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
DataInspectionAddDTO data = JsonConvert.DeserializeObject<DataInspectionAddDTO>(archiveStudyCommand.AuditInfo);
|
||||||
|
|
||||||
|
data.CreateTime = DateTime.Now;
|
||||||
//Stopwatch sw = new Stopwatch();
|
//Stopwatch sw = new Stopwatch();
|
||||||
var startTime = DateTime.Now;
|
var startTime = DateTime.Now;
|
||||||
//sw.Start();
|
//sw.Start();
|
||||||
|
@ -213,10 +215,8 @@ namespace IRaCIS.Api.Controllers
|
||||||
return ResponseOutput.NotOk("未完成该检查的归档", archiveResult);
|
return ResponseOutput.NotOk("未完成该检查的归档", archiveResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
DataInspectionAddDTO data = JsonConvert.DeserializeObject<DataInspectionAddDTO>(archiveStudyCommand.AuditInfo);
|
|
||||||
data.GeneralId = archivedStudyIds[0];
|
|
||||||
data.CreateTime = DateTime.Now;
|
|
||||||
|
|
||||||
|
data.GeneralId = archivedStudyIds[0];
|
||||||
await _inspectionService.AddInspectionRecordAsync(data);
|
await _inspectionService.AddInspectionRecordAsync(data);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,8 @@ using IRaCIS.Core.Domain.Share;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using IRaCIS.Core.Application.Contracts;
|
using IRaCIS.Core.Application.Contracts;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using MassTransit;
|
||||||
|
|
||||||
namespace IRaCIS.Core.Application.Services
|
namespace IRaCIS.Core.Application.Services
|
||||||
{
|
{
|
||||||
|
@ -15,7 +17,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
private readonly IRepository<DicomStudy> _studyRepository;
|
private readonly IRepository<DicomStudy> _studyRepository;
|
||||||
private readonly IRepository<DicomSeries> _seriesRepository;
|
private readonly IRepository<DicomSeries> _seriesRepository;
|
||||||
private readonly IRepository<DicomInstance> _instanceRepository;
|
private readonly IRepository<DicomInstance> _instanceRepository;
|
||||||
|
private readonly IRepository<DataInspection> _inspectionService;
|
||||||
private readonly IEasyCachingProvider _provider;
|
private readonly IEasyCachingProvider _provider;
|
||||||
private readonly DicomFileStoreHelper _dicomFileStoreHelper;
|
private readonly DicomFileStoreHelper _dicomFileStoreHelper;
|
||||||
|
|
||||||
|
@ -26,6 +28,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
IRepository<DicomSeries> seriesRepository,
|
IRepository<DicomSeries> seriesRepository,
|
||||||
IRepository<DicomInstance> instanceRepository,
|
IRepository<DicomInstance> instanceRepository,
|
||||||
IHostEnvironment hostEnvironment,
|
IHostEnvironment hostEnvironment,
|
||||||
|
IRepository<DataInspection> inspectionService,
|
||||||
DicomFileStoreHelper dicomFileStoreHelper,
|
DicomFileStoreHelper dicomFileStoreHelper,
|
||||||
IEasyCachingProvider provider)
|
IEasyCachingProvider provider)
|
||||||
{
|
{
|
||||||
|
@ -36,7 +39,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
_seriesRepository = seriesRepository;
|
_seriesRepository = seriesRepository;
|
||||||
|
|
||||||
_instanceRepository = instanceRepository;
|
_instanceRepository = instanceRepository;
|
||||||
|
this._inspectionService = inspectionService;
|
||||||
_provider = provider;
|
_provider = provider;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -165,9 +168,91 @@ namespace IRaCIS.Core.Application.Services
|
||||||
DicomSeries dicomSeries = CreateDicomSeries(dataset, dicomStudy, out bool isSeriesNeedAdd);
|
DicomSeries dicomSeries = CreateDicomSeries(dataset, dicomStudy, out bool isSeriesNeedAdd);
|
||||||
DicomInstance dicomInstance = CreateDicomInstance(dataset, dicomStudy, dicomSeries);
|
DicomInstance dicomInstance = CreateDicomInstance(dataset, dicomStudy, dicomSeries);
|
||||||
|
|
||||||
if (isStudyNeedAdd) await _studyRepository.AddAsync(dicomStudy);
|
|
||||||
if (isSeriesNeedAdd) await _seriesRepository.AddAsync(dicomSeries);
|
List<DataInspection> datas = new List<DataInspection>();
|
||||||
await _instanceRepository.AddAsync(dicomInstance);
|
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1036,6 +1036,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
TrialId = x.TrialId,
|
TrialId = x.TrialId,
|
||||||
SubjectVisitId=x.SubjectVisitId,
|
SubjectVisitId=x.SubjectVisitId,
|
||||||
GeneralId=x.Id,
|
GeneralId=x.Id,
|
||||||
|
CreateTime=DateTime.Now,
|
||||||
Identification= "Delete|DICOM Study|Data|Visit-Image Upload",
|
Identification= "Delete|DICOM Study|Data|Visit-Image Upload",
|
||||||
JsonDetail = JsonConvert.SerializeObject(new
|
JsonDetail = JsonConvert.SerializeObject(new
|
||||||
{
|
{
|
||||||
|
@ -1051,10 +1052,10 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region will calls error wried
|
#region will calls error wried
|
||||||
//ids.ToList().ForEach(async id =>
|
//ids.ToList().ForEach(async id =>
|
||||||
|
@ -1064,11 +1065,53 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
// var success3 = await _repository.DeleteFromQueryAsync<DicomSeries>(t => t.StudyId == id);
|
// var success3 = await _repository.DeleteFromQueryAsync<DicomSeries>(t => t.StudyId == id);
|
||||||
//});
|
//});
|
||||||
#endregion
|
#endregion
|
||||||
|
var createtime = DateTime.Now.AddMilliseconds(200);
|
||||||
foreach (var id in ids)
|
foreach (var id in ids)
|
||||||
{
|
{
|
||||||
var success1 = await _repository.BatchDeleteAsync<DicomStudy>(t => t.Id == id);
|
var success1 = await _repository.BatchDeleteAsync<DicomStudy>(t => t.Id == id);
|
||||||
var succeess2 = await _repository.BatchDeleteAsync<DicomInstance>(t => t.StudyId == id);
|
var succeess2 = await _repository.BatchDeleteAsync<DicomInstance>(t => t.StudyId == id);
|
||||||
|
|
||||||
|
var DicomSeriess = await _repository.GetQueryable<DicomSeries>().Where(t => t.StudyId == id).Select(x => new {
|
||||||
|
x.StudyId,
|
||||||
|
x.SubjectId,
|
||||||
|
x.SiteId,
|
||||||
|
x.TrialId,
|
||||||
|
x.Id,
|
||||||
|
x.SubjectVisitId,
|
||||||
|
x.SeriesTime,
|
||||||
|
x.IsReading,
|
||||||
|
x.InstanceCount,
|
||||||
|
x.SeriesNumber,
|
||||||
|
StudyCode= x.DicomStudy.StudyCode,
|
||||||
|
Modalities=x.DicomStudy.Modalities,
|
||||||
|
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
|
DicomSeriess.ForEach(x =>
|
||||||
|
{
|
||||||
|
datas.Add(new DataInspection()
|
||||||
|
{
|
||||||
|
|
||||||
|
SiteId = x.SiteId,
|
||||||
|
SubjectId = x.SubjectId,
|
||||||
|
TrialId = x.TrialId,
|
||||||
|
GeneralId = x.Id,
|
||||||
|
SubjectVisitId = x.SubjectVisitId,
|
||||||
|
CreateTime = createtime,
|
||||||
|
Identification = "Delete|DICOM Series|Data|Visit-Image Upload",
|
||||||
|
JsonDetail = JsonConvert.SerializeObject(new
|
||||||
|
{
|
||||||
|
StudyCode = x.StudyCode,
|
||||||
|
Modalities = x.Modalities,
|
||||||
|
SeriesNumber = x.SeriesNumber,
|
||||||
|
InstanceCount = x.InstanceCount,
|
||||||
|
SeriesTime = x.SeriesTime,
|
||||||
|
IsReading = x.IsReading,
|
||||||
|
|
||||||
|
})
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
var success3 = await _repository.BatchDeleteAsync<DicomSeries>(t => t.StudyId == id);
|
var success3 = await _repository.BatchDeleteAsync<DicomSeries>(t => t.StudyId == id);
|
||||||
var success4 = await _repository.BatchDeleteAsync<StudyMonitor>(t => t.StudyId == id);
|
var success4 = await _repository.BatchDeleteAsync<StudyMonitor>(t => t.StudyId == id);
|
||||||
|
|
||||||
|
|
|
@ -479,12 +479,13 @@ namespace IRaCIS.Application.Services
|
||||||
CreateTime = createtime,
|
CreateTime = createtime,
|
||||||
SubjectVisitName = x.VisitName,
|
SubjectVisitName = x.VisitName,
|
||||||
TrialId = x.TrialId,
|
TrialId = x.TrialId,
|
||||||
|
Reason="确认访视修改状态",
|
||||||
JsonDetail = JsonConvert.SerializeObject(new {
|
JsonDetail = JsonConvert.SerializeObject(new {
|
||||||
|
|
||||||
IsBaseLine = changedItem.IsBaseLine,
|
IsBaseLine = changedItem.IsBaseLine,
|
||||||
VisitName = changedItem.VisitName,
|
VisitName = changedItem.VisitName,
|
||||||
VisitNum = changedItem.VisitNum,
|
VisitNum = changedItem.VisitNum,
|
||||||
VisitDay = changedItem.VisitDay,
|
VisitDay = changedItem.VisitDay,
|
||||||
|
SubmitState = "未提交",
|
||||||
VisitWindowLeft = changedItem.VisitWindowLeft,
|
VisitWindowLeft = changedItem.VisitWindowLeft,
|
||||||
VisitWindowRight = changedItem.VisitWindowRight
|
VisitWindowRight = changedItem.VisitWindowRight
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -149,6 +149,7 @@ namespace IRaCIS.Core.Infra.EFCore
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task AddListInspectionRecordAsync(List<DataInspection> datas)
|
public async Task AddListInspectionRecordAsync(List<DataInspection> datas)
|
||||||
{
|
{
|
||||||
|
|
||||||
//var trialIds= datas.Select(x=>x.TrialId).Distinct().ToList();
|
//var trialIds= datas.Select(x=>x.TrialId).Distinct().ToList();
|
||||||
//var subjectVisitIds= datas.Select(x=>x.SubjectVisitId).Distinct().ToList();
|
//var subjectVisitIds= datas.Select(x=>x.SubjectVisitId).Distinct().ToList();
|
||||||
//var subjectIds = datas.Select(x => x.SubjectId).Distinct().ToList();
|
//var subjectIds = datas.Select(x => x.SubjectId).Distinct().ToList();
|
||||||
|
|
Loading…
Reference in New Issue