From e04bc398f359c8868e388175fa006598cf702f52 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Wed, 14 Oct 2009 18:35:53 +0200 Subject: [PATCH] ItEr30S17ValidacionEProbasFuncionais: Fixing maximum capacity line in order chart. --- .../web/planner/OrderPlanningModel.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java index a8a252e13..1ca85c467 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/OrderPlanningModel.java @@ -29,6 +29,7 @@ import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Date; +import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.SortedMap; @@ -522,6 +523,8 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { }); + Set resroucesAlreadyUsed = new HashSet(); + for (DayAssignment dayAssignment : dayAssignments) { LocalDate day = dayAssignment.getDay(); Integer hours = 0; @@ -539,13 +542,22 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel { } if (calendarHours) { - ResourceCalendar calendar = dayAssignment.getResource() - .getCalendar(); - if (calendar != null) { - hours = calendar.getWorkableHours(dayAssignment.getDay()); - } else { - hours = SameWorkHoursEveryDay.getDefaultWorkingDay() - .getWorkableHours(dayAssignment.getDay()); + Resource resource = dayAssignment.getResource(); + + if (map.get(day) == null) { + resroucesAlreadyUsed.clear(); + } + + if (!resroucesAlreadyUsed.contains(resource)) { + resroucesAlreadyUsed.add(resource); + ResourceCalendar calendar = resource.getCalendar(); + if (calendar != null) { + hours = calendar.getWorkableHours(dayAssignment + .getDay()); + } else { + hours = SameWorkHoursEveryDay.getDefaultWorkingDay() + .getWorkableHours(dayAssignment.getDay()); + } } } else { hours = dayAssignment.getHours();