修改一版
parent
8912beb1a5
commit
9709898475
|
@ -89,7 +89,7 @@ namespace IRaCIS.Application.Services
|
|||
await _readingPeriodPlanRepository.SaveChangesAsync();
|
||||
}
|
||||
var readSet = (await _readingPeriodSetRepository.Where(x => x.Id == inDto.ReadingPeriodSetId).Include(x => x.ReadingPeriodSites).FirstOrDefaultAsync()).IfNullThrowException();
|
||||
var visitQuery = _subjectVisitRepository.Where(x => x.TrialId == readSet.TrialId && x.InPlan);
|
||||
var visitQuery = _subjectVisitRepository.Where(x => x.TrialId == readSet.TrialId && x.InPlan&&x.LatestScanDate!=null);
|
||||
if (readSet.ReadingScope == ReadingScopeEnum.Site)
|
||||
{
|
||||
var siteIds = readSet.ReadingPeriodSites.Select(x => x.SiteId);
|
||||
|
@ -97,20 +97,27 @@ namespace IRaCIS.Application.Services
|
|||
}
|
||||
|
||||
visitQuery = visitQuery.WhereIf(readSet.ExpirationDate != null, x => x.LatestScanDate <= readSet.ExpirationDate.Value)
|
||||
.WhereIf(readSet.ExpirationVisitNum != null, x => x.VisitNum <= readSet.ExpirationVisitNum);
|
||||
.WhereIf(readSet.ExpirationVisitNum != null, x => x.VisitNum == readSet.ExpirationVisitNum);
|
||||
var subjectVisits = await visitQuery.Include(x => x.Subject).Include(x => x.TrialSite).GroupBy(x => x.SubjectId).Select(x => new
|
||||
{
|
||||
SubjectId = x.Key,
|
||||
Visit = x.ToList()
|
||||
}).ToListAsync();
|
||||
|
||||
|
||||
List<SubjectVisit> visits = new List<SubjectVisit>();
|
||||
subjectVisits.ForEach(x =>
|
||||
{
|
||||
var finalVisit = x.Visit.Where(x => x.IsFinalVisit).FirstOrDefault();
|
||||
if (finalVisit != null)
|
||||
var expirationDate = readSet.ExpirationDate;
|
||||
var subjectvisitlist = new List<SubjectVisit>();
|
||||
if (expirationDate != null)
|
||||
{
|
||||
var visit = x.Visit.Where(x => x.VisitNum < finalVisit.VisitNum).OrderByDescending(x=>x.VisitNum).FirstOrDefault();
|
||||
subjectvisitlist = x.Visit.Where(x => x.LatestScanDate <= expirationDate).ToList();
|
||||
}
|
||||
|
||||
if (readSet.ExpirationVisitNum != null)
|
||||
{
|
||||
var visit = x.Visit.Where(x => x.VisitNum == readSet.ExpirationVisitNum).FirstOrDefault();
|
||||
if (visit != null)
|
||||
{
|
||||
visits.Add(visit);
|
||||
|
@ -123,11 +130,15 @@ namespace IRaCIS.Application.Services
|
|||
{
|
||||
visits.Add(visit);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
return visits.Where(x => _readModuleRepository.Where(y => y.ReadingSetType == readSet.ReadingSetType && x.Id == y.SubjectVisitId).Count() == 0)
|
||||
return visits
|
||||
//Where(x => _readModuleRepository.Where(y => y.ReadingSetType == readSet.ReadingSetType && x.Id == y.SubjectVisitId).Count() == 0)
|
||||
.Select(x => new PreviewTheReadingListOutDto
|
||||
{
|
||||
ExpirationDate= readSet.ExpirationDate,
|
||||
|
|
Loading…
Reference in New Issue