Создание бизнес-календаря
Вы можете создавать бизнес-календари как во время выполнения с помощью специального визуального редактора, так и во время разработки с использованием аннотированных Java-интерфейсов.
Создание бизнес-календаря во время выполнения
После установки дополнения используйте главное меню, чтобы открыть экран списка Business calendars.

Находясь на этой странице, нажмите кнопку Create, чтобы открыть редактор Business calendar.

Укажите следующие параметры:
-
Name – понятное пользователю описание данного календаря.
-
Code – уникальный идентификатор данного календаря.
Следующий шаг - определение рабочих дней и часов с исключением нерабочего времени, такого как праздники, отпуска или любое другое время вне работы. Для этого используйте вкладки редактора, описанные ниже.
Праздничные дни
На вкладке Holidays нажмите Create, чтобы добавить праздники и выходные дни.

Дополнение поддерживает следующие типы праздничных дней:
-
Day of week (День недели) - позволяет устанавливать праздничные дни на определенные дни недели. Например, для многих людей стандартные выходные - это суббота и воскресенье:
-
Specific date holiday (праздник с конкретной датой) - позволяет установить праздник на точную дату. Например, некоторые праздники выпадают на разные дни каждый год, чтобы обеспечить людям длинные выходные:
-
Annual holiday (ежегодный праздник) - позволяет планировать повторяющиеся праздники, которые отмечаются в один и тот же день каждый год, такие как Новый год.
-
Cron-based holiday (праздник на основе Cron) - позволяет указывать праздники в формате quartz CRON. Подробнее смотрите руководство по Cron-триггерам.
Это может помочь добавить нетривиальные праздники, такие как Третья пятница каждого месяца или Первый понедельник июля и т.д.
Создание бизнес-календаря во время разработки
Используйте аннотированный Java-интерфейс для создания бизнес-календаря во время разработки. Например:
@BusinessCalendar(name = "Sample Business Calendar",
code = "sample-business-calendar") (1)
public interface SampleBusinessCalendar {
@CronHoliday(expression = "* * * 1-2 MAY ?") (2)
@CronHoliday(expression = "* * * ? * 6#3")
void cronHoliday();
@WeeklyHoliday(DayOfWeek.SATURDAY)
@WeeklyHoliday(value = DayOfWeek.SUNDAY,
description = "Sunday is a day for family") (3)
void weeklyHolidays();
@FixedDayHoliday(fixedDate = "2024-05-08") (4)
@FixedDayHoliday(fixedDate = "2024-05-09")
void fixedHoliday();
@FixedYearlyHoliday(month = Month.NOVEMBER, dayOfMonth = 4) (5)
@FixedYearlyHoliday(month = Month.JUNE, dayOfMonth = 12)
void fixedYearlyHoliday();
@ScheduledBusinessDay(dayOfWeek = DayOfWeek.MONDAY,
startTime = "08:00", endTime = "17:00") (6)
@ScheduledBusinessDay(dayOfWeek = DayOfWeek.WEDNESDAY,
startTime = "09:00", endTime = "17:00")
@ScheduledBusinessDay(dayOfWeek = DayOfWeek.FRIDAY,
startTime = "10:00", endTime = "15:00")
void scheduledBD();
@AdditionalBusinessDay(fixedDate = "2024-05-06",
startTime = "10:00", endTime = "16:30") (7)
@AdditionalBusinessDay(fixedDate = "2024-05-07",
startTime = "10:00", endTime = "16:30")
void additionalBD();
}
1 | Аннотированный бизнес-календарь - это интерфейс, аннотированный аннотацией @BusinessCalendar . Вы должны указать следующие параметры для аннотации @BusinessCalendar :
|
2 | Укажите праздник в формате quartz CRON. |
3 | Укажите праздник для дней недели. |
4 | Укажите праздник для конкретной даты. |
5 | Укажите праздник для ежегодно повторяющейся даты. |
6 | Укажите запланированные рабочие дни. |
7 | Укажите дополнительные рабочие дни. |
Бизнес-календарь, созданный во время разработки, отображается в списке всех бизнес-календарей и доступен только для просмотра.
