0

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

  1. 创建总和
  2. 检查总和是否大于 100。

下面是我创建的流口水规则

    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

谢谢

4

1 回答 1

2

如果可以通过添加负数获得总和 > 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
于 2015-02-18T08:08:04.843 回答