sheetProvider.putFormat(InvoicesCol.KOST2, "#");
sheetProvider.putFormat(InvoicesCol.DATE, "dd.MM.yyyy");
final PropertyMapping mapping = new PropertyMapping();
for (final KostZuweisungDO zuweisung : list) {
final AbstractRechnungsPositionDO position;
final AbstractRechnungDO< ? > rechnung;
final String referenz;
final String text;
if (zuweisung.getRechnungsPosition() != null) {
position = zuweisung.getRechnungsPosition();
rechnung = ((RechnungsPositionDO) position).getRechnung();
final RechnungDO r = (RechnungDO) rechnung;
referenz = String.valueOf(r.getNummer());
text = ProjektFormatter.formatProjektKundeAsString(r.getProjekt(), r.getKunde(), r.getKundeText());
} else {
position = zuweisung.getEingangsrechnungsPosition();
rechnung = ((EingangsrechnungsPositionDO) position).getEingangsrechnung();
final EingangsrechnungDO r = (EingangsrechnungDO) rechnung;
referenz = r.getReferenz();
text = r.getKreditor();
}
final BigDecimal grossSum = position.getBruttoSum();
BigDecimal korrektur = null;
if (grossSum.compareTo(position.getKostZuweisungGrossSum()) != 0) {
korrektur = CurrencyHelper.getGrossAmount(position.getKostZuweisungNetFehlbetrag(), position.getVat());
if (NumberHelper.isZeroOrNull(korrektur) == true) {
korrektur = null;
}
}
mapping.add(InvoicesCol.BRUTTO, zuweisung.getBrutto());
mapping.add(InvoicesCol.VAT, NumberHelper.isNotZero(position.getVat()));
Integer kontoNummer = null;
if (rechnung instanceof RechnungDO) {
final KontoDO konto = kontoCache.getKonto(((RechnungDO) rechnung));
if (konto != null) {
kontoNummer = konto.getNummer();