ItEr44S11CUImportarTraballoRealizadoPorSubcontrataItEr43S14: Added method calculateOrderLineForSubcontract() to OrderElement.

This commit is contained in:
Manuel Rego Casasnovas 2010-01-22 08:16:39 +01:00 committed by Javier Moran Rua
parent 90c1080a96
commit c09dca77ec
3 changed files with 51 additions and 1 deletions

View file

@ -950,4 +950,18 @@ public abstract class OrderElement extends BaseEntity implements
}
}
public abstract OrderLine calculateOrderLineForSubcontract();
public Set<MaterialAssignment> getAllMaterialAssignments() {
Set<MaterialAssignment> result = new HashSet<MaterialAssignment>();
result.addAll(getMaterialAssignments());
for (OrderElement orderElement : getChildren()) {
result.addAll(orderElement.getAllMaterialAssignments());
}
return result;
}
}

View file

@ -549,4 +549,9 @@ public class OrderLine extends OrderElement {
return Collections.emptySet();
}
@Override
public OrderLine calculateOrderLineForSubcontract() {
return this;
}
}

View file

@ -44,6 +44,7 @@ import org.navalplanner.business.advance.entities.DirectAdvanceAssignment;
import org.navalplanner.business.advance.entities.IndirectAdvanceAssignment;
import org.navalplanner.business.advance.exceptions.DuplicateAdvanceAssignmentForOrderElementException;
import org.navalplanner.business.advance.exceptions.DuplicateValueTrueReportGlobalAdvanceException;
import org.navalplanner.business.materials.entities.MaterialAssignment;
import org.navalplanner.business.templates.entities.OrderElementTemplate;
import org.navalplanner.business.templates.entities.OrderLineGroupTemplate;
import org.navalplanner.business.trees.ITreeParentNode;
@ -797,4 +798,34 @@ public class OrderLineGroup extends OrderElement implements
return this;
}
}
@Override
public OrderLine calculateOrderLineForSubcontract() {
OrderLine orderLine = OrderLine.create();
orderLine.setCode(getCode());
orderLine.setName(getName());
orderLine.setDescription(getDescription());
orderLine.setInitDate(getInitDate());
orderLine.setDeadline(getDeadline());
// HoursGroups from all its child nodes
for (HoursGroup hoursGroup : getHoursGroups()) {
orderLine.addHoursGroup(hoursGroup);
}
// CriterionRequirements from this node
orderLine.setCriterionRequirements(getCriterionRequirements());
// Labels from this node
orderLine.setLabels(getLabels());
// MaterialAssignments from this node and all its child nodes
for (MaterialAssignment materialAssignment : getMaterialAssignments()) {
orderLine.addMaterialAssignment(materialAssignment);
}
return orderLine;
}
}