Affichage cumul par semaines
This commit is contained in:
@@ -513,6 +513,7 @@ class ReportController extends AbstractController
|
|||||||
"beforeastreinte"=>[],
|
"beforeastreinte"=>[],
|
||||||
"months"=>[],
|
"months"=>[],
|
||||||
"offers"=>[],
|
"offers"=>[],
|
||||||
|
"weeks"=>[],
|
||||||
];
|
];
|
||||||
|
|
||||||
// Somme event validé avant la date
|
// 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();
|
$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
|
// Recap des Commandes
|
||||||
$offers=$em->getRepository("App:Offer")->findBy(["project"=>$project->getId()]);
|
$offers=$em->getRepository("App:Offer")->findBy(["project"=>$project->getId()]);
|
||||||
foreach($offers as $offer) {
|
foreach($offers as $offer) {
|
||||||
@@ -694,7 +764,6 @@ class ReportController extends AbstractController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cumule
|
// Cumule
|
||||||
foreach($tbprojects as $project) {
|
foreach($tbprojects as $project) {
|
||||||
foreach($project["months"] as $month) {
|
foreach($project["months"] as $month) {
|
||||||
|
Reference in New Issue
Block a user