Как написать несколько условий (1 или 2) в левой части условий в правиле Drools (DSL) - PullRequest
0 голосов
/ 23 октября 2018

Я новичок в Drools и пишу правила, раскрывающие мою бизнес-логику в соответствии с требованиями.Мне нужно написать одно правило, которое принимает поле и значение для сравнения.

Ввод: сетка данных / результат базы данных / лист Excel с несколькими полями с числовыми значениями

Пример

{field}> {Staic value} или {field1}> {field2}

Я могу написать два правила следующим образомэто, но мое намерение состоит в том, чтобы написать единственное правило, чтобы соответствовать этим обоим критериям.

[условие] [строка] {поле1} больше, чем {field2}

[условие] [строка] {поле1} больше, чем "{статическое_значение}".

Цель: написать единственное правило в DSL, которое анализирует поле / столбец по входным или предоставленным статическим значениям.

Не могли бы вы помочь мне в достижении этого.

Спасибо.

1 Ответ

0 голосов
/ 23 октября 2018

У вас есть Rule Executor , который проверяет набор правил drools для каждой строки, и Rule Accumulator , который проверяет набор правил drools для всего набора данных.

Правила могут быть закодированы в шагах или импортированы из внешнего файла.

Таким образом, вы используете шаг Input Table для считывания данных, передачи их в Rule executor/accumulator, а затем выдаете результатдо Excel Writer.

...