Affichage cumul par semaines
This commit is contained in:
@@ -513,6 +513,7 @@ class ReportController extends AbstractController
|
||||
"beforeastreinte"=>[],
|
||||
"months"=>[],
|
||||
"offers"=>[],
|
||||
"weeks"=>[],
|
||||
];
|
||||
|
||||
// Somme event validé avant la date
|
||||
@@ -571,6 +572,75 @@ class ReportController extends AbstractController
|
||||
$tbproject["beforeastreinte"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("Ym")]["duration"]=$tbproject["beforeastreinte"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("Ym")]["duration"]+$penalty->getDuration();
|
||||
}
|
||||
|
||||
// Somme event validé par semaine
|
||||
$start=new \Datetime('first day of this month');
|
||||
$start->sub(new \DateInterval('P'.$nbmonth.'M'));
|
||||
$start->modify('previous monday');
|
||||
$endmonth = new \Datetime('first day of this month');
|
||||
$endmonth->add(new \DateInterval('P1M'));
|
||||
$endmonth->modify('next monday');
|
||||
|
||||
$eventsbyweek = $em
|
||||
->createQueryBuilder('event')
|
||||
->select('event')
|
||||
->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)
|
||||
->orderBy('event.start')
|
||||
->getQuery()->getResult();
|
||||
foreach($eventsbyweek as $event) {
|
||||
if(!isset($tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")])){
|
||||
$tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")] = [
|
||||
"weeknumber" => $event->getStart()->format("W"),
|
||||
"cumul" => 0,
|
||||
];
|
||||
}
|
||||
$tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["cumul"] = $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["cumul"]+$event->getDuration();
|
||||
|
||||
}
|
||||
// Somme astreintes validé par semaine
|
||||
$start=new \Datetime('first day of this month');
|
||||
$start->sub(new \DateInterval('P'.$nbmonth.'M'));
|
||||
$start->modify('previous monday');
|
||||
$endmonth = new \Datetime('first day of this month');
|
||||
$endmonth->add(new \DateInterval('P1M'));
|
||||
$endmonth->modify('next monday');
|
||||
|
||||
$penaltybyweek = $em
|
||||
|
||||
->createQueryBuilder('penalty')
|
||||
->select('penalty')
|
||||
->from('App:Task','task')
|
||||
->from('App:Penalty','penalty')
|
||||
->Where('task.project=:project')
|
||||
->andWhere('penalty.task=task')
|
||||
->andWhere('penalty.end >=:start')
|
||||
->andWhere('penalty.end <:end')
|
||||
->andWhere('penalty.validate=:validate')
|
||||
->setParameter('project',$project)
|
||||
->setParameter('validate',true)
|
||||
->setParameter('start',$start)
|
||||
->setParameter('end',$endmonth)
|
||||
->orderBy('penalty.start')
|
||||
->getQuery()->getResult();
|
||||
foreach($penaltybyweek as $penalty) {
|
||||
if(!isset($tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")])){
|
||||
$tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")] = [
|
||||
"weeknumber" => $penalty->getStart()->format("W"),
|
||||
"cumul" => 0,
|
||||
];
|
||||
}
|
||||
$tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["cumul"] = $tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["cumul"]+$penalty->getDuration();
|
||||
}
|
||||
|
||||
// Recap des Commandes
|
||||
$offers=$em->getRepository("App:Offer")->findBy(["project"=>$project->getId()]);
|
||||
foreach($offers as $offer) {
|
||||
@@ -694,7 +764,6 @@ class ReportController extends AbstractController
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Cumule
|
||||
foreach($tbprojects as $project) {
|
||||
foreach($project["months"] as $month) {
|
||||
|
Reference in New Issue
Block a user