创建工作日历
运行时创建工作日历
组件安装完成后,可以从应用程序的主菜单打开 Business calendars 列表视图。
点击 Create 按钮打开 Business calendar editor(编辑器)。
输入下列参数:
-
Name - 日历的可读描述。
-
Code - 日历的唯一标识符。
使用编辑器中的选项卡来配置工作日和工作时间,排除节假日、休假及其他休息时间等非工作时间。
每个日历条目可包含 Mark — 标记值可用于分类,或提示某天或某时段为何有不同的工作时间。此标记可通过 getDayInfo() 方法返回。
|
设计时创建工作日历
设计时可以用带注解的 Java 接口创建工作日历,示例:
@BusinessCalendar(name = "Sample Business Calendar",
code = "sample-business-calendar" ) (1)
public interface SampleBusinessCalendar {
@CronHoliday(expression = "* * * 1-2 MAY ?", mark = "spring-holiday",
description = "Early May public holidays") (2)
@CronHoliday(expression = "* * * ? * 6#3", mark = "monthly-maintenance",
description = "Scheduled maintenance on the third Saturday of each month")
void cronHoliday();
@WeeklyHoliday(value = DayOfWeek.SATURDAY, mark = "weekend",
description = "Standard weekend day")
@WeeklyHoliday(value = DayOfWeek.SUNDAY, mark = "weekend",
description = "Standard weekend day") (3)
void weeklyHolidays();
@FixedDayHoliday(fixedDate = "2026-01-02", mark = "maintenance", description = "Scheduled maintenance") (4)
@FixedDayHoliday(fixedDate = "2026-03-04", mark = "company-holiday", description = "Company day off")
void fixedHoliday();
@FixedYearlyHoliday(month = Month.NOVEMBER, dayOfMonth = 4, mark = "regional", description = "Annual regional holiday") (5)
@FixedYearlyHoliday(month = Month.JUNE, dayOfMonth = 8, mark = "regional", description = "Annual regional holiday")
void fixedYearlyHoliday();
@ScheduledBusinessDay(dayOfWeek = DayOfWeek.MONDAY,
startTime = "08:00", endTime = "17:00", mark = "regular-hours") (6)
@ScheduledBusinessDay(dayOfWeek = DayOfWeek.WEDNESDAY,
startTime = "09:00", endTime = "17:00", mark = "late-start")
@ScheduledBusinessDay(dayOfWeek = DayOfWeek.FRIDAY,
startTime = "10:00", endTime = "15:00", mark = "short-day")
void scheduledBD();
@AdditionalBusinessDay(fixedDate = "2026-05-06",
startTime = "10:00", endTime = "16:30", mark = "holiday-shift") (7)
@AdditionalBusinessDay(fixedDate = "2026-07-08",
startTime = "10:00", endTime = "16:30", mark = "extra-workday")
void additionalBD();
}
| 1 | 设计时工作日历是一个使用 @BusinessCalendar 注解的 Java 接口。该注解需要两个参数:
|
| 2 | @CronHoliday 使用 Quartz CRON 表达式定义假期。适用于复杂或重复的规则。使用 mark 作为短标签。可添加 description 提供可读的说明。 |
| 3 | @WeeklyHoliday 将一周中的特定几天定义为假期(例如周末)。使用 mark 作为短标签。可添加 description 提供可读的说明。 |
| 4 | @FixedDayHoliday 为特定日期定义假期。使用 mark 作为短标签。可添加 description 提供可读的说明。 |
| 5 | @FixedYearlyHoliday 定义每年同一天重复出现的假期。使用 mark 作为短标签。可添加 description 提供可读的说明。 |
| 6 | @ScheduledBusinessDay 设置常规工作日,包括开始和结束时间。使用 mark 作为短标签。 |
| 7 | AdditionalBusinessDay 添加常规安排之外的工作日(例如调休工作日)。使用 mark 作为短标签。 |
| 设计时创建的工作日历会显示在所有业务日历的列表中,但无法进行编辑。 |
本页是否有帮助?
感谢您的反馈