[jboss-svn-commits] JBL Code SVN: r32370 - labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Apr 2 11:39:01 EDT 2010
Author: ge0ffrey
Date: 2010-04-02 11:39:01 -0400 (Fri, 02 Apr 2010)
New Revision: 32370
Modified:
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver/nurseRosteringScoreRules.drl
Log:
nurse rostering: fix consec working days (untested)
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver/nurseRosteringScoreRules.drl
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver/nurseRosteringScoreRules.drl 2010-04-02 15:24:01 UTC (rev 32369)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver/nurseRosteringScoreRules.drl 2010-04-02 15:39:01 UTC (rev 32370)
@@ -84,14 +84,17 @@
// The first day has no working day before it
EmployeeAssignment(employee == $employee, $firstDayIndex : shiftDateDayIndex, shift != null);
- not EmployeeAssignment(employee == $employee, shiftDateDayIndex == ($firstDayIndex - 1), shift != null);
+ not EmployeeAssignment(employee == $employee, shiftDateDayIndex == ($firstDayIndex - 1));
// The last day has no working day after it
EmployeeAssignment(employee == $employee, shiftDateDayIndex > $firstDayIndex, $lastDayIndex : shiftDateDayIndex);
- not EmployeeAssignment(employee == $employee, shiftDateDayIndex == ($lastDayIndex + 1), shift != null);
+ not EmployeeAssignment(employee == $employee, shiftDateDayIndex == ($lastDayIndex + 1));
+
// There are no free days between the first and last day
- not EmployeeAssignment(employee == $employee, shiftDateDayIndex > $firstDayIndex, shiftDateDayIndex < $lastDayIndex, shift == null);
+ forall($shiftDate : ShiftDate(dayIndex > $firstDayIndex, dayIndex < $lastDayIndex)
+ EmployeeAssignment(shiftDate == $shiftDate)
+ );
// There are to many days
eval(($lastDayIndex - $firstDayIndex) > 7);
More information about the jboss-svn-commits
mailing list