作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写规则来限制每个员工在一个月内完成夜类的次数。契约(Contract)要求是员工在 28 个白类周期内总共上夜类的时间不得超过 5 个”。
我已经厌倦了使用以下方法,但效果有限。欢迎任何建议
rule "minimumConsecutiveNightShifts"
salience 1
when
$contractLine : MinMaxContractLine(contractLineType == ContractLineType.TOTAL_NIGHT_ASSIGNMENTS, enabled == true,
$contract : contract)
$employee : Employee(contract == $contract)
$shiftType : ShiftType(night == true)
accumulate(
$assignment : ShiftAssignment(employee == $employee, shiftType == $shiftType);
$total : count($assignment)
)
then
int totalInt = $total.intValue();
System.out.println($contract);
if ($contractLine.isMinimumEnabled() && totalInt < $contractLine.getMinimumValue()) {
scoreHolder.addSoftConstraintMatch(kcontext,
(totalInt - $contractLine.getMinimumValue()) * $contractLine.getMinimumWeight());
} else if ($contractLine.isMaximumEnabled() && totalInt > $contractLine.getMaximumValue()) {
scoreHolder.addSoftConstraintMatch(kcontext,
($contractLine.getMaximumValue() - totalInt) * $contractLine.getMaximumWeight());
} else {
// Workaround for https://issues.jboss.org/browse/PLANNER-761
scoreHolder.addSoftConstraintMatch(kcontext, 0);
}
end
最佳答案
从护士轮类示例开始,您应该能够选择夜类 A,然后累积分配给同一员工(日期在 A 之后且 A + 28 天之前)的所有夜类。如果累积计数太多或太少,则惩罚硬约束。
通过 ConstraintStreams,我们正在寻找更简单、更有效的方法来表达此类约束。
关于java - DRL 规则确保每位员工一个月内夜类次数不超过 5 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59726338/
我有一个Date 列和一个Toggle 列,当太阳下山时它为True。现在,我需要一个计算列来说明现在是晚上还是白天。 在 true 之前是白天,然后是晚上,直到 date 列发生变化。 我创建了一些
我是一名优秀的程序员,十分优秀!