Я получаю ошибкуDrools: Переменные не могут быть использованы в привязках
Переменные не могут быть использованы внутри привязок
на следующие Drools-Rule Кодекса
rule "minGapsBetweenAppointments"
when
$leftAssignment : AppointmentRequest(feasibleAppointment != null)
$totalValue : Number() from accumulate(
AppointmentRequest(feasibleAppointment != null,
$leftAssignment.requestId != requestId,
$quality : this.getOccupiedSurroundingsValue($leftAssignment)),
sum($quality)
) // ERROR LINE
then
scoreHolder.addSoftConstraintMatch(kcontext, $totalValue.intValue());
end
Хотя Я нашел это post из другого вопроса, мне это не очень помогает, поскольку мне нужно вызвать функцию getOccupiedSurroundingsValue для всех других НазначенийРексов, поскольку они связаны.
Любая помощь приветствуется.
Какая версия слюни? –
Если вы добавите метод 'AppointmentRequest' под названием' getOccupiedSurroundingsValueFromLeftAssignement() 'и реорганизуете DRL на' $ quality: getOccupiedSurroundingsValueFromLeftAssignement() ', он работает? Ваш код должен работать, я думаю, просто интересно, является ли это изменение обходным путем или нет. –
Версия с drools - одна упакована с optaplanner 6.0.0.0Beta5 – David