r3588 - in trunk: lima-business/src/main/java/org/chorem/lima/business/ejb lima-callao/src/main/java/org/chorem/lima/entity
Author: mallon Date: 2012-08-08 18:09:25 +0200 (Wed, 08 Aug 2012) New Revision: 3588 Url: http://chorem.org/repositories/revision/lima/3588 Log: fixes #748 Correction permettant d afficher une seule fois la transaction concernee et ses entrees. Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialTransactionServiceImpl.java trunk/lima-callao/src/main/java/org/chorem/lima/entity/FinancialTransactionDAOImpl.java Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialTransactionServiceImpl.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialTransactionServiceImpl.java 2012-08-08 15:20:05 UTC (rev 3587) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialTransactionServiceImpl.java 2012-08-08 16:09:25 UTC (rev 3588) @@ -59,7 +59,9 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; +import java.util.HashSet; import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n._; @@ -615,10 +617,14 @@ List<FinancialTransaction> financialTransactions = financialTransactionDAO.searchFinancialTransaction( financialTransactionSearch, accounts); + Set set = new HashSet() ; + set.addAll(financialTransactions) ; + ArrayList<FinancialTransaction> distinctFinancialTransactions = new ArrayList(set) ; + // merge result with sub entries EntryDAO entryDAO = getDaoHelper().getEntryDAO(); - for (FinancialTransaction financialTransaction : financialTransactions) { - result.add(financialTransaction); + for (FinancialTransaction financialTransaction : distinctFinancialTransactions) { + result.add(financialTransaction); List<Entry> entries = entryDAO.findAllByFinancialTransaction(financialTransaction); result.addAll(entries); @@ -626,6 +632,11 @@ } catch (Exception ex) { throw new LimaException("Can't search financial transaction", ex); } + + if (log.isDebugEnabled()) { + log.debug("Size of results list : " + result.size()); + } + return result; } Modified: trunk/lima-callao/src/main/java/org/chorem/lima/entity/FinancialTransactionDAOImpl.java =================================================================== --- trunk/lima-callao/src/main/java/org/chorem/lima/entity/FinancialTransactionDAOImpl.java 2012-08-08 15:20:05 UTC (rev 3587) +++ trunk/lima-callao/src/main/java/org/chorem/lima/entity/FinancialTransactionDAOImpl.java 2012-08-08 16:09:25 UTC (rev 3588) @@ -279,7 +279,7 @@ public List<FinancialTransaction> searchFinancialTransaction(FinancialTransactionSearch financialTransactionSearch, List<Account> accounts) throws TopiaException { String query = "SELECT T FROM " + FinancialTransaction.class.getName() + " T"+ - " LEFT JOIN T.entry AS E" + + " JOIN T.entry AS E" + " WHERE 1=1 "; // to not manage first where in all condition List<Object> args = new ArrayList<Object>(); @@ -376,6 +376,9 @@ args.add("amount2"); args.add(secondAmountBigDecimal); } else if (operator != null) { + if (log.isDebugEnabled()) { + log.debug("Value of first amount - BigDecimal, where operator not null : " + amountBigDecimal); + } query += " AND E.amount " + operator + " :amount"; args.add("amount"); args.add(amountBigDecimal); @@ -390,8 +393,17 @@ } } + if (log.isDebugEnabled()) { + log.debug("Generated query : " + query); + } + // perform query List<FinancialTransaction> result = context.findAll(query, args.toArray()); + + if (log.isDebugEnabled()) { + log.debug("Number of founded transactions : " + result.size()); + } + return result; }
participants (1)
-
mallon@users.chorem.org