修改后处理上传统计instance数量 和series数量
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
hang 2025-09-09 09:04:43 +08:00
parent 2e3c209de2
commit 270941431d
1 changed files with 28 additions and 16 deletions

View File

@ -471,7 +471,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
}
study.Id = IdentifierHelper.CreateGuid(incommand.Study.StudyInstanceUid, incommand.TrialId.ToString(), visiTaskId.ToString());
study.Id = studyId;
study.TrialId = incommand.TrialId;
study.SubjectId = incommand.SubjectId;
study.VisitTaskId = visiTaskId;
@ -568,29 +568,41 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
//新的序列 那么 检查的序列数量+1
findStudy.SeriesCount += 1;
}
else
{
//该序列掉了instance
dicomSeries.InstanceCount += seriesItem.InstanceList.Count;
}
//else
//{
// //该序列掉了instance
// dicomSeries.InstanceCount += seriesItem.InstanceList.Count;
//}
//找到该序列已经存在的instanceId
var existInstanceIdList = _taskInstanceRepository.Where(t => t.SeriesId == dicomSeries.Id).Select(t => t.Id).ToList();
foreach (var instanceItem in seriesItem.InstanceList)
{
var insntance = _mapper.Map<TaskInstance>(instanceItem);
insntance.Id = IdentifierHelper.CreateGuid(insntance.StudyInstanceUid, insntance.SeriesInstanceUid, insntance.SopInstanceUid, trialId.ToString(), visiTaskId.ToString());
insntance.StudyId = findStudy.Id;
insntance.SeriesId = dicomSeries.Id;
insntance.TrialId = incommand.TrialId;
insntance.SubjectId = incommand.SubjectId;
insntance.VisitTaskId = visiTaskId;
var instanceId = IdentifierHelper.CreateGuid(insntance.StudyInstanceUid, insntance.SeriesInstanceUid, insntance.SopInstanceUid, trialId.ToString(), visiTaskId.ToString());
if (!existInstanceIdList.Any(t => t == instanceId))
{
insntance.Id = instanceId;
insntance.StudyId = findStudy.Id;
insntance.SeriesId = dicomSeries.Id;
insntance.TrialId = incommand.TrialId;
insntance.SubjectId = incommand.SubjectId;
insntance.VisitTaskId = visiTaskId;
await _taskInstanceRepository.AddAsync(insntance);
dicomSeries.InstanceCount++;
findStudy.InstanceCount++;
}
await _taskInstanceRepository.AddAsync(insntance);
}
// 不管是新的序列 还是 该序列 掉了Instance 重传的时候 检查的instance 数量都会增加
findStudy.InstanceCount += seriesItem.InstanceList.Count;
//findStudy.InstanceCount += seriesItem.InstanceList.Count;
}