<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use App\Entity\Company;
/**
* Contrat client
*
* @ORM\Table()
* @ORM\Entity
*/
class WorkContract
{
const TYPE_COIFFURE = 'coiffure';
const TYPE_ESTHETIQUE = 'esthetique';
const TYPE_CONTRAT_CDI = 'cdi';
const TYPE_CONTRAT_CDD = 'cdd';
const TYPE_CONTRAT_INTERIM = 'interim';
const TYPE_CONTRAT_APPRENTISSAGE = 'apprentissage';
const TYPE_CONTRAT_PROFESSIONNALISATION = 'professionnalisation';
const TYPE_CONTRAT_STAGIERE = 'stagiere';
const PE_DUREE_1_MOIS = 0;
const PE_DUREE_1_MOIS_R =1;
const PE_DUREE_2_MOIS = 2;
const PE_DUREE_2_MOIS_R = 3;
const PE_DUREE_3_MOIS = 4;
const PE_DUREE_3_MOIS_R = 5;
const MOTIF_FIN_DEMISSION = 0;
const MOTIF_FIN_RUPTURE_PE_EMPLOYEUR = 1;
const MOTIF_FIN_RUPTURE_PE_SALARIE = 2;
const MOTIF_FIN_RUPTURE_CO = 3;
const MOTIF_FIN_LICENCIEMENT = 4;
const MOTIF_FIN_FIN_CDD = 5;
const TYPE_RDV_PERIODIQUE = 'periodique';
const TYPE_RDV_FAMILLE = 'famille';
const TYPE_RDV_RESIDENT = 'resident';
const STATUS_EN_COURS = 0;
const STATUS_SIGNE = 1;
const STATUS_TERMINE = 2;
public function __toString()
{
return (string) $this->id;;
}
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Company::class)
* @ORM\JoinColumn(name="company_id", referencedColumnName="id")
*
*/
protected $company;
/**
* @ORM\Column(name="qualification", type="string", nullable=true)
*/
private $qualification;
/**
* @ORM\Column(name="typeContrat", type="string", nullable=true)
*/
private $typeContrat;
/**
* @ORM\Column(name="date_entree", type="string", nullable=true)
*/
private $date_entree;
/**
* @ORM\Column(name="niveau", type="string", nullable=true)
*/
private $niveau;
/**
* @ORM\Column(name="echelon", type="string", nullable=true)
*/
private $echelon;
/**
* @ORM\Column(name="date_fin_periode_essai", type="string", nullable=true)
*/
private $date_fin_periode_essai;
/**
* @ORM\Column(name="date_fin_contrat", type="string", nullable=true)
*/
private $date_fin_contrat;
/**
* @ORM\Column(name="motif_fin", type="string", nullable=true)
*/
private $motif_fin;
/**
* @ORM\Column(name="anciennete", type="string", nullable=true)
*/
private $anciennete;
/**
* @ORM\Column(name="regime", type="string", nullable=true)
*/
private $regime;
/**
* @ORM\Column(name="date_debut_pe", type="string", nullable=true)
*/
private $date_debut_pe;
/**
* @ORM\Column(name="date_fin_pe", type="string", nullable=true)
*/
private $date_fin_pe;
/**
* @ORM\Column(name="pe_duree", type="string", nullable=true)
*/
private $pe_duree;
/**
* @ORM\Column(name="pe_renouveller", type="boolean", nullable=true)
*/
private $pe_renouveller;
/**
* @ORM\Column(name="nb_heures_hebdo_max", type="float", nullable=true)
*/
private $nb_heures_hebdo_max;
/**
* @ORM\Column(name="nb_heures_mensuelles_max", type="float", nullable=true)
*/
private $nb_heures_mensuelles_max;
/**
* @ORM\Column(name="taux_horaire_brut", type="float", nullable=true)
*/
private $taux_horaire_brut;
/**
* @ORM\Column(name="salaire_base", type="float", nullable=true)
*/
private $salaire_base;
/**
* @ORM\Column(name="nb_heure_sup_mensuelle", type="float", nullable=true)
*/
private $nb_heure_sup_mensuelle;
/**
* @ORM\Column(name="nb_heure_comp_mensuelle", type="float", nullable=true)
*/
private $nb_heure_comp_mensuelle;
/**
* @ORM\Column(name="type_contrat", type="string", nullable=true)
*/
private $type_contrat;
/**
* @ORM\Column(name="temps_travail", type="string", nullable=true)
*/
private $temps_travail;
/**
* @ORM\Column(name="days_worked", type="array", nullable=true)
*/
private $days_worked;
/**
* @ORM\Column(name="objectif", type="string", nullable=true)
*/
private $objectif;
/**
* @ORM\Column(name="status", type="string", nullable=true)
*/
private $status;
/**
* @ORM\Column(name="pourcentage_prime", type="float", nullable=true)
*/
private $pourcentage_prime;
/**
* @ORM\Column(name="prime", type="float", nullable=true)
*/
private $prime;
/**
* @ORM\Column(name="prime_respect_rdv", type="float", nullable=true)
*/
private $prime_respect_rdv;
/**
* @ORM\Column(name="prime_entretien", type="float", nullable=true)
*/
private $prime_entretien;
/**
* @ORM\Column(name="prime_stock", type="float", nullable=true)
*/
private $prime_stock;
/**
* @ORM\Column(name="variable", type="float", nullable=true)
*/
private $variable;
/**
* @ORM\Column(name="horaire_quotidien", type="text", nullable=true)
*/
private $horaire_quotidien;
/**
* @var string
*
* @ORM\Column(name="zoneGeographique", type="string", nullable=true)
*/
private $zoneGeographique;
/**
* @var array
*
* @ORM\Column(name="workDays", type="array", nullable=true)
*/
private $workDays;
/**
* @ORM\OneToOne(targetEntity="Intervenant", inversedBy="workContract" )
*/
protected $intervenant;
/**
* @var array
*
* @ORM\Column(name="joursRepos", type="array", nullable=true)
*/
private $joursRepos;
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
*/
public function setId(int $id): void
{
$this->id = $id;
}
/**
* @return mixed
*/
public function getNbHeuresHebdoMax()
{
return $this->nb_heures_hebdo_max;
}
/**
* @param mixed $nb_heures_hebdo_max
*/
public function setNbHeuresHebdoMax($nb_heures_hebdo_max): void
{
$this->nb_heures_hebdo_max = $nb_heures_hebdo_max;
}
/**
* @return mixed
*/
public function getNbHeuresMensuellesMax()
{
return $this->nb_heures_mensuelles_max;
}
/**
* @param mixed $nb_heures_mensuelles_max
*/
public function setNbHeuresMensuellesMax($nb_heures_mensuelles_max): void
{
$this->nb_heures_mensuelles_max = $nb_heures_mensuelles_max;
}
/**
* @return mixed
*/
public function getTauxHoraireBrut()
{
return $this->taux_horaire_brut;
}
/**
* @param mixed $taux_horaire_brut
*/
public function setTauxHoraireBrut($taux_horaire_brut): void
{
$this->taux_horaire_brut = $taux_horaire_brut;
}
/**
* @return mixed
*/
public function getSalaireBase()
{
return $this->salaire_base;
}
/**
* @param mixed $salaire_base
*/
public function setSalaireBase($salaire_base): void
{
$this->salaire_base = $salaire_base;
}
/**
* @return mixed
*/
public function getNbHeureSupMensuelle()
{
return $this->nb_heure_sup_mensuelle;
}
/**
* @param mixed $nb_heure_sup_mensuelle
*/
public function setNbHeureSupMensuelle($nb_heure_sup_mensuelle): void
{
$this->nb_heure_sup_mensuelle = $nb_heure_sup_mensuelle;
}
/**
* @return mixed
*/
public function getNbHeureCompMensuelle()
{
return $this->nb_heure_comp_mensuelle;
}
/**
* @param mixed $nb_heure_comp_mensuelle
*/
public function setNbHeureCompMensuelle($nb_heure_comp_mensuelle): void
{
$this->nb_heure_comp_mensuelle = $nb_heure_comp_mensuelle;
}
/**
* @return mixed
*/
public function getTypeContrat()
{
return $this->type_contrat;
}
/**
* @param mixed $type_contrat
*/
public function setTypeContrat($type_contrat): void
{
$this->type_contrat = $type_contrat;
}
/**
* @return mixed
*/
public function getDaysWorked()
{
return $this->days_worked;
}
/**
* @param mixed $days_worked
*/
public function setDaysWorked($days_worked): void
{
$this->days_worked = $days_worked;
}
/**
* @return mixed
*/
public function getObjectif()
{
return $this->objectif;
}
/**
* @param mixed $objectif
*/
public function setObjectif($objectif): void
{
$this->objectif = $objectif;
}
/**
* @return mixed
*/
public function getPourcentagePrime()
{
return $this->pourcentage_prime;
}
/**
* @param mixed $pourcentage_prime
*/
public function setPourcentagePrime($pourcentage_prime): void
{
$this->pourcentage_prime = $pourcentage_prime;
}
/**
* @return mixed
*/
public function getPrime()
{
return $this->prime;
}
/**
* @param mixed $prime
*/
public function setPrime($prime): void
{
$this->prime = $prime;
}
/**
* @return mixed
*/
public function getHoraireQuotidien()
{
return $this->horaire_quotidien;
}
/**
* @param mixed $horaire_quotidien
*/
public function setHoraireQuotidien($horaire_quotidien): void
{
$this->horaire_quotidien = $horaire_quotidien;
}
/**
* @return Company
*/
public function getEmployeur()
{
return $this->company;
}
/**
* @param mixed $employeur
*/
public function setEmployeur($employeur): void
{
$this->company = $employeur;
}
/**
* @return mixed
*/
public function getDateEntree()
{
return $this->date_entree;
}
/**
* @param mixed $date_entree
*/
public function setDateEntree($date_entree): void
{
$this->date_entree = $date_entree;
}
/**
* @return mixed
*/
public function getNiveau()
{
return $this->niveau;
}
/**
* @param mixed $niveau
*/
public function setNiveau($niveau): void
{
$this->niveau = $niveau;
}
/**
* @return mixed
*/
public function getEchelon()
{
return $this->echelon;
}
/**
* @param mixed $echelon
*/
public function setEchelon($echelon): void
{
$this->echelon = $echelon;
}
/**
* @return mixed
*/
public function getDateFinPeriodeEssai()
{
return $this->date_fin_periode_essai;
}
/**
* @param mixed $date_fin_periode_essai
*/
public function setDateFinPeriodeEssai($date_fin_periode_essai): void
{
$this->date_fin_periode_essai = $date_fin_periode_essai;
}
/**
* @return mixed
*/
public function getDateFinContrat()
{
return $this->date_fin_contrat;
}
/**
* @param mixed $date_fin_contrat
*/
public function setDateFinContrat($date_fin_contrat): void
{
$this->date_fin_contrat = $date_fin_contrat;
}
/**
* @return mixed
*/
public function getMotifFin()
{
return $this->motif_fin;
}
/**
* @param mixed $motif_fin
*/
public function setMotifFin($motif_fin): void
{
$this->motif_fin = $motif_fin;
}
/**
* @return mixed
*/
public function getAnciennete()
{
return $this->anciennete;
}
/**
* @param mixed $anciennete
*/
public function setAnciennete($anciennete): void
{
$this->anciennete = $anciennete;
}
/**
* @return mixed
*/
public function getRegime()
{
return $this->regime;
}
/**
* @param mixed $regime
*/
public function setRegime($regime): void
{
$this->regime = $regime;
}
/**
* @return mixed
*/
public function getDateDebutPe()
{
return $this->date_debut_pe;
}
/**
* @param mixed $date_debut_pe
*/
public function setDateDebutPe($date_debut_pe): void
{
$this->date_debut_pe = $date_debut_pe;
}
/**
* @return mixed
*/
public function getDateFinPe()
{
return $this->date_fin_pe;
}
/**
* @param mixed $date_fin_pe
*/
public function setDateFinPe($date_fin_pe): void
{
$this->date_fin_pe = $date_fin_pe;
}
/**
* @return mixed
*/
public function getPeDuree()
{
return $this->pe_duree;
}
/**
* @param mixed $pe_duree
*/
public function setPeDuree($pe_duree): void
{
$this->pe_duree = $pe_duree;
}
/**
* @return mixed
*/
public function getPeRenouveller()
{
return $this->pe_renouveller;
}
/**
* @param mixed $pe_renouveller
*/
public function setPeRenouveller($pe_renouveller): void
{
$this->pe_renouveller = $pe_renouveller;
}
/**
* @return mixed
*/
public function getQualification()
{
return $this->qualification;
}
/**
* @param mixed $qualification
*/
public function setQualification($qualification): void
{
$this->qualification = $qualification;
}
/**
* @return mixed
*/
public function getStatus()
{
return $this->status;
}
/**
* @param mixed $status
*/
public function setStatus($status): void
{
$this->status = $status;
}
/**
* @return array
*/
public function getWorkDays(): ?array
{
return $this->workDays;
}
/**
* @param array $workDays
*/
public function setWorkDays(array $workDays): void
{
$this->workDays = $workDays;
}
/**
* @return mixed
*/
public function getIntervenant()
{
return $this->intervenant;
}
/**
* @param mixed $intervenant
*/
public function setIntervenant($intervenant): void
{
$this->intervenant = $intervenant;
}
/**
* @return mixed
*/
public function getTempsTravail()
{
return $this->temps_travail;
}
/**
* @param mixed $temps_travail
*/
public function setTempsTravail($temps_travail): void
{
$this->temps_travail = $temps_travail;
}
/**
* @return string
*/
public function getZoneGeographique()
{
return $this->zoneGeographique;
}
/**
* @param string $zoneGeographique
*/
public function setZoneGeographique(string $zoneGeographique): void
{
$this->zoneGeographique = $zoneGeographique;
}
/**
* @return mixed
*/
public function getVariable()
{
return $this->variable;
}
/**
* @param mixed $variable
*/
public function setVariable($variable): void
{
$this->variable = $variable;
}
/**
* @return mixed
*/
public function getPrimeRespectRdv()
{
return $this->prime_respect_rdv;
}
/**
* @param mixed $prime_respect_rdv
*/
public function setPrimeRespectRdv($prime_respect_rdv): void
{
$this->prime_respect_rdv = $prime_respect_rdv;
}
/**
* @return mixed
*/
public function getPrimeEntretien()
{
return $this->prime_entretien;
}
/**
* @param mixed $prime_entretien
*/
public function setPrimeEntretien($prime_entretien): void
{
$this->prime_entretien = $prime_entretien;
}
/**
* @return mixed
*/
public function getPrimeStock()
{
return $this->prime_stock;
}
/**
* @param mixed $prime_stock
*/
public function setPrimeStock($prime_stock): void
{
$this->prime_stock = $prime_stock;
}
public function getJoursRepos(): ?array
{
return $this->joursRepos;
}
public function setJoursRepos(?array $joursRepos): self
{
$this->joursRepos = $joursRepos;
return $this;
}
}