<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Knp\DoctrineBehaviors\Model\Timestampable\TimestampableTrait;
use Symfony\Component\Validator\Constraints as Assert;
use ApiPlatform\Core\Annotation\ApiResource;
use Symfony\Component\Serializer\Annotation\Groups;
use App\Entity\Intervention;
use App\Entity\User;
use App\Entity\Client;
use App\Repository\ArretTravailRepository;
/**
*
* Represente le planning des médécins probablement.
* @ORM\Table()
* @ORM\Entity(repositoryClass=ArretTravailRepository::class)
*
*/
class ArretTravail
{
use TimestampableTrait;
/**
* @var integer $id
*
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*
* @Groups({"read"})
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string")
*
* @Assert\NotBlank()
* @Groups({"read"})
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="affectation", type="boolean")
* @Groups({"read"})
*/
private $affectation = false;
/**
* @var string
*
* @ORM\Column(name="grossesse", type="boolean")
* @Groups({"read"})
*/
private $grossesse = false;
/**
* @var boolean
*
* @ORM\Column(name="longueDuree", type="boolean")
* @Groups({"read"})
*/
private $longueDuree = false;
/**
* @var string
*
* @ORM\Column(name="motifMedical", type="text")
* @Groups({"read"})
*/
private $motifMedical;
/**
* @var string
*
* @ORM\Column(name="stopUntilLetter", type="text", nullable=true)
* @Groups({"read"})
*/
private $stopUntilLetter;
/**
* @var string
*
* @ORM\Column(name="sortiesSansRestrictions", type="boolean")
* @Groups({"read"})
*/
private $sortiesSansRestrictions = false;
/**
* @var string
*
* @ORM\Column(name="sorties", type="boolean")
* @Groups({"read"})
*/
private $sorties = false;
/**
* @var \DateTime
*
* @ORM\Column(name="until", type="datetime", nullable=true)
* @Groups({"read"})
*/
private $until;
/**
* @var \DateTime
*
* @ORM\Column(name="sortiesFrom", type="datetime", nullable=true)
* @Groups({"read"})
*/
private $sortiesFrom;
/**
* @var \DateTime
*
* @ORM\Column(name="sortiesSansRestrictionsFrom", type="datetime", nullable=true)
* @Groups({"read"})
*/
private $sortiesSansRestrictionsFrom;
/**
* @var \DateTime
*
* @ORM\Column(name="tempsPartielFrom", type="datetime", nullable=true)
* @Groups({"read"})
*/
private $tempsPartielFrom;
/**
* @var \DateTime
*
* @ORM\Column(name="tempsPartielTo", type="datetime", nullable=true)
* @Groups({"read"})
*/
private $tempsPartielTo;
/**
* @var Intervention
* @ORM\ManyToOne(
* targetEntity=Client::class
* )
* @Groups({"read"})
*/
private $client;
/**
* @var Intervention
* @ORM\ManyToOne(
* targetEntity=Intervention::class, inversedBy="arrets"
* )
* @Groups({"read"})
*/
private $intervention;
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @param int $id
*/
public function setId($id)
{
$this->id = $id;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return string
*/
public function getAffectation()
{
return $this->affectation;
}
/**
* @param string $affectation
*/
public function setAffectation($affectation)
{
$this->affectation = $affectation;
}
/**
* @return string
*/
public function getGrossesse()
{
return $this->grossesse;
}
/**
* @param string $grossesse
*/
public function setGrossesse($grossesse)
{
$this->grossesse = $grossesse;
}
/**
* @return string
*/
public function getLongueDuree()
{
return $this->longueDuree;
}
/**
* @param boolean $longueDuree
*/
public function setLongueDuree($longueDuree)
{
$this->longueDuree = $longueDuree;
}
/**
* @return string
*/
public function getSortiesSansRestrictions()
{
return $this->sortiesSansRestrictions;
}
/**
* @param string $sortiesSansRestrictions
*/
public function setSortiesSansRestrictions($sortiesSansRestrictions)
{
$this->sortiesSansRestrictions = $sortiesSansRestrictions;
}
/**
* @return string
*/
public function getSorties()
{
return $this->sorties;
}
/**
* @param string $sorties
*/
public function setSorties($sorties)
{
$this->sorties = $sorties;
}
/**
* @return \DateTime
*/
public function getUntil()
{
return $this->until;
}
/**
* @param \DateTime $until
*/
public function setUntil($until)
{
$this->until = $until;
}
/**
* @return \DateTime
*/
public function getSortiesFrom()
{
return $this->sortiesFrom;
}
/**
* @param \DateTime $sortiesFrom
*/
public function setSortiesFrom($sortiesFrom)
{
$this->sortiesFrom = $sortiesFrom;
}
/**
* @return \DateTime
*/
public function getSortiesSansRestrictionsFrom()
{
return $this->sortiesSansRestrictionsFrom;
}
/**
* @param \DateTime $sortiesSansRestrictionsFrom
*/
public function setSortiesSansRestrictionsFrom($sortiesSansRestrictionsFrom)
{
$this->sortiesSansRestrictionsFrom = $sortiesSansRestrictionsFrom;
}
/**
* @return \DateTime
*/
public function getTempsPartielFrom()
{
return $this->tempsPartielFrom;
}
/**
* @param \DateTime $tempsPartielFrom
*/
public function setTempsPartielFrom($tempsPartielFrom)
{
$this->tempsPartielFrom = $tempsPartielFrom;
}
/**
* @return \DateTime
*/
public function getTempsPartielTo()
{
return $this->tempsPartielTo;
}
/**
* @param \DateTime $tempsPartielTo
*/
public function setTempsPartielTo($tempsPartielTo)
{
$this->tempsPartielTo = $tempsPartielTo;
}
/**
* @return Intervention
*/
public function getClient()
{
return $this->client;
}
/**
* @param Intervention $client
*/
public function setClient($client)
{
$this->client = $client;
}
/**
* @return Intervention
*/
public function getIntervention()
{
return $this->intervention;
}
/**
* @param Intervention $intervention
*/
public function setIntervention($intervention)
{
$this->intervention = $intervention;
}
/**
* @return string
*/
public function getMotifMedical()
{
return $this->motifMedical;
}
/**
* @param string $motifMedical
*/
public function setMotifMedical($motifMedical)
{
$this->motifMedical = $motifMedical;
}
/**
* @return string
*/
public function getStopUntilLetter()
{
return $this->stopUntilLetter;
}
/**
* @param string $stopUntilLetter
*/
public function setStopUntilLetter($stopUntilLetter)
{
$this->stopUntilLetter = $stopUntilLetter;
}
}