Uat_Study
he 2022-04-21 10:38:52 +08:00
parent d98ccd9ebc
commit 5f9d0ba5dd
2 changed files with 63 additions and 5 deletions

View File

@ -369,9 +369,9 @@ namespace IRaCIS.Core.API.Controllers
var fun = await _qCOperationService.UploadVisitCheckExcel(file, opt.trialId);
var data = JsonConvert.DeserializeObject<DataInspectionAddDTO>(opt.AuditInfo);
return await _inspectionService.Enforcement(opt.trialId, data, null, null, fun);
return ResponseOutput.Ok();
//var data = JsonConvert.DeserializeObject<DataInspectionAddDTO>(opt.AuditInfo);
//return await _inspectionService.Enforcement(opt.trialId, data, null, null, fun);
}
#endregion

View File

@ -904,28 +904,84 @@ namespace IRaCIS.Core.Application.Image.QA
[TypeFilter(typeof(TrialResourceFilter))]
public async Task<IResponseOutput> UpdateModality(Guid id, int type, [FromQuery] string modality, [FromQuery] string bodyPart)
{
var DicomSeriesdata = await _repository.GetQueryable<DicomSeries>().Where(x=>x.StudyId==id).ToListAsync();
var study = await _repository.FirstOrDefaultAsync<DicomStudy>(t => t.Id == id);
List<DataInspection> datas = new List<DataInspection>();
DateTime time = DateTime.Now.AddMilliseconds(500);
if (type == 1)
{
var study = await _repository.FirstOrDefaultAsync<DicomStudy>(t => t.Id == id);
if (study == null) return Null404NotFound(study);
study.BodyPartForEdit = bodyPart;
study.Modalities = modality;
await _repository.BatchUpdateAsync<DicomSeries>(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<DicomSeries>(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<DicomInstance>(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());