首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Drools规则引擎中设置局部变量/事实

在Drools规则引擎中设置局部变量/事实
EN

Stack Overflow用户
提问于 2017-10-04 10:18:56
回答 1查看 803关注 0票数 1

我有一个基于TaskPlanning示例的简单规则。看起来是这样的:

代码语言:javascript
复制
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属性,该属性包含布尔值。我希望在增加中等限制时也考虑到这一点。

我希望取得这样的成就:

代码语言:javascript
复制
scoreHolder.addMediumConstraintMatch(kcontext, 
$emp.getMinutesAvailable()-$minutesOfEmplSpend - ($task.isSerious == true ? 100 : 10) ));

但我的规则是错误的。我想我什么都试过了--请至少给我指明正确的方向。

EN

回答 1

Stack Overflow用户

发布于 2017-10-04 11:54:41

正常的java代码应该可以工作,尝试$task.isSerious()而不是$task.isSerious

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46562433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档