ItEr33S08ValidacionEProbasFuncionaisItEr32S09: [Bug #72] TaskElement calculates the hours assigned by day

This commit is contained in:
Óscar González Fernández 2009-11-02 18:04:53 +01:00
parent 39226e427c
commit c2bfee9d82
2 changed files with 22 additions and 2 deletions

View file

@ -26,8 +26,11 @@ import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
import org.apache.commons.lang.Validate;
import org.joda.time.LocalDate;
import org.navalplanner.business.calendars.entities.BaseCalendar;
import org.navalplanner.business.common.BaseEntity;
import org.navalplanner.business.orders.entities.OrderElement;
@ -278,4 +281,21 @@ public abstract class TaskElement extends BaseEntity {
public abstract Set<ResourceAllocation<?>> getResourceAllocations();
public SortedMap<LocalDate, Integer> getHoursAssignedByDay() {
SortedMap<LocalDate, Integer> result = new TreeMap<LocalDate, Integer>();
for (ResourceAllocation<?> resourceAllocation : getResourceAllocations()) {
for (DayAssignment each : resourceAllocation
.getAssignments()) {
addToResult(result, each.getDay(), each.getHours());
}
}
return result;
}
private void addToResult(SortedMap<LocalDate, Integer> result,
LocalDate date, int hours) {
int current = result.get(date) != null ? result.get(date) : 0;
result.put(date, current + hours);
}
}

View file

@ -239,8 +239,8 @@ public class TaskElementAdapter implements ITaskElementAdapter {
LocalDate lastDay = null;
Integer hoursLastDay = 0;
Map<LocalDate, Integer> daysMap = dayAssignmentDAO
.getHoursAssignedByDayFor(taskElement);
Map<LocalDate, Integer> daysMap = taskElement
.getHoursAssignedByDay();
if (daysMap.isEmpty()) {
return null;
}