<?php
namespace App\ProPneu\BackOffice\AdminBundle\Controller;
use App\ProPneu\Service\MetierManagerBundle\Utils\EntityName;
use App\ProPneu\Service\MetierManagerBundle\Utils\ServiceName;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
/**
* Class PpDashboardController
* @package App\ProPneu\BackOffice\AdminBundle\Controller
*/
class PpDashboardController extends AbstractController
{
/**
* Display a dashboard
* @return \Symfony\Component\HttpFoundation\Response
* @throws \Exception
*/
public function indexAction()
{
// Recuperer manager
$_utils_manager = $this->get(ServiceName::SRV_METIER_UTILS);
$_user_manager = $this->get(ServiceName::SRV_METIER_USER);
$_alerte_manager = $this->get(ServiceName::SRV_METIER_ALERTE);
$_approvisionnement_manager = $this->get(ServiceName::SRV_METIER_APPROVISIONEMENT);
$_branche_id = $_utils_manager->findCurrentBranche() ? $_utils_manager->findCurrentBranche()->getId() : 0;
$_clients = $_utils_manager->getEntityByFilter(EntityName::PP_CLIENT, ['cltIsDeleted' => 0]);
$_count_client = count($_clients);
$_centers = $_utils_manager->getEntityByFilter(EntityName::PP_CENTRE, ['ppBranche' => $_branche_id, 'ctrIsDeleted' => false]);
$_count_center = count($_centers);
$_count_user = $_user_manager->countAllUsers();
$_recouvrements = $_alerte_manager->getAlerteRecouvrementByLimit();
$_stocks = $_alerte_manager->getAlerteStockByLimit();
$_absences = $_alerte_manager->getAlerteAbsenceByLimit();
$_mouvement_sotcks = $_approvisionnement_manager->getAllApprovisionnementByLimit();
$_plafonds = $_alerte_manager->getAlertePlafondAtteintByLimit();
$_stock_flottants = $_approvisionnement_manager->getAllStockFlottantByLimit();
return $this->render('AdminBundle:PpDashboard:index.html.twig', [
'clients' => $_count_client,
'centers' => $_count_center,
'users' => $_count_user,
'absences' => $_absences,
'stocks' => $_stocks,
'recouvrements' => $_recouvrements['limit'],
'recouvrement_total' => $_recouvrements['total'],
'mouvement_sotcks' => $_mouvement_sotcks,
'plafonds' => $_plafonds,
'stock_flottants' => $_stock_flottants
]);
}
}