在Drools Decision表上创建Accumulate函数

时间:2014-09-17 11:23:30

标签: drools drools-guvnor

我正在尝试在Decision表上创建累积函数条件。请帮我看一下如何在决策表上创建。

我的累积规则功能是

when 

$i : Double(doubleValue >  1000 ) from accumulate( Product($productQty:quantity),sum($productQty))

then

System.out.println( "The quantity is exceeded more than 1000 and the total value is  " + $i );

1 个答案:

答案 0 :(得分:1)

您可以创建一个列

rows
n      condition
n+1    $i : Double() from accumulate( Product($productQty:quantity),sum($productQty))
n+2    doubleValue > $param
n+3    add quantitities and check
n+4    1000

两条评论。

  1. 除非您打算检查累计值的不同范围,否则这不适合决策表。
  2. 为什么使用double来计算最有可能的整数量?如果累计库存超过Integer.MAX_VALUE,我会感到惊讶。简而言之:在模式中使用Number,在约束中使用intValue