r2678 - trunk/callao-service/src/main/java/org/chorem/callao/service
Author: glorieux Date: 2009-12-17 10:47:46 +0100 (Thu, 17 Dec 2009) New Revision: 2678 Modified: trunk/callao-service/src/main/java/org/chorem/callao/service/PeriodServiceImpl.java trunk/callao-service/src/main/java/org/chorem/callao/service/TimeSpanServiceImpl.java Log: Modification of Callao for lima Period use. Modified: trunk/callao-service/src/main/java/org/chorem/callao/service/PeriodServiceImpl.java =================================================================== --- trunk/callao-service/src/main/java/org/chorem/callao/service/PeriodServiceImpl.java 2009-12-16 21:41:52 UTC (rev 2677) +++ trunk/callao-service/src/main/java/org/chorem/callao/service/PeriodServiceImpl.java 2009-12-17 09:47:46 UTC (rev 2678) @@ -19,10 +19,7 @@ package org.chorem.callao.service; -import java.util.Date; -import java.util.ArrayList; -import java.util.List; -import java.util.Collections; +import java.util.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -39,6 +36,7 @@ import org.chorem.callao.service.utils.ServiceHelper; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; +import org.nuiton.util.PeriodDates; /** * Gestion des périodes. @@ -88,25 +86,24 @@ // Par défaut lock est à false lock = false; String result = ServiceHelper.RESPOND_ERROR; - // Initialise la date de début au premier du mois - beginTimeSpan = dateUtil.InitDateFirstDayMonth(beginTimeSpan); - // Initialise la date de fin au dernier du mois - endTimeSpan = dateUtil.InitDateEndDayMonth(endTimeSpan); + try { boolean correctPeriod = false; // Acces BDD TopiaContext topiaContext = rootContext.beginTransaction(); // Chargement du DAO PeriodDAO periodDAO = CallaoDAOHelper.getPeriodDAO(topiaContext); + // Creation de la periodDate + PeriodDates newPeriod = new PeriodDates(beginTimeSpan, endTimeSpan); + // Creation de la période - Period newPeriod = periodDAO.create(); - newPeriod.setBeginPeriod(beginTimeSpan); - newPeriod.setEndPeriod(endTimeSpan); - newPeriod.setLocked(lock); + Period period = periodDAO.create(); + period.setBeginPeriod(newPeriod.getFromDate()); + period.setEndPeriod(newPeriod.getThruDate()); + period.setLocked(lock); // Vérification si la période est correcte - correctPeriod = isCorrectPeriod(newPeriod); - if (correctPeriod) - { + correctPeriod = isCorrectPeriod(period); + if (correctPeriod) { // Si elle est correcte : Création BDD topiaContext.commitTransaction(); if (log.isInfoEnabled()) { @@ -114,23 +111,26 @@ " au " + endTimeSpan.toString()); } /** - * Ajout des 12 timeSpans mensuels + * Ajout des timeSpans mensuels * Par défaut, il prend seulement la date beginTimeSpan, et calcule * la date de fin, c'est pourquoi il est laissé deux fois "beginTimeSpan" */ TimeSpanServiceImpl timeSpanImpl = new TimeSpanServiceImpl(); - boolean stop = false; // En cas d'erreur lors de la créatio d'un timeSpan. - for (int i=0;i<12;i++) + boolean stop = false; // En cas d'erreur lors de la création d'un timeSpan. + + List<Date> monthList = newPeriod.getMonths(); + + int max = monthList.size(); + log.debug("la periode fait:"+max); + for (int i=0;i < max;i++) { // Création timeSpan - result = timeSpanImpl.createTimeSpan(beginTimeSpan,beginTimeSpan,newPeriod,false); - // Passe au mois suivant - beginTimeSpan.setMonth(beginTimeSpan.getMonth()+1); + result = timeSpanImpl.createTimeSpan(monthList.get(i),monthList.get(i),period,false); if (result.equals(ServiceHelper.RESPOND_ERROR)) { stop = true; if (log.isErrorEnabled()) { - log.error("Erreur lors de la création des 12 timeSpans"); + log.error("Erreur lors de la création des "+max+" timeSpans"); } result = ServiceHelper.PERIOD_CREATE_TIMESPANS; } @@ -152,7 +152,7 @@ /** * Permet de créer une période à partir d'une période DTO. - * @param perioDTO période à créer au format DTO. + * @param periodDTO période à créer au format DTO. * @return */ public String createPeriod (PeriodDTO periodDTO) @@ -164,7 +164,7 @@ /** * Permet de vérifier si la période est correcte (aucun chevauchement avec - * les autres périodes, période(s) précédente(s) bloquée(s), formée de 12 + * les autres périodes, période(s) précédente(s) bloquée(s), formée de 1 à 24 * mois). * @param period période à tester si elle est correcte * @return @@ -174,12 +174,13 @@ // Calcul du nombre de mois pour que la période soit valide (12 mois) int number_months = dateUtil.numberOfMonths(period.getBeginPeriod(),period.getEndPeriod()); boolean result = true; - if (number_months != 11) // correspond à 11 mois d'écart + + if (number_months == 0 && number_months >= 24) // Periode de 1mois a 24 mois { if (log.isErrorEnabled()) { - log.error("Période du " + period.getBeginPeriod().toString() + - " au " + period.getEndPeriod().toString()+ - " : Il faut 12 mois entre les deux dates"); + log.error("Période du " + period.getBeginPeriod() + + " au " + period.getEndPeriod()+ + " : L'exercice doit faire au minimum 1 mois et au maximum 24 mois"); } result = false; }else{ @@ -192,7 +193,7 @@ // Recherche les périodes qui ne sont pas bloquées. List<Period> listePeriod = periodDAO.findAllByLocked(false); // Recherche la dernière période, les dates doivent se suivre - Date date_search = period.getBeginPeriod(); + Date date_search = period.getBeginPeriod(); Period previousPeriod = periodDAO.findByEndPeriod(dateUtil.previousDay(date_search)); // Nombre de périodes dans la base int number_period = periodDAO.findAll().size(); Modified: trunk/callao-service/src/main/java/org/chorem/callao/service/TimeSpanServiceImpl.java =================================================================== --- trunk/callao-service/src/main/java/org/chorem/callao/service/TimeSpanServiceImpl.java 2009-12-16 21:41:52 UTC (rev 2677) +++ trunk/callao-service/src/main/java/org/chorem/callao/service/TimeSpanServiceImpl.java 2009-12-17 09:47:46 UTC (rev 2678) @@ -79,13 +79,13 @@ log.info("Nouveau timeSpan du " + beginTimeSpan.toString() + " au " + endTimeSpan.toString()); } - try { + try { // Acces BDD TopiaContext topiaContext = rootContext.beginTransaction(); // Chargement du DAO TimeSpanDAO timeSpanDAO = CallaoDAOHelper.getTimeSpanDAO(topiaContext); // Creation du timespan - TimeSpan newtimeSpan = timeSpanDAO.create(); + TimeSpan newtimeSpan = timeSpanDAO.create(); newtimeSpan.setBeginTimeSpan(beginTimeSpan); newtimeSpan.setEndTimeSpan(endTimeSpan); newtimeSpan.setLocked(locked); @@ -93,7 +93,7 @@ // Création BDD topiaContext.commitTransaction(); // Fermeture BDD - topiaContext.closeContext(); + topiaContext.closeContext(); if (log.isInfoEnabled()) { log.info("Ajout avec succes du timeSpan"); }
participants (1)
-
glorieux@users.chorem.org