src/Entity/Concession.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ConcessionRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. #[ORM\Entity(repositoryClassConcessionRepository::class)]
  10. class Concession
  11. {
  12.     public const NATURE_OPTIONS = ["Concession de travaux""Concession de service","Concession de service public","Délégation de service public"];
  13.     public const PROCEDURE_OPTIONS = ["Procédure négociée ouverte","Procédure non négociée ouverte","Procédure négociée restreinte","Procédure non négociée restreinte"];
  14.     #[ORM\Id]
  15.     #[ORM\GeneratedValue]
  16.     #[ORM\Column]
  17.     private ?int $id null;
  18.     #[ORM\Column(length255)]
  19.     #[Assert\Length(max16)]
  20.     #[Assert\NotNull(message'Le champs Numéro unique \'identification unique de contrat de concession doit être renseigné')]
  21.     private ?string $concessionIdentifiant null;
  22.     #[ORM\Column(length255)]
  23.     #[Assert\NotNull(message'Le champs Identifiant de l\autorité concédante doit être renseigné')]
  24.     private ?string $autoriteConcedanteId null;
  25.     #[ORM\Column(length255)]
  26.     #[Assert\NotNull(message'Le champs Nom de l\'autorité conédante doit être renseigné')]
  27.     private ?string $autoriteConcedanteNom null;
  28.     #[ORM\Column(length255)]
  29.     #[Assert\NotNull(message'Le champs nature doit être renseigné')]
  30.     #[Assert\Choice(choicesConcession::NATURE_OPTIONS)]
  31.     private ?string $nature null;
  32.     #[ORM\Column(length1000)]
  33.     #[Assert\NotNull(message'Le champs objet doit être renseigné')]
  34.     #[Assert\Length(max1000)]
  35.     private ?string $objet null;
  36.     #[ORM\Column(length255)]
  37.     #[Assert\Choice(choicesConcession::PROCEDURE_OPTIONS)]
  38.     #[Assert\NotNull(message'Le champs procédure doit être renseigné')]
  39.     private ?string $concessionProcedure null;
  40.     #[Assert\NotNull(message"Le champ Lieu d'exécution doit être renseigné.")]
  41.     #[ORM\Column(length255)]
  42.     private ?string $lieuExecutionCode null;
  43.     #[ORM\Column(length255)]
  44.     #[Assert\NotNull(message"Le champs Type de lieu d'exécution doit être renseigné.")]
  45.     #[Assert\Choice(choicesMarchePublic::CHOICE_TYPE_LIEUXmessage'Choisissez une valeur valide pour le type de code du lieu d’exécution.')]
  46.     private ?string $lieuExecutionTypeCode null;
  47.     #[ORM\Column(length500)]
  48.     #[Assert\NotNull(message"Le champ nom du lieu d'exécution doit être renseigné.")]
  49.     private ?string $lieuExecutionNom null;
  50.     #[ORM\Column]
  51.     #[Assert\NotNull(message"La durée en mois doit être renseignée.")]
  52.     #[Assert\Type(type'integer'message"La durée doit être un nombre entier.")]
  53.     #[Assert\GreaterThanOrEqual(value1message"La durée doit être d'au moins 1 mois.")]
  54.     private ?int $dureeMois null;
  55.     #[ORM\Column(typeTypes::DATE_MUTABLE)]
  56.     #[Assert\NotNull(message'La date de signature doit être renseignée')]
  57.     private ?\DateTimeInterface $dateSignature null;
  58.     #[ORM\Column(typeTypes::DATE_MUTABLE)]
  59.     #[Assert\NotNull(message'La date de publication des données doit être renseignée')]
  60.     private ?\DateTimeInterface $datePublicationDonnees null;
  61.     #[ORM\Column(typeTypes::DATE_MUTABLE)]
  62.     #[Assert\NotNull(message'La date de début d\'exécution doit être renseignée')]
  63.     private ?\DateTimeInterface $dateDebutExecution null;
  64.     #[ORM\Column(typeTypes::DECIMALprecision20scale2)]
  65.     #[Assert\Type(type'numeric'message'Le montant de la valeur globale doit être un nombre.')]
  66.     #[Assert\NotNull(message'La  valeur globale doit être renseignée')]
  67.     #[Assert\PositiveOrZero(message'Le montant de la valeur globale doit être positif ou zéro.')]
  68.     private ?string $valeurGlobale null;
  69.     #[ORM\Column(typeTypes::DECIMALprecision20scale2)]
  70.     #[Assert\NotNull(message'La date valeur globale doit être renseignée')]
  71.     #[Assert\Type(type'numeric'message'Le montant de la subvention publique doit être un nombre.')]
  72.     #[Assert\PositiveOrZero(message'Le montant de la subvention publique doit être positif ou zéro.')]
  73.     private ?string $montantSubventionPublique null;
  74.     #[ORM\Column]
  75.     #[Assert\Choice(choices: ['Clause sociale''Critère social''Marché réservé''Pas de considération sociale'], multipletruemessage"Choisissez une ou plusieurs valeurs valides pour les considérations sociales.")]
  76.     #[Assert\NotNull(message"Le champ Considérations sociales doit être renseigné.")]
  77.     private array $considerationsSociales = [];
  78.     #[ORM\Column]
  79.     #[Assert\NotNull(message"Le champ considérations environnementale doit être renseigné.")]
  80.     #[Assert\Choice(choices: ['Clause environnementale''Critère environnemental''Pas de considération environnementale'], multipletruemessage"Choisissez une ou plusieurs valeurs valides pour les considérations environnementales.")]
  81.     private array $considerationsEnvironnementales = [];
  82.     #[ORM\OneToMany(mappedBy'concession'targetEntityDonneePerformance::class, cascade: ['persist'])]
  83.     private Collection $donneePerformance;
  84.     #[ORM\OneToMany(mappedBy'concession'targetEntityTitulaire::class, cascade: ['persist'])]
  85.     private Collection $titulaire;
  86.     #[ORM\OneToMany(mappedBy'concession'targetEntityModificationConcession::class, cascade: ['persist'])]
  87.     private Collection $modificationConcession;
  88.     #[ORM\Column(typeTypes::DATE_MUTABLE)]
  89.     private ?\DateTimeInterface $dateMade null;
  90.     #[ORM\ManyToOne(inversedBy'concessions')]
  91.     private ?User $user null;
  92.     #[ORM\Column(length255nullabletrue)]
  93.     private ?string $apiId null;
  94.     public function __construct()
  95.     {
  96.         $this->donneePerformance = new ArrayCollection();
  97.         $this->titulaire = new ArrayCollection();
  98.         $this->modificationConcession = new ArrayCollection();
  99.     }
  100.     public function getId(): ?int
  101.     {
  102.         return $this->id;
  103.     }
  104.     public function getConcessionIdentifiant(): ?string
  105.     {
  106.         return $this->concessionIdentifiant;
  107.     }
  108.     public function setConcessionIdentifiant(string $concessionIdentifiant): static
  109.     {
  110.         $this->concessionIdentifiant $concessionIdentifiant;
  111.         return $this;
  112.     }
  113.     public function getAutoriteConcedanteId(): ?string
  114.     {
  115.         return $this->autoriteConcedanteId;
  116.     }
  117.     public function setAutoriteConcedanteId(string $autoriteConcedanteId): static
  118.     {
  119.         $this->autoriteConcedanteId $autoriteConcedanteId;
  120.         return $this;
  121.     }
  122.     public function getAutoriteConcedanteNom(): ?string
  123.     {
  124.         return $this->autoriteConcedanteNom;
  125.     }
  126.     public function setAutoriteConcedanteNom(string $autoriteConcedanteNom): static
  127.     {
  128.         $this->autoriteConcedanteNom $autoriteConcedanteNom;
  129.         return $this;
  130.     }
  131.     public function getNature(): ?string
  132.     {
  133.         return $this->nature;
  134.     }
  135.     public function setNature(string $nature): static
  136.     {
  137.         $this->nature $nature;
  138.         return $this;
  139.     }
  140.     public function getObjet(): ?string
  141.     {
  142.         return $this->objet;
  143.     }
  144.     public function setObjet(string $objet): static
  145.     {
  146.         $this->objet $objet;
  147.         return $this;
  148.     }
  149.     public function getConcessionProcedure(): ?string
  150.     {
  151.         return $this->concessionProcedure;
  152.     }
  153.     public function setConcessionProcedure(string $concessionProcedure): static
  154.     {
  155.         $this->concessionProcedure $concessionProcedure;
  156.         return $this;
  157.     }
  158.     public function getLieuExecutionTypeCode(): ?string
  159.     {
  160.         return $this->lieuExecutionTypeCode;
  161.     }
  162.     public function setLieuExecutionTypeCode(string $lieuExecutionTypeCode): static
  163.     {
  164.         $this->lieuExecutionTypeCode $lieuExecutionTypeCode;
  165.         return $this;
  166.     }
  167.     public function getLieuExecutionCode(): ?string
  168.     {
  169.         return $this->lieuExecutionCode;
  170.     }
  171.     public function setLieuExecutionCode(string $lieuExecutionCode): static
  172.     {
  173.         $this->lieuExecutionCode $lieuExecutionCode;
  174.         return $this;
  175.     }
  176.     public function getLieuExecutionNom(): ?string
  177.     {
  178.         return $this->lieuExecutionNom;
  179.     }
  180.     public function setLieuExecutionNom(string $lieuExecutionNom): static
  181.     {
  182.         $this->lieuExecutionNom $lieuExecutionNom;
  183.         return $this;
  184.     }
  185.     public function getDureeMois(): ?int
  186.     {
  187.         return $this->dureeMois;
  188.     }
  189.     public function setDureeMois(int $dureeMois): static
  190.     {
  191.         $this->dureeMois $dureeMois;
  192.         return $this;
  193.     }
  194.     public function getDateSignature(): ?\DateTimeInterface
  195.     {
  196.         return $this->dateSignature;
  197.     }
  198.     public function setDateSignature(\DateTimeInterface $dateSignature): static
  199.     {
  200.         $this->dateSignature $dateSignature;
  201.         return $this;
  202.     }
  203.     public function getDatePublicationDonnees(): ?\DateTimeInterface
  204.     {
  205.         return $this->datePublicationDonnees;
  206.     }
  207.     public function setDatePublicationDonnees(\DateTimeInterface $datePublicationDonnees): static
  208.     {
  209.         $this->datePublicationDonnees $datePublicationDonnees;
  210.         return $this;
  211.     }
  212.     public function getDateDebutExecution(): ?\DateTimeInterface
  213.     {
  214.         return $this->dateDebutExecution;
  215.     }
  216.     public function setDateDebutExecution(\DateTimeInterface $dateDebutExecution): static
  217.     {
  218.         $this->dateDebutExecution $dateDebutExecution;
  219.         return $this;
  220.     }
  221.     public function getValeurGlobale(): ?string
  222.     {
  223.         return $this->valeurGlobale;
  224.     }
  225.     public function setValeurGlobale(string $valeurGlobale): static
  226.     {
  227.         $this->valeurGlobale $valeurGlobale;
  228.         return $this;
  229.     }
  230.     public function getMontantSubventionPublique(): ?string
  231.     {
  232.         return $this->montantSubventionPublique;
  233.     }
  234.     public function setMontantSubventionPublique(string $montantSubventionPublique): static
  235.     {
  236.         $this->montantSubventionPublique $montantSubventionPublique;
  237.         return $this;
  238.     }
  239.     public function getConsiderationsSociales(): array
  240.     {
  241.         return $this->considerationsSociales;
  242.     }
  243.     public function setConsiderationsSociales(array $considerationsSociales): static
  244.     {
  245.         $this->considerationsSociales $considerationsSociales;
  246.         return $this;
  247.     }
  248.     public function getConsiderationsEnvironnementales(): array
  249.     {
  250.         return $this->considerationsEnvironnementales;
  251.     }
  252.     public function setConsiderationsEnvironnementales(array $considerationsEnvironnementales): static
  253.     {
  254.         $this->considerationsEnvironnementales $considerationsEnvironnementales;
  255.         return $this;
  256.     }
  257.     /**
  258.      * @return Collection<int, DonneePerformance>
  259.      */
  260.     public function getDonneePerformance(): Collection
  261.     {
  262.         return $this->donneePerformance;
  263.     }
  264.     public function addDonneePerformance(DonneePerformance $donneePerformance): static
  265.     {
  266.         if (!$this->donneePerformance->contains($donneePerformance)) {
  267.             $this->donneePerformance->add($donneePerformance);
  268.             $donneePerformance->setConcession($this);
  269.         }
  270.         return $this;
  271.     }
  272.     public function removeDonneePerformance(DonneePerformance $donneePerformance): static
  273.     {
  274.         if ($this->donneePerformance->removeElement($donneePerformance)) {
  275.             // set the owning side to null (unless already changed)
  276.             if ($donneePerformance->getConcession() === $this) {
  277.                 $donneePerformance->setConcession(null);
  278.             }
  279.         }
  280.         return $this;
  281.     }
  282.     /**
  283.      * @return Collection<int, Titulaire>
  284.      */
  285.     public function getTitulaire(): Collection
  286.     {
  287.         return $this->titulaire;
  288.     }
  289.     public function addTitulaire(Titulaire $titulaire): static
  290.     {
  291.         if (!$this->titulaire->contains($titulaire)) {
  292.             $this->titulaire->add($titulaire);
  293.             $titulaire->setConcession($this);
  294.         }
  295.         return $this;
  296.     }
  297.     public function removeTitulaire(Titulaire $titulaire): static
  298.     {
  299.         if ($this->titulaire->removeElement($titulaire)) {
  300.             // set the owning side to null (unless already changed)
  301.             if ($titulaire->getConcession() === $this) {
  302.                 $titulaire->setConcession(null);
  303.             }
  304.         }
  305.         return $this;
  306.     }
  307.     /**
  308.      * @return Collection<int, ModificationConcession>
  309.      */
  310.     public function getModificationConcession(): Collection
  311.     {
  312.         return $this->modificationConcession;
  313.     }
  314.     public function addModificationConcession(ModificationConcession $modificationConcession): static
  315.     {
  316.         if (!$this->modificationConcession->contains($modificationConcession)) {
  317.             $this->modificationConcession->add($modificationConcession);
  318.             $modificationConcession->setConcession($this);
  319.         }
  320.         return $this;
  321.     }
  322.     public function removeModificationConcession(ModificationConcession $modificationConcession): static
  323.     {
  324.         if ($this->modificationConcession->removeElement($modificationConcession)) {
  325.             // set the owning side to null (unless already changed)
  326.             if ($modificationConcession->getConcession() === $this) {
  327.                 $modificationConcession->setConcession(null);
  328.             }
  329.         }
  330.         return $this;
  331.     }
  332.     public function getDateMade(): ?\DateTimeInterface
  333.     {
  334.         return $this->dateMade;
  335.     }
  336.     public function setDateMade(\DateTimeInterface $dateMade): static
  337.     {
  338.         $this->dateMade $dateMade;
  339.         return $this;
  340.     }
  341.     public function getUser(): ?User
  342.     {
  343.         return $this->user;
  344.     }
  345.     public function setUser(?User $user): static
  346.     {
  347.         $this->user $user;
  348.         return $this;
  349.     }
  350.     public function getApiId(): ?string
  351.     {
  352.         return $this->apiId;
  353.     }
  354.     public function setApiId(?string $apiId): static
  355.     {
  356.         $this->apiId $apiId;
  357.         return $this;
  358.     }
  359. }