Author: jpepin Date: 2010-08-13 15:01:51 +0200 (Fri, 13 Aug 2010) New Revision: 3002 Url: http://chorem.org/repositories/revision/lima/3002 Log: Mise ?\195?\160 jour algo de calcul du bilan / compte de r?\195?\169sultat : probl?\195?\168me si regroupement de compte inexistant r?\195?\169solu. Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/AccountServiceImpl.java Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/AccountServiceImpl.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/AccountServiceImpl.java 2010-08-13 10:43:53 UTC (rev 3001) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/AccountServiceImpl.java 2010-08-13 13:01:51 UTC (rev 3002) @@ -491,7 +491,34 @@ } //add all accounts for (String accountNumber : accountNumbers) { + Account account = null; if (subAccountsMode){ + account = accountDAO.findSubAccountByNumber(accountNumber); + } + else { + account = accountDAO.findByAccountNumber(accountNumber); + + } + //add account if exist + if (account != null){ + accounts.add(account); + } + //search all account start with accountnumber + else { + TopiaQuery query = accountDAO.createQuery(); + String subAccountsProperty = TopiaQuery.getProperty(Account.SUB_ACCOUNTS); + String subLedgersProperty = TopiaQuery.getProperty(Account.SUB_LEDGERS); + query.addWhere("not exists elements ("+subAccountsProperty+")") + //.addWhere("not exists elements ("+subLedgersProperty+")") + .addWhere(Account.ACCOUNT_NUMBER, Op.LIKE, accountNumber+"%"); + List<Account> accountsResult = accountDAO.findAllByQuery(query); + if (accountsResult != null){ + accounts.addAll(accountsResult); + } + } + } + /*for (String accountNumber : accountNumbers) { + if (subAccountsMode){ Account account = accountDAO.findSubAccountByNumber(accountNumber); if (account == null){ TopiaQuery query = accountDAO.createQuery(); @@ -517,7 +544,7 @@ } } - } + }*/ //remove all accounts for (String accountNumber : accountNumbersToRemove) { Account account = null;