Add new field budget to OrderLineTemplate
FEA: ItEr76S17MoneyCostMonitoringSystem
This commit is contained in:
parent
a8c08b08eb
commit
a85cb2dccb
5 changed files with 41 additions and 0 deletions
|
|
@ -594,4 +594,6 @@ public abstract class OrderElementTemplate extends BaseEntity implements
|
|||
this.origin = origin;
|
||||
}
|
||||
|
||||
public abstract BigDecimal getBudget();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
*/
|
||||
package org.libreplan.business.templates.entities;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
|
@ -261,4 +262,13 @@ public class OrderLineGroupTemplate extends OrderElementTemplate implements
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal getBudget() {
|
||||
BigDecimal budget = BigDecimal.ZERO.setScale(2);
|
||||
for (OrderElementTemplate child : children) {
|
||||
budget = budget.add(child.getBudget());
|
||||
}
|
||||
return budget;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ package org.libreplan.business.templates.entities;
|
|||
|
||||
import static org.libreplan.business.i18n.I18nHelper._;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
|
@ -29,6 +30,7 @@ import java.util.HashSet;
|
|||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.hibernate.validator.Valid;
|
||||
import org.libreplan.business.orders.entities.HoursGroup;
|
||||
|
|
@ -67,6 +69,8 @@ public class OrderLineTemplate extends OrderElementTemplate {
|
|||
return createNew(new OrderLineTemplate());
|
||||
}
|
||||
|
||||
private BigDecimal budget = BigDecimal.ZERO.setScale(2);
|
||||
|
||||
protected <T extends OrderElement> T setupElementParts(T orderElement) {
|
||||
super.setupElementParts(orderElement);
|
||||
setupHoursGroups((OrderLine) orderElement);
|
||||
|
|
@ -191,4 +195,16 @@ public class OrderLineTemplate extends OrderElementTemplate {
|
|||
hoursGroupOrderLineTemplateHandler.recalculateHoursGroups(this);
|
||||
}
|
||||
|
||||
public void setBudget(BigDecimal budget) {
|
||||
Validate.isTrue(budget.compareTo(BigDecimal.ZERO) >= 0,
|
||||
"budget cannot be negative");
|
||||
this.budget = budget.setScale(2);
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull(message = "budget not specified")
|
||||
public BigDecimal getBudget() {
|
||||
return budget;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,4 +74,15 @@
|
|||
columnName="budget" defaultValueNumeric="0" />
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="add-budget-column-to-order_line_template" author="mrego">
|
||||
<comment>add budget column to order_line_template</comment>
|
||||
<addColumn tableName="order_line_template">
|
||||
<column name="budget" type="DECIMAL(19,2)" />
|
||||
</addColumn>
|
||||
<addNotNullConstraint tableName="order_line_template"
|
||||
columnName="budget" defaultNullValue="0" />
|
||||
<addDefaultValue tableName="order_line_template"
|
||||
columnName="budget" defaultValueNumeric="0" />
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
|
|
|
|||
|
|
@ -87,6 +87,8 @@
|
|||
|
||||
<property name="lastHoursGroupSequenceCode" access="field"
|
||||
column="last_hours_group_sequence_code" />
|
||||
|
||||
<property name="budget" scale="2" access="field" />
|
||||
</joined-subclass>
|
||||
</class>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue