我有一个规划实体请求和一个计划变量作为出租车。
我想将日期(特定日)传递给出租车分配的流口水文件。
我尝试将日期添加到计划解决方案中,但是在捕获日期的情况下,规则总是失败。
计划解决方案
@PlanningSolution
public class NRequest extends AbstractPersistable implements Solution<HardMediumSoftScore> {
private Date date;
private List<Cabs> list_cabs;
@PlanningEntityCollectionProperty
private List<Requests> list_req;
.....
.....
}
drools文件
规则"检查重叠shift1"
when
$date:Date()
then
scoreHolder.addHardConstraintMatch(kcontext, 3);
scoreHolder.addSoftConstraintMatch(kcontext, 2);
end
我建议托儿所的播放式化。
foosolution类具有一个单一的fooparameterization类,它可以容纳诸如日期或计划窗口启动日期或特定分数权重等的内容。然后,只需匹配流口水规则中的fooparameterization(您知道只有1个实例)和就是这样。确保fooparameterization是getProblemfacts()或@problembromblemfactproperty