From 5f9d0ba5dd741c4df432816c8fee981e1a1faa93 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Thu, 21 Apr 2022 10:38:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/InspectionController.cs | 6 +- .../Service/QC/QCOperationService.cs | 62 ++++++++++++++++++- 2 files changed, 63 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs index f1649b380..e90993b63 100644 --- a/IRaCIS.Core.API/Controllers/InspectionController.cs +++ b/IRaCIS.Core.API/Controllers/InspectionController.cs @@ -369,9 +369,9 @@ namespace IRaCIS.Core.API.Controllers var fun = await _qCOperationService.UploadVisitCheckExcel(file, opt.trialId); - - var data = JsonConvert.DeserializeObject(opt.AuditInfo); - return await _inspectionService.Enforcement(opt.trialId, data, null, null, fun); + return ResponseOutput.Ok(); + //var data = JsonConvert.DeserializeObject(opt.AuditInfo); + //return await _inspectionService.Enforcement(opt.trialId, data, null, null, fun); } #endregion diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 5ce408d0f..857580353 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -904,28 +904,84 @@ namespace IRaCIS.Core.Application.Image.QA [TypeFilter(typeof(TrialResourceFilter))] public async Task UpdateModality(Guid id, int type, [FromQuery] string modality, [FromQuery] string bodyPart) { + + var DicomSeriesdata = await _repository.GetQueryable().Where(x=>x.StudyId==id).ToListAsync(); + var study = await _repository.FirstOrDefaultAsync(t => t.Id == id); + List datas = new List(); + DateTime time = DateTime.Now.AddMilliseconds(500); if (type == 1) { - var study = await _repository.FirstOrDefaultAsync(t => t.Id == id); + if (study == null) return Null404NotFound(study); study.BodyPartForEdit = bodyPart; study.Modalities = modality; await _repository.BatchUpdateAsync(t => t.StudyId == id, r => new DicomSeries() { BodyPartForEdit = bodyPart, Modality = modality }); + DicomSeriesdata.ForEach(x => + { + datas.Add(new DataInspection() + { + TrialId = x.TrialId, + SiteId = x.SiteId, + SubjectId = x.SubjectId, + SubjectVisitId = x.SubjectVisitId, + GeneralId = x.Id, + CreateTime = time, + Identification = "Edit|DICOM Series|Info|Visit-Image Quanlity Control", + JsonDetail = JsonConvert.SerializeObject(new + { + StudyCode = study.StudyCode, + Modalities = study.Modalities, + SeriesNumber = x.SeriesNumber, + InstanceCount = x.InstanceCount, + SeriesTime = x.SeriesTime, + BodyPartForEdit = bodyPart, + Modality = modality + }) + + }); + + }); + } else if (type == 2) { var series = await _repository.FirstOrDefaultAsync(t => t.Id == id); if (series == null) return Null404NotFound(series); series.BodyPartForEdit = bodyPart; + + DicomSeriesdata.ForEach(x => + { + datas.Add(new DataInspection() + { + TrialId = x.TrialId, + SiteId = x.SiteId, + SubjectId = x.SubjectId, + SubjectVisitId = x.SubjectVisitId, + GeneralId = x.Id, + CreateTime = time, + Identification = "Edit|DICOM Series|Info|Visit-Image Quanlity Control", + JsonDetail = JsonConvert.SerializeObject(new + { + StudyCode = study.StudyCode, + Modalities = study.Modalities, + SeriesNumber = x.SeriesNumber, + InstanceCount = x.InstanceCount, + SeriesTime = x.SeriesTime, + BodyPartForEdit = bodyPart, + }) + + }); + + }); } else if (type == 3) { } await _repository.SaveChangesAsync(); - + await _trialRepository.AddListInspectionRecordAsync(datas); return ResponseOutput.Ok(); } @@ -1569,6 +1625,8 @@ namespace IRaCIS.Core.Application.Image.QA var instanceIdList = await _repository.Where(t => t.DicomSerie.IsDeleted && t.SubjectVisitId == subjectVisitId) .Select(t => new { InstanceId = t.Id, t.SeriesId, t.StudyId, t.SubjectId, t.SiteId }).ToListAsync(); + + instanceIdList.ForEach(t => { var path = _dicomFileStoreHelper.GetInstanceFilePath(new DicomStudy() { Id = t.StudyId, SubjectId = t.SubjectId, TrialId = trialId, SiteId = t.SiteId, SubjectVisitId = subjectVisitId }, t.SeriesId, t.InstanceId.ToString());