【问题标题】:Changing the weekend definition in OptaPlanner在 OptaPlanner 中更改周末定义
【发布时间】:2018-12-10 16:07:02
【问题描述】:

我正在基于 OptaPlanner 7.5.0 Final 的 NurseRostering 示例构建一个名册规划器应用程序。

圣诞节或复活节等假期的排班需求与常规周末相同(轮班类型和数量相同), 因此我想更改默认的周末定义以包括预定义的假期。

我尝试更改 NurseRostering 示例 (src\main\java\org\optaplanner\examples\nurserostering\domain\WeekendDefinition.java) 中的 WeekendDefinition 类, 但它对计划者使用的周末定义没有影响。
如何更改 OptaPlanner 使用的周末定义?

【问题讨论】:

    标签: java optaplanner


    【解决方案1】:

    从ShiftAssignment.isWeekend()开始: https://github.com/kiegroup/optaplanner/blob/master/optaplanner-examples/src/main/java/org/optaplanner/examples/nurserostering/domain/ShiftAssignment.java#L94

        public boolean isWeekend() {
            if (employee == null) {
                return false;
            }
            WeekendDefinition weekendDefinition = employee.getContract().getWeekendDefinition();
            DayOfWeek dayOfWeek = shift.getShiftDate().getDayOfWeek();
            return weekendDefinition.isWeekend(dayOfWeek); // Add or shiftDate is 25-DEC
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-07
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 2017-07-23
      • 2011-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多