ItEr44S10CUGravacionModelosUnidadesTraballoItEr43S12: Copying template materials to order element

This commit is contained in:
Óscar González Fernández 2010-01-20 18:01:51 +01:00
parent 213e15d7a0
commit 6e680720e2
3 changed files with 21 additions and 0 deletions

View file

@ -67,6 +67,14 @@ public class MaterialAssignment extends BaseEntity implements Comparable {
return result;
}
public static MaterialAssignment createFrom(MaterialInfo materialInfo,
OrderElement element) {
MaterialAssignment result = create();
result.materialInfo = materialInfo.copy();
result.orderElement = element;
return result;
}
@Valid
public MaterialInfo getMaterialInfo() {
if (materialInfo == null) {

View file

@ -22,6 +22,7 @@ package org.navalplanner.business.materials.entities;
import java.math.BigDecimal;
import org.navalplanner.business.common.BaseEntity;
import org.navalplanner.business.orders.entities.OrderElement;
import org.navalplanner.business.templates.entities.OrderElementTemplate;
/**
@ -119,4 +120,8 @@ public class MaterialAssignmentTemplate extends BaseEntity implements
return getMaterial().compareTo(o.getMaterial());
}
public MaterialAssignment createAssignment(OrderElement element) {
return MaterialAssignment.createFrom(materialInfo, element);
}
}

View file

@ -127,6 +127,7 @@ public abstract class OrderElementTemplate extends BaseEntity implements
protected <T extends OrderElement> T setupElementParts(T orderElement) {
setupInfoComponent(orderElement);
setupDates(orderElement);
setupMaterialAssignments(orderElement);
return orderElement;
}
@ -153,6 +154,13 @@ public abstract class OrderElementTemplate extends BaseEntity implements
return localDate.plusDays(days).toDateTimeAtStartOfDay().toDate();
}
private void setupMaterialAssignments(OrderElement orderElement) {
for (MaterialAssignmentTemplate each : materialAssignments) {
orderElement.addMaterialAssignment(each
.createAssignment(orderElement));
}
}
public abstract OrderElement createElement();
public abstract OrderElement createElement(OrderLineGroup parent);