r2000 - 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 15:14:00 +0200 (Thu, 05 Jun 2014) New Revision: 2000 Url: http://forge.codelutin.com/projects/wao/repository/revisions/2000 Log: refs #4493 add data reliability 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 12:53:25 UTC (rev 1999) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ContactTopiaDao.java 2014-06-05 13:14:00 UTC (rev 2000) @@ -439,4 +439,18 @@ return result; } + + public Map<String, Long> getReliableObservationsCount(ContactsFilter filter) { + + HqlAndParametersBuilder<Contact> hqlAndParametersBuilder = toContactHqlAndParametersBuilder(filter); + + hqlAndParametersBuilder.addEquals(Contact.PROPERTY_STATE, ContactState.OBSERVATION_DONE.ordinal()); + hqlAndParametersBuilder.addEquals(Contact.PROPERTY_DATA_RELIABILITY_ORDINAL, DataReliability.RELIABLE.ordinal()); + + Map<String, Long> dataReliabilitiesByCompany = countByCompany(hqlAndParametersBuilder); + + return dataReliabilitiesByCompany; + + } + } 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 12:53:25 UTC (rev 1999) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/CompanySynthesis.java 2014-06-05 13:14:00 UTC (rev 2000) @@ -19,6 +19,10 @@ protected double dataInputDateReactivity; + protected double dataReliabilityRatio; + + private Long reliableObservationsCount; + public String getCompanyId() { return companyId; } @@ -71,4 +75,21 @@ return dataInputDateReactivity > 15.; } + public double getDataReliabilityRatio() { + Long doneObservationsCount = getContactsStatesStatistics().get(ContactState.OBSERVATION_DONE); + double ratio = 0.; + if (doneObservationsCount != null && doneObservationsCount > 0) { + double reliableObservationsCount = (double) getReliableObservationsCount(); + ratio = reliableObservationsCount / doneObservationsCount; + } + return ratio; + } + + public void setReliableObservationsCount(Long reliableObservationsCount) { + this.reliableObservationsCount = reliableObservationsCount; + } + + public Long getReliableObservationsCount() { + return reliableObservationsCount; + } } 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 12:53:25 UTC (rev 1999) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SynthesisService.java 2014-06-05 13:14:00 UTC (rev 2000) @@ -69,6 +69,8 @@ setDataInputDateReactivity(obsMerSynthesis, filter); + setDataReliability(obsMerSynthesis, filter); + for (CompanySynthesis companySynthesis : obsMerSynthesis.getCompanySyntheses().values()) { String companyId = companySynthesis.getCompanyId(); Company company = getCompanyDao().findByTopiaId(companyId); @@ -83,6 +85,20 @@ } + protected void setDataReliability(ObsMerSynthesis obsMerSynthesis, ContactsFilter filter) { + + ContactTopiaDao dao = getContactDao(); + + Map<String, Long> reliableObservationsCount = dao.getReliableObservationsCount(filter); + + for (Map.Entry<String, Long> entry : reliableObservationsCount.entrySet()) { + String companyId = entry.getKey(); + CompanySynthesis companySynthesis = obsMerSynthesis.getCompanySynthesis(companyId); + companySynthesis.setReliableObservationsCount(reliableObservationsCount.get(companyId)); + } + + } + protected void setDataInputDateReactivity(ObsMerSynthesis obsMerSynthesis, ContactsFilter filter) { ContactTopiaDao dao = getContactDao(); @@ -111,7 +127,6 @@ } - } protected void setContactStatesStatistics(ObsMerSynthesis obsMerSynthesis, ContactsFilter filter) { 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 12:53:25 UTC (rev 1999) +++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/synthesis.jsp 2014-06-05 13:14:00 UTC (rev 2000) @@ -209,10 +209,36 @@ </article> <article> + <h2> <s:text name="SynthesisId.IND_DATA_RELIABILITY"/> </h2> + <table class="table"> + <thead> + <tr> + <th> + <s:text name="wao.ui.entity.Company"/> + </th> + <th> + <s:text name="wao.ui.synthesis.dataReliability.description"/> + </th> + </tr> + </thead> + <tbody> + <s:iterator value="synthesis.companySynthesesOrderedByName"> + <tr> + <td> + <s:property value="companyName"/> + </td> + <td> + <s:property value="dataReliabilityRatio * 100"/> % + </td> + </tr> + </s:iterator> + </tbody> + </table> + </article>
participants (1)
-
bleny@users.forge.codelutin.com