修改查询位置
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
fdb0b74296
commit
c7f64ea0fe
|
@ -18267,12 +18267,14 @@
|
|||
<param name="inCommand"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Application.Services.PatientService.CmoveStudyList(IRaCIS.Application.Contracts.SCUCmoveCommand,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomAE})">
|
||||
<member name="M:IRaCIS.Application.Services.PatientService.CmoveStudyList(IRaCIS.Application.Contracts.SCUCmoveCommand,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.DicomAE},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.SCPInstance},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.ServiceVerifyConfigOption})">
|
||||
<summary>
|
||||
拉取影像
|
||||
</summary>
|
||||
<param name="inCommand"></param>
|
||||
<param name="_dicomAEReposiotry"></param>
|
||||
<param name="_scpInstanceRepository"></param>
|
||||
<param name="_basicSystemConfigConfig"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
</members>
|
||||
|
|
|
@ -3159,6 +3159,8 @@ namespace IRaCIS.Application.Services
|
|||
|
||||
};
|
||||
|
||||
var latestInstanceList = await _scpInstanceRepository.Where(t => inCommand.StudyInstanceUIDList.Contains(t.StudyInstanceUid)).OrderByDescending(t => t.CreateTime).ToListAsync();
|
||||
|
||||
var task = Task.Run(async () =>
|
||||
{
|
||||
var client = DicomClientFactory.Create(find.IP, find.Port, false, hirClient.CalledAE, find.CalledAE);
|
||||
|
@ -3172,10 +3174,10 @@ namespace IRaCIS.Application.Services
|
|||
var cmoveConfig = _basicSystemConfigConfig.CurrentValue;
|
||||
var exsitStudyId = await _fusionCache.GetOrDefaultAsync<string>(CacheKeys.CmoveStudyId(item), null);
|
||||
|
||||
var latestInstance = await _scpInstanceRepository.Where(t => t.StudyInstanceUid == item).OrderByDescending(t => t.CreateTime).FirstOrDefaultAsync();
|
||||
var latestInstance = latestInstanceList.Where(t => t.StudyInstanceUid == item).FirstOrDefault();
|
||||
|
||||
//缓存不存在当前检查,或者instance表最新的记录时间与当前时间之差超过1分钟(认为完成归档,可以重复拉取)
|
||||
if (exsitStudyId == null && (latestInstance == null || latestInstance.CreateTime.AddMinutes(cmoveConfig.CmoveInstanceIntervalMinutes) > DateTime.Now))
|
||||
if (exsitStudyId == null && (latestInstance == null || latestInstance?.CreateTime.AddMinutes(cmoveConfig.CmoveInstanceIntervalMinutes) < DateTime.Now))
|
||||
{
|
||||
await _fusionCache.SetAsync(CacheKeys.CmoveStudyId(item), item, TimeSpan.FromMinutes(cmoveConfig.CmoveIntervalMinutes));
|
||||
|
||||
|
|
Loading…
Reference in New Issue