From 4654b7b7d449f2e6adf0e6264b079a121b5fdf00 Mon Sep 17 00:00:00 2001 From: Arnaud Fornerot Date: Thu, 17 Jun 2021 14:06:08 +0200 Subject: [PATCH] =?UTF-8?q?budget=20synth=C3=A8se?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Controller/BudgetController.php | 8 ++ src/schedule-2.0/src/Form/DomaineType.php | 2 +- .../templates/Budget/list.html.twig | 134 ++++++++++++++++-- 3 files changed, 129 insertions(+), 15 deletions(-) diff --git a/src/schedule-2.0/src/Controller/BudgetController.php b/src/schedule-2.0/src/Controller/BudgetController.php index 5ffb958..0c0506f 100755 --- a/src/schedule-2.0/src/Controller/BudgetController.php +++ b/src/schedule-2.0/src/Controller/BudgetController.php @@ -117,9 +117,11 @@ class BudgetController extends AbstractController ->andWhere('event.task=task') ->andWhere('event.start >=:start') ->andWhere('event.end <=:end') + ->andWhere('event.validate=:validate') ->setParameter('domaine',$domaine) ->setParameter('start',$startn1) ->setParameter('end',$endn1) + ->setParameter('validate',true) ->getQuery()->getResult(); $tbdomaines[$domaine->getId()]["nbdayrealn1"]=($events[0]["somme"]?$events[0]["somme"]:0); $tbdomaines[$domaine->getId()]["nbetprealn1"]=$tbdomaines[$domaine->getId()]["nbdayrealn1"]/$n1->getNbday(); @@ -148,9 +150,11 @@ class BudgetController extends AbstractController ->andWhere('event.task=task') ->andWhere('event.start >=:start') ->andWhere('event.end <=:end') + ->andWhere('event.validate=:validate') ->setParameter('domaine',$domaine) ->setParameter('start',$startn2) ->setParameter('end',$endn2) + ->setParameter('validate',true) ->getQuery()->getResult(); $tbdomaines[$domaine->getId()]["nbdayrealn2"]=($events[0]["somme"]?$events[0]["somme"]:0); $tbdomaines[$domaine->getId()]["nbetprealn2"]=$tbdomaines[$domaine->getId()]["nbdayrealn2"]/$n2->getNbday(); @@ -198,9 +202,11 @@ class BudgetController extends AbstractController ->andWhere('event.task=task') ->andWhere('event.start >=:start') ->andWhere('event.end <=:end') + ->andWhere('event.validate=:validate') ->setParameter('project',$project) ->setParameter('start',$startn1) ->setParameter('end',$endn1) + ->setParameter('validate',true) ->getQuery()->getResult(); $nbdayrealn1=($events[0]["somme"]?$events[0]["somme"]:0); $tbdomaines[$domaine->getId()]["projects"][$project->getId()]["nbdayrealn1"]=$nbdayrealn1; @@ -230,9 +236,11 @@ class BudgetController extends AbstractController ->andWhere('event.task=task') ->andWhere('event.start >=:start') ->andWhere('event.end <=:end') + ->andWhere('event.validate=:validate') ->setParameter('project',$project) ->setParameter('start',$startn2) ->setParameter('end',$endn2) + ->setParameter('validate',true) ->getQuery()->getResult(); $nbdayrealn2=($events[0]["somme"]?$events[0]["somme"]:0); $tbdomaines[$domaine->getId()]["projects"][$project->getId()]["nbdayrealn2"]=$nbdayrealn2; diff --git a/src/schedule-2.0/src/Form/DomaineType.php b/src/schedule-2.0/src/Form/DomaineType.php index 0f4cc97..7d0b3bf 100644 --- a/src/schedule-2.0/src/Form/DomaineType.php +++ b/src/schedule-2.0/src/Form/DomaineType.php @@ -35,7 +35,7 @@ class DomaineType extends AbstractType $builder->add('category', ChoiceType::class, [ 'label' => "Catégorie", - 'choices' => array("Administratif" => "Administratif","Opérationnel" => "Opérationnel","Interne" => "Interne") + 'choices' => array("Frais"=>"Frais","Administratif" => "Administratif","Opérationnel" => "Opérationnel","Interne" => "Interne") ] ); diff --git a/src/schedule-2.0/templates/Budget/list.html.twig b/src/schedule-2.0/templates/Budget/list.html.twig index 8501cae..0a51b34 100644 --- a/src/schedule-2.0/templates/Budget/list.html.twig +++ b/src/schedule-2.0/templates/Budget/list.html.twig @@ -10,7 +10,7 @@ } tr { page-break-inside: avoid; } {%endif%} - .group td{ + .group td, .tbsynthese .tdtotalgene { font-size:120%; text-transform: uppercase; background-color:#212529; @@ -23,6 +23,10 @@ font-weight: bold; } + .tbsynthese .tbhide {display:none} + + + {% endblock %} {% block body %} @@ -44,26 +48,70 @@ BUDGET +
+
+ Budget Synthèse +
+
+
+ + + + + + + + + + + + + + + + + + + +
DomaineProjet{{n1.start|date("m/Y")}}{{n2.start|date("m/Y")}}
RéelBudgetRéelBudget
+
+
+
+
Budget
+ {% set totdayrealn1 = 0 %} + {% set totetprealn1 = 0 %} + {% set totcaarealn1 = 0 %} + {% set totdaybudgn1 = 0 %} + {% set totetpbudgn1 = 0 %} + {% set totcaabudgn1 = 0 %} + + {% set totdayrealn2 = 0 %} + {% set totetprealn2 = 0 %} + {% set totcaarealn2 = 0 %} + {% set totdaybudgn2 = 0 %} + {% set totetpbudgn2 = 0 %} + {% set totcaabudgn2 = 0 %} +
- +
- + - + - + @@ -101,9 +149,9 @@ BUDGET - + - - - + - + - + - + {% endfor %} + + + + + + + + + + + + +
DomaineProjetProjet {{n1.start|date("m/Y")}} {{n2.start|date("m/Y")}}
Réel Budget Réel Budget
{{domaine.name}}{{project.name}}{{project.name}} + @@ -119,7 +167,7 @@ BUDGET + @@ -175,39 +223,89 @@ BUDGET
{{domaine.name}}TOTALTOTAL {{domaine.nbdayrealn1}} jours
{{domaine.nbetprealn1|number_format(2)}}ETP / {{domaine.nbcaarealn1+nbcaarealn1}}€ + + {% set totdayrealn1 = totdayrealn1 + domaine.nbdayrealn1 %} + {% set totetprealn1 = totetprealn1 + domaine.nbetprealn1 %} + {% set totcaarealn1 = totcaarealn1 + domaine.nbcaarealn1+nbcaarealn1 %}
{{domaine.nbdaybudgn1+nbdaybudgn1}} jours
{{(domaine.nbetpbudgn1+nbetpbudgn1)|number_format(2)}}ETP / {{domaine.nbcaabudgn1+nbcaabudgn1}}€ + + {% set totdaybudgn1 = totdaybudgn1 + domaine.nbdaybudgn1+nbdaybudgn1 %} + {% set totetpbudgn1 = totetpbudgn1 + domaine.nbetpbudgn1+nbetpbudgn1 %} + {% set totcaabudgn1 = totcaabudgn1 + domaine.nbcaabudgn1+nbcaabudgn1 %}
{{domaine.nbdayrealn2}} jours
{{domaine.nbetprealn2|number_format(2)}}ETP / {{domaine.nbcaarealn2+nbcaarealn2}}€ + + {% set totdayrealn2 = totdayrealn2 + domaine.nbdayrealn2 %} + {% set totetprealn2 = totetprealn2 + domaine.nbetprealn2 %} + {% set totcaarealn2 = totcaarealn2 + domaine.nbcaarealn2+nbcaarealn2 %}
{{domaine.nbdaybudgn2+nbdaybudgn2}} jours
{{(domaine.nbetpbudgn2+nbetpbudgn2)|number_format(2)}}ETP / {{domaine.nbcaabudgn2+nbcaabudgn2}}€ + + + {% set totdaybudgn2 = totdaybudgn2 + domaine.nbdaybudgn2+nbdaybudgn2 %} + {% set totetpbudgn2 = totetpbudgn2 + domaine.nbetpbudgn2+nbetpbudgn2 %} + {% set totcaabudgn2 = totcaabudgn2 + domaine.nbcaabudgn2+nbcaabudgn2 %}
RESULTATRESULTAT + {{totdayrealn1}} jours
+ + {{totetprealn1|number_format(2)}}ETP / {{totcaarealn1}}€ + +
+ {{totdaybudgn1}} jours
+ + {{totetpbudgn1|number_format(2)}}ETP / {{totcaabudgn1}}€ + +
+ {{totdayrealn2}} jours
+ + {{totetprealn2|number_format(2)}}ETP / {{totcaarealn2}}€ + +
+ {{totdaybudgn2}} jours
+ + {{totetpbudgn2|number_format(2)}}ETP / {{totcaabudgn2}}€ + +
@@ -218,7 +316,15 @@ BUDGET {% block localjavascript %} $(document).ready(function() { var groupColumn = 0; - var table = $('#dataTables').DataTable({ + + html=""; + $('.total').each(function() { + html+=""+$(this).html()+""; + }); + $("#tbsynthesebody").html(html); + + + var table = $('.tbdetail').DataTable({ "columnDefs": [ { "visible": false, "targets": groupColumn } ], @@ -242,7 +348,7 @@ BUDGET } ); // Order by the grouping - $('#dataTables tbody').on( 'click', 'tr.group', function () { + $('.tbdetail tbody').on( 'click', 'tr.group', function () { var currentOrder = table.order()[0]; if ( currentOrder[0] === groupColumn && currentOrder[1] === 'asc' ) { table.order( [ groupColumn, 'desc' ] ).draw();