Я пытаюсь создать шаблон Drools для генерации правил из электронной таблицы. Мы хотим, чтобы пользователь мог создавать «правила по умолчанию», оставляя поле пустым. Чтобы сделать упрощенный пример: мы хотим добавить надбавку к цене товара на основе определенного кода. По умолчанию взимается дополнительная плата, если ни один из кодов не применяется к этому товару. Как:
Code Surcharge
103 $50
297 $40
334 $30
$20
Так что в основном я хочу правила, которые говорят
when
$u : Unit(code=103)
then
$u.setSurcharge(50)
и т.д.
Тогда, если ни одна из доплат не совпадает, я хочу установить доплату в 20 долларов.
Если бы я писал эти правила вручную, я бы назначил дополнительную плату по умолчанию и поместил бы их в группу активации или что-то подобное, чтобы по умолчанию не срабатывало, если не сработало ни одно из явных значений.
Но я пытаюсь сгенерировать это с помощью шаблона. Я не понимаю, как заставить шаблон сказать «если @ {code} = пусто, тогда salience = 10 else salience = 20» или что-то подобное. Это просто невозможно сказать.
(Примечание: я не могу просто жестко закодировать правило по умолчанию, потому что на самом деле есть другие поля, проверенные вместе с полем, которое может быть пустым. То есть может быть много правил с пустым кодом, которые применяются в зависимости от соответствия с другими полей.)