<?php
namespace App\Entity\GDA;
use App\Entity\AssistantMaternel\AssistantMaternel;
use \JsonSerializable;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="efc.gda_planning_dispo", uniqueConstraints={
* @ORM\UniqueConstraint(name="unicite_dispo_creneau", columns={
* "id_assmat", "id_periode", "id_lieu_accueil", "id_type_accueil", "id_tranche_age", "id_jour_semaine", "id_tranche_horaire"
* })
* })
*/
class PlanningDispo implements JsonSerializable
{
use \App\Entity\Commun\IdTrait;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\AssistantMaternel\AssistantMaternel", inversedBy="dispos")
* @ORM\JoinColumn(name="id_assmat", referencedColumnName="id", nullable=false)
*/
private $assmat;
use \App\Entity\Commun\Disponibilite\PeriodeTrait;
use \App\Entity\Commun\Disponibilite\LieuAccueilTrait;
use \App\Entity\Commun\Disponibilite\TypeAccueilTrait;
use \App\Entity\Commun\Disponibilite\TrancheAgeTrait;
use \App\Entity\Commun\Disponibilite\JourSemaineTrait;
use \App\Entity\Commun\Disponibilite\TrancheHoraireTrait;
use \App\Entity\Commun\Disponibilite\FrequenceDispoTrait;
use \App\Entity\Commun\Disponibilite\NombrePlacesLibresTrait;
use \App\Entity\Commun\Disponibilite\NombrePlacesLibresIrregulierTrait;
use \App\Entity\Commun\Disponibilite\NombrePlacesTotalTrait;
/**
* Set assmat
*
* @param App\Entity\AssistantMaternel\AssistantMaternel $assmat
*
* @return PlanningDispo
*/
public function setAssmat($assmat)
{
$this->assmat = $assmat;
return $this;
}
/**
* Get assmat
*
* @return AssistantMaternel
*/
public function getAssmat()
{
return $this->assmat;
}
/**
* 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_dispo->getId(),
'nl' => $this->nombre_places_libres,
'ni' => $this->nombre_places_libres_irregulier,
'nt' => $this->nombre_places_total
];
}
}