ItEr37S08CUCreacionUnidadesPlanificacionItEr36S11: addDefaultAllocations now returns a ProportionalDistributor

This commit is contained in:
Óscar González Fernández 2009-12-04 00:13:49 +01:00
parent b914f9ed0e
commit 52793e81ae
2 changed files with 11 additions and 3 deletions

View file

@ -22,6 +22,7 @@ package org.navalplanner.web.planner.allocation;
import java.util.List;
import org.navalplanner.business.common.ProportionalDistributor;
import org.navalplanner.business.orders.entities.AggregatedHoursGroup;
import org.navalplanner.business.planner.entities.Task;
import org.navalplanner.web.planner.order.PlanningState;
@ -67,6 +68,6 @@ public interface IResourceAllocationModel extends INewAllocationsAdder {
<T> T onAllocationContext(
IResourceAllocationContext<T> resourceAllocationContext);
void addDefaultAllocations();
ProportionalDistributor addDefaultAllocations();
}

View file

@ -28,6 +28,7 @@ import java.util.Set;
import org.hibernate.Hibernate;
import org.navalplanner.business.calendars.daos.IBaseCalendarDAO;
import org.navalplanner.business.common.ProportionalDistributor;
import org.navalplanner.business.orders.daos.IHoursGroupDAO;
import org.navalplanner.business.orders.entities.AggregatedHoursGroup;
import org.navalplanner.business.orders.entities.HoursGroup;
@ -103,14 +104,20 @@ public class ResourceAllocationModel implements IResourceAllocationModel {
@Override
@Transactional(readOnly = true)
public void addDefaultAllocations() {
public ProportionalDistributor addDefaultAllocations() {
reassociateResourcesWithSession();
for (AggregatedHoursGroup each : task.getAggregatedByCriterions()) {
List<AggregatedHoursGroup> hoursGroups = task
.getAggregatedByCriterions();
int hours[] = new int[hoursGroups.size()];
int i = 0;
for (AggregatedHoursGroup each : hoursGroups) {
hours[i++] = each.getHours();
List<Resource> resourcesFound = resourceDAO
.findAllSatisfyingCriterions(each.getCriterions());
allocationRowsHandler.addGeneric(each.getCriterions(),
reloadResources(resourcesFound));
}
return ProportionalDistributor.create(hours);
}
@Override