ReportData getReportData(ReportCriteria reportCriteria) {
UserSelectedCriteria userSelectedCriteria = reportCriteria.getUserSelectedCriteria();
DateRange reportRange = reportCriteria.getReportRange();
Seq<Interval> lockedDatesAsIntervals = lockService.findLockedDatesInRange(reportRange.getDateStart(), reportRange.getDateEnd());
List<Date> lockedDates = TimesheetLockService$.MODULE$.intervalToJavaDates(lockedDatesAsIntervals);
List<RE> allReportElements = generateReport(userSelectedCriteria, lockedDates, reportRange);
if (userSelectedCriteria.isForPm()) {
List<ProjectStructuredReportElement> elem = evictNonPmReportElements(userSelectedCriteria, allReportElements);
return new ReportData(lockedDates, elem, reportRange, userSelectedCriteria);
} else {
return new ReportData(lockedDates, allReportElements, reportRange, userSelectedCriteria);
}
}