Search in sources :

Example 6 with Budget

use of org.estatio.module.budget.dom.budget.Budget in project estatio by estatio.

the class BudgetImportExport method findOrCreateBudgetAndBudgetItem.

private BudgetItem findOrCreateBudgetAndBudgetItem(final Charge incomingCharge) {
    Property property = propertyRepository.findPropertyByReference(getPropertyReference());
    if (property == null)
        throw new ApplicationException(String.format("Property with reference [%s] not found.", getPropertyReference()));
    Budget budget = budgetRepository.findOrCreateBudget(property, getBudgetStartDate(), getBudgetEndDate());
    BudgetItem budgetItem = budget.findOrCreateBudgetItem(incomingCharge).updateOrCreateBudgetItemValue(getBudgetedValue(), getBudgetStartDate(), BudgetCalculationType.BUDGETED).updateOrCreateBudgetItemValue(getAuditedValue(), getBudgetEndDate(), BudgetCalculationType.ACTUAL);
    return budgetItem;
}
Also used : ApplicationException(org.apache.isis.applib.ApplicationException) BudgetItem(org.estatio.module.budget.dom.budgetitem.BudgetItem) Budget(org.estatio.module.budget.dom.budget.Budget) Property(org.estatio.module.asset.dom.Property)

Example 7 with Budget

use of org.estatio.module.budget.dom.budget.Budget in project estatio by estatio.

the class BudgetImportExportManager method importBudgetAndItems.

private List<BudgetImportExport> importBudgetAndItems(final List<List<?>> objects) {
    Budget importedBudget = new Budget();
    List<BudgetImportExport> lineItems = (List<BudgetImportExport>) objects.get(0);
    BudgetImportExport previousRow = null;
    for (BudgetImportExport lineItem : lineItems) {
        importedBudget = (Budget) lineItem.importData(previousRow).get(0);
        previousRow = lineItem;
    }
    setBudget(importedBudget);
    return lineItems;
}
Also used : Budget(org.estatio.module.budget.dom.budget.Budget) ArrayList(java.util.ArrayList) List(java.util.List)

Example 8 with Budget

use of org.estatio.module.budget.dom.budget.Budget in project estatio by estatio.

the class KeyTable method remove.

@Action(semantics = SemanticsOf.IDEMPOTENT_ARE_YOU_SURE)
public Budget remove() {
    Budget budgetToReturn = getBudget();
    repositoryService.removeAndFlush(this);
    return budgetToReturn;
}
Also used : Budget(org.estatio.module.budget.dom.budget.Budget) Action(org.apache.isis.applib.annotation.Action)

Example 9 with Budget

use of org.estatio.module.budget.dom.budget.Budget in project estatio by estatio.

the class Property_newBudgetContribution method newBudget.

@Action(semantics = SemanticsOf.NON_IDEMPOTENT)
@MemberOrder(name = "budgets", sequence = "1")
public Budget newBudget(final Property property, final int year) {
    Budget budget = budgetRepository.newBudget(property, new LocalDate(year, 01, 01), new LocalDate(year, 12, 31));
    budget.findOrCreatePartitioningForBudgeting();
    return budget;
}
Also used : Budget(org.estatio.module.budget.dom.budget.Budget) LocalDate(org.joda.time.LocalDate) Action(org.apache.isis.applib.annotation.Action) MemberOrder(org.apache.isis.applib.annotation.MemberOrder)

Example 10 with Budget

use of org.estatio.module.budget.dom.budget.Budget in project estatio by estatio.

the class PartitionItemImport method importData.

@Programmatic
@Override
public List<Object> importData(final Object previousRow) {
    Property property = propertyRepository.findPropertyByReference(propertyReference);
    if (property == null)
        throw new ApplicationException(String.format("Property with reference [%s] not found.", propertyReference));
    final Budget budget = budgetRepository.findOrCreateBudget(property, startDate, endDate);
    final KeyTable keyTable = keyTableRepository.findOrCreateBudgetKeyTable(budget, keyTableName, FoundationValueType.MANUAL, KeyValueMethod.PERCENT, 6);
    findOrCreateBudgetKeyItem(keyTable, unitRepository.findUnitByReference(unitReference), keyValue, sourceValue);
    final Charge charge = fetchCharge(budgetChargeReference);
    final BudgetItem butgetItem = findOrCreateBudgetItem(budget, charge, budgetValue);
    final Charge scheduleCharge = fetchCharge(invoiceChargeReference);
    final Partitioning partitioning = findOrCreatePartitioning(budget);
    findOrCreatePartitionItem(partitioning, scheduleCharge, butgetItem, keyTable, percentage);
    return Lists.newArrayList();
}
Also used : ApplicationException(org.apache.isis.applib.ApplicationException) BudgetItem(org.estatio.module.budget.dom.budgetitem.BudgetItem) Partitioning(org.estatio.module.budget.dom.partioning.Partitioning) Charge(org.estatio.module.charge.dom.Charge) Budget(org.estatio.module.budget.dom.budget.Budget) KeyTable(org.estatio.module.budget.dom.keytable.KeyTable) Property(org.estatio.module.asset.dom.Property) Programmatic(org.apache.isis.applib.annotation.Programmatic)

Aggregations

Budget (org.estatio.module.budget.dom.budget.Budget)16 Property (org.estatio.module.asset.dom.Property)8 BudgetItem (org.estatio.module.budget.dom.budgetitem.BudgetItem)8 LocalDate (org.joda.time.LocalDate)7 Action (org.apache.isis.applib.annotation.Action)4 BudgetItemValue (org.estatio.module.budget.dom.budgetitem.BudgetItemValue)4 Test (org.junit.Test)4 BigDecimal (java.math.BigDecimal)3 Programmatic (org.apache.isis.applib.annotation.Programmatic)3 ArrayList (java.util.ArrayList)2 ApplicationException (org.apache.isis.applib.ApplicationException)2 PartitionItem (org.estatio.module.budget.dom.partioning.PartitionItem)2 Lease (org.estatio.module.lease.dom.Lease)2 LeaseRepository (org.estatio.module.lease.dom.LeaseRepository)2 Occupancy (org.estatio.module.lease.dom.occupancy.Occupancy)2 List (java.util.List)1 SortedSet (java.util.SortedSet)1 Collectors (java.util.stream.Collectors)1 Inject (javax.inject.Inject)1 ActionLayout (org.apache.isis.applib.annotation.ActionLayout)1