修改后处理上传统计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.TrialId = incommand.TrialId;
study.SubjectId = incommand.SubjectId; study.SubjectId = incommand.SubjectId;
study.VisitTaskId = visiTaskId; study.VisitTaskId = visiTaskId;
@ -568,16 +568,25 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
//新的序列 那么 检查的序列数量+1 //新的序列 那么 检查的序列数量+1
findStudy.SeriesCount += 1; findStudy.SeriesCount += 1;
} }
else //else
{ //{
//该序列掉了instance // //该序列掉了instance
dicomSeries.InstanceCount += seriesItem.InstanceList.Count; // 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) foreach (var instanceItem in seriesItem.InstanceList)
{ {
var insntance = _mapper.Map<TaskInstance>(instanceItem); var insntance = _mapper.Map<TaskInstance>(instanceItem);
insntance.Id = IdentifierHelper.CreateGuid(insntance.StudyInstanceUid, insntance.SeriesInstanceUid, insntance.SopInstanceUid, trialId.ToString(), visiTaskId.ToString());
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.StudyId = findStudy.Id;
insntance.SeriesId = dicomSeries.Id; insntance.SeriesId = dicomSeries.Id;
@ -586,11 +595,14 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
insntance.VisitTaskId = visiTaskId; insntance.VisitTaskId = visiTaskId;
await _taskInstanceRepository.AddAsync(insntance); await _taskInstanceRepository.AddAsync(insntance);
dicomSeries.InstanceCount++;
findStudy.InstanceCount++;
} }
}
// 不管是新的序列 还是 该序列 掉了Instance 重传的时候 检查的instance 数量都会增加 // 不管是新的序列 还是 该序列 掉了Instance 重传的时候 检查的instance 数量都会增加
findStudy.InstanceCount += seriesItem.InstanceList.Count; //findStudy.InstanceCount += seriesItem.InstanceList.Count;
} }