在Drools规则引擎中设置局部变量/事实
我有一个基于任务规划示例的简单规则。看起来是这样的:在Drools规则引擎中设置局部变量/事实,drools,optaplanner,Drools,Optaplanner,我有一个基于任务规划示例的简单规则。看起来是这样的: rule "It is better if user does not overexceeds its hours" when $emp : Employee() $task : Task( $taskType : taskType, employee == $emp) accumulate( Task(employee == $emp);
rule "It is better if user does not overexceeds its hours"
when
$emp : Employee()
$task : Task( $taskType : taskType, employee == $emp)
accumulate( Task(employee == $emp);
$minutesOfEmplSpend : sum($taskType.getBaseDuration());
$emp.getMinutesAvailable() < $minutesOfEmplSpend
)
then
scoreHolder.addMediumConstraintMatch(kcontext,
$emp.getMinutesAvailable()-$minutesOfEmplSpend);
end
scoreHolder.addMediumConstraintMatch(kcontext,
$emp.getMinutesAvailable()-$minutesOfEmplSpend - ($task.isSerious == true ? 100 : 10) ));
但我的规则有错误。我想我已经尝试了所有的方法-请至少给我指出正确的方向。正常的java代码应该可以工作,尝试
$task.isSerious()
而不是$task.isSerious
这就成功了!我发誓我已经试过一百次了!