修改接口

Uat_Study
he 2022-04-21 13:01:50 +08:00
parent af983c6bce
commit 674f69cb69
2 changed files with 47 additions and 17 deletions

View File

@ -321,6 +321,9 @@ namespace IRaCIS.Core.Application.Contracts
public decimal VisitNum { get; set; } public decimal VisitNum { get; set; }
public string VisitName { get; set; } = string.Empty; public string VisitName { get; set; } = string.Empty;
public Guid SubjectId { get; set; }
public Guid SiteId { get; set; }
//public string Modality { get; set; } //public string Modality { get; set; }
public RequestBackStateEnum RequestBackState { get; set; } public RequestBackStateEnum RequestBackState { get; set; }

View File

@ -1480,15 +1480,7 @@ namespace IRaCIS.Core.Application.Image.QA
[TypeFilter(typeof(TrialResourceFilter))] [TypeFilter(typeof(TrialResourceFilter))]
public async Task<IResponseOutput> QCPassedOrFailed(Guid trialId, Guid subjectVisitId, [FromRoute] AuditStateEnum auditState) public async Task<IResponseOutput> QCPassedOrFailed(Guid trialId, Guid subjectVisitId, [FromRoute] AuditStateEnum auditState)
{ {
var DicomSeriesdatac = await _repository.GetQueryable<DicomSeries>().Where(x => x.SubjectVisitId == subjectVisitId).Select(x => new {
StudyCode = x.DicomStudy.StudyCode,
Modalities = x.DicomStudy.Modalities,
SeriesNumber = x.SeriesNumber,
InstanceCount = x.InstanceCount,
SeriesTime = x.SeriesTime,
IsReading = x.IsReading,
IsDeleted = x.IsDeleted,
}).ToListAsync();
if (!await _repository.AnyAsync<TrialUser>(t => t.TrialId == trialId && t.UserId == _userInfo.Id)) if (!await _repository.AnyAsync<TrialUser>(t => t.TrialId == trialId && t.UserId == _userInfo.Id))
{ {
@ -1631,20 +1623,55 @@ namespace IRaCIS.Core.Application.Image.QA
//删除 软删除的物理文件 //删除 软删除的物理文件
var instanceIdList = await _repository.Where<DicomInstance>(t => t.DicomSerie.IsDeleted && t.SubjectVisitId == subjectVisitId) 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(); .Select(t => new { InstanceId = t.Id, t.SeriesId, t.StudyId, t.SubjectId, t.SiteId }).ToListAsync();
List<DataInspection> datas = new List<DataInspection>(); List<DataInspection> datas = new List<DataInspection>();
var DicomSeriesdata = await _repository.GetQueryable<DicomSeries>().Where(x=>x.SubjectVisitId== subjectVisitId&&x.IsDeleted).Select(x => new { var DicomSeriesdata = await _repository.GetQueryable<DicomSeries>().Where(x => x.SubjectVisitId == subjectVisitId).Select(x => new {
StudyCode=x.DicomStudy.Code, StudyCode = x.DicomStudy.StudyCode,
Modalities = x.DicomStudy.Modalities, Modalities = x.DicomStudy.Modalities,
SeriesNumber = x.SeriesNumber, SeriesNumber = x.SeriesNumber,
InstanceCount = x.InstanceCount, InstanceCount = x.InstanceCount,
SeriesTime = x.SeriesTime, SeriesTime = x.SeriesTime,
TrialId=x.TrialId,
SiteId=x.SiteId,
x.SubjectId,
x.SubjectVisitId,
x.IsDeleted,
x.IsReading,
x.Id,
}).ToListAsync();
DateTime time = DateTime.Now.AddMilliseconds(500);
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 = "Delete|DICOM Series|Data|Visit-Image Quanlity Control",
JsonDetail = JsonConvert.SerializeObject(new
{
StudyCode = x.StudyCode,
Modalities = x.Modalities,
SeriesNumber = x.SeriesNumber,
InstanceCount = x.InstanceCount,
SeriesTime = x.SeriesTime,
IsReading=x.IsReading, IsReading=x.IsReading,
IsDeleted=x.IsDeleted, IsDeleted=x.IsDeleted,
}).ToListAsync();
})
});
});
await _inspectionService.AddListInspectionRecordAsync(datas);
instanceIdList.ForEach(t => 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()); var path = _dicomFileStoreHelper.GetInstanceFilePath(new DicomStudy() { Id = t.StudyId, SubjectId = t.SubjectId, TrialId = trialId, SiteId = t.SiteId, SubjectVisitId = subjectVisitId }, t.SeriesId, t.InstanceId.ToString());