Modified cost tab on project/task details to include criteria based budget
FEA: ItEr77S17AutomaticBudgeting
This commit is contained in:
parent
4baa93d790
commit
f895d18acb
4 changed files with 65 additions and 8 deletions
|
|
@ -24,6 +24,8 @@ package org.libreplan.web.orders;
|
|||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import org.libreplan.business.common.Registry;
|
||||
import org.libreplan.business.common.daos.ConfigurationDAO;
|
||||
import org.libreplan.business.expensesheet.entities.ExpenseSheetLine;
|
||||
import org.libreplan.business.orders.entities.OrderElement;
|
||||
import org.libreplan.business.reports.dtos.WorkReportLineDTO;
|
||||
|
|
@ -104,6 +106,14 @@ public class AssignedHoursToOrderElementController extends
|
|||
return assignedHoursToOrderElementModel.getBudget();
|
||||
}
|
||||
|
||||
public BigDecimal getResourcesBudget() {
|
||||
return assignedHoursToOrderElementModel.getResourcesBudget();
|
||||
}
|
||||
|
||||
public BigDecimal getTotalBudget() {
|
||||
return assignedHoursToOrderElementModel.getTotalBudget();
|
||||
}
|
||||
|
||||
public BigDecimal getMoneyCost() {
|
||||
return assignedHoursToOrderElementModel.getMoneyCost();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,8 @@ import java.util.List;
|
|||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.libreplan.business.common.Registry;
|
||||
import org.libreplan.business.common.daos.ConfigurationDAO;
|
||||
import org.libreplan.business.expensesheet.daos.IExpenseSheetLineDAO;
|
||||
import org.libreplan.business.expensesheet.entities.ExpenseSheetLine;
|
||||
import org.libreplan.business.expensesheet.entities.ExpenseSheetLineComparator;
|
||||
|
|
@ -242,6 +244,24 @@ public class AssignedHoursToOrderElementModel implements IAssignedHoursToOrderEl
|
|||
return orderElement.getBudget();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public BigDecimal getTotalBudget() {
|
||||
if (orderElement == null) {
|
||||
return BigDecimal.ZERO;
|
||||
}
|
||||
return getBudget().add(getResourcesBudget());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public BigDecimal getResourcesBudget() {
|
||||
if (orderElement == null) {
|
||||
return BigDecimal.ZERO;
|
||||
}
|
||||
return orderElement.getResourcesBudget();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public BigDecimal getMoneyCost() {
|
||||
|
|
@ -292,9 +312,8 @@ public class AssignedHoursToOrderElementModel implements IAssignedHoursToOrderEl
|
|||
return BigDecimal.ZERO;
|
||||
}
|
||||
return MoneyCostCalculator.getMoneyCostProportion(
|
||||
moneyCostCalculator.getTotalMoneyCost(orderElement), orderElement.getBudget())
|
||||
.multiply(
|
||||
new BigDecimal(100));
|
||||
moneyCostCalculator.getTotalMoneyCost(orderElement),
|
||||
orderElement.getTotalBudget()).multiply(new BigDecimal(100));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -64,4 +64,8 @@ public interface IAssignedHoursToOrderElementModel{
|
|||
|
||||
public BigDecimal getCostOfHours();
|
||||
|
||||
public BigDecimal getTotalBudget();
|
||||
|
||||
public BigDecimal getResourcesBudget();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@
|
|||
<column />
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<row>
|
||||
<grid fixedLayout="true">
|
||||
<columns>
|
||||
<column width="20px" />
|
||||
|
|
@ -208,15 +208,39 @@
|
|||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label/>
|
||||
<detailrow open="true">
|
||||
<grid fixedLayout="true">
|
||||
<columns>
|
||||
<column width="200px" />
|
||||
<column align="right"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="${i18n:_('Resources budget')}:" />
|
||||
<hbox>
|
||||
<label value="@{assignedHoursToOrderElementController.resourcesBudget}" />
|
||||
<label value="@{assignedHoursToOrderElementController.currencySymbol}" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${i18n:_('Expenses budget')}:" />
|
||||
<hbox>
|
||||
<label value="@{assignedHoursToOrderElementController.budget}" />
|
||||
<label value="@{assignedHoursToOrderElementController.currencySymbol}" />
|
||||
</hbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</detailrow>
|
||||
<label
|
||||
value="${i18n:_('Budget in money')}:" />
|
||||
value="${i18n:_('Total calculated budget')}:" />
|
||||
<hbox>
|
||||
<label
|
||||
value="@{assignedHoursToOrderElementController.budget}" />
|
||||
<label value="@{assignedHoursToOrderElementController.totalBudget}" />
|
||||
<label value="@{assignedHoursToOrderElementController.currencySymbol}" />
|
||||
</hbox>
|
||||
</row>
|
||||
|
||||
|
||||
<row>
|
||||
<detailrow open="true">
|
||||
<grid fixedLayout="true">
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue