Drools规则使用累积

时间:2017-12-01 08:33:15

标签: drools business-rules drools-kie-server

你好我这是我第一次参与drools项目。我创建了一些工作正常的简单规则,但是使用accumulate函数的更复杂的规则却遇到了麻烦。下面我有这个规则。

rule "1"
no-loop
when 
    $msg : Declaration(header.totalGrossMassMeasure != null, 
    header.totalGrossMassMeasure.compareTo(BigDecimal.ZERO) > 0 )
     result : ValidationResult()
    $netValue : Number() from accumulate (
    GoodsItemsType($net : netNetWeightMeasure),
    sum($net.doubleValue())
    )
eval($netValue.doubleValue() > ($msg.getHeader().getTotalGrossMassMeasure().doubleValue() + (0.45 * $msg.getGoodsItems().size())))
then
RulesValidationError error = new RulesValidationError();
error.setErrorType(ErrorType.INCORECT_VALUE);
result.getErrorsList().add(error);
end

概念是将goodsItemType对象列表中的净值相加,并将总和与总总质量度量乘以一个缓冲区数量进行比较。问题是我过去几天一直试图用任何东西解雇规则。有人可以帮助我吗?

0 个答案:

没有答案