return res;
}
//Получаем расписание врача за текущую неделю (только работы указанного типа)
//если нет работ - значит врач работает по шаблону, идем дальше
WeekIndex weekIndex = new WeekIndex(day);
IteratorEditable<SheduleIndividualData> exWorks = sil.daySelector(weekIndex, dow);
if (exWorks.hasNext()) {
res.setWorking(true);
res.setDescription("Исключение");
//если есть работы используем их
List<SheduleIndividualData> lst = new LinkedList<SheduleIndividualData>();
while (exWorks.hasNext()) {
lst.add(exWorks.next());
}
res.setData(lst);
return res;
}
//5. Получаем исключения работы поликлинники за текущую неделю.
//если исключения есть, и они указывают что день нерабочий, отмечаем день как закрытый
SheduleExceptionData exception = sel.getException(day.getCalendar().getTime());
if (exception != null && !exception.isWorking()) {
res.setWorking(false);
res.setDescription(exception.getDescription());
return res;
}
//6. Если исключений нет, получаем праздники за указанную неделю
//если в этот день праздник, отмечаем день как закрытый
if (exception == null) {
SheduleHolidayData holiday = shl.getHoliday(day.getDay(), day.getMonth() + 1);
if (holiday != null) {
res.setWorking(false);
res.setDescription(holiday.getDescription());
return res;
}
}
//7. Врач работает по шаблону. получаем шаблон расписания для данного врача
res.setWorking(true);
res.setByPlan(true);
WeekIndex planWeekIndex = new WeekIndex(weekIndex.getIndex() % sil.getWeekCount());
IteratorEditable<SheduleIndividualData> plWorks = sil.daySelector(planWeekIndex, dow);
if (plWorks.hasNext()) {
//если есть работы используем их
List<SheduleIndividualData> lst = new LinkedList<SheduleIndividualData>();
while (plWorks.hasNext()) {