我必须准备一个流程,该流程计算出我们可以划分购买数量的分期付款。
有3个相互冲突的业务规则给出不同的答案。我们的规则是返回较小的值。
但是如何指示UpdateAttribute处理器返回包含业务规则返回的数字的3个属性之间的最小值?
答案 0 :(得分:3)
您可以连续使用两个UpdateAttribute处理器,假设您具有三个属性a,b和c。
第一个UpdateAttribute具有类似以下内容:
结果= $ {a:lt(b):ifElse(a,b)}
现在的结果是a和b中的较小者。
第二个UpdateAttribute:
result = $ {result:lt(c):ifElse(result,c)}
现在的结果是前一个结果和c中的较小者。
答案 1 :(得分:0)
您可以将ExecuteGroovyScript处理器与以下代码一起使用:
def ff=session.get()
if( !ff )return
ff.result = [ ff.a, ff.b, ff.c ].collect{ it as BigDecimal }.max()
REL_SUCCESS << ff