当drools中的“when”条件失败时,如何插入或更新状态?
我们时不时地流口水。如果满足一个条件,那么我们转到then条件并更新状态,如obj.setStatustransaction success,review required 但是当条件不满足时,我想更新obj.setStatustransaction失败,不需要复查当drools中的“when”条件失败时,如何插入或更新状态?,drools,Drools,我们时不时地流口水。如果满足一个条件,那么我们转到then条件并更新状态,如obj.setStatustransaction success,review required 但是当条件不满足时,我想更新obj.setStatustransaction失败,不需要复查 在Drools中如何实现这一点?最好的方法是将obj.status初始化为failed。在触发所有规则后,您仍将保持此状态或显示成功的更新状态 如果需要触发规则,可以编写捕获未修改事实的规则: rule "catch failure
在Drools中如何实现这一点?最好的方法是将obj.status初始化为failed。在触发所有规则后,您仍将保持此状态或显示成功的更新状态 如果需要触发规则,可以编写捕获未修改事实的规则:
rule "catch failures"
salience -999999
when
$obj: MyFact( status == null ) // no initial value
then
modify( $obj ){ setStatus("transaction Failed", "review not required") }
end
没有一条规则。如果我们这样做,那么我们的规则大小将增加
//FailureMessage :- Equipment breakdown coverage size is greater than 0
规则CPP_审查损失控制
规则流组审查
锁定活动
什么时候
$commPolicy:CommlPolicyInfoBean;
$STPRulesResponseBean:STPRulesResponseBean;
$lobInfo:LOBInfoBeanCPP.equalsIgnoreCaselob&&Loss.size>=3来自$commPolicy.getLobs;
然后
System.out.PrintLn为AMR创建损失历史任务;
$STPRulesResponseBean.getResultMap.putCPP\u ORD\u LOSS\u CNTRL,true;
结束
//故障信息:-业务类别应为一般框架、窗户或窗框、灰泥和/或EIF应用,包括砌体/干墙承包商、屋顶、外墙/防水/嵌缝、任何其他外部饰面工程
规则CPP_审查业务类别
规则流组审查
锁定活动
什么时候
$STPRulesResponseBean:STPRulesResponseBean;
$commlPolicyInfoBean:commlPolicyInfoBean;
$lobInfo:LOBInfoBeanCPP.equalsIgnoreCaselob来自$commlPolicyInfoBean.getLobs;
AccountInfoBeanbusinessCategoryCode==23&&primaryActivities包含23813 | | | primaryActivities包含23831 | | | primaryActivities包含$commlPolicyInfoBean.getAccountInfo中的23816
然后
System.out.println创建业务类别;
$STPRulesResponseBean.getResultMap.putCPP\u REV\u SPL\u RISK,true;
结束
还有一个是setFocus