Drools 检查列表中的总和是否大于100
我必须在列表上写一个drool函数,它必须做以下事情Drools 检查列表中的总和是否大于100,drools,drools-guvnor,drools-planner,drools-fusion,drools-flow,Drools,Drools Guvnor,Drools Planner,Drools Fusion,Drools Flow,我必须在列表上写一个drool函数,它必须做以下事情 创建一个总和 检查总和是否大于100 下面是我创建的流口水规则 rule "001" when $charge : MainClass(subList.size() > 0) $item : SubListClass(number < 0) from $charge.subOrderROList $total : Number() from accumulate(S
rule "001"
when
$charge : MainClass(subList.size() > 0)
$item : SubListClass(number < 0) from $charge.subOrderROList
$total : Number() from accumulate(SubListClass( $p : number ),sum( $p )
then
int index = $charge.SubListClass.indexOf($item)+1;
violations.error(kcontext, "ad", "ad.message", new String[]{String.valueOf(index),$item.getNumber().toString()},index);
end`
规则“001”
什么时候
$charge:MainClass(subList.size()>0)
$item:SubListClass(编号<0)来自$charge.SubOrderErrorList
$total:Number()来自累计(子列表类($p:Number)、总和($p)
然后
int index=$charge.SubListClass.indexOf($item)+1;
错误(kcontext,“ad”,“ad.message”,新字符串[]{String.valueOf(index),$item.getNumber().toString()},index);
结束`
我无法检查$total是否大于100
谢谢如果可以通过添加负数来获得大于100的总和,这将是正确的。。我保留了Q中的约束条件,因此请根据需要进行更改。可能是
number>0
rule "001"
when
$charge: MainClass(subList.size() > 0)
$total: Number( intValue > 100 )
from accumulate( SubListClass($p: number < 0)
from $charge.subOrderROList,
sum( $p ) )
then
规则“001”
什么时候
$charge:MainClass(subList.size()>0)
$total:数量(intValue>100)
来自累积(子列表类($p:编号<0)
从$charge.SUBSORDERRORLIST开始,
总额(百万美元)
然后