<?php
namespace App\Entity\GDA;
use \JsonSerializable;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="efc.gda_planning_accueil", uniqueConstraints={
* @ORM\UniqueConstraint(name="unicite_occupation_creneau", columns={
* "id_accueil", "id_periode", "id_jour_semaine", "id_tranche_horaire"
* })
* })
*/
class PlanningAccueil implements JsonSerializable
{
// <editor-fold defaultstate="collapsed" desc="Attributs privés">
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Referentiel\FrequenceAccueil")
* @ORM\JoinColumn(name="id_frequence_accueil", referencedColumnName="id")
*/
private $frequence_accueil;
/**
* Cascade persist : enregistrer les nouveaux plannings d'accueils en même temps que l'accueil
* @ORM\ManyToOne(targetEntity="App\Entity\GDA\Accueil", inversedBy="planning_accueil")
* @ORM\JoinColumn(name="id_accueil", referencedColumnName="id")
*/
private $accueil;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Referentiel\Periode")
* @ORM\JoinColumn(name="id_periode", referencedColumnName="id")
*/
private $periode;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Referentiel\JourSemaine")
* @ORM\JoinColumn(name="id_jour_semaine", referencedColumnName="id")
*/
private $jour_semaine;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Referentiel\TrancheHoraire")
* @ORM\JoinColumn(name="id_tranche_horaire", referencedColumnName="id")
*/
private $tranche_horaire;
// </editor-fold>
// <editor-fold desc="Accesseurs">
function getId()
{
return $this->id;
}
function getFrequenceAccueil()
{
return $this->frequence_accueil;
}
function getAccueil()
{
return $this->accueil;
}
function getPeriode()
{
return $this->periode;
}
function getJourSemaine()
{
return $this->jour_semaine;
}
function getTrancheHoraire()
{
return $this->tranche_horaire;
}
public function setFrequenceAccueil($frequence_accueil)
{
$this->frequence_accueil = $frequence_accueil;
return $this;
}
public function setAccueil($accueil)
{
$this->accueil = $accueil;
return $this;
}
public function setPeriode($periode)
{
$this->periode = $periode;
return $this;
}
public function setJourSemaine($jourSemaine)
{
$this->jour_semaine = $jourSemaine;
return $this;
}
public function setTrancheHoraire($trancheHoraire)
{
$this->tranche_horaire = $trancheHoraire;
return $this;
}
// </editor-fold>
// <editor-fold desc="Méthodes publiques">
/**
* Constructor
*/
public function __construct()
{ }
/*
* Implémentation de JsonSerializable
* Ne liste que les champs modifiables par les utilisateurs
*/
public function jsonSerialize()
{
return [
'j' => $this->jour_semaine->getId(),
't' => $this->tranche_horaire->getId(),
'f' => $this->frequence_accueil->getId()
];
}
// </editor-fold>
}