src/Controller/Api/AssiduiteController.php line 40

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Api;
  3. use App\Entity\PFcy;
  4. use App\Entity\PDossier;
  5. use App\Entity\Pemploye;
  6. use App\Entity\LContract;
  7. use App\Entity\PnatureContract;
  8. use App\Entity\TypRemuneration;
  9. use Doctrine\Persistence\ManagerRegistry;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. use Symfony\Component\HttpFoundation\JsonResponse;
  13. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  14. #[Route('/api/assiduite')]
  15. class AssiduiteController extends AbstractController
  16. {
  17.     private $em;
  18.     public function __construct(ManagerRegistry $doctrine)
  19.     {
  20.         $this->em $doctrine->getManager();
  21.         
  22.     }
  23.     #[Route('/employe/{id}'name'api_assiduite_employe')]
  24.     public function employe($id)
  25.     {
  26.         
  27.         $employe=$this->em->createQueryBuilder()
  28.         ->select('employe.id,employe.code,employe.nom,employe.prenom,employe.cin,employe.active')
  29.         ->from(Pemploye::class, 'employe')
  30.         ->where($id '1 = 1' 'employe.id > '.$id)
  31.         ->getQuery()
  32.         ->getResult();
  33.         return new JsonResponse($employe);
  34.     }
  35.     #[Route('/site/{id}'name'api_assiduite_site')]
  36.     public function site($id)
  37.     {
  38.         $dossier=$this->em->createQueryBuilder()
  39.         ->select('dossier.id,dossier.code,dossier.designation,dossier.abreviation,dossier.active,dossier.groupement,das.id as das_id')
  40.         ->from(PDossier::class, 'dossier')
  41.         ->innerJoin('dossier.fcy''das')
  42.         ->where($id '1 = 1' 'dossier.id > '.$id)
  43.         ->getQuery()
  44.         ->getResult();
  45.         return new JsonResponse($dossier);
  46.     }
  47.     #[Route('/das/{id}'name'api_assiduite_das')]
  48.     public function das($id)
  49.     {
  50.         $das=$this->em->createQueryBuilder()
  51.         ->select('das.id,das.fcy0 as abreviation,das.fcy0Libelle as designation')
  52.         ->from(PFcy::class, 'das')
  53.         ->where($id '1 = 1' 'das.id > '.$id)
  54.         ->getQuery()
  55.         ->getResult();
  56.         return new JsonResponse($das);
  57.     }
  58.     #[Route('/contrat/{id}'name'api_assiduite_contrat')]
  59.     public function contrat($id)
  60.     {
  61.         $contract=$this->em->createQueryBuilder()
  62.         ->select('contract.id,contract.code, fnct.Designation as fonction,employe.id as employe_id,contract.active,dos.id as site_id,nature_contrat.id as nature_contrat_id ')
  63.         ->from(LContract::class, 'contract')
  64.         ->innerJoin('contract.employe''employe')
  65.         ->innerJoin('contract.pnatureContract''nature_contrat')
  66.         ->leftJoin('contract.dossier''dos')
  67.         ->leftJoin('contract.fonction''fnct')
  68.         ->where($id '1 = 1' 'contract.id > '.$id)
  69.         ->OrderBy('contract.id','ASC')
  70.         ->getQuery()
  71.         ->getResult();
  72.         // dd($contract);
  73.         return new JsonResponse($contract);
  74.         
  75.     }
  76.     #[Route('/nature_contrat/{id}'name'api_assiduite_nature_contrat')]
  77.     public function nature_contrat($id)
  78.     {
  79.         $natureContract=$this->em->createQueryBuilder()
  80.         ->select('nature_contrat.id,nature_contrat.designation,nature_contrat.Abreviation,nature_contrat.active,type.id as type_remuneration_id')
  81.         ->from(PnatureContract::class, 'nature_contrat')
  82.         ->innerJoin('nature_contrat.type''type')
  83.         ->where($id '1 = 1' 'nature_contrat.id > '.$id)
  84.         ->OrderBy('nature_contrat.id','ASC')
  85.         ->getQuery()
  86.         ->getResult();
  87.         return new JsonResponse($natureContract);
  88.         
  89.     }
  90.     #[Route('/type_remuneration/{id}'name'api_assiduite_type_remuneration')]
  91.     public function type_remuneration($id)
  92.     {
  93.         $type=$this->em->createQueryBuilder()
  94.         ->select('type.id,type.designation,type.abreviation')
  95.         ->from(TypRemuneration::class, 'type')
  96.         ->where($id '1 = 1' 'type.id > '.$id)
  97.         ->OrderBy('type.id','ASC')
  98.         ->getQuery()
  99.         ->getResult();
  100.         return new JsonResponse($type);
  101.     }
  102. }