List<AccountingTransactionBean> result = new ArrayList<AccountingTransactionBean>();
for (AccountingTransaction transaction : event.getNonAdjustingTransactions()) {
for (AccountingTransaction adjustment : transaction.getAdjustmentTransactionsSet()) {
Entry internalEntry = obtainInternalAccountEntry(adjustment);
Entry externalEntry = obtainExternalAccountEntry(adjustment);
AccountingTransactionBean bean = new AccountingTransactionBean();
bean.eventExternalId = valueOrNull(event.getExternalId());
bean.whenRegistered = valueOrNull(transaction.getWhenRegistered());
bean.whenProcessed = valueOrNull(transaction.getWhenProcessed());
bean.debtPartyName =
internalEntry != null ? valueOrNull(internalEntry.getAccount().getParty().getPartyName().getContent()) : "-";
bean.debtSocialSecurityNumber =
internalEntry != null ? valueOrNull(internalEntry.getAccount().getParty().getSocialSecurityNumber()) : "-";
bean.credPartyName =
externalEntry != null ? valueOrNull(externalEntry.getAccount().getParty().getPartyName().getContent()) : "-";
bean.credSocialSecurityNumber =
externalEntry != null ? valueOrNull(externalEntry.getAccount().getParty().getSocialSecurityNumber()) : "-";
bean.originalAmount = valueOrNull(transaction.getOriginalAmount().toPlainString());
bean.amountWithAdjustment = valueOrNull(transaction.getAmountWithAdjustment().toPlainString());
bean.paymentMode = valueOrNull(transaction.getPaymentMode().getLocalizedName());
bean.whenAdjustmentRegistered = valueOrNull(adjustment.getWhenRegistered());
bean.whenAdjustmentProcessed = valueOrNull(adjustment.getWhenProcessed());
bean.amountWithAdjustment = valueOrNull(adjustment.getAmountWithAdjustment().toPlainString());
bean.comments = valueOrNull(adjustment.getComments());
result.add(bean);
}
if (transaction.getAdjustmentTransactionsSet().isEmpty()) {
Entry internalEntry = obtainInternalAccountEntry(transaction);
Entry externalEntry = obtainExternalAccountEntry(transaction);
AccountingTransactionBean bean = new AccountingTransactionBean();
bean.eventExternalId = event.getExternalId();
bean.whenRegistered = valueOrNull(transaction.getWhenRegistered());
bean.whenProcessed = valueOrNull(transaction.getWhenProcessed());
bean.debtPartyName =
internalEntry != null ? valueOrNull(internalEntry.getAccount().getParty().getPartyName().getContent()) : "-";
bean.debtSocialSecurityNumber =
internalEntry != null ? valueOrNull(internalEntry.getAccount().getParty().getSocialSecurityNumber()) : "-";
bean.credPartyName =
externalEntry != null ? valueOrNull(externalEntry.getAccount().getParty().getPartyName().getContent()) : "-";
bean.credSocialSecurityNumber =
externalEntry != null ? valueOrNull(externalEntry.getAccount().getParty().getSocialSecurityNumber()) : "-";
bean.originalAmount = valueOrNull(transaction.getOriginalAmount().toPlainString());
bean.amountWithAdjustment = valueOrNull(transaction.getAmountWithAdjustment().toPlainString());
bean.paymentMode = valueOrNull(transaction.getPaymentMode().getLocalizedName());
bean.whenAdjustmentRegistered = "-";
bean.amountWithAdjustment = "-";