Génération des rapport jour/semaine/mois/année
Bonjour, Aujourd'hui je me trouve face à une petite difficulté au niveau de la génération de rapport. Qu'est ce que c'est? C'est le résumé de toutes les tâches et de tous les projets qui ont été minutés entre deux bornes (des dates : dateInf avec heure 00:00:00 et dateSup avec heure 23:59:59) définies par l'utilisateur. Pour retrouver les tâches minutées entre deux bornes, c'est assez facile, la base de données peut aisément calculer par projet la somme des temps et la renvoyer. Ensuite on traite les données pour reconstruire l'arbre, et afficher à l'utilisateur le rapport. Qu'est ce qui pose problème? Sur jTimer v1, il était possible de dissocier par jour/semaine/mois/années les tâches minutées; on souhaite donc rééditer cette fonctionnalité sous jTimer v2. Je souhaiterais pouvoir récupérer mes taches sous la contrainte des bornes avec en plus un groupement par période. Et je n'ai pas trouvé par exemple de façon de classer les taches minutées par semaine directement. 1. Peut être que je me trompe et que des moyens existent de grouper par jour/mois. /semaine/année comme en mysql, si c'est le cas avis au connaisseur pour m'éclairer. 2. Sinon, il faudrait récupérer toutes les données et les traiter ensuite en java pour replacer tous les temps/tâches dans leur période, puis ensuite reconstruire l'arbre pour chaque période. Ce qui peut vite devenir lourd avec un grand nombre de données. 3. Ou encore définir chaque petite période, puis faire appel à la base pour récupérer les tâches avec les temps pour chaque période, puis reconstruire l'arbre pour l'affichage. Mais bon ce n'est pas vraiment conseillé de faire plein de petits accès donc je déconseille. Si quelqu'un a une idée il serait intéressant de m'en faire part, Merci.
Hello, Le Thu, 19 Jun 2014 15:54:43 +0200, Olivia Bruce <olivia.j.bruce@gmail.com> a écrit :
1. Peut être que je me trompe et que des moyens existent de grouper par jour/mois. /semaine/année comme en mysql, si c'est le cas avis au connaisseur pour m'éclairer.
Suivant le modèle, si tu as des dates "purement date" (c'est à dire sans problématique d'heure), tu peux grouper par le champs de date. Ca te fera un pool de Task par dates, et à toi de faire le lien entre les dates et les périodes souhaitées (semaines, mois, année). Cependant, sur un rapport d'un an, ça fait quand meme 365 dates à vérifier :/
2. Sinon, il faudrait récupérer toutes les données et les traiter ensuite en java pour replacer tous les temps/tâches dans leur période, puis ensuite reconstruire l'arbre pour chaque période. Ce qui peut vite devenir lourd avec un grand nombre de données.
Ce que je te propose en 1 te permettrait d'éviter de faire une verif sur chaque tache du coup. Vu que tes taches seront groupées par date, tu ne vérifie qu'une fois la date et tu peux attribuer l'ensemble des taches à la période
3. Ou encore définir chaque petite période, puis faire appel à la base pour récupérer les tâches avec les temps pour chaque période, puis reconstruire l'arbre pour l'affichage. Mais bon ce n'est pas vraiment conseillé de faire plein de petits accès donc je déconseille.
C'est une solution qui peut être envisageable pour certaines périodes je pense (rapport groupée par année par exemple). En fait, un petit mélange me parait nécessaire, le tout est de trouver le Delta qui te fait passer d'une unique requete groupée par jour nécessitant un tri manuel ensuite à une série de requetes bornées par des périodes. Il faut donc calculer le nombre de requêtes "périodiques" à faire VS la complexité d'une unique requete avec résultat groupé par date nécessitant un tri ensuite. -- Yannick Martel Code Lutin <http://www.codelutin.com/> +33 2 40 50 29 28
participants (2)
-
Olivia Bruce -
Yannick Martel