[jboss-svn-commits] JBL Code SVN: r33041 - in labs/jbossrules/trunk/drools-planner/drools-planner-examples: src/main/java/org/drools/planner/examples/nurserostering/domain and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon May 24 09:29:37 EDT 2010


Author: ge0ffrey
Date: 2010-05-24 09:29:37 -0400 (Mon, 24 May 2010)
New Revision: 33041

Modified:
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/data/nurserostering/unsolved/medium_late01_initialized.xml
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftType.java
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringSolutionImporter.java
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver/nurseRosteringScoreRules.drl
Log:
ShiftType knows if it is a night shiftType

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/data/nurserostering/unsolved/medium_late01_initialized.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/data/nurserostering/unsolved/medium_late01_initialized.xml	2010-05-24 13:10:09 UTC (rev 33040)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/data/nurserostering/unsolved/medium_late01_initialized.xml	2010-05-24 13:29:37 UTC (rev 33041)
@@ -14,6 +14,7 @@
       <index>0</index>
       <startTimeString>06:30:00</startTimeString>
       <endTimeString>14:30:00</endTimeString>
+      <night>false</night>
       <description>Early</description>
     </ShiftType>
     <ShiftType id="6">
@@ -22,6 +23,7 @@
       <index>1</index>
       <startTimeString>14:30:00</startTimeString>
       <endTimeString>22:30:00</endTimeString>
+      <night>false</night>
       <description>Late</description>
     </ShiftType>
     <ShiftType id="7">
@@ -30,6 +32,7 @@
       <index>2</index>
       <startTimeString>08:30:00</startTimeString>
       <endTimeString>16:30:00</endTimeString>
+      <night>false</night>
       <description>Day shift</description>
     </ShiftType>
     <ShiftType id="8">
@@ -38,6 +41,7 @@
       <index>3</index>
       <startTimeString>22:30:00</startTimeString>
       <endTimeString>06:30:00</endTimeString>
+      <night>true</night>
       <description>Night</description>
     </ShiftType>
   </shiftTypeList>

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftType.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftType.java	2010-05-24 13:10:09 UTC (rev 33040)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftType.java	2010-05-24 13:29:37 UTC (rev 33041)
@@ -16,6 +16,7 @@
     private int index;
     private String startTimeString;
     private String endTimeString;
+    private boolean night;
     private String description;
 
     public String getCode() {
@@ -50,6 +51,14 @@
         this.endTimeString = endTimeString;
     }
 
+    public boolean isNight() {
+        return night;
+    }
+
+    public void setNight(boolean night) {
+        this.night = night;
+    }
+
     public String getDescription() {
         return description;
     }

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringSolutionImporter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringSolutionImporter.java	2010-05-24 13:10:09 UTC (rev 33040)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringSolutionImporter.java	2010-05-24 13:29:37 UTC (rev 33041)
@@ -213,8 +213,11 @@
                 shiftType.setId(id);
                 shiftType.setCode(element.getAttribute("ID").getValue());
                 shiftType.setIndex(index);
-                shiftType.setStartTimeString(element.getChild("StartTime").getText());
-                shiftType.setEndTimeString(element.getChild("EndTime").getText());
+                String startTimeString = element.getChild("StartTime").getText();
+                shiftType.setStartTimeString(startTimeString);
+                String endTimeString = element.getChild("EndTime").getText();
+                shiftType.setEndTimeString(endTimeString);
+                shiftType.setNight(startTimeString.compareTo(endTimeString) > 0);
                 shiftType.setDescription(element.getChild("Description").getText());
 
                 Element skillsElement = element.getChild("Skills");

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-05-24 13:10:09 UTC (rev 33040)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/solver/nurseRosteringScoreRules.drl	2010-05-24 13:29:37 UTC (rev 33041)
@@ -308,12 +308,28 @@
 
 
 // Maximum number of consecutive working weekends
-// TODO
+// TODO do start and end
+//rule "maximumConsecutiveWorkingWeekends"
+//        salience 1 // Do these rules first (optional, for performance)
+//    when
+//        MinMaxContractLine(contractLineType == ContractLineType.CONSECUTIVE_WORKING_WEEKENDS, maximumEnabled == true,
+//            $contract : contract, $maximumValue : maximumValue)
+//        $employee : Employee(contract == $contract)
+//
+//
+//        $totalAssignmentSize : Number() from accumulate(
+//            $assignment : Assignment(employee == $employee),
+//            count($assignment)
+//        )
+//    then
+//        insertLogical(new EmployeeAssignmentTotal($employee, $totalAssignmentSize.intValue()));
+//end
 
+
 // Complete weekends
 // TODO
 
-// Single assignment per day
+// Identical shift types during the weekend
 // TODO
 
 // Two free days after a night shift



More information about the jboss-svn-commits mailing list