/** * @return The total sum of all cost assignment net amounts of all positions. */ @Transient public BigDecimal getKostZuweisungenNetSum() { if (this.positionen == null) { return BigDecimal.ZERO; } BigDecimal netSum = BigDecimal.ZERO; for (final T pos : this.positionen) { if (CollectionUtils.isNotEmpty(pos.kostZuweisungen) == true) { for (final KostZuweisungDO zuweisung : pos.kostZuweisungen) { if (zuweisung.getNetto() != null) { netSum = netSum.add(zuweisung.getNetto()); } } } } return netSum; }
/** * @return The net value as sum of all cost assignements. */ @Transient public BigDecimal getKostZuweisungsNetSum() { BigDecimal sum = BigDecimal.ZERO; if (CollectionUtils.isNotEmpty(this.kostZuweisungen) == true) { for (final KostZuweisungDO zuweisung : this.kostZuweisungen) { sum = NumberHelper.add(sum, zuweisung.getNetto()); } } return sum; }
/** * @return this for chaining. */ public RechnungCostTablePanel refresh() { model.clear(); final List<KostZuweisungDO> kostZuweisungen = position.getKostZuweisungen(); if (kostZuweisungen != null) { for (final KostZuweisungDO zuweisung : kostZuweisungen) { if (NumberHelper.isZeroOrNull(zuweisung.getNetto()) == true) { continue; } model.add(zuweisung); } } return this; } }
/** * @see org.apache.wicket.model.Model#getObject() */ @Override public String getObject() { final BigDecimal percentage; if (NumberHelper.isZeroOrNull(position.getNetSum()) == true || NumberHelper.isZeroOrNull(zuweisung.getNetto()) == true) { percentage = BigDecimal.ZERO; } else { percentage = zuweisung.getNetto().divide(position.getNetSum(), RoundingMode.HALF_UP); } final boolean percentageVisible = NumberHelper.isNotZero(percentage); if (percentageVisible == true) { return NumberFormatter.formatPercent(percentage); } else { return " "; } } });
@Override protected void populateItem(final ListItem<KostZuweisungDO> item) { final KostZuweisungDO zuweisung = item.getModelObject(); // row.add(new Kost1FormComponent("kost1", new PropertyModel<Kost1DO>(zuweisung, "kost1"), true) // .setVisible(isShowEditableKostZuweisungen())); final Component kost1 = new Label("kost1", KostFormatter.format(zuweisung.getKost1())); WicketUtils.addTooltip(kost1, KostFormatter.formatToolTip(zuweisung.getKost1())); item.add(kost1); // subItem.add(new Kost2FormComponent("kost2", new PropertyModel<Kost2DO>(zuweisung, "kost2"), true) // .setVisible(isShowEditableKostZuweisungen())); final Component kost2 = new Label("kost2", KostFormatter.format(zuweisung.getKost2())); WicketUtils.addTooltip(kost2, KostFormatter.formatToolTip(zuweisung.getKost2())); item.add(kost2); item.add(new Label("netto", CurrencyFormatter.format(zuweisung.getNetto()))); final BigDecimal percentage; if (NumberHelper.isZeroOrNull(position.getNetSum()) == true || NumberHelper.isZeroOrNull(zuweisung.getNetto()) == true) { percentage = BigDecimal.ZERO; } else { percentage = zuweisung.getNetto().divide(position.getNetSum(), RoundingMode.HALF_UP); } final boolean percentageVisible = NumberHelper.isNotZero(percentage); item.add(new Label("percentage", NumberFormatter.formatPercent(percentage)).setVisible(percentageVisible)); onRenderCostRow(position, zuweisung, kost1, kost2); } };
KostZuweisungenCopyHelper.copy(srcPos.getKostZuweisungen(), destPos); assertEquals(1, destPos.getKostZuweisungen().size()); assertEquals(BigDecimal.TEN, destPos.getKostZuweisung(0).getNetto()); assertEquals("10", destPos.getKostZuweisung(0).getComment()); assertEquals(srcPos.getKostZuweisungen().get(0), destPos.getKostZuweisungen().get(0)); assertEquals(srcPos.getKostZuweisungen().get(1), destPos.getKostZuweisungen().get(1)); assertEquals(srcPos.getKostZuweisungen().get(0).getNetto(), destPos.getKostZuweisungen().get(0).getNetto()); assertEquals(srcPos.getKostZuweisungen().get(1).getNetto(), destPos.getKostZuweisungen().get(1).getNetto()); assertEquals(4, srcPos.getKostZuweisungen().get(1).getIndex());
zuweisung.getNetto(); // Fetch