diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/Gap.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/Gap.java index c4bf5e3fb..b94223c08 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/Gap.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/Gap.java @@ -29,13 +29,13 @@ import java.util.Set; import org.apache.commons.lang.Validate; import org.joda.time.LocalDate; import org.navalplanner.business.calendars.entities.AvailabilityTimeLine; -import org.navalplanner.business.calendars.entities.BaseCalendar; -import org.navalplanner.business.calendars.entities.ResourceCalendar; import org.navalplanner.business.calendars.entities.AvailabilityTimeLine.DatePoint; import org.navalplanner.business.calendars.entities.AvailabilityTimeLine.EndOfTime; import org.navalplanner.business.calendars.entities.AvailabilityTimeLine.FixedPoint; import org.navalplanner.business.calendars.entities.AvailabilityTimeLine.Interval; import org.navalplanner.business.calendars.entities.AvailabilityTimeLine.StartOfTime; +import org.navalplanner.business.calendars.entities.BaseCalendar; +import org.navalplanner.business.calendars.entities.ResourceCalendar; import org.navalplanner.business.planner.entities.AvailabilityCalculator; import org.navalplanner.business.resources.entities.Criterion; import org.navalplanner.business.resources.entities.LimitingResourceQueue; @@ -127,10 +127,12 @@ public class Gap implements Comparable { final ResourceCalendar calendar = resource.getCalendar(); + int capacityRounded = calendar.getCapacityDurationAt(startDate) + .roundToHours(); if (startDate.equals(endDate)) { - return calendar.getCapacityAt(startDate) - Math.max(startHour, endHour); + return capacityRounded - Math.max(startHour, endHour); } else { - int hoursAtStart = calendar.getCapacityAt(startDate) - startHour; + int hoursAtStart = capacityRounded - startHour; int hoursInBetween = calendar.getWorkableHours(startDate .plusDays(1), endDate.minusDays(1)); return hoursAtStart + hoursInBetween + endHour; @@ -174,7 +176,7 @@ public class Gap implements Comparable { private int getHoursAtDay(LocalDate day, BaseCalendar calendar, DateAndHour realStart, boolean isFirst, final boolean isLast) { - final int capacity = calendar.getCapacityAt(day); + final int capacity = calendar.getCapacityDurationAt(day).roundToHours(); if (isLast && isFirst) { return Math.min(endTime.getHour() - realStart.getHour(), capacity); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java index 4b18c1348..9e2bfd220 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java @@ -335,8 +335,9 @@ public class QueueComponent extends XulElement implements LimitingResourceQueueElement queueElement) { int workableHours = queueElement.getLimitingResourceQueue() - .getResource().getCalendar().getCapacityAt( - queueElement.getEndDate()); + .getResource().getCalendar() + .getCapacityDurationAt(queueElement.getEndDate()) + .roundToHours(); int shadeWidth = new Long((24 - workableHours) * DatesMapperOnInterval.MILISECONDS_PER_HOUR @@ -365,8 +366,9 @@ public class QueueComponent extends XulElement implements LimitingResourceQueueElement queueElement) { int workableHours = queueElement.getLimitingResourceQueue() - .getResource().getCalendar().getCapacityAt( - queueElement.getEndDate()); + .getResource().getCalendar() + .getCapacityDurationAt(queueElement.getEndDate()) + .roundToHours(); int shadeWidth = new Long((24 - workableHours) * DatesMapperOnInterval.MILISECONDS_PER_HOUR @@ -376,7 +378,7 @@ public class QueueComponent extends XulElement implements * DatesMapperOnInterval.MILISECONDS_PER_HOUR / datesMapper.getMilisecondsPerPixel()).intValue() + shadeWidth; - ; + Div notWorkableHoursShade = new Div(); notWorkableHoursShade.setContext(""); notWorkableHoursShade.setSclass("limiting-completion");