r1998 - in trunk: wao-persistence/src/main/java/fr/ifremer/wao/entity wao-services/src/main/java/fr/ifremer/wao/services/service wao-web/src/main/webapp/WEB-INF/content/obsmer
Author: bleny Date: 2014-06-05 13:57:57 +0200 (Thu, 05 Jun 2014) New Revision: 1998 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1998 Log: refs #4493 add contact state statistics percentages Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/CompanySynthesis.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SynthesisService.java trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/synthesis.jsp Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java 2014-06-05 11:46:30 UTC (rev 1997) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java 2014-06-05 11:57:57 UTC (rev 1998) @@ -331,6 +331,14 @@ return countByCompany; } + public Map<String, Long> countByCompany(ContactsFilter filter) { + + HqlAndParametersBuilder<Contact> hqlAndParametersBuilder = toContactHqlAndParametersBuilder(filter); + + return countByCompany(hqlAndParametersBuilder); + + } + public Map<String, Double> getComplianceBoardingIndicator(ContactsFilter filter) { HqlAndParametersBuilder<Contact> hqlAndParametersBuilder = toContactHqlAndParametersBuilder(filter); Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/CompanySynthesis.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/CompanySynthesis.java 2014-06-05 11:46:30 UTC (rev 1997) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/CompanySynthesis.java 2014-06-05 11:57:57 UTC (rev 1998) @@ -15,6 +15,8 @@ protected Map<ContactState, Long> contactsStatesStatistics; + protected long contactsCount; + public String getCompanyId() { return companyId; } @@ -46,4 +48,12 @@ public void setContactsStatesStatistics(Map<ContactState, Long> contactsStatesStatistics) { this.contactsStatesStatistics = contactsStatesStatistics; } + + public long getContactsCount() { + return contactsCount; + } + + public void setContactsCount(long contactsCount) { + this.contactsCount = contactsCount; + } } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SynthesisService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SynthesisService.java 2014-06-05 11:46:30 UTC (rev 1997) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SynthesisService.java 2014-06-05 11:57:57 UTC (rev 1998) @@ -81,11 +81,15 @@ ContactTopiaDao dao = getContactDao(); + Map<String, Long> contactsCountsByCompany = dao.countByCompany(filter); + Map<String, Map<ContactState, Long>> contactStatesStatistics = dao.getContactStatesStatistics(filter); for (Map.Entry<String, Map<ContactState, Long>> entry : contactStatesStatistics.entrySet()) { - CompanySynthesis companySynthesis = obsMerSynthesis.getCompanySynthesis(entry.getKey()); + String companyId = entry.getKey(); + CompanySynthesis companySynthesis = obsMerSynthesis.getCompanySynthesis(companyId); companySynthesis.setContactsStatesStatistics(entry.getValue()); + companySynthesis.setContactsCount(contactsCountsByCompany.get(companyId)); } } Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/synthesis.jsp =================================================================== --- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/synthesis.jsp 2014-06-05 11:46:30 UTC (rev 1997) +++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/synthesis.jsp 2014-06-05 11:57:57 UTC (rev 1998) @@ -144,6 +144,9 @@ <s:text name="%{#contactState.i18nKey}"/> </th> </s:iterator> + <th> + <s:text name="wao.ui.misc.total"/> + </th> </tr> </thead> <tbody> @@ -155,8 +158,13 @@ <s:iterator value="contactsStatesStatistics"> <td> <s:property value="value"/> + <s:set name="percentage" value="%{value.doubleValue() / contactsCount * 100}" /> + (<s:property value="#percentage"/> %) </td> </s:iterator> + <td> + <s:property value="contactsCount"/> + </td> </tr> </s:iterator> </tbody>
participants (1)
-
bleny@users.forge.codelutin.com