创建工作日历
运行时创建工作日历
组件安装完成后,可以从应用程序的主菜单打开 Business calendars 列表视图。
在页面中,点击 Create 按钮打开 Business calendar editor。
输入下列参数:
-
Name - 日历的可读描述。
-
Code - 日历的唯一标识符。
然后可以为日历定义工作日和工作时间了,同时还可以在不同的标签页中定义节假日或其他非工作日。
假日
在 Holidays(假日) 标签页,点击 Create 添加假日和周末。
该组件支持下列类型的假日:
-
Day of week(星期) - 允许指定每周的假日;例如,一般是星期六和星期日。
-
Specific date holiday(特定日期假日) - 允许设置某一日期的特定假日,例如,每年不同的调休假。
-
Annual holiday(年固定假日) - 每年固定的假日,例如,
1 月 1 日
。 -
Cron-based holiday(基于 Cron 的假日) - 允许用 quartz CRON 格式指定特殊的假日。参阅 Cron 入门 了解更多信息。
可以用来指定一些重要的假期,例如,每个月的第三个星期五 或 7月的第一个星期一 等。
设计时创建工作日历
设计时可以用带注解的 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 注解的接口。你需要为该注解指定下列参数:
|
2 | 指定假日 - 以 quartz CRON 格式 |
3 | 指定假日 - 每周固定假日。 |
4 | 指定假日 - 特定日期假日。 |
5 | 指定假日 - 每年一次的假日。 |
6 | 指定工作日 - 计划工作日。 |
7 | 指定工作日 - 额外工作日。 |
设计时创建的工作日历与其他日历一起在列表展示,但是只能查看,不能修改。
本页是否有帮助?
感谢您的反馈