From 4e407397f273df6323b499c52476f158f9a7ee7e Mon Sep 17 00:00:00 2001 From: afornerot Date: Wed, 14 Oct 2020 16:08:53 +0200 Subject: [PATCH] stat cadoles --- .../src/Controller/StatController.php | 21 +++++++++ .../templates/Stat/view.html.twig | 46 +++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/src/schedule-2.0/src/Controller/StatController.php b/src/schedule-2.0/src/Controller/StatController.php index 8384457..02536e4 100755 --- a/src/schedule-2.0/src/Controller/StatController.php +++ b/src/schedule-2.0/src/Controller/StatController.php @@ -56,6 +56,7 @@ class StatController extends AbstractController "id"=>$id, "name"=>$name, "services"=>$tbservices, + "natures"=>$tbnatures, ]; } } @@ -77,6 +78,26 @@ class StatController extends AbstractController ->getQuery()->getResult(); $totalmonth=($events[0]["somme"]?$events[0]["somme"]:0); + foreach($month["natures"] as $keynature => $nature) { + $events = $em + ->createQueryBuilder('event') + ->select('SUM(event.duration) as somme') + ->from('App:Task','task') + ->from('App:Event','event') + ->andWhere('task.nature=:nature') + ->andWhere('event.task=task') + ->andWhere('event.start >=:start') + ->andWhere('event.end <:end') + ->setParameter('nature',$nature["id"]) + ->setParameter('start',$start) + ->setParameter('end',$end) + ->getQuery()->getResult(); + + $tbmonths[$keymonth]["natures"][$keynature]["totalnature"]=($events[0]["somme"]?$events[0]["somme"]:0); + $tbmonths[$keymonth]["natures"][$keynature]["totalmonth"]=$totalmonth; + $tbmonths[$keymonth]["natures"][$keynature]["totalservice"]=0; + } + foreach($month["services"] as $keyservice => $service) { $events = $em ->createQueryBuilder('event') diff --git a/src/schedule-2.0/templates/Stat/view.html.twig b/src/schedule-2.0/templates/Stat/view.html.twig index 77fc0d0..10436bd 100644 --- a/src/schedule-2.0/templates/Stat/view.html.twig +++ b/src/schedule-2.0/templates/Stat/view.html.twig @@ -7,6 +7,17 @@ STATISTIQUES
+
+
+
+ CADOLES +
+
+
+
+
+
+
@@ -35,10 +46,45 @@ STATISTIQUES {% block localjavascript %} $(document).ready(function() { + graphCadoles(); graphDEV(); graphCSS(); }); + function graphCadoles() { + + new Morris.Line({ + element: 'chart-c', + xkey: 'month', + ymax: 350, + ykeys: [ + 'Total', + {% for nature in tbnatures %} + '{{ nature.name }}', + {% endfor %} + ], + data: [ + {% for month in tbmonths %} + { month: '{{ month.name }}', + {% for nature in month.natures %} + {% if loop.first %} + 'Total': {{ nature.totalmonth }}, + {% endif %} + + '{{ nature.name }}': {{ nature.totalnature }}, + {% endfor %} + }, + {% endfor %} + ], + labels: [ + 'Total', + {% for nature in tbnatures %} + '{{ nature.name }}', + {% endfor %} + ] + }); + } + function graphDEV() {