src/Controller/MasterController.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\FundRequest;
  4. use App\Entity\RhStaff;
  5. use DateTime;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class MasterController extends AbstractController
  12. {
  13.     #[Route('/'name'app_home')]
  14.     public function index(Request $requestEntityManagerInterface $em): Response
  15.     {  
  16.         return $this->render('master/home.html.twig', [
  17.         ]);
  18.     }
  19.     #[Route('/fin-home'name'fin_home')]
  20.     public function finHome(Request $requestEntityManagerInterface $em): Response
  21.     {
  22.         // if ($request->getSession()->get("isAuth")) {
  23.         //     $request->getSession()->set("isAuth", false);
  24.         //     $user = $this->getUser();
  25.         //     $user->setLastConnection(new \DateTime());
  26.         //     $em->persist($user);
  27.         //     $em->flush();
  28.         //     //Gestion des droits d'accèss---------------------------
  29.         //     // $request->getSession()->set("vld_fund_req_sce", UtilsController::getIsAccess("ini_fund_req",$user->getId(),$em));
  30.         //     // $request->getSession()->set("vld_fund_req_scm", UtilsController::getIsAccess("ini_fund_req",$user->getId(),$em));
  31.         //     // $request->getSession()->set("vld_fund_req_cg", UtilsController::getIsAccess("ini_fund_req",$user->getId(),$em));
  32.         //     // $request->getSession()->set("vld_fund_req_dg", UtilsController::getIsAccess("ini_fund_req",$user->getId(),$em));
  33.         // }
  34.         $numberFundRequestsByDate 0;
  35.         $numberFundRequestsApprovedByDate 0;
  36.         $numberFundRequestsNotApprovedByDate 0;
  37.         
  38.         //Récupération du mois en cours------------------------------------------------------------------------
  39.         $date = new \DateTime();
  40.         //$formatter = new \IntlDateFormatter('fr_FR', \IntlDateFormatter::MEDIUM, \IntlDateFormatter::MEDIUM);
  41.         //$formatter->setPattern('MMMM Y');
  42.         $currenteMonth date('M Y');
  43.         $startDate $date -> format('Y-m-01');
  44.         $endDate $date -> format('Y-m-t');
  45.     
  46.         $indicatorTitle "Demande de fonds Indicateurs du mois en cours (" mb_strtoupper($currenteMonth).")";
  47.         //Récupération de dernières demandes 
  48.         $fundRequests $em->getRepository(FundRequest::class)->findByLast();
  49.         //$dateNow = date("Y-m-d");
  50.         $dateStart = new \DateTime($startDate " 00:00:00");
  51.         $dateEnd = new \DateTime($endDate " 23:59:59");
  52.         $datas $em->getRepository(FundRequest::class)->countByDateBetween($dateStart$dateEnd);
  53.         $numberFundRequestsByDate = (!is_null($datas) && count($datas) > 0) ? count($datas) : 0;
  54.         $amountFundRequestsByDate 0;
  55.         if (!is_null($datas) && count($datas) > 0) {
  56.             foreach ($datas as $e) {
  57.                 $amountFundRequestsByDate $amountFundRequestsByDate $e->getTotalAmount();
  58.             }
  59.         }
  60.         $datas $em->getRepository(FundRequest::class)->countByApprovedAndDateBetween($dateStart$dateEnd);
  61.         $numberFundRequestsApprovedByDate = (!is_null($datas) && count($datas) > 0) ? count($datas) : 0;
  62.         $amountFundRequestsApprovedByDate 0;
  63.         $totalDisbursementFundRequestsApprovedByDate 0;
  64.         $restDisbursement 0;
  65.         if (!is_null($datas) && count($datas) > 0) {
  66.             foreach ($datas as $e) {
  67.                 $amountFundRequestsApprovedByDate $amountFundRequestsApprovedByDate $e->getTotalAmount();
  68.                 $totalDisbursementFundRequestsApprovedByDate $totalDisbursementFundRequestsApprovedByDate $e->getTotalAmountDisbursed();
  69.             }
  70.         }
  71.         $restDisbursement $amountFundRequestsApprovedByDate $totalDisbursementFundRequestsApprovedByDate;
  72.         $datas $em->getRepository(FundRequest::class)->countByNotApprovedAndDateBetween($dateStart$dateEnd);
  73.         $numberFundRequestsNotApprovedByDate = (!is_null($datas) && count($datas) > 0) ? count($datas) : 0;
  74.         $datas $em->getRepository(FundRequest::class)->countByRejectedAndDateBetween($dateStart$dateEnd);
  75.         $numberFundRequestsRejetedByDate = (!is_null($datas) && count($datas) > 0) ? count($datas) : 0;
  76.         return $this->render('master/db_fin.html.twig', [
  77.             'fundRequests' => $fundRequests,
  78.             'numberFundRequestsByDate' => $numberFundRequestsByDate,
  79.             'numberFundRequestsApprovedByDate' => $numberFundRequestsApprovedByDate,
  80.             'numberFundRequestsNotApprovedByDate' => $numberFundRequestsNotApprovedByDate,
  81.             'numberFundRequestsRejetedByDate' => $numberFundRequestsRejetedByDate,
  82.             'amountFundRequestsByDate' => $amountFundRequestsByDate,
  83.             'amountFundRequestsApprovedByDate' => $amountFundRequestsApprovedByDate,
  84.             'totalDisbursementFundRequestsApprovedByDate' => $totalDisbursementFundRequestsApprovedByDate,
  85.             'restDisbursement' => $restDisbursement,
  86.             'indicatorTitle' => $indicatorTitle,
  87.         ]);
  88.     }
  89.     #[Route('/rh-home'name'rh_home')]
  90.     public function rhHome(Request $requestEntityManagerInterface $em): Response
  91.     {
  92.         $staffHomme 0;
  93.         $staffFemme 0;
  94.         $totalStaff 0;
  95.         $datas $em->getRepository(RhStaff::class)->countBySexe("MASCULIN");
  96.         $staffHomme = (!is_null($datas) && count($datas) > 0) ? count($datas) : 0;
  97.         $datas $em->getRepository(RhStaff::class)->countBySexe("FEMININ");
  98.         $staffFemme = (!is_null($datas) && count($datas) > 0) ? count($datas) : 0;
  99.         $datas $em->getRepository(RhStaff::class)->countActif();
  100.         $totalStaffActif = (!is_null($datas) && count($datas) > 0) ? count($datas) : 0;
  101.         $datas $em->getRepository(RhStaff::class)->countAll();
  102.         $totalStaff = (!is_null($datas) && count($datas) > 0) ? count($datas) : 0;
  103.         return $this->render('master/db_rh.html.twig', [
  104.             'staffHomme' => $staffHomme,
  105.             'staffFemme' => $staffFemme,
  106.             'totalStaff' => $totalStaff,
  107.             'totalStaffActif' => $totalStaffActif,
  108.         ]);
  109.     }
  110.     #[Route('/admin-home'name'admin_home')]
  111.     public function adminHome(Request $requestEntityManagerInterface $em): Response
  112.     {
  113.         
  114.         return $this->render('master/db_admin.html.twig', [
  115.         ]);
  116.     }
  117.     #[Route('/admin/control-panel'name'admin_control_panel')]
  118.     public function controlPanel(): Response
  119.     {
  120.         return $this->render('master/control_panel.html.twig', [
  121.             'controller_name' => 'MasterController',
  122.         ]);
  123.     }
  124.     #[Route('/access-denied'name'access_denied')]
  125.     public function accessDenied(): Response
  126.     {
  127.         return $this->render('master/access_denied.html.twig', [
  128.             'controller_name' => 'MasterController',
  129.         ]);
  130.     }
  131. }