在流口水中,如何创建一个条件规则来匹配如果
1(输入是一个列表。
2(每个条件列都有自己的列表
3(条件应在所有条件列表的排列和组合中匹配
如果我的决策表采用以下格式
------------------------------------------------
COND. | CONDITION | CONDITION| ACTION
------------------------------------------------
Store | ProjectCode | Country | ArticleNumber
------------------------------------------------
10 | 1001 | USA | AD112
20 | 1002 | UK | AD113
30 | 1003 | USA | AD114
40 | 1004 | SWE | AD112
50 | 1005 | GER | AD114
我将以列表形式提供如下所示的条件
ArticleRule{
List<String> stores = Arrays.asList("10","30","40","50");
List<String> projectCodes = Arrays.asList("1001","1002","1004","1005");
List<String> countries = Arrays.asList("USA","GER","UK");
}
我通过创建所有列表的排列和组合的结果将是。 输出 : (AD112,AD114(
在我的实际用例中,每个列表可能包含 1000 个值。 我的决策表可以有一百万条记录。
我怎样才能使用口水来实现。
你应该把每一行都作为事实 文章 带有字段store
,projectCode
,country
,articleNumber
。你的规则是
rule select
when
$article: Article(
store in ("10","30","40","50"),
projectCode in ("1001","1002","1004","1005"),
country in ("USA","GER","UK") )
then
System.out.println( $article.getArticleNumber );
end