Correction cumul par tache dans les rapports ref: #54

This commit is contained in:
2020-10-14 10:06:40 +02:00
parent 398e803b1a
commit e47bf32cc6

View File

@@ -572,7 +572,6 @@ class ReportController extends AbstractController
} }
$tbproject["before"][$event->getStart()->format("Y")][$event->getStart()->format("Ym")]["duration"]=$tbproject["before"][$event->getStart()->format("Y")][$event->getStart()->format("Ym")]["duration"]+$event->getDuration(); $tbproject["before"][$event->getStart()->format("Y")][$event->getStart()->format("Ym")]["duration"]=$tbproject["before"][$event->getStart()->format("Y")][$event->getStart()->format("Ym")]["duration"]+$event->getDuration();
} }
// Somme astreinte validé avant la date // Somme astreinte validé avant la date
$end=new \Datetime('first day of this month'); $end=new \Datetime('first day of this month');
$end->sub(new \DateInterval('P'.$nbmonth.'M')); $end->sub(new \DateInterval('P'.$nbmonth.'M'));
@@ -605,13 +604,9 @@ class ReportController extends AbstractController
// Somme event validé par semaine // Somme event validé par semaine
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
$start->sub(new \DateInterval('P'.$nbmonth.'M')); $start->sub(new \DateInterval('P'.$nbmonth.'M'));
$start->modify('previous monday');
$start->setTime(0,0,0); $start->setTime(0,0,0);
$endmonth = new \Datetime('first day of this month'); $endmonth = new \Datetime('first day of this month');
$endmonth->add(new \DateInterval('P1M')); $endmonth->add(new \DateInterval('P1M'));
$endmonth->modify('next monday');
$end->setTime(23,59,0);
$eventsbyweek = $em $eventsbyweek = $em
->createQueryBuilder('event') ->createQueryBuilder('event')
->select('event') ->select('event')
@@ -619,7 +614,7 @@ class ReportController extends AbstractController
->from('App:Event','event') ->from('App:Event','event')
->Where('task.project=:project') ->Where('task.project=:project')
->andWhere('event.task=task') ->andWhere('event.task=task')
->andWhere('event.end >=:start') ->andWhere('event.end >:start')
->andWhere('event.end <:end') ->andWhere('event.end <:end')
->andWhere('event.validate=:validate') ->andWhere('event.validate=:validate')
->setParameter('project',$project) ->setParameter('project',$project)
@@ -641,12 +636,9 @@ class ReportController extends AbstractController
// Somme astreintes validé par semaine // Somme astreintes validé par semaine
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
$start->sub(new \DateInterval('P'.$nbmonth.'M')); $start->sub(new \DateInterval('P'.$nbmonth.'M'));
$start->modify('previous monday');
$start->setTime(0,0,0); $start->setTime(0,0,0);
$endmonth = new \Datetime('first day of this month'); $endmonth = new \Datetime('first day of this month');
$endmonth->add(new \DateInterval('P1M')); $endmonth->add(new \DateInterval('P1M'));
$endmonth->modify('next monday');
$end->setTime(23,59,0);
$penaltybyweek = $em $penaltybyweek = $em
@@ -733,16 +725,15 @@ class ReportController extends AbstractController
// Init des taches par mois // Init des taches par mois
$endmonth=clone $start; $endmonth=clone $start;
$endmonth->add(new \DateInterval('P1M')); $endmonth->add(new \DateInterval('P1M'));
$ev = $em
$events = $em
->createQueryBuilder('event') ->createQueryBuilder('event')
->select('task.id, task.name, SUM(event.duration) as somme') ->select('event')
->from('App:Task','task') ->from('App:Task','task')
->from('App:Event','event') ->from('App:Event','event')
->Where('task.project=:project') ->Where('task.project=:project')
->andWhere('event.task=task') ->andWhere('event.task=task')
->andWhere('event.end >=:start') ->andWhere('event.end >:start')
->andWhere('event.end <:end') ->andWhere('event.end <=:end')
->andWhere('event.validate=:validate') ->andWhere('event.validate=:validate')
->setParameter('project',$project) ->setParameter('project',$project)
->setParameter('validate',true) ->setParameter('validate',true)
@@ -750,6 +741,24 @@ class ReportController extends AbstractController
->setParameter('end',$endmonth) ->setParameter('end',$endmonth)
->groupBy('task.id') ->groupBy('task.id')
->getQuery()->getResult(); ->getQuery()->getResult();
dump($ev);
$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')
->andWhere('event.validate=:validate')
->setParameter('project',$project)
->setParameter('validate',true)
->setParameter('start',$start)
->setParameter('end',$endmonth)
->groupBy('task.id')
->getQuery()->getResult();
dump($events);
foreach($events as $event) { foreach($events as $event) {
$tbtask= [ $tbtask= [
"id"=>$event["id"], "id"=>$event["id"],
@@ -765,10 +774,10 @@ class ReportController extends AbstractController
// Formater les jours // Formater les jours
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
$start->sub(new \DateInterval('P'.$nbmonth.'M')); $start->sub(new \DateInterval('P'.$nbmonth.'M'));
$start->setTime(0,0,0);
$end=new \Datetime('first day of this month'); $end=new \Datetime('first day of this month');
$end->add(new \DateInterval('P'.$nbmonth.'M')); $end->add(new \DateInterval('P'.$nbmonth.'M'));
$end->sub(new \DateInterval('P1D')); $end->sub(new \DateInterval('P1D'));
while($start<$end) { while($start<$end) {
$tbday=[ $tbday=[
"date"=>clone $start, "date"=>clone $start,
@@ -802,7 +811,6 @@ class ReportController extends AbstractController
$end->add(new \DateInterval('P'.$nbmonth.'M')); $end->add(new \DateInterval('P'.$nbmonth.'M'));
$end->sub(new \DateInterval('P1D')); $end->sub(new \DateInterval('P1D'));
$end->setTime(23,59,0); $end->setTime(23,59,0);
foreach($users as $user) { foreach($users as $user) {
$tbevents = $this->getEventuser($user,$start,$end,true); $tbevents = $this->getEventuser($user,$start,$end,true);