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.math.BigDecimal;
|
||||||
import java.util.List;
|
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.expensesheet.entities.ExpenseSheetLine;
|
||||||
import org.libreplan.business.orders.entities.OrderElement;
|
import org.libreplan.business.orders.entities.OrderElement;
|
||||||
import org.libreplan.business.reports.dtos.WorkReportLineDTO;
|
import org.libreplan.business.reports.dtos.WorkReportLineDTO;
|
||||||
|
|
@ -104,6 +106,14 @@ public class AssignedHoursToOrderElementController extends
|
||||||
return assignedHoursToOrderElementModel.getBudget();
|
return assignedHoursToOrderElementModel.getBudget();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BigDecimal getResourcesBudget() {
|
||||||
|
return assignedHoursToOrderElementModel.getResourcesBudget();
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getTotalBudget() {
|
||||||
|
return assignedHoursToOrderElementModel.getTotalBudget();
|
||||||
|
}
|
||||||
|
|
||||||
public BigDecimal getMoneyCost() {
|
public BigDecimal getMoneyCost() {
|
||||||
return assignedHoursToOrderElementModel.getMoneyCost();
|
return assignedHoursToOrderElementModel.getMoneyCost();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,8 @@ import java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.joda.time.LocalDate;
|
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.daos.IExpenseSheetLineDAO;
|
||||||
import org.libreplan.business.expensesheet.entities.ExpenseSheetLine;
|
import org.libreplan.business.expensesheet.entities.ExpenseSheetLine;
|
||||||
import org.libreplan.business.expensesheet.entities.ExpenseSheetLineComparator;
|
import org.libreplan.business.expensesheet.entities.ExpenseSheetLineComparator;
|
||||||
|
|
@ -242,6 +244,24 @@ public class AssignedHoursToOrderElementModel implements IAssignedHoursToOrderEl
|
||||||
return orderElement.getBudget();
|
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
|
@Override
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
public BigDecimal getMoneyCost() {
|
public BigDecimal getMoneyCost() {
|
||||||
|
|
@ -292,9 +312,8 @@ public class AssignedHoursToOrderElementModel implements IAssignedHoursToOrderEl
|
||||||
return BigDecimal.ZERO;
|
return BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
return MoneyCostCalculator.getMoneyCostProportion(
|
return MoneyCostCalculator.getMoneyCostProportion(
|
||||||
moneyCostCalculator.getTotalMoneyCost(orderElement), orderElement.getBudget())
|
moneyCostCalculator.getTotalMoneyCost(orderElement),
|
||||||
.multiply(
|
orderElement.getTotalBudget()).multiply(new BigDecimal(100));
|
||||||
new BigDecimal(100));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -64,4 +64,8 @@ public interface IAssignedHoursToOrderElementModel{
|
||||||
|
|
||||||
public BigDecimal getCostOfHours();
|
public BigDecimal getCostOfHours();
|
||||||
|
|
||||||
|
public BigDecimal getTotalBudget();
|
||||||
|
|
||||||
|
public BigDecimal getResourcesBudget();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -199,7 +199,7 @@
|
||||||
<column />
|
<column />
|
||||||
</columns>
|
</columns>
|
||||||
<rows>
|
<rows>
|
||||||
<row>
|
<row>
|
||||||
<grid fixedLayout="true">
|
<grid fixedLayout="true">
|
||||||
<columns>
|
<columns>
|
||||||
<column width="20px" />
|
<column width="20px" />
|
||||||
|
|
@ -208,15 +208,39 @@
|
||||||
</columns>
|
</columns>
|
||||||
<rows>
|
<rows>
|
||||||
<row>
|
<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
|
<label
|
||||||
value="${i18n:_('Budget in money')}:" />
|
value="${i18n:_('Total calculated budget')}:" />
|
||||||
<hbox>
|
<hbox>
|
||||||
<label
|
<label value="@{assignedHoursToOrderElementController.totalBudget}" />
|
||||||
value="@{assignedHoursToOrderElementController.budget}" />
|
|
||||||
<label value="@{assignedHoursToOrderElementController.currencySymbol}" />
|
<label value="@{assignedHoursToOrderElementController.currencySymbol}" />
|
||||||
</hbox>
|
</hbox>
|
||||||
</row>
|
</row>
|
||||||
|
|
||||||
|
|
||||||
<row>
|
<row>
|
||||||
<detailrow open="true">
|
<detailrow open="true">
|
||||||
<grid fixedLayout="true">
|
<grid fixedLayout="true">
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue