Author: sbavencoff Date: 2014-07-18 17:33:15 +0200 (Fri, 18 Jul 2014) New Revision: 3853 Url: http://forge.chorem.org/projects/lima/repository/revisions/3853 Log: refs #1044 : financial transaction Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialTransactionServiceImpl.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 2014-07-18 15:02:19 UTC (rev 3852) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialTransactionServiceImpl.java 2014-07-18 15:33:15 UTC (rev 3853) @@ -30,8 +30,6 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.chorem.lima.filter.FilterGenerator; -import org.chorem.lima.filter.FinancialTransactionFilter; import org.chorem.lima.beans.FinancialTransactionCondition; import org.chorem.lima.beans.LetteringFilter; import org.chorem.lima.business.AccountingRules; @@ -44,7 +42,6 @@ import org.chorem.lima.business.api.AccountService; import org.chorem.lima.business.api.FinancialTransactionService; import org.chorem.lima.business.utils.LetteringComparator; -import org.chorem.lima.entity.Account; import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.EntryBook; import org.chorem.lima.entity.EntryImpl; @@ -53,6 +50,8 @@ import org.chorem.lima.entity.FinancialTransaction; import org.chorem.lima.entity.FinancialTransactionTopiaDao; import org.chorem.lima.entity.FiscalPeriod; +import org.chorem.lima.filter.FilterGenerator; +import org.chorem.lima.filter.FinancialTransactionFilter; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; @@ -83,25 +82,14 @@ @TransactionAttribute public class FinancialTransactionServiceImpl extends AbstractLimaService implements FinancialTransactionService { -// @EJB -// protected FinancialPeriodService financialPeriodService; - -// @EJB -// protected ReportService reportService; - - //@EJB - //protected EntryBookService entryBookService; - @EJB protected AccountService accountService; -// @EJB -// protected OptionsService optionsService; - protected static final Log log = LogFactory.getLog(FinancialTransactionServiceImpl.class); @Override - public FinancialTransaction createFinancialTransaction(FinancialTransaction financialtransaction) throws LockedFinancialPeriodException, LockedEntryBookException { + public FinancialTransaction createFinancialTransaction(FinancialTransaction financialtransaction) + throws LockedFinancialPeriodException, LockedEntryBookException { AccountingRules accountingRules = LimaConfig.getInstance().getAccountingRules(); @@ -279,19 +267,17 @@ protected void amountsCalculation( BigDecimal resultOfFirstSecondEntrySubtraction, Entry sameAccountEntry, Entry costOrProductEntry) { sameAccountEntry.setAmount(resultOfFirstSecondEntrySubtraction.abs()); costOrProductEntry.setAmount(resultOfFirstSecondEntrySubtraction.abs()); - Account costOrProductAccount; /*-1 for less than 0 : credit*/ if (resultOfFirstSecondEntrySubtraction.compareTo(BigDecimal.ZERO) == -1) { sameAccountEntry.setDebit(true); costOrProductEntry.setDebit(false); - costOrProductAccount = accountService.getAccountByNumber("758"); + costOrProductEntry.setAccount(accountService.getAccountByNumber("758")); } else { /*Greater than 0 : debit*/ sameAccountEntry.setDebit(false); costOrProductEntry.setDebit(true); - costOrProductAccount = accountService.getAccountByNumber("658"); + costOrProductEntry.setAccount(accountService.getAccountByNumber("658")); } - costOrProductEntry.setAccount(costOrProductAccount); } public String findLastLetter(List<String> letters) { @@ -364,23 +350,10 @@ @Override public List<FinancialTransaction> getAllInexactFinancialTransactions(FiscalPeriod fiscalPeriod) { - //List<FinancialTransaction> checkedResult = new ArrayList<FinancialTransaction>(); - FinancialTransactionTopiaDao financialTransactionTopiaDao = getDaoHelper().getFinancialTransactionDao(); List<FinancialTransaction> result = financialTransactionTopiaDao.getAllIncorrectTransaction(fiscalPeriod.getBeginDate(), fiscalPeriod.getEndDate(), null); - /*for (FinancialTransaction fTransaction : result) { - BigDecimal credit = fTransaction.getAmountCredit(); - BigDecimal debit = fTransaction.getAmountDebit(); - credit = credit.setScale(optionsService.getScale(), - BigDecimal.ROUND_HALF_UP); - debit = debit.setScale(optionsService.getScale(), - BigDecimal.ROUND_HALF_UP); - if (credit.equals(debit)) { - checkedResult.add(fTransaction); - } - }*/ return result; } @@ -434,10 +407,8 @@ AccountingRules accountingRules = LimaConfig.getInstance().getAccountingRules(); - //FIXME mallon 22/06/2012 : Revoir l'utilisation du rattachement à la session et celle des deux objets 'financialTransactionOld' - //et 'financialTransaction' FinancialTransactionTopiaDao transactionTopiaDao = getDaoHelper().getFinancialTransactionDao(); - FinancialTransaction financialTransactionOld = transactionTopiaDao.findByTopiaId(financialTransaction.getTopiaId()); + FinancialTransaction financialTransactionOld = transactionTopiaDao.forTopiaIdEquals(financialTransaction.getTopiaId()).findUnique(); accountingRules.updateFinancialTransactionDateRules(financialTransaction, financialTransactionOld); @@ -461,14 +432,14 @@ accountingRules.checkFinancialPeriodBlockedWithFinancialTransaction(financialTransaction); FinancialTransactionTopiaDao transactionTopiaDao = getDaoHelper().getFinancialTransactionDao(); - FinancialTransaction financialTransactionOld = transactionTopiaDao.findByTopiaId(financialTransaction.getTopiaId()); + FinancialTransaction financialTransactionOld = transactionTopiaDao.forTopiaIdEquals(financialTransaction.getTopiaId()).findUnique(); transactionTopiaDao.delete(financialTransactionOld); } @Override public FinancialTransaction getFinancialTransactionWithId(String id) { FinancialTransactionTopiaDao transactionTopiaDao = getDaoHelper().getFinancialTransactionDao(); - FinancialTransaction result = transactionTopiaDao.findByTopiaId(id); + FinancialTransaction result = transactionTopiaDao.forTopiaIdEquals(id).findUnique(); return result; } @@ -496,7 +467,7 @@ EntryTopiaDao entryTopiaDao = getDaoHelper().getEntryDao(); - Entry entryOld = entryTopiaDao.findByTopiaId(entry.getTopiaId()); + Entry entryOld = entryTopiaDao.forTopiaIdEquals(entry.getTopiaId()).findUnique(); //check rules accountingRules.updateEntryRules(entry, entryOld); @@ -522,7 +493,7 @@ accountingRules.checkFinancialPeriodBlockedWithFinancialTransaction(financialTransaction); EntryTopiaDao entryTopiaDao = getDaoHelper().getEntryDao(); - Entry entryOld = entryTopiaDao.findByTopiaId(entry.getTopiaId()); + Entry entryOld = entryTopiaDao.forTopiaIdEquals(entry.getTopiaId()).findUnique(); entryOld.getFinancialTransaction().removeEntry(entryOld); entryTopiaDao.delete(entryOld);