Author: bpoussin Date: 2014-07-31 16:01:05 +0200 (Thu, 31 Jul 2014) New Revision: 423 Url: http://forge.chorem.org/projects/chorem/repository/revisions/423 Log: - add some information (details) on summary page - fixes some smal syntax error Modified: trunk/chorem-webmotion/src/main/java/org/chorem/webmotion/actions/DashboardAction.java trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/dashboardSummary.jsp trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/decorator.jsp trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/financial/expenseAccountView.jsp Modified: trunk/chorem-webmotion/src/main/java/org/chorem/webmotion/actions/DashboardAction.java =================================================================== --- trunk/chorem-webmotion/src/main/java/org/chorem/webmotion/actions/DashboardAction.java 2014-07-16 14:25:50 UTC (rev 422) +++ trunk/chorem-webmotion/src/main/java/org/chorem/webmotion/actions/DashboardAction.java 2014-07-31 14:01:05 UTC (rev 423) @@ -372,8 +372,37 @@ // WikittyQuery[] annualDebtIncomeQuery = getDebtIncomeQuery(firstDayYear, now, companyId); // WikittyQuery[] pastAnnualDebtIncomeQuery = getDebtIncomeQuery(lastYearFirstDay, lastYearNow, companyId); + // les factures que notre societe aura a payer dans le futur (facture non encore recu) + WikittyQuery invoiceExpectedDebtQuery = new ChoremQueryMaker() + .select().sum(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_AMOUNT) + .and() + .exteq(FinancialTransaction.EXT_FINANCIALTRANSACTION) + .ne(Invoice.FQ_FIELD_INVOICE_STATUS, InvoiceStatus.CANCELED.name()) + .or().isNull(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_EMITTEDDATE) + .gt(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_EMITTEDDATE, now) + .close() + .isNull(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_PAYMENTDATE) + .containsOne(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_PAYER) + .select(Element.ID).filterOnCompanyOrEmployee(companyId) + .end().setLimit(WikittyQuery.MAX); + + // les factures que notre societe doit payer mais peu encore attendre (facture recu) + WikittyQuery invoiceReceivedDebtQuery = new ChoremQueryMaker() + .select().sum(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_AMOUNT) + .and() + .exteq(FinancialTransaction.EXT_FINANCIALTRANSACTION) + .ne(Invoice.FQ_FIELD_INVOICE_STATUS, InvoiceStatus.CANCELED.name()) + .lt(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_EMITTEDDATE, now) + .or().isNull(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_EXPECTEDDATE) + .gt(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_EXPECTEDDATE, inOneWeek) + .close() + .isNull(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_PAYMENTDATE) + .containsOne(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_PAYER) + .select(Element.ID).filterOnCompanyOrEmployee(companyId) + .end().setLimit(WikittyQuery.MAX); + // les factures que notre societe doit payer au plus tard dans 7 jours - WikittyQuery invoiceDebtQuery = new ChoremQueryMaker() + WikittyQuery invoiceDueDebtQuery = new ChoremQueryMaker() .select().sum(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_AMOUNT) .and() .exteq(FinancialTransaction.EXT_FINANCIALTRANSACTION) @@ -384,8 +413,35 @@ .select(Element.ID).filterOnCompanyOrEmployee(companyId) .end().setLimit(WikittyQuery.MAX); + // les factures prevu mais pas encore envoyees + WikittyQuery invoiceExpectedIncomeQuery = new ChoremQueryMaker() + .select().sum(Invoice.FQ_FIELD_FINANCIALTRANSACTION_AMOUNT) + .and() + .exteq(FinancialTransaction.EXT_FINANCIALTRANSACTION) + .ne(Invoice.FQ_FIELD_INVOICE_STATUS, InvoiceStatus.CANCELED.name()) + .or().isNull(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_EMITTEDDATE) + .gt(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_EMITTEDDATE, now) + .close() + .isNull(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_PAYMENTDATE) + .containsOne(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_BENEFICIARY) + .select(Element.ID).filterOnCompanyOrEmployee(companyId) + .end().setLimit(WikittyQuery.MAX); + + // les factures envoyer mais pas encore en retard + WikittyQuery invoiceEmittedIncomeQuery = new ChoremQueryMaker() + .select().sum(Invoice.FQ_FIELD_FINANCIALTRANSACTION_AMOUNT) + .and() + .exteq(FinancialTransaction.EXT_FINANCIALTRANSACTION) + .ne(Invoice.FQ_FIELD_INVOICE_STATUS, InvoiceStatus.CANCELED.name()) + .lt(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_EMITTEDDATE, now) + .gt(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_EXPECTEDDATE, now) + .isNull(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_PAYMENTDATE) + .containsOne(FinancialTransaction.FQ_FIELD_FINANCIALTRANSACTION_BENEFICIARY) + .select(Element.ID).filterOnCompanyOrEmployee(companyId) + .end().setLimit(WikittyQuery.MAX); + // les factures qu'auraient du payer nos clients (ils sont en retard) - WikittyQuery invoiceIncomeQuery = new ChoremQueryMaker() + WikittyQuery invoiceDueIncomeQuery = new ChoremQueryMaker() .select().sum(Invoice.FQ_FIELD_FINANCIALTRANSACTION_AMOUNT) .and() .exteq(FinancialTransaction.EXT_FINANCIALTRANSACTION) @@ -405,20 +461,29 @@ WikittyQueryResult<Double>[] invoices = client.findAllByQuery(Double.class, - invoiceDebtQuery, invoiceIncomeQuery); + invoiceExpectedDebtQuery, invoiceReceivedDebtQuery, invoiceDueDebtQuery, + invoiceExpectedIncomeQuery, invoiceEmittedIncomeQuery, invoiceDueIncomeQuery); WikittyQueryResult<String> touchs = client.findAllByQuery(touchQuery); // nombre de facture - int invoiceDebtNb = invoices[0].getTotalResult(); + int invoiceExpectedDebtNb = invoices[0].getTotalResult(); + int invoiceReceivedDebtNb = invoices[1].getTotalResult(); + int invoiceDueDebtNb = invoices[2].getTotalResult(); // montant total de toutes les factures - double invoiceDebt = invoices[0].peek(); + double invoiceExpectedDebt = invoices[0].peek(); + double invoiceReceivedDebt = invoices[1].peek(); + double invoiceDueDebt = invoices[2].peek(); // nombre de facture - int invoiceIncomeNb = invoices[1].getTotalResult(); + int invoiceExpectedIncomeNb = invoices[3].getTotalResult(); + int invoiceEmittedIncomeNb = invoices[4].getTotalResult(); + int invoiceDueIncomeNb = invoices[5].getTotalResult(); // montant total de toutes les factures - double invoiceIncome = invoices[1].peek(); + double invoiceExpectedIncome = invoices[3].peek(); + double invoiceEmittedIncome = invoices[4].peek(); + double invoiceDueIncome = invoices[5].peek(); int touchNb = touchs.getTotalResult(); @@ -468,10 +533,18 @@ "date", now, "now", "\"" + WikittyUtil.toString(now) + "\"", //DateFormatUtils.format(now, solRDateFormat), "inOneWeek", DateFormatUtils.format(inOneWeek, summaryDateFormat), - "invoiceDebtNb", invoiceDebtNb, - "invoiceDebt", invoiceDebt, - "invoiceIncomeNb", invoiceIncomeNb, - "invoiceIncome", invoiceIncome, + "invoiceExpectedDebtNb", invoiceExpectedDebtNb, + "invoiceReceivedDebtNb", invoiceReceivedDebtNb, + "invoiceDueDebtNb", invoiceDueDebtNb, + "invoiceExpectedDebt", invoiceExpectedDebt, + "invoiceReceivedDebt", invoiceReceivedDebt, + "invoiceDueDebt", invoiceDueDebt, + "invoiceExpectedIncomeNb", invoiceExpectedIncomeNb, + "invoiceEmittedIncomeNb", invoiceEmittedIncomeNb, + "invoiceDueIncomeNb", invoiceDueIncomeNb, + "invoiceExpectedIncome", invoiceExpectedIncome, + "invoiceEmittedIncome", invoiceEmittedIncome, + "invoiceDueIncome", invoiceDueIncome, "annualDebtIncome", annualDebtIncome, "pastAnnualDebtIncome", pastAnnualDebtIncome, "income", income, Modified: trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/dashboardSummary.jsp =================================================================== --- trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/dashboardSummary.jsp 2014-07-16 14:25:50 UTC (rev 422) +++ trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/dashboardSummary.jsp 2014-07-31 14:01:05 UTC (rev 423) @@ -26,6 +26,137 @@ <%@ taglib uri="/WEB-INF/wikitty.tld" prefix="w"%> <div class="row"> + <div class="col-md-1"> + <p class="calendar"> + <f:formatDate value="${date}" pattern="dd"/> + <span class="saint"><%=org.chorem.Saint.get(new java.util.Date())%></span> + <span class="week">semaine <f:formatDate value="${date}" pattern="w"/></span> + <em><f:formatDate value="${date}" pattern="MMM"/></em> + </p> + </div> + <div class="col-xs-10"> + <div class="row"> + <div class="col-xs-12"> + factures fournisseurs prévues: + <a href='<c:url value="/report?report=invoiceDebt&query=(FinancialTransaction.emittedDate=null or FinancialTransaction.emittedDate>NOW ) and FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceExpectedDebt}"/> (${invoiceExpectedDebtNb})</a> + reçues: + <a href='<c:url value="/report?report=invoiceDebt&query=FinancialTransaction.emittedDate<NOW and (FinancialTransaction.expectedDate=null or FinancialTransaction.expectedDate>NOW+7DAYS ) and FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceReceivedDebt}"/> (${invoiceReceivedDebtNb})</a> + à payer: + <a href='<c:url value="/report?report=invoiceDebt&query=FinancialTransaction.expectedDate<NOW+7DAYS and FinancialTransaction.paymentDate=null"/>'> + <strong><f:formatNumber type="currency" value="${invoiceDueDebt}"/> (${invoiceDueDebtNb})</strong></a> + total: + <a href='<c:url value="/report?report=invoiceDebt&query=FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceExpectedDebt+invoiceReceivedDebt+invoiceDueDebt}"/> (${invoiceExpectedDebtNb+invoiceReceivedDebtNb+invoiceDueDebtNb})</a> + </div> + </div> + <div class="row"> + <div class="col-xs-12"> + factures clients prévues: + <a href='<c:url value="/report?report=invoiceIncome&query=(FinancialTransaction.emittedDate=null or FinancialTransaction.emittedDate>NOW ) and FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceExpectedIncome}"/> (${invoiceExpectedIncomeNb})</a> + envoyées: + <a href='<c:url value="/report?report=invoiceIncome&query=FinancialTransaction.emittedDate<NOW and (FinancialTransaction.expectedDate=null or FinancialTransaction.expectedDate>NOW ) and FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceEmittedIncome}"/> (${invoiceEmittedIncomeNb})</a> + en retard: + <a href='<c:url value="/report?report=invoiceIncome&query=FinancialTransaction.expectedDate<NOW and FinancialTransaction.paymentDate=null"/>'> + <strong><f:formatNumber type="currency" value="${invoiceDueIncome}"/> (${invoiceDueIncomeNb})</strong></a> + total: + <a href='<c:url value="/report?report=invoiceDebt&query=FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceExpectedIncome+invoiceEmittedIncome+invoiceDueIncome}"/> (${invoiceExpectedIncomeNb+invoiceEmittedIncomeNb+invoiceDueIncomeNb})</a> + </div> + </div> + + <div class="row spacer"> </div> + + <div class="row"> + <div class="col-xs-12"> + Il y a ${touchNb} <a href='<c:url value="/wikitty/search?query=${touchQueryString}"/>'> + contact à prendre</a> + </div> + </div> + + <div class="row spacer"> </div> + + <div class="row"> + <div class="col-xs-4"> + Chiffre d'affaire HT: + <strong> + <a href='<c:url value="/wikitty/search?query=${annualDebtIncome.get('incomesQuery')} or ${annualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${income}"/> + </a> + </strong> + </div> + <div class="col-xs-3"> + N-1: <strong> + <a href='<c:url value="/wikitty/search?query=${pastAnnualDebtIncome.get('incomesQuery')} or ${pastAnnualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${pastIncome}"/> + </a> + </strong> + </div> + <div class="col-xs-4"> + Évolution : <f:formatNumber pattern="+#,##0.00;-#,##0.00" value="${income-pastIncome}"/> (<f:formatNumber type="percent" value="${incomeEvolution}"/>) + </div> + </div> + <div class="row"> + <div class="col-xs-4"> + Chiffre d'affaire TTC: + <strong> + <a href='<c:url value="/wikitty/search?query=${annualDebtIncome.get('incomesQuery')} or ${annualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${incomeTTC}"/> + </a> + </strong> + </div> + <div class="col-xs-3"> + N-1: <strong> + <a href='<c:url value="/wikitty/search?query=${pastAnnualDebtIncome.get('incomesQuery')} or ${pastAnnualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${pastIncomeTTC}"/> + </a> + </strong> + </div> + <div class="col-xs-4"> + Évolution : <f:formatNumber pattern="+#,##0.00;-#,##0.00" value="${incomeTTC-pastIncomeTTC}"/> (<f:formatNumber type="percent" value="${incomeTTCEvolution}"/>) + </div> + </div> + <div class="row"> + <div class="col-xs-4"> + Dépenses TTC: + <strong> + <a href='<c:url value="/wikitty/search?query=${annualDebtIncome.get('debtsQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${debtsTTC}"/> + </a> + </strong> + </div> + <div class="col-xs-3"> + N-1: <strong> + <a href='<c:url value="/wikitty/search?query=${pastAnnualDebtIncome.get('debtsQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${pastDebtsTTC}"/> + </a> + </strong> + </div> + <div class="col-xs-4"> + Évolution : <f:formatNumber pattern="+#,##0.00;-#,##0.00" value="${debtsTTC-pastDebtsTTC}"/> (<f:formatNumber type="percent" value="${debtsTTCEvolution}"/>) + </div> + </div> + <div class="row"> + <div class="col-xs-4"> + Bénéfice/perte: + <strong><f:formatNumber type="currency" value="${profitTTC}"/></strong> + </div> + <div class="col-xs-3"> + N-1: <strong><f:formatNumber type="currency" value="${pastProfitTTC}"/></strong> + </div> + <div class="col-xs-4"> + Évolution : <f:formatNumber pattern="+#,##0.00;-#,##0.00" value="${profitTTC-pastProfitTTC}"/> (<f:formatNumber type="percent" value="${profitTTCEvolution}"/>) + </div> + </div> + </div> +</div> + + + <!-- +<div class="row"> <div class="span1"> <p class="calendar"> <f:formatDate value="${date}" pattern="dd"/> @@ -36,58 +167,143 @@ </div> <div class="span24"> <ul> - <li>Il y a ${invoiceDebtNb} - <a href='<c:url value="/report?report=invoiceDebt&end=${inOneWeek}&query=FinancialTransaction.paymentDate=null"/>'> - factures à payer</a> pour un montant de - <f:formatNumber type="currency" value="${invoiceDebt}"/></li> - <li>Il y a ${invoiceIncomeNb} - <a href='<c:url value="/report?report=invoiceIncome&useDate=false&query=FinancialTransaction.paymentDate=null and FinancialTransaction.expectedDate<NOW"/>'> - factures impayées</a> pour un montant de - <f:formatNumber type="currency" value="${invoiceIncome}"/></li> + <li> + <ul> + <li class="inline"> + factures fournisseurs prévues: + <a href='<c:url value="/report?report=invoiceDebt&query=(FinancialTransaction.emittedDate=null or FinancialTransaction.emittedDate>NOW ) and FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceExpectedDebt}"/> (${invoiceExpectedDebtNb})</a> + </li> + <li class="inline"> + reçues: + <a href='<c:url value="/report?report=invoiceDebt&query=FinancialTransaction.emittedDate<NOW and (FinancialTransaction.expectedDate=null or FinancialTransaction.expectedDate>NOW+7DAYS ) and FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceReceivedDebt}"/> (${invoiceReceivedDebtNb})</a> + </li> + <li class="inline"> + à payer: + <a href='<c:url value="/report?report=invoiceDebt&query=FinancialTransaction.expectedDate<NOW+7DAYS and FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceDueDebt}"/> (${invoiceDueDebtNb})</a> + </li> + <li class="inline last"> + total: + <a href='<c:url value="/report?report=invoiceDebt&query=FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceExpectedDebt+invoiceReceivedDebt+invoiceDueDebt}"/> (${invoiceExpectedDebtNb+invoiceReceivedDebtNb+invoiceDueDebtNb})</a> + </li> + </ul> + </li> + <li> + <ul> + <li class="inline"> + factures clients prévues: + <a href='<c:url value="/report?report=invoiceIncome&query=(FinancialTransaction.emittedDate=null or FinancialTransaction.emittedDate>NOW ) and FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceExpectedIncome}"/> (${invoiceExpectedIncomeNb})</a> + </li> + <li class="inline"> + envoyées: + <a href='<c:url value="/report?report=invoiceIncome&query=FinancialTransaction.emittedDate<NOW and (FinancialTransaction.expectedDate=null or FinancialTransaction.expectedDate>NOW ) and FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceEmittedIncome}"/> (${invoiceEmittedIncomeNb})</a> + </li> + <li class="inline"> + en retard: + <a href='<c:url value="/report?report=invoiceIncome&query=FinancialTransaction.expectedDate<NOW and FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceDueIncome}"/> (${invoiceDueIncomeNb})</a> + </li> + <li class="inline last"> + total: + <a href='<c:url value="/report?report=invoiceDebt&query=FinancialTransaction.paymentDate=null"/>'> + <f:formatNumber type="currency" value="${invoiceExpectedIncome+invoiceEmittedIncome+invoiceDueIncome}"/> (${invoiceExpectedIncomeNb+invoiceEmittedIncomeNb+invoiceDueIncomeNb})</a> + </li> + </ul> + </li> + </ul> + <ul> <li>Il y a ${touchNb} <a href='<c:url value="/wikitty/search?query=${touchQueryString}"/>'> contact à prendre</a></li> </ul> <ul> - <li>Chiffre d'affaire HT: - <strong> - <a href='<c:url value="/wikitty/search?query=${annualDebtIncome.get('incomesQuery')} or ${annualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> - <f:formatNumber type="currency" value="${income}"/> - </a> - </strong> - (N-1: <strong> - <a href='<c:url value="/wikitty/search?query=${pastAnnualDebtIncome.get('incomesQuery')} or ${pastAnnualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> - <f:formatNumber type="currency" value="${pastIncome}"/> - </a> - </strong> - Évolution : <f:formatNumber type="percent" value="${incomeEvolution}"/> + <li> + <ul> + <li class="inline"> + Chiffre d'affaire HT: + <strong> + <a href='<c:url value="/wikitty/search?query=${annualDebtIncome.get('incomesQuery')} or ${annualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${income}"/> + </a> + </strong> + </li> + <li class="inline"> + N-1: <strong> + <a href='<c:url value="/wikitty/search?query=${pastAnnualDebtIncome.get('incomesQuery')} or ${pastAnnualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${pastIncome}"/> + </a> + </strong> + </li> + <li class="inline last"> + Évolution : <f:formatNumber pattern="+#,##0.00;-#,##0.00" value="${income-pastIncome}"/> (<f:formatNumber type="percent" value="${incomeEvolution}"/>) + </li> + </ul> </li> - <li>Chiffre d'affaire TTC: - <strong> - <a href='<c:url value="/wikitty/search?query=${annualDebtIncome.get('incomesQuery')} or ${annualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> - <f:formatNumber type="currency" value="${incomeTTC}"/> - </a> - </strong> - (N-1: <strong> - <a href='<c:url value="/wikitty/search?query=${pastAnnualDebtIncome.get('incomesQuery')} or ${pastAnnualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> - <f:formatNumber type="currency" value="${pastIncomeTTC}"/> - </a> - </strong>) - Évolution : <f:formatNumber type="percent" value="${incomeTTCEvolution}"/> + <li> + <ul> + <li class="inline"> + Chiffre d'affaire TTC: + <strong> + <a href='<c:url value="/wikitty/search?query=${annualDebtIncome.get('incomesQuery')} or ${annualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${incomeTTC}"/> + </a> + </strong> + </li> + <li class="inline"> + N-1: <strong> + <a href='<c:url value="/wikitty/search?query=${pastAnnualDebtIncome.get('incomesQuery')} or ${pastAnnualDebtIncome.get('extraIncomesQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${pastIncomeTTC}"/> + </a> + </strong> + </li> + <li class="inline last"> + Évolution : <f:formatNumber pattern="+#,##0.00;-#,##0.00" value="${incomeTTC-pastIncomeTTC}"/> (<f:formatNumber type="percent" value="${incomeTTCEvolution}"/>) + </li> + </ul> </li> - <li>Dépenses TTC: - <strong> - <a href='<c:url value="/wikitty/search?query=${annualDebtIncome.get('debtsQuery')} %23limit=2147483647"/>'> - <f:formatNumber type="currency" value="${debtsTTC}"/> - </a> - </strong> - (N-1: <strong> - <a href='<c:url value="/wikitty/search?query=${pastAnnualDebtIncome.get('debtsQuery')} %23limit=2147483647"/>'> - <f:formatNumber type="currency" value="${pastDebtsTTC}"/> - </a> - </strong>) - Évolution : <f:formatNumber type="percent" value="${debtsTTCEvolution}"/> + <li> + <ul> + <li class="inline"> + Dépenses TTC: + <strong> + <a href='<c:url value="/wikitty/search?query=${annualDebtIncome.get('debtsQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${debtsTTC}"/> + </a> + </strong> + </li> + <li class="inline"> + N-1: <strong> + <a href='<c:url value="/wikitty/search?query=${pastAnnualDebtIncome.get('debtsQuery')} %23limit=2147483647"/>'> + <f:formatNumber type="currency" value="${pastDebtsTTC}"/> + </a> + </strong> + </li> + <li class="inline last"> + Évolution : <f:formatNumber pattern="+#,##0.00;-#,##0.00" value="${debtsTTC-pastDebtsTTC}"/> (<f:formatNumber type="percent" value="${debtsTTCEvolution}"/>) + </li> + </ul> </li> - <li>Bénéfice/perte: - <strong><f:formatNumber type="currency" value="${profitTTC}"/></strong> - (N-1: <strong><f:formatNumber type="currency" value="${pastProfitTTC}"/></strong>) - Évolution : <f:formatNumber type="percent" value="${profitTTCEvolution}"/> + <li> + <ul> + <li class="inline"> + Bénéfice/perte: + <strong><f:formatNumber type="currency" value="${profitTTC}"/></strong> + </li> + <li class="inline"> + N-1: <strong><f:formatNumber type="currency" value="${pastProfitTTC}"/></strong> + </li> + <li class="inline last"> + Évolution : <f:formatNumber pattern="+#,##0.00;-#,##0.00" value="${profitTTC-pastProfitTTC}"/> (<f:formatNumber type="percent" value="${profitTTCEvolution}"/>) + </li> + </ul> + </li> </ul> </div> </div> + + --> \ No newline at end of file Modified: trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/decorator.jsp =================================================================== --- trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/decorator.jsp 2014-07-16 14:25:50 UTC (rev 422) +++ trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/decorator.jsp 2014-07-31 14:01:05 UTC (rev 423) @@ -75,7 +75,7 @@ <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> - <li class="dropdown nav-group""> + <li class="dropdown nav-group"> <a href="<c:url value="/wikitty/search?extension=Company&extension=Person&extension=Employee&extension=Touch"/>">Contact</a> <a href="#" class="dropdown-toggle" @@ -271,12 +271,10 @@ </div> </c:if> - <div class="container"> - <div class="well"> + <div class="container-fluid well"> <c:if test="${not empty slotContent}" > <jsp:include page="${slotContent}"></jsp:include> </c:if> - </div> </div> </body> </html> Modified: trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/financial/expenseAccountView.jsp =================================================================== --- trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/financial/expenseAccountView.jsp 2014-07-16 14:25:50 UTC (rev 422) +++ trunk/chorem-webmotion/src/main/webapp/WEB-INF/jsp/financial/expenseAccountView.jsp 2014-07-31 14:01:05 UTC (rev 423) @@ -73,7 +73,7 @@ <th style='width:15%'>Emitted Date</th> <th style='width:10%'>Project</th> <th style='width:15%'>Description</th> - <th style='width:15%%'>Category</th> + <th style='width:15%'>Category</th> <th style='width:7%'>Amount</th> <th style='width:7%'>VAT</th> <th style='width:6%'>total</th>