r3234 - in trunk: lima-business/src/main/java/org/chorem/lima/business/ejb lima-business/src/main/java/org/chorem/lima/business/ejbinterface lima-swing/src/main/java/org/chorem/lima/ui/vatreports
Author: vsalaun Date: 2011-07-26 11:34:52 +0200 (Tue, 26 Jul 2011) New Revision: 3234 Url: http://chorem.org/repositories/revision/lima/3234 Log: #347 update vat UI and service Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/DocumentServiceImpl.java trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/HttpServerServiceImpl.java trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/VatStatementServiceImpl.java trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/DocumentService.java trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/VatStatementService.java trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/VatStatementServiceLocal.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatreports/VatReportTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatreports/VatReportViewHandler.java Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/DocumentServiceImpl.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/DocumentServiceImpl.java 2011-07-25 09:02:55 UTC (rev 3233) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/DocumentServiceImpl.java 2011-07-26 09:34:52 UTC (rev 3234) @@ -1458,7 +1458,7 @@ //############## VAT ############## @Override - public void createVatDocuments(Date beginDate, Date endDate, FormatsEnum format, String autocomplete) + public void createVatDocuments(Date beginDate, Date endDate, FormatsEnum format, String autocomplete, String datas) throws LimaException, IOException, COSVisitorException { try { @@ -1556,98 +1556,76 @@ //end of page one //page two + + String[] bigDecimalList = datas.split("_"); //sets parameters to use for each TextField ArrayList<ArrayList<String>> listOfLists = new ArrayList<ArrayList<String>>(); - - listOfLists.add(new ArrayList<String>(Arrays.asList("b1.b1", "Ventes, prestations de services"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b2.b2", "Autres opérations imposables"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b3.b3", "Achats de prestations de services intracommunautaires"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b4.b4", "Acquisitions intracommunautaires"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b5.b5", "Livraisons de gaz naturel ou d'électricité imposables en France"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b6.b6", "Achats de biens ou de prestations de services réalisées auprès d'un assujetti non établi en France"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b7.b7", "Régularisations (imposables)"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b8.b8", "Exportations hors CE"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b9.b9", "Autres opérations non imposables"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b10.b10", "Livraisons intracommunautaires"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b11.b11", "Livraisons de gaz naturel ou d'électricité non imposables en France"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b12.b12", "Achats de franchise"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b13.b13", "Ventes de biens ou prestations de services réalisées aurpès d'un assujetti non établi en France"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b14.b14", "Régularisations (non imposables)"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b15.b15", "Taux normal 19,6%", "0.196", "b23.b23"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b16.b16", "Taux réduit 5,5%", "0.055", "b24.b24"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b17.b17", "Taux normal 8,5%", "0.085", "b25.b25"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b18.b18", "Taux réduit 2,1%", "0.021", "b26.b26"))); - //unknown tax % - //listOfLists.add(new ArrayList<String>(Arrays.asList("b19.b19", "Opérations imposables à un autre taux (France métropolitaine ou DOM)", "", "b27.b27"))); - //listOfLists.add(new ArrayList<String>(Arrays.asList("b20.b20", "Ancien taux", "", "b27.b27"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b35.b35", "Biens constituant des immobilisations"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b36.b36", "Autres biens et services"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b37.b37", "Autre TVA à déduire"))); - listOfLists.add(new ArrayList<String>(Arrays.asList("b38.b38", "Report du crédit apparaissant ligne 27 de la précédente déclaration"))); - - BigDecimal amount; - //A MONTANT DES OPÉRATIONS RÉALISÉES - for (int i = 0; i < 13; i++) { - amount = vatStatementService.vatStatementAmounts( - vatStatementService.findVatStatementByString(listOfLists.get(i).get(1)), - beginDate, endDate); - if (!amount.equals(BigDecimal.ZERO)) { - fields.setField(doc, listOfLists.get(i).get(0), amount.toString()); - } + // Structure : box name on the pdf | text showed on the pdf | amount + listOfLists.add(new ArrayList<String>(Arrays.asList("b1.b1", "Ventes, prestations de services", bigDecimalList[2]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b2.b2", "Autres opérations imposables", bigDecimalList[3]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b3.b3", "Achats de prestations de services intracommunautaires", bigDecimalList[4]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b4.b4", "Acquisitions intracommunautaires", bigDecimalList[5]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b5.b5", "Livraisons de gaz naturel ou d'électricité imposables en France", bigDecimalList[6]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b6.b6", "Achats de biens ou de prestations de services réalisées auprès d'un assujetti non établi en France", bigDecimalList[7]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b7.b7", "Régularisations (imposables)", bigDecimalList[8]))); + + + listOfLists.add(new ArrayList<String>(Arrays.asList("b8.b8", "Exportations hors CE", bigDecimalList[11]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b9.b9", "Autres opérations non imposables", bigDecimalList[12]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b10.b10", "Livraisons intracommunautaires", bigDecimalList[13]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b11.b11", "Livraisons de gaz naturel ou d'électricité non imposables en France", bigDecimalList[14]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b12.b12", "Achats de franchise", bigDecimalList[15]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b13.b13", "Ventes de biens ou prestations de services réalisées aurpès d'un assujetti non établi en France", bigDecimalList[16]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b14.b14", "Régularisations (non imposables)", bigDecimalList[17]))); + + + + listOfLists.add(new ArrayList<String>(Arrays.asList("b15.b15", "Taux normal 19,6% (Base hors taxe)", bigDecimalList[23]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b23.b23", "Taux normal 19,6% (Taxe due)", bigDecimalList[24]))); + + listOfLists.add(new ArrayList<String>(Arrays.asList("b16.b16", "Taux réduit 5,5% (Base hors taxe)", bigDecimalList[25]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b24.b24", "Taux réduit 5,5% (Taxe due)", bigDecimalList[26]))); + + listOfLists.add(new ArrayList<String>(Arrays.asList("b18.b18", "Taux normal 8,5% (Base hors taxe)", bigDecimalList[29]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b26.b26", "Taux normal 8,5% (Taxe due)", bigDecimalList[30]))); + + listOfLists.add(new ArrayList<String>(Arrays.asList("b19.b19", "Taux réduit 2,1% (Base hors taxe)", bigDecimalList[31]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b27.b27", "Taux réduit 2,1% (Taxe due)", bigDecimalList[32]))); + + listOfLists.add(new ArrayList<String>(Arrays.asList("b21.b21", "Ancien taux (Base hors taxe)", bigDecimalList[35]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b29.b29", "Ancien taux (Taxe due)", bigDecimalList[36]))); + + listOfLists.add(new ArrayList<String>(Arrays.asList("b22.b22", "Opérations imposables à un autre taux (France métropolitaine ou DOM) (Base hors taxe)", bigDecimalList[37]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b30.b30", "Opérations imposables à un autre taux (France métropolitaine ou DOM) (Taxe due)", bigDecimalList[38]))); + + listOfLists.add(new ArrayList<String>(Arrays.asList("b31.b31", "TVA antérieurement déduite à reverser", bigDecimalList[40]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b32.b32", "Total de la TVA brute due (lignes 08 à 15)", bigDecimalList[41]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b33.b33", "Dont TVA sur acquisitions intracommunautaires", bigDecimalList[42]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b34.b34", "Dont TVA sur opérations à destination de Monaco", bigDecimalList[43]))); + + + listOfLists.add(new ArrayList<String>(Arrays.asList("b35.b35", "Biens constituant des immobilisations", bigDecimalList[46]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b36.b36", "Autres biens et services", bigDecimalList[47]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b37.b37", "Autre TVA à déduire", bigDecimalList[48]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b38.b38", "Report du crédit apparaissant ligne 27 de la précédente déclaration", bigDecimalList[49]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("total1.total1", "Total TVA déductible (lignes 19 à 22)", bigDecimalList[50]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b39.b39", "Dont TVA non perçue récupérable par les assujettis disposant d’un établissement stable dans les DOM", bigDecimalList[51]))); + + listOfLists.add(new ArrayList<String>(Arrays.asList("b40.b40", "Crédit de TVA", bigDecimalList[55]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b41.b41", "Remboursement demandé sur formulaire", bigDecimalList[56]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b42.b42", "Crédit à reporter", bigDecimalList[57]))); + + listOfLists.add(new ArrayList<String>(Arrays.asList("b43.b43", "TVA nette due", bigDecimalList[60]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b44.b44", "Taxes assimilées calculées sur annexe no 3310 A", bigDecimalList[61]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b45.b45", "Sommes à imputer, exprimées en euros, y compris acompte congés", bigDecimalList[62]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b46.b46", "Sommes à ajouter, exprimées en euros, y compris acompte congés", bigDecimalList[63]))); + listOfLists.add(new ArrayList<String>(Arrays.asList("b47.b47", "Total à payer", bigDecimalList[64]))); + + + for (List<String> list : listOfLists) { + fields.setField(doc, list.get(0), list.get(2)); } - - BigDecimal sommeTVABruteDue = new BigDecimal(0); - //B DÉCOMPTE DE LA TVA À PAYER - for (int i = 13; i < 19; i++) { - amount = vatStatementService.vatStatementAmounts( - vatStatementService.findVatStatementByString(listOfLists.get(i).get(1)), - beginDate, endDate); - if (!amount.equals(BigDecimal.ZERO)) { - sommeTVABruteDue = sommeTVABruteDue.add(amount.multiply(BigDecimal.valueOf(Double.valueOf(listOfLists.get(i).get(2))))); - fields.setField(doc, listOfLists.get(i).get(0), amount.toString()); - fields.setField(doc, listOfLists.get(i).get(3), - amount.multiply(BigDecimal.valueOf(Double.valueOf(listOfLists.get(i).get(2)))).toString()); - } - } - - // TVA antérieurement déduite à reverser - BigDecimal tvaAReverser = vatStatementService.vatStatementAmounts( - vatStatementService.findVatStatementByString("TVA antérieurement déduite à reverser"), - beginDate, endDate); - sommeTVABruteDue = sommeTVABruteDue.add(tvaAReverser); - - if (!tvaAReverser.equals(BigDecimal.ZERO)) { - fields.setField(doc, "b31.b31" , tvaAReverser.toString()); - } - - //Total de la TVA brute due - fields.setField(doc, "b32.b32" , sommeTVABruteDue.toString()); - - BigDecimal sommeTVADeductible = new BigDecimal(0); - //TVA DÉDUCTIBLE - for (int i = 19; i < 22; i++) { - amount = vatStatementService.vatStatementAmounts( - vatStatementService.findVatStatementByString(listOfLists.get(i).get(1)), - beginDate, endDate); - if (!amount.equals(BigDecimal.ZERO)) { - sommeTVADeductible = sommeTVADeductible.add(amount); - fields.setField(doc, listOfLists.get(i).get(0), amount.toString()); - } - } - - //Total de la TVA déductible - fields.setField(doc, "total1.total1" , sommeTVADeductible.toString()); - - //Crédit de TVA - BigDecimal creditDeTva = sommeTVADeductible.subtract(sommeTVABruteDue); - if (creditDeTva.compareTo(BigDecimal.ZERO) == 1) { - fields.setField(doc, "b40.b40" , creditDeTva.abs().toString()); - fields.setField(doc, "b42.b42" , creditDeTva.abs().toString()); - } else { - fields.setField(doc, "b43.b43" , creditDeTva.abs().toString()); - fields.setField(doc, "b47.b47" , creditDeTva.abs().toString()); - } //end of page two Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/HttpServerServiceImpl.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/HttpServerServiceImpl.java 2011-07-25 09:02:55 UTC (rev 3233) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/HttpServerServiceImpl.java 2011-07-26 09:34:52 UTC (rev 3234) @@ -128,6 +128,7 @@ String beginDate = req.getParameter("beginDate"); String endDate = req.getParameter("endDate"); String autocomplete = req.getParameter("autocomplete"); + String datas = req.getParameter("datas"); //if image if (imageParam != null){ @@ -173,7 +174,7 @@ case VAT: documentService.createVatDocuments( beginDateFormat, endDateFormat, formatsEnum, - autocomplete); + autocomplete, datas); break; } } catch (LimaException eeeLE) { Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/VatStatementServiceImpl.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/VatStatementServiceImpl.java 2011-07-25 09:02:55 UTC (rev 3233) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/VatStatementServiceImpl.java 2011-07-26 09:34:52 UTC (rev 3234) @@ -25,6 +25,7 @@ package org.chorem.lima.business.ejb; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.StringTokenizer; @@ -38,6 +39,10 @@ import org.chorem.lima.beans.Amounts; import org.chorem.lima.beans.AmountsImpl; import org.chorem.lima.beans.ReportsDatas; +import org.chorem.lima.beans.VatStatementAmounts; +import org.chorem.lima.beans.VatStatementAmountsImpl; +import org.chorem.lima.beans.VatStatementDatas; +import org.chorem.lima.beans.VatStatementDatasImpl; import org.chorem.lima.business.LimaConfig; import org.chorem.lima.business.LimaException; import org.chorem.lima.business.ejbinterface.ReportServiceLocal; @@ -306,24 +311,41 @@ } @Override - public BigDecimal vatStatementAmounts(VatStatement vatStatement, Date selectedBeginDate, Date selectedEndDate) throws LimaException, TopiaException { + public VatStatementAmounts vatStatementAmounts(VatStatement vatStatement, Date selectedBeginDate, Date selectedEndDate) throws LimaException, TopiaException { + TopiaContext transaction = null; + VatStatementAmounts vatStatementAmount = new VatStatementAmountsImpl(); + transaction = beginTransaction(); + try { + vatStatementAmount = vatStatementAmounts(vatStatement, selectedBeginDate, selectedEndDate, transaction); + } + catch (TopiaException e) { + doCatch(transaction, e, log); + } + finally { + doFinally(transaction, log); + } + return vatStatementAmount; + } + + @Override + public VatStatementAmounts vatStatementAmounts(VatStatement vatStatement, Date selectedBeginDate, Date selectedEndDate, TopiaContext topiacontext) throws LimaException, TopiaException { + VatStatementAmounts vatStatementAmounts = + new VatStatementAmountsImpl(); BigDecimal debitTemp = new BigDecimal(0); BigDecimal creditTemp = new BigDecimal(0); - TopiaContext transaction = null; try { - transaction = beginTransaction(); - String accountNumbersList = findAccountNumberByVatStatement(vatStatement, transaction); + String accountNumbersList = findAccountNumberByVatStatement(vatStatement, topiacontext); - AccountDAO accountDAO = LimaCallaoDAOHelper.getAccountDAO(transaction); + AccountDAO accountDAO = LimaCallaoDAOHelper.getAccountDAO(topiacontext); List<Account> accountsList = accountDAO.stringToListAccounts(accountNumbersList, false); for (Account account : accountsList) { ReportsDatas reportsDatas = reportServiceLocal. generateAccountReportsWithTransaction(account, true, - selectedBeginDate, selectedEndDate, transaction); + selectedBeginDate, selectedEndDate, topiacontext); if (reportsDatas.getSoldeDebit()){ debitTemp = debitTemp.add(reportsDatas.getAmountSolde()); } @@ -333,12 +355,12 @@ } } catch (TopiaException e) { - doCatch(transaction, e, log); + doCatch(topiacontext, e, log); } - finally { - doFinally(transaction, log); - } - return debitTemp.subtract(creditTemp).abs(); + //return debitTemp.subtract(creditTemp).abs(); + vatStatementAmounts.setAmount(debitTemp.subtract(creditTemp).abs()); + return vatStatementAmounts; + } @Override @@ -382,7 +404,110 @@ } return vatStatement; } + + /** + * remote methode to get list of financial statement + */ + public List<VatStatementAmounts> vatStatementReport(Date beginDate, Date endDate) throws LimaException { + TopiaContext transaction = null; + List<VatStatementAmounts> result = null; + try { + transaction = beginTransaction(); + //create list form tree + result = vatStatementReport(null, beginDate, endDate, + new VatStatementDatasImpl(), transaction).getListResult(); + } + catch (TopiaException ex) { + doCatch(transaction, ex, log); + } + finally { + doFinally(transaction, log); + } + return result; + } + + /** + * Créé la liste de postes contenant les calculs de comptes + * @throws TopiaException + */ + public VatStatementDatas vatStatementReport(VatStatement vatStatement, Date selectedBeginDate, Date selectedEndDate,VatStatementDatas result, TopiaContext topiaContext) throws LimaException, TopiaException { + List<VatStatement> vatStatements = + getChildrenVatStatement(vatStatement); + try { + BigDecimal amount = new BigDecimal(0); + List<VatStatementAmounts> subResult = + new ArrayList<VatStatementAmounts>(); + for (VatStatement subVatStatement : vatStatements) { + VatStatementAmounts vatStatementAmounts = + vatStatementAmounts(subVatStatement, + selectedBeginDate, selectedEndDate, topiaContext); + vatStatementAmounts.setLabel(subVatStatement.getLabel()); + if (!subVatStatement.getHeader()){ + //on calcul + amount = + amount.add(vatStatementAmounts.getAmount()); + subResult.add(vatStatementAmounts); + } + else { + VatStatementDatas vatStatementDatas = + vatStatementReport(subVatStatement, + selectedBeginDate, selectedEndDate, result, topiaContext); + amount = amount.add(vatStatementDatas. + getVatStatementAmounts().getAmount()); + + VatStatementAmounts headerVatStatementAmounts = + vatStatementDatas.getVatStatementAmounts(); + //Si sous-total + if (subVatStatement.getSubAmount()){ + VatStatementAmounts header = + new VatStatementAmountsImpl(); + header.setLabel(headerVatStatementAmounts.getLabel()); + header.setLevel(headerVatStatementAmounts.getLevel()); + header.setHeader(true); + //ajoute header + subResult.add(header); + //ajoute liste + if (vatStatementDatas.getListResult() != null){ + subResult.addAll(vatStatementDatas.getListResult()); + } + //ajoute une ligne vide + subResult.add(new VatStatementAmountsImpl()); + + }//sinon + else { + if (subVatStatement.getHeaderAmount()){ + subResult.add(headerVatStatementAmounts); + } + else { + headerVatStatementAmounts. + setAmount(new BigDecimal(0)); + subResult.add(headerVatStatementAmounts); + } + //ajoute liste + if (vatStatementDatas.getListResult() != null){ + subResult.addAll(vatStatementDatas.getListResult()); + } + } + } + } + VatStatementAmounts vatStatementAmounts = + new VatStatementAmountsImpl(); + vatStatementAmounts.setAmount(amount); + if (vatStatement != null){ + vatStatementAmounts.setLabel(vatStatement.getLabel()); + vatStatementAmounts.setHeader(vatStatement.getHeader()); + vatStatementAmounts.setLevel(vatStatement.getLevel()); + } + result.setVatStatementAmounts(vatStatementAmounts); + result.setListResult(subResult); + } + catch (LimaException eee) { + doCatch(topiaContext, eee, log); + } + return result; + } + protected TopiaContext beginTransaction() throws TopiaException { // basic check done, make check in database Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/DocumentService.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/DocumentService.java 2011-07-25 09:02:55 UTC (rev 3233) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/DocumentService.java 2011-07-26 09:34:52 UTC (rev 3234) @@ -47,6 +47,6 @@ void createEntryBooksDocuments(Date beginDate, Date endDate, FormatsEnum format) throws LimaException; void createBalanceDocuments(Date beginDate, Date endDate, FormatsEnum format) throws LimaException; void createGeneralEntryBooksDocuments(Date beginDate, Date endDate, FormatsEnum format) throws LimaException; - void createVatDocuments(Date beginDate, Date endDate, FormatsEnum format, String autocomplete) throws LimaException, IOException, COSVisitorException;; + void createVatDocuments(Date beginDate, Date endDate, FormatsEnum format, String autocomplete, String datas) throws LimaException, IOException, COSVisitorException;; } Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/VatStatementService.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/VatStatementService.java 2011-07-25 09:02:55 UTC (rev 3233) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/VatStatementService.java 2011-07-26 09:34:52 UTC (rev 3234) @@ -24,12 +24,12 @@ */ package org.chorem.lima.business.ejbinterface; -import java.math.BigDecimal; import java.util.Date; import java.util.List; import javax.ejb.Remote; +import org.chorem.lima.beans.VatStatementAmounts; import org.chorem.lima.business.LimaException; import org.chorem.lima.entity.VatStatement; import org.nuiton.topia.TopiaException; @@ -51,11 +51,13 @@ void updateVatStatement(VatStatement vatStatement) throws LimaException; - BigDecimal vatStatementAmounts(VatStatement vatStatement, + VatStatementAmounts vatStatementAmounts(VatStatement vatStatement, Date selectedBeginDate, Date selectedEndDate) throws LimaException, TopiaException; VatStatement findVatStatementByString(String label) throws LimaException; + + List<VatStatementAmounts> vatStatementReport(Date beginDate, Date endDate) throws LimaException; } \ No newline at end of file Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/VatStatementServiceLocal.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/VatStatementServiceLocal.java 2011-07-25 09:02:55 UTC (rev 3233) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejbinterface/VatStatementServiceLocal.java 2011-07-26 09:34:52 UTC (rev 3234) @@ -24,11 +24,14 @@ */ package org.chorem.lima.business.ejbinterface; +import java.util.Date; import javax.ejb.Local; +import org.chorem.lima.beans.VatStatementAmounts; import org.chorem.lima.business.LimaException; import org.chorem.lima.entity.VatStatement; import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaException; @Local public interface VatStatementServiceLocal extends VatStatementService { @@ -37,4 +40,8 @@ VatStatement masterVatStatement, VatStatement vatStatement, TopiaContext transaction) throws LimaException; + VatStatementAmounts vatStatementAmounts(VatStatement vatStatement, + Date selectedBeginDate, Date selectedEndDate, + TopiaContext topiacontext) throws LimaException, TopiaException; + } Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatreports/VatReportTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatreports/VatReportTableModel.java 2011-07-25 09:02:55 UTC (rev 3233) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatreports/VatReportTableModel.java 2011-07-26 09:34:52 UTC (rev 3234) @@ -35,6 +35,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.lima.beans.VatStatementAmounts; +import org.chorem.lima.business.FinancialTransactionServiceMonitorable; +import org.chorem.lima.business.ImportServiceMonitorable; import org.chorem.lima.business.LimaException; import org.chorem.lima.business.ReportServiceMonitorable; import org.chorem.lima.business.ServiceListener; @@ -56,6 +58,8 @@ /** Services. */ protected ReportServiceMonitorable reportService; protected VatStatementServiceMonitorable vatStatementService; + protected FinancialTransactionServiceMonitorable financialTransactionService; + protected ImportServiceMonitorable importService; /** selected financial period */ protected FiscalPeriod selectedFiscalPeriod; @@ -67,7 +71,7 @@ * list of BigDecimal, save the difference between the number given by the VAT chart * and the number given by the user afterwards */ - private List<BigDecimal> diffBigDecimalList = new ArrayList<BigDecimal>(); //list of 38 elements + private List<BigDecimal> diffBigDecimalList = new ArrayList<BigDecimal>(); //list of 65 elements /** * variable used for the document edition, @@ -80,11 +84,23 @@ public VatReportTableModel() { reportService = LimaServiceFactory.getInstance().getService( - ReportServiceMonitorable.class); + ReportServiceMonitorable.class); + + //add listeners vatStatementService = - LimaServiceFactory.getInstance().getService( - VatStatementServiceMonitorable.class); + LimaServiceFactory.getInstance().getService( + VatStatementServiceMonitorable.class); vatStatementService.addListener(this); + financialTransactionService = + LimaServiceFactory.getInstance().getService( + FinancialTransactionServiceMonitorable.class); + financialTransactionService.addListener(this); + importService = + LimaServiceFactory.getInstance().getService( + ImportServiceMonitorable.class); + importService.addListener(this); + + //sets autocomplete mode to true on start autocomplete = "true"; } @@ -121,7 +137,7 @@ if (cacheDataList != null) { for (int index = 0; index < cacheDataList.size(); index++) { //sets the BigDecimal difference list - if (diffBigDecimalList.size() != 38) { + if (diffBigDecimalList.size() != 65) { diffBigDecimalList.add(BigDecimal.ZERO); } } @@ -206,7 +222,6 @@ break; } } - return result; } @@ -215,7 +230,10 @@ //check first if the user has changed the number value if (!getValueAt(row, column).equals((BigDecimal)value)) { //if so set the difference between the values inside diffBigDecimalList - diffBigDecimalList.set(row, ((BigDecimal) value).subtract((BigDecimal)getValueAt(row, column))); + BigDecimal diff = diffBigDecimalList.get(row) + .add(((BigDecimal) value) + .subtract((BigDecimal)getValueAt(row, column))); + diffBigDecimalList.set(row, diff); } } @@ -240,6 +258,15 @@ } } + public String getDiffBigDecimalList() { + String result = ""; + for (BigDecimal bigdecimal : diffBigDecimalList) { + result += bigdecimal.toString() + "_"; + } + result = result.substring(0, result.length()-1); + return result; + } + @Override public boolean isCellEditable(int row, int column) { //only the second column can be editable, and also if it contains a number Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatreports/VatReportViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatreports/VatReportViewHandler.java 2011-07-25 09:02:55 UTC (rev 3233) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatreports/VatReportViewHandler.java 2011-07-26 09:34:52 UTC (rev 3234) @@ -86,7 +86,8 @@ + dateFormat.format(tableModel.getFiscalPeriod().getBeginDate()) + "&endDate=" + dateFormat.format(tableModel.getFiscalPeriod().getEndDate()) + "&format=.pdf&model=" + DocumentsEnum.VAT.getFileName() - + "&autocomplete=" + tableModel.getAutocomplete(); + + "&autocomplete=" + tableModel.getAutocomplete() + + "&datas=" + tableModel.getDiffBigDecimalList(); Desktop.getDesktop().browse(new URI(url)); } catch (IOException e) { log.error("Can't open browser", e);
participants (1)
-
vsalaun@users.chorem.org