Временный перевод: исполнение правил со счетом 0JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Временный перевод: исполнение правил со счетом 0

Сообщение Anonymous »

У меня есть приложение для планирования сотрудников, которое работает с временем. Пользователь может динамически исключить правила. Мы обрабатываем это с ограничением веса, .
Но, насколько я вижу, также выполняются правила со штрафным значением 0 (но не наказаны). Поэтому, если я отключаю все правила, кроме одного правила, скорость не выше, то когда я выбираю все правила. Это правильно или ли временные переключатели как -то знают в ConstraintProvider какое правило не должно быть выполнено, потому что оно в любом случае имеет оценку нуля? Не знаю, есть ли рекомендуемый способ исключить такое правило.
Мой подход будет заключаться в том, чтобы сделать что -то подобное (здесь в примере праздничного ограничения): < /p>

Код: Выделить всё

  public Constraint holiday(ConstraintFactory constraintFactory) {
return constraintFactory.forEach(Shift.class)
.filter((shift)-> shift.getRoster().getConstraintWeightOverrides().getConstraintWeight(ConstraintNames.HOLIDAY) == HardMediumSoftLongScore.of(0, 0, 0))
.join(
Absence.class,
Joiners.equal(Shift::getEmployee, Absence::getEmployee),
Joiners.greaterThanOrEqual(Shift::getDate, Absence::getStartDate),
Joiners.lessThanOrEqual(Shift::getDate, Absence::getEndDate)
)
.penalize(HardMediumSoftLongScore.ONE_HARD)
.asConstraint(ConstraintNames.HOLIDAY);
}
с фильтрацией в первой строке мы, по крайней мере, не все остальные вычисления.
Спасибо за помощь.

Подробнее здесь: https://stackoverflow.com/questions/794 ... score-of-0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»