Author: fdesbois Date: 2010-02-12 18:18:54 +0000 (Fri, 12 Feb 2010) New Revision: 352 Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/services/ServiceSynthesisImpl.java trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/services/ServiceSynthesisImplTest.java trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Synthesis.properties trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml Log: Evo #1985 : Add day in date format, suppress validation and use createQueryForContactDone. Modified: trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/services/ServiceSynthesisImpl.java =================================================================== --- trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/services/ServiceSynthesisImpl.java 2010-02-12 18:01:51 UTC (rev 351) +++ trunk/suiviobsmer-business/src/main/java/fr/ifremer/suiviobsmer/services/ServiceSynthesisImpl.java 2010-02-12 18:18:54 UTC (rev 352) @@ -91,6 +91,7 @@ if (period == null || period.getFromDate() == null || period.getThruDate() == null) { return results; } + period.initDayOfMonthExtremities(); // Expected SortedMap<Date, Integer> serie1 = new TreeMap<Date,Integer>(); @@ -369,7 +370,8 @@ "AND " + tideBeginDate + " BETWEEN :fromDate AND :thruDate)" + " OR (" + tideBeginDate + " IS NULL " + "AND " + createDate + " BETWEEN :fromDate AND :thruDate)"); - + + period.initDayOfMonthExtremities(); query.addParam("fromDate", period.getFromDate()). addParam("thruDate", period.getThruDate()); } @@ -429,9 +431,12 @@ ContactDAO dao = SuiviObsmerModelDAOHelper.getContactDAO(transaction); - String contact = "C"; - TopiaQuery query = dao.createQuery(contact); +// String contact = "C"; +// TopiaQuery query = dao.createQuery(contact); + + TopiaQuery query = dao.createQueryDoneContactsFromDate(null, period.getFromDate()); + String contact = query.getMainAlias(); String companyKey = contact + "." + Contact.OBSERVER + "." + WaoUser.COMPANY; String companyName = companyKey + "." + Company.NAME; @@ -440,13 +445,14 @@ } String tideBegin = contact + "." + Contact.TIDE_BEGIN_DATE; - period.initDayOfMonthExtremities(); - query.add(tideBegin + " BETWEEN :fromDate AND :thruDate"). - addParam("fromDate", period.getFromDate()). - addParam("thruDate", period.getThruDate()); + //period.initDayOfMonthExtremities(); + if (period.getThruDate() != null) { + query.add(tideBegin, Op.LE, period.getThruDate()); + } + String dataInput = contact + "." + Contact.DATA_INPUT_DATE; - query.addNotNull(dataInput); + //query.addNotNull(dataInput); // FIXME-FD20100212 Hack for H2 which not managed day for date diff // TopiaContextImplementor context = (TopiaContextImplementor)transaction; Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/services/ServiceSynthesisImplTest.java =================================================================== --- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/services/ServiceSynthesisImplTest.java 2010-02-12 18:01:51 UTC (rev 351) +++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/services/ServiceSynthesisImplTest.java 2010-02-12 18:18:54 UTC (rev 352) @@ -473,6 +473,8 @@ contact1.setTideBeginDate(begin); Date inputDate = DateUtils.createDate(15, 4, 2009); contact1.setDataInputDate(inputDate); + contact1.setState(ContactState.BOARDING_DONE.toString()); + contact1.setValidationCompany(Boolean.TRUE); serviceContact.saveContact(contact1, false); Contact contact2 = new ContactImpl(); @@ -481,6 +483,8 @@ contact2.setTideBeginDate(begin); inputDate = DateUtils.createDate(15, 3, 2009); contact2.setDataInputDate(inputDate); + contact2.setState(ContactState.BOARDING_DONE.toString()); + contact2.setValidationCompany(Boolean.TRUE); serviceContact.saveContact(contact2, false); Contact contact3 = new ContactImpl(); @@ -488,6 +492,8 @@ begin = DateUtils.createDate(3, 3, 2009); contact3.setTideBeginDate(begin); contact3.setDataInputDate(begin); + contact3.setState(ContactState.BOARDING_DONE.toString()); + contact3.setValidationCompany(Boolean.TRUE); serviceContact.saveContact(contact3, false); /** EXEC METHOD **/ Modified: trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Synthesis.properties =================================================================== --- trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Synthesis.properties 2010-02-12 18:01:51 UTC (rev 351) +++ trunk/suiviobsmer-ui/src/main/resources/fr/ifremer/suiviobsmer/ui/pages/Synthesis.properties 2010-02-12 18:18:54 UTC (rev 352) @@ -22,5 +22,5 @@ filtersForm-periodEnd-required-message: La date de fin est obligatoire filterPeriodForContactStates-periodBeginForContactStates-required-message: La date de d\u00E9but est obligatoire filterPeriodForContactStates-periodEndForContactStates-required-message: La date de fin est obligatoire -filterPeriodForAllegroReactivity-periodBeginForAllegroReactivity-required-message: La date de d\u00E9but est obligatoire -filterPeriodForAllegroReactivity-periodEndForAllegroReactivity-required-message: La date de fin est obligatoire \ No newline at end of file +#filterPeriodForAllegroReactivity-periodBeginForAllegroReactivity-required-message: La date de d\u00E9but est obligatoire +#filterPeriodForAllegroReactivity-periodEndForAllegroReactivity-required-message: La date de fin est obligatoire \ No newline at end of file Modified: trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml =================================================================== --- trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml 2010-02-12 18:01:51 UTC (rev 351) +++ trunk/suiviobsmer-ui/src/main/webapp/Synthesis.tml 2010-02-12 18:18:54 UTC (rev 352) @@ -144,7 +144,7 @@ <t:if t:test="user.admin"> <p> Ces résultats concernent l'ensemble des contrats en cours - ayant des données réelles. + ayant des données réelles (contacts validés). </p> <table class="t-data-grid"> <thead> @@ -165,7 +165,7 @@ <p:else> <p> Ce résultat concerne l'ensemble des contrats en cours - pour votre société ayant des données réelles. + pour votre société ayant des données réelles (contacts validés). </p> <div class="indicator"> <p class="number"> @@ -238,16 +238,16 @@ <h2>Réactivité de la saisie dans Allegro par rapport à la date de fin de la marée</h2> <br /> <p> - Ce résultat est une moyenne du nombre de jours entre la date de saisie dans Allegro et la date de fin de la marée des contacts. + Ce résultat est une moyenne du nombre de jours entre la date de saisie dans Allegro et la date de fin de la marée des contacts validés. </p> <br /> <p> <form t:type="form" t:id="filterPeriodForAllegroReactivity"> <label>Période : </label> <t:label t:for="periodBeginForAllegroReactivity" /> - <input t:type="datefield" class="width70" t:id="periodBeginForAllegroReactivity" t:value="periodForAllegroReactivity.fromDate" t:format="MM/yyyy" t:validate="required"/> + <input t:type="datefield" class="width70" t:id="periodBeginForAllegroReactivity" t:value="periodForAllegroReactivity.fromDate" /> <t:label t:for="periodEndForAllegroReactivity" /> - <input t:type="datefield" class="width70" t:id="periodEndForAllegroReactivity" t:value="periodForAllegroReactivity.thruDate" t:format="MM/yyyy" t:validate="required" /> + <input t:type="datefield" class="width70" t:id="periodEndForAllegroReactivity" t:value="periodForAllegroReactivity.thruDate" /> <input t:type="submit" class="ico search-32px" t:id="searchForAllegroReactivity" value="Search" title="Calcul de la moyenne du nombre de jours entre la date de saisie dans Allegro et la date de fin de marée sur la période sélectionnée"/> </form>