コレクションに特定のオブジェクトがない場合、ルールを起動する必要があります。コレクションにdroolsが存在しません
AuditAssignmentは問題の事実として利用可能です。
AuditAssignmentは、プロパティ「requiredSkill」
監査の割り当ては、
監査対象は「requiredSkill」の集まりである「資格」今
のリストを持っているプロパティ「監査人」を持っています私は、監査アサインオブジェクトの監査人の資格に必要なスキルがあるかどうかを確認する必要があります
以下は試したが動作しないサンプルルールです。
rule "checkIfAuditSkillIsMatching"
when
$auditAssignment : AuditAssignment($neededSkill : requiredSkill.getSkillCode())
$auditor : Auditor($auditorSkills : qualifications)
not exists (Skill (skillCode == $neededSkill) from $auditorSkills )
then
System.out.println(" **** " + $neededSkill);
scoreHolder.addHardConstraintMatch(kcontext, -1);
end
私は以下の一つとしてもここで
rule "checkIfAuditSkillIsMatching"
when
$validAuditorCount : Number (intValue < 1 ) from accumulate (
$auditor : Auditor($auditorSkills: qualifications)
and exists AuditAssignment(auditor == $auditor ,
$auditorSkills.contains(requiredSkill)) ,
count($auditor)
)
then
scoreHolder.addHardConstraintMatch(kcontext, -1);
end
感謝を働きました。これを試してみる。 – lives
申し訳ありません - 私は問題を正しく述べていないと感じています。私は問題に言い返した – lives