Drools - 比较2个对象的属性

时间:2018-05-11 18:56:16

标签: drools

我需要确定选择哪个列车来分配员工。

假设我有2列火车的属性为:

Train 1                      Train 2
trainID=1                    trainID=2
passengerCount=100           passengerCount=150
numberOfBoxes=12             numberOfBoxes=7

如果我将这两个对象传递给Drools并检查

$train1 : TrainProperties($pasCnt : passengerCount) 
    $train2 : TrainProperties($pasCnt2 : passengerCount > $pasCnt)  
then    
    Sysout("Train 2 is more important")
end

现在我必须根据numberOfBoxes添加更多条件。我该怎么办?

1 个答案:

答案 0 :(得分:0)

Drools Documentation中所述,您可以使用,在模式中创建多个AND条件。您还可以使用||创建OR

所以,在你的情况下,你可以这样做:

when
    $train1 : TrainProperties($pasCnt : passengerCount, $boxes: numberOfBoxes) 
    $train2 : TrainProperties($pasCnt2 : passengerCount > $pasCnt, numberOfBoxes > $boxes )  
then    
    Sysout("Train 2 is more important")
end

希望它有所帮助,