[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