因此,如果输入条件是TRUEFALSEFALSETRUEFALSE,那么有没有什么方法可以同时触发第一个规则和第二个规则,并在列表中返回结果,在本例中,第一个操作是APPROVERTWO和APPROVERFOUR。
-------------------------------------------------------------------------------------------------------------------------------------------
Role |ConditionOne | ConditionTwo | ConditionThree |conditionFour |conditionFive | Approver one | Approver two
-------------------------------------------------------------------------------------------------------------------------------------------
ROLEONE | TRUE | FALSE | FALSE | FALSE | TRUE | APPROVERTWO | APPROVER SEVEN
ROLEONE | | | | TRUE | FALSE | APPROVERFOUR | -
ROLEONE | | | | TRUE | TRUE | APPROVERFIVE | -
ROLEONE | | | | FALSE | FALSE | APPROVERSIX | -
---------------------------------------------------------------------------------------------------------------------------------------------
简单的解决方案是修改列“Approver One”中的操作,使其在结果列表中返回APPROVERTWO和APPROVERFOUR。
您的应用程序逻辑也可能不符合Drools的电子表格决策表的模式(或者反之亦然,这是同样的事情)。你所描述的可以很容易地表达为一个规则:
rule
when
Fact( role == "ROLEONE",
conditionOne == true, conditionTwo == false, conditionThree == FALSE,
conditionFour != conditionFive )
then
return APPROVERTWO and APPROVERFOUR in a list
end
在电子表格中表示的逻辑基于属性的单独不同值。显然,如果#2触发,则从第一行产生的规则将永远不会触发,或者相反。
我将Drools 6.5.0与Java1.8.0_162一起使用,所有功能都可以在单个决策表(电子表格)中正常工作,请参见下面的代码: 谢谢!!
问题:我在决策表(电子表格)中有三个规则表,前两个规则表的规则定义了从第三个规则表中触发哪个规则。在第一个规则表中,根据某些条件,我更新了事实,该事实用于从第二个规则表中触发规则。在第二个规则表的ACTION列中,我更新了事实,我想根据这个更新的事实在第三个规则表中触发规则,但由于更新的事实,第一个表中的规则再次触发,然后第二个,循环继续。 每当我添加规则流组时,我都找不到在规则表中添加规则流组的
在一个场景中,我们有一组主规则。其中一条规则类似于以下规则: 这些规则将向客户提供。我们希望我们的客户能够定制规则。若决定不定制,则应适用规则。自定义可以在“何时”中添加其他条件,也可以覆盖现有条件,还可以添加或修改“何时”部分。他们还可以添加到规则的“then”部分。 像这样的东西: 我们还有一些需要类似定制的决策表。 根据规则,最初建议使用“extends”,但据我所知,“extends”的作
我想使用决策表实现基于流口水中较少和较大值的简单规则。 在drl中实现规则非常简单,例如: 但是我怎样才能把它翻译成流口水的决策表呢?到目前为止,我看到的所有例子都是在条件单元格中进行比较。甚至可以在值单元格中进行比较吗? 我看到的所有示例的格式如下: 但这只适用于1条规则,执行以下操作完全有不同的含义: 甚至可以执行以下操作吗? 实施这些规则的正确方式是什么?
我有一个drools决策表,其中包含条件和位置类型 我的excel如下所示 设置参数的代码如下 我按要求提供的excel文件条件对象: 需求级别==$参数位置类型==$参数 当我像上面那样设置时,我得到以下错误: 创建KieBase时出错[消息[id=1,级别=错误,路径=规则.xls,行=8,列=0文本=[错误102]行8:14不匹配的输入'=='在规则“替换规则”中],消息[id=2,级别=错
首先,我创建了一个基于时间的触发器,每天在凌晨1点到2点之间运行。我需要这个触发器来每次跨多个工作表运行一个函数,而不需要创建额外的函数。我想我已经基本上弄清楚了,但是我在没有运行触发器的情况下测试它,然后等到第二天看它是否工作时遇到了问题。有没有一种方法可以测试触发器,而不必为我所做的每一个更改等待24小时? 其次,当我点击run on时,它似乎没有运行我在函数运行期间需要运行的函数,即。我知道