我正在使用从JBPM开源自动化工具包派生的Red Hat Proccess Automation Manager进行Drools规则项目。我遇到了以下情况的路障:
下面的句子是某些操作的必需条件(其中 lastPaymentDate 是java.util.Date类型)
lastPaymentDate大于90天
我还需要将尽可能多的条件放入决策表中(包括该条件)
但是,我无法在决策表中找到一种检查这种情况的干净方法。
目前,我最好的方法是创建一个预处理规则,该规则创建一个具有整数值的新对象...这不是理想的选择,因为它会不必要地增加项目中dataObjects的数量。
import java.util.Date;
import java.time.temporal.ChronoUnit;
rule "Process Account Details"
salience 1
when
account: Account()
then
Case caseObj = new Case();
caseObj.daysSinceLastPayment = (int) ChronoUnit.DAYS.between(account.lastPaymentDate.toInstant(), new Date().toInstant());
insert(caseObj);
end
有没有一种方法可以最大限度地减少对象数量,同时让我在决策表中执行条件检查?