[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