src/Controller/StatController.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Products;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\JsonResponse;
  10. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  11. class StatController extends AbstractController
  12. {
  13.     private $em;
  14.     public function __construct(EntityManagerInterface $em)
  15.     {
  16.         $this->em $em;
  17.     }
  18.     /**
  19.      * @Route("/stat", name="manage_stat")
  20.      */
  21.     public function index(Request $request): Response
  22.     {
  23.         $this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY');
  24.         $pointsOfSale =null;
  25.         $debut $request->get("debut");
  26.         $fin $request->get("fin");
  27.         if($debut != null && $fin != null){
  28.             $dateDebut \DateTime::createFromFormat('Y-m-d\TH:i'$debut);
  29.             $dateFin \DateTime::createFromFormat('Y-m-d\TH:i'$fin);
  30.         }else{
  31.             $dateNow = new \DateTime();
  32.             $anneeUsed $dateNow;
  33.             
  34.                 $annee$anneeUsed->format("Y");
  35.                 $mois$anneeUsed->format("m");
  36.                 $dateDebutText ="$annee-$mois-01 00:00:00";
  37.                 $dateDebut \DateTime::createFromFormat('Y-m-d H:i:s'$dateDebutText);
  38.                 $dateFin \DateTime::createFromFormat('Y-m-d H:i:s'$dateDebutText)->modify('+1 month');
  39.         }
  40.         $allPointOfSales $this->em->getRepository('App\Entity\PointsOfSale')->findAll();
  41.         $listIdPointOfSale =[];
  42.         foreach($allPointOfSales as $pointOfSale){
  43.             $listIdPointOfSale[]= $pointOfSale->getIdCashmag();
  44.         }
  45.         //\DateTime::createFromFormat('Y-m-d H:i:s', $dateDebutText)->modify('+1 month')->modify('-1 seconds');
  46.         $allPointOfSalesCA $this->em->getRepository('App\Entity\Tickets')->totalCAByPointOfSaleAndDate($listIdPointOfSale,$dateDebut->format('Y-m-d H:i:s') ,$dateFin->format('Y-m-d H:i:s'));
  47.         $totalCaDeLaPeriode 0;
  48.         $pointDeVenteName = [];
  49.         $ArrayCA = [];
  50.         $nbrVente = [];
  51.         foreach($allPointOfSalesCA as $ca){
  52.                 $pointDeVenteName[] = $ca["name"];
  53.                 $ArrayCA[] = $ca["ca"];
  54.                 $nbrVente[] = $ca["number"];
  55.             $totalCaDeLaPeriode $totalCaDeLaPeriode + (float)$ca['ca'];
  56.         }
  57.         
  58.         
  59.         return $this->render('default/stat.html.twig', [
  60.             'allPointOfSales' => $allPointOfSales,
  61.             'pointsOfSale' => $pointsOfSale,
  62.             'allPointOfSalesCA' => $allPointOfSalesCA,
  63.             'dateDebut'=> $dateDebut->getTimestamp(),
  64.             'dateFin'=> $dateFin->getTimestamp(),
  65.             'totalCaDeLaPeriode' => $totalCaDeLaPeriode,
  66.             'pointDeVenteName'=> $pointDeVenteName,
  67.             'ArrayCA'=> $ArrayCA,
  68.             'nbrVente'=> $nbrVente
  69.         ]);
  70.     }
  71. }