我有一个基于TaskPlanning示例的简单规则。看起来是这样的:
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好了,它起作用了。不过,我亦想在这方面增加额外的限制。$task变量具有isSerious属性,该属性包含布尔值。我希望在增加中等限制时也考虑到这一点。
我希望取得这样的成就:
scoreHolder.addMediumConstraintMatch(kcontext,
$emp.getMinutesAvailable()-$minutesOfEmplSpend - ($task.isSerious == true ? 100 : 10) ));但我的规则是错误的。我想我什么都试过了--请至少给我指明正确的方向。
发布于 2017-10-04 11:54:41
正常的java代码应该可以工作,尝试$task.isSerious()而不是$task.isSerious。
https://stackoverflow.com/questions/46562433
复制相似问题