diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java index 16d7442d2..a423130ab 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java @@ -41,6 +41,7 @@ import org.hibernate.validator.Valid; import org.joda.time.LocalDate; import org.navalplanner.business.advance.bootstrap.PredefinedAdvancedTypes; import org.navalplanner.business.advance.entities.AdvanceAssignment; +import org.navalplanner.business.advance.entities.AdvanceMeasurement; import org.navalplanner.business.advance.entities.AdvanceType; import org.navalplanner.business.advance.entities.DirectAdvanceAssignment; import org.navalplanner.business.advance.entities.IndirectAdvanceAssignment; @@ -58,6 +59,7 @@ import org.navalplanner.business.orders.entities.TaskSource.TaskSourceSynchroniz import org.navalplanner.business.planner.entities.Task; import org.navalplanner.business.planner.entities.TaskElement; import org.navalplanner.business.planner.entities.TaskPositionConstraint; +import org.navalplanner.business.planner.entities.consolidations.CalculatedConsolidation; import org.navalplanner.business.qualityforms.entities.QualityForm; import org.navalplanner.business.qualityforms.entities.TaskQualityForm; import org.navalplanner.business.requirements.entities.CriterionRequirement; @@ -454,6 +456,27 @@ public abstract class OrderElement extends IntegrationEntity implements public abstract List getChildren(); + public void loadAdvanceAssignments() { + for (DirectAdvanceAssignment each : getDirectAdvanceAssignments()) { + each.getAdvanceType().getUnitName(); + for (AdvanceMeasurement eachMeasurement : each + .getAdvanceMeasurements()) { + eachMeasurement.getExtraInformation(); + } + } + for (IndirectAdvanceAssignment each : getIndirectAdvanceAssignments()) { + each.getAdvanceType().getUnitName(); + Set calculatedConsolidation = each + .getCalculatedConsolidation(); + for (CalculatedConsolidation eachConsolidation : calculatedConsolidation) { + eachConsolidation.getConsolidatedValues().size(); + } + } + for (OrderElement each : getChildren()) { + each.loadAdvanceAssignments(); + } + } + private static Date copy(Date date) { return date != null ? new Date(date.getTime()) : date; } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/PlanningStateCreator.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/PlanningStateCreator.java index 98ed97fe8..6bc9fce7f 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/PlanningStateCreator.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/order/PlanningStateCreator.java @@ -148,6 +148,7 @@ public class PlanningStateCreator { private PlanningState createInitialPlanning(Order orderReloaded) { Scenario currentScenario = scenarioManager.getCurrent(); + orderReloaded.loadAdvanceAssignments(); if (!orderReloaded.isSomeTaskElementScheduled()) { return new EmptyPlannigState(currentScenario, orderReloaded); }