在 drool 中,当我使用事实执行无状态会话时,我们可以选择查找规则中所有条件元组满足的内容。
例如:如果我们在规则 RUL1 中有规则条件,car.schi == 'A' || car.carKind str[startsWith] 'A'
如果因为 car.schi 而满足 RUL1,那么我们是否有任何 API 可以获取此信息(car.schi)。
我给出的示例比较简单,但我们的实际业务规则非常复杂,如下所示,
|| car.schi 包含 \"CM\" || car.schi 包含 \"DW\" || car.schi 包含 \"PB\") && (validateElementRule($trainrulesRequestDTO.getElementRuleMap(),\"1_N\",true,$trainrulesRequestDTO.getCar().getCarNumb()))))) && (((car.prevSchi不包含 \"N2\" && car.prevSchi 不包含 \"N1\") && (car.prevLoadEmpty == \"L\") && ((car.prevCarKind str[startsWith] \"F\" || car .prevCarKind str[startsWith] \"YF\") && (car.prevCarKind not str[startsWith] \"FI\" && car.prevCarKind not str[startsWith] \"FA\" && car.prevCarKind not str[startsWith] \"FW\" && car.prevCarKind not str[startsWith] \"FB\") && (car.prevCarKind != \"YFB\"))) || ((car.
如果我们要将其拆分为不同的规则以查找是否满足规则是因为 (prevCarKind , prevSchi , prevLoadEmpty) 或 (nextCarKind, nextSchi,nextLoadEmpty) 拆分复杂规则太难了。
我还给出了规则条件作为从我们的 UI 应用程序中获取的图像。 上述规则条件字符串的图形视图 如果有人可以让我们知道如何根据哪个条件查找是否满足上述条件,将会很有帮助。
问候, Madhankumar。乙
谢谢,马丹