ItEr42S17CUGravacionModelosUnidadesTraballoItEr41S20: MaterialAssignments are converted into MaterialAssignmentTemplates when converting an OrderElement into an OrderElementTemplate
This commit is contained in:
parent
3b7d799e8e
commit
c62a1152ea
4 changed files with 30 additions and 6 deletions
|
|
@ -69,7 +69,7 @@ public class MaterialAssignment extends BaseEntity implements Comparable {
|
|||
}
|
||||
|
||||
@Valid
|
||||
private MaterialInfo getMaterialInfo() {
|
||||
public MaterialInfo getMaterialInfo() {
|
||||
if (materialInfo == null) {
|
||||
materialInfo = new MaterialInfo();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,6 +48,14 @@ public class MaterialAssignmentTemplate extends BaseEntity {
|
|||
return result;
|
||||
}
|
||||
|
||||
public static MaterialAssignmentTemplate copyFrom(
|
||||
MaterialAssignment assignment, OrderElementTemplate destination) {
|
||||
MaterialAssignmentTemplate result = new MaterialAssignmentTemplate();
|
||||
result.materialInfo = assignment.getMaterialInfo().copy();
|
||||
result.orderElementTemplate = destination;
|
||||
return result;
|
||||
}
|
||||
|
||||
private MaterialInfo materialInfo = new MaterialInfo();
|
||||
|
||||
private OrderElementTemplate orderElementTemplate;
|
||||
|
|
@ -67,11 +75,6 @@ public class MaterialAssignmentTemplate extends BaseEntity {
|
|||
return orderElementTemplate;
|
||||
}
|
||||
|
||||
public void setOrderElementTemplate(
|
||||
OrderElementTemplate orderElementTemplate) {
|
||||
this.orderElementTemplate = orderElementTemplate;
|
||||
}
|
||||
|
||||
public Material getMaterial() {
|
||||
return getMaterialInfo().getMaterial();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,4 +62,12 @@ public class MaterialInfo {
|
|||
this.unitPrice = unitPrice;
|
||||
}
|
||||
|
||||
public MaterialInfo copy() {
|
||||
MaterialInfo result = new MaterialInfo();
|
||||
result.setMaterial(getMaterial());
|
||||
result.setUnits(getUnits());
|
||||
result.setUnitPrice(getUnitPrice());
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
*/
|
||||
package org.navalplanner.business.templates.entities;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
|
|
@ -31,6 +32,7 @@ import org.hibernate.validator.Valid;
|
|||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Days;
|
||||
import org.navalplanner.business.common.BaseEntity;
|
||||
import org.navalplanner.business.materials.entities.MaterialAssignment;
|
||||
import org.navalplanner.business.materials.entities.MaterialAssignmentTemplate;
|
||||
import org.navalplanner.business.orders.entities.InfoComponent;
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
|
|
@ -52,10 +54,21 @@ public abstract class OrderElementTemplate extends BaseEntity implements
|
|||
.getInitDate());
|
||||
Days fromBeginningToEnd = daysBetween(order.getDeadline(), origin
|
||||
.getDeadline());
|
||||
beingBuilt.materialAssignments = copyMaterialAssignmentsFrom(beingBuilt, origin
|
||||
.getMaterialAssignments());
|
||||
return create(beingBuilt, infoComponentCopied,
|
||||
fromBeginningToStart, fromBeginningToEnd);
|
||||
}
|
||||
|
||||
private static Set<MaterialAssignmentTemplate> copyMaterialAssignmentsFrom(OrderElementTemplate beingBuilt,
|
||||
Collection<? extends MaterialAssignment> assignments) {
|
||||
Set<MaterialAssignmentTemplate> result = new HashSet<MaterialAssignmentTemplate>();
|
||||
for (MaterialAssignment each : assignments) {
|
||||
result.add(MaterialAssignmentTemplate.copyFrom(each, beingBuilt));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static <T extends OrderElementTemplate> T create(T beingBuilt,
|
||||
InfoComponent infoComponentCopied, Days fromBeginningToStart,
|
||||
Days fromBeginningToEnd) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue