检查列表中的总和是否大于100

时间:2015-02-18 07:03:04

标签: drools drools-guvnor drools-planner drools-fusion drools-flow

我必须在列表上写一个drool函数,它必须做以下事情

  1. 创建求和
  2. 检查总和是否大于100.
  3. 下面的

    是我创建的流口水规则

        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` 
    

    我无法检查$ total是否大于100

    感谢

1 个答案:

答案 0 :(得分:2)

如果可以获得总和&gt;这将是正确的 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