diff --git a/IRaCIS.Core.Application/Service/Visit/PatientService.cs b/IRaCIS.Core.Application/Service/Visit/PatientService.cs index ee1b1a008..502e45e89 100644 --- a/IRaCIS.Core.Application/Service/Visit/PatientService.cs +++ b/IRaCIS.Core.Application/Service/Visit/PatientService.cs @@ -3111,7 +3111,10 @@ namespace IRaCIS.Application.Services .Select(t => new { t.Patient.PatientIdStr, + MaxStudyTime = t.Patient.SCPStudyList.Max(t => t.StudyTime), + + //仅用提交时间 VisitMaxSubmitTime = t.Subject.SubjectVisitList.Max(t => t.SubmitTime) }).ToListAsync(); @@ -3121,32 +3124,62 @@ namespace IRaCIS.Application.Services cloneInQuery.PatientID = patient.PatientIdStr; - - //选择了患者,那么不按照患者最新检查时间之后查询(因为可能存在,先拉去了后面的检查,导致前面的检查查询不到) - if (inQuery.PatientID.IsNotNullOrEmpty()) + if (find.PacsSearchMaxDays != 0) { // pacs 支持的时间 // 访视提交的时间 + if (patient.VisitMaxSubmitTime != null && patient.VisitMaxSubmitTime > DateTime.Now.AddDays(-(find.PacsSearchMaxDays - 1))) + { + cloneInQuery.StudyDate = patient.VisitMaxSubmitTime?.ToString("yyyyMMdd") + "-"; + cloneInQuery.StudyTime = patient.VisitMaxSubmitTime?.ToString("HHmmss") + "-"; + } + else + { + //pacs 限制的时间 + cloneInQuery.StudyDate = $"{DateTime.Now.AddDays(-(find.PacsSearchMaxDays - 1)).ToString("yyyyMMdd")}-{DateTime.Now.ToString("yyyyMMdd")}"; + } + } + else + { if (patient.VisitMaxSubmitTime != null) { cloneInQuery.StudyDate = patient.VisitMaxSubmitTime?.ToString("yyyyMMdd") + "-"; cloneInQuery.StudyTime = patient.VisitMaxSubmitTime?.ToString("HHmmss") + "-"; } - } - else - { - //没有选择患者,那么按照每个患者的最大检查时间之后的查询 - - if (patient.MaxStudyTime != null) - { - cloneInQuery.StudyDate = patient.MaxStudyTime?.ToString("yyyyMMdd") + "-"; - cloneInQuery.StudyTime = patient.MaxStudyTime?.ToString("HHmmss") + "-"; - } } + + #region 区分时间查询 + ////选择了患者,那么不按照患者最新检查时间之后查询(因为可能存在,先拉去了后面的检查,导致前面的检查查询不到) + //if (inQuery.PatientID.IsNotNullOrEmpty()) + //{ + // // pacs 支持的时间 + // // 访视提交的时间 + + // if (patient.VisitMaxSubmitTime != null) + // { + // cloneInQuery.StudyDate = patient.VisitMaxSubmitTime?.ToString("yyyyMMdd") + "-"; + // cloneInQuery.StudyTime = patient.VisitMaxSubmitTime?.ToString("HHmmss") + "-"; + // } + //} + //else + //{ + // //没有选择患者,那么按照每个患者的最大检查时间之后的查询 + + // if (patient.MaxStudyTime != null) + // { + // cloneInQuery.StudyDate = patient.MaxStudyTime?.ToString("yyyyMMdd") + "-"; + // cloneInQuery.StudyTime = patient.MaxStudyTime?.ToString("HHmmss") + "-"; + // } + + //} + #endregion + + + var request = CreateStudyRequest(cloneInQuery, ""); request.OnResponseReceived += responseDelegate; @@ -3169,6 +3202,10 @@ namespace IRaCIS.Application.Services } + if (inQuery.TrialId != null) + { + result = result.Where(t => t.IsStudyExist == false).ToList(); + } }