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

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

Сообщение Anonymous »

У меня есть приложение для планирования сотрудников, которое работает с временем. Пользователь может динамически исключить правила. Мы обрабатываем это с ограничением веса, что, насколько я вижу, . Итак, если я отключаю все правила, кроме одного правила, скорость не выше, чем когда я выбираю все правила. Это правильно или ли временные переключатели как -то знают в ConstraintProvider какое правило не должно быть выполнено, потому что оно в любом случае имеет оценку нуля? Не знаю, есть ли рекомендуемый способ исключить такое правило?

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

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

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