This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository lima. See http://git.chorem.org/lima.git commit d10045132bb560aa1ecd583793893a047d922fe0 Author: dcosse <cosse@codelutin.com> Date: Wed Sep 9 18:21:17 2015 +0200 refs #1289 calcul de la colonne Solde dans l'onglet recherche des entrées --- .../ui/financialtransaction/BalanceColumn.java | 24 ++++++++++++++++++---- .../FinancialTransactionSearchTableModel.java | 6 +++--- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/BalanceColumn.java b/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/BalanceColumn.java index 6d37000..70dba87 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/BalanceColumn.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/BalanceColumn.java @@ -22,6 +22,7 @@ package org.chorem.lima.ui.financialtransaction; * #L% */ +import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.FinancialTransaction; import org.chorem.lima.ui.common.AbstractColumn; import org.chorem.lima.ui.common.FinancialTransactionTableModel; @@ -41,12 +42,27 @@ public class BalanceColumn extends AbstractColumn<FinancialTransactionTableModel @Override public Object getValueAt(int row) { - BigDecimal result; + BigDecimal result = BigDecimal.ZERO; FinancialTransaction transaction = tableModel.getTransactionAt(row); - if (row == 0 || tableModel.get(row - 1).getFinancialTransaction() != transaction) { - result = transaction.getAmountDebit().subtract(transaction.getAmountCredit()); + if (row == 0) { + Entry entry = tableModel.get(row); + result = entry.isDebit() ? result.subtract(entry.getAmount()) : result.add(entry.getAmount()); } else { - result = BigDecimal.ZERO; + int i = 1; + Entry previousEntry = tableModel.get(row - 1); + FinancialTransaction previousTransaction = previousEntry.getFinancialTransaction(); + + Entry currentEntry = tableModel.get(row); + result = currentEntry.isDebit() ? result.subtract(currentEntry.getAmount()) : result.add(currentEntry.getAmount()); + + if (transaction == previousTransaction) { + while (row - i >= 0 && tableModel.get(row - i).getFinancialTransaction() == transaction) { + Entry prevEntry = tableModel.get(row - i); + result = prevEntry.isDebit() ? result.subtract(prevEntry.getAmount()) : result.add(prevEntry.getAmount()); + i++; + } + } + } return result; } diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java b/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java index 7dc70ae..16ff97e 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java @@ -101,9 +101,9 @@ public class FinancialTransactionSearchTableModel extends FinancialTransactionTa selectedFiscalPeriod = fiscalPeriod; } - public void notifyMethod(String serviceName, String methodeName) { - if ((serviceName.contains("FinancialTransaction") || methodeName.contains("importEntries") - || methodeName.contains("importAll")) && !methodeName.contains("search")) { + public void notifyMethod(String serviceName, String methodName) { + if ((serviceName.contains("FinancialTransaction") || methodName.contains("importEntries") + || methodName.contains("importAll")) && !methodName.contains("search")) { //on recharge la liste refresh(financialTransactionCondition); } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.