diff --git a/src/schedule-2.0/src/Controller/ReportController.php b/src/schedule-2.0/src/Controller/ReportController.php
index 74e59e8..c8b4b38 100755
--- a/src/schedule-2.0/src/Controller/ReportController.php
+++ b/src/schedule-2.0/src/Controller/ReportController.php
@@ -299,7 +299,8 @@ class ReportController extends AbstractController
"monthid"=> $start->format("Ym"),
"monthlabel"=>$start->format("m/Y"),
"days"=>[],
- "users"=>[]
+ "users"=>[],
+ "tasks"=>[]
];
// Init du tableau des utilisateurs pour le mois
@@ -311,7 +312,32 @@ class ReportController extends AbstractController
];
$tbproject["months"][$start->format("Ym")]["users"][$user->getId()]=$tbuser;
}
+ // Init des taches par mois
+ $endmonth=clone $start;
+ $endmonth->add(new \DateInterval('P1M'));
+ $events = $em
+ ->createQueryBuilder('event')
+ ->select('task.id, task.name, SUM(event.duration) as somme')
+ ->from('App:Task','task')
+ ->from('App:Event','event')
+ ->Where('task.project=:project')
+ ->andWhere('event.task=task')
+ ->andWhere('event.end >=:start')
+ ->andWhere('event.end <:end')
+ ->setParameter('project',$project)
+ ->setParameter('start',$start)
+ ->setParameter('end',$endmonth)
+ ->groupBy('task.id')
+ ->getQuery()->getResult();
+ foreach($events as $event) {
+ $tbtask= [
+ "id"=>$event["id"],
+ "displayname"=>$event["name"],
+ "duration"=>$event["somme"]
+ ];
+ $tbproject["months"][$start->format("Ym")]["tasks"][$event["id"]]=$tbtask;
+ }
$start->add(new \DateInterval('P1M'));
}
@@ -341,7 +367,7 @@ class ReportController extends AbstractController
$tbproject["months"][$start->format("Ym")]["users"][$user->getId()]["days"][$start->format("Ymd")]=$tbday;
}
-
+
$start->add(new \DateInterval('P1D'));
}
$tbprojects[$project->getId()]=$tbproject;
@@ -611,49 +637,7 @@ class ReportController extends AbstractController
}
$tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["cumul"] = $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["cumul"]+$event->getDuration();
}
-
- // foreach($eventsbyweek as $event) {
- // if(!isset($tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"])){
- // $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")] = [
- // "weeknumber" => $event->getStart()->format("W"),
- // "users" => [],
- // ];
- // }
- // if(!isset($tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()])){
- // $tbuser= [
- // "id"=>$event->getUser()->getId(),
- // "displayname"=>$event->getUser()->getDisplayname(),
- // "cumul"=>0
- // ];
- // $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()] = $tbuser;
- // }
-
- // $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()]["cumul"] = $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()]["cumul"]+$event->getDuration();
- // }
- // foreach($eventsbyweek as $event) {
- // if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"])){
- // $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")] = [
- // "weeknumber" => $event->getStart()->format("W"),
- // "tasks" => [],
- // ];
- // }
- // if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()])){
- // $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()] = [
- // "taskname" => $event->getTask()->getName(),
- // "users" => [],
- // ];
- // }
- // if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()])){
- // $tbuser= [
- // "id"=>$event->getUser()->getId(),
- // "displayname"=>$event->getUser()->getDisplayname(),
- // "cumul"=>0
- // ];
- // $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()] = $tbuser;
- // }
-
- // $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()]["cumul"] = $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()]["cumul"]+$event->getDuration();
- // }
+
// Somme astreintes validé par semaine
$start=new \Datetime('first day of this month');
$start->sub(new \DateInterval('P'.$nbmonth.'M'));
diff --git a/src/schedule-2.0/templates/Report/planning.html.twig b/src/schedule-2.0/templates/Report/planning.html.twig
index 50dfb35..607637b 100644
--- a/src/schedule-2.0/templates/Report/planning.html.twig
+++ b/src/schedule-2.0/templates/Report/planning.html.twig
@@ -142,6 +142,32 @@
{% endfor %}
+
+ {% if month.total > 0 %}
+
+
{{ task.displayname }} | +{{ task.duration|number_format(2, '.', ' ') }} | +
Astreinte | +{{ month.totala|number_format(2, '.', ' ') }} | +
TOTAL | +{{ (month.total + month.totala)|number_format(2, '.', ' ') }} | +