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