src/Entity/DepoQualiop.php line 10

  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\DBAL\Types\Types;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use App\Repository\DepoQualiopRepository;
  6. #[ORM\Entity(repositoryClass: DepoQualiopRepository::class)]
  7. #[ORM\Table(name: 'depo_qualiop')]
  8. class DepoQualiop
  9. {
  10.     #[ORM\Id]
  11.     #[ORM\GeneratedValue]
  12.     #[ORM\Column]
  13.     private ?int $id = null;
  14.     // ── Relations ──────────────────────────────────────────────
  15.     #[ORM\ManyToOne(targetEntity: Formation::class)]
  16.     #[ORM\JoinColumn(name: 'formation_id', referencedColumnName: 'id', nullable: false)]
  17.     private ?Formation $formation = null;
  18.     // The trainer who submitted the form (your "Trainee" holds formateurs)
  19.     #[ORM\ManyToOne(targetEntity: Trainee::class)]
  20.     #[ORM\JoinColumn(name: 'trainee_id', referencedColumnName: 'id', nullable: true)]
  21.     private ?Trainee $trainee = null;
  22.     // ── Basic info ─────────────────────────────────────────────
  23.     #[ORM\Column(length: 255)]
  24.     private ?string $client = null;
  25.     #[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
  26.     private ?\DateTimeInterface $dateDebut = null;
  27.     #[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]
  28.     private ?\DateTimeInterface $dateFin = null;
  29.     // ── Modalités (comma-separated: "Inter,Présentiel") ────────
  30.     #[ORM\Column(length: 255, nullable: true)]
  31.     private ?string $modalites = null;
  32.     // ── Qualiopi checklist (booleans) ──────────────────────────
  33.     #[ORM\Column(type: 'boolean', nullable: true)]
  34.     private ?bool $checkAttestations = false;
  35.     #[ORM\Column(type: 'boolean', nullable: true)]
  36.     private ?bool $checkCertificats = false;
  37.     #[ORM\Column(type: 'boolean', nullable: true)]
  38.     private ?bool $checkIndic8 = false;
  39.     #[ORM\Column(type: 'boolean', nullable: true)]
  40.     private ?bool $checkIndic9 = false;
  41.     #[ORM\Column(type: 'boolean', nullable: true)]
  42.     private ?bool $checkIndic10 = false;
  43.     #[ORM\Column(type: 'boolean', nullable: true)]
  44.     private ?bool $checkIndic11 = false;
  45.     #[ORM\Column(type: 'boolean', nullable: true)]
  46.     private ?bool $checkIndic12 = false;
  47.     #[ORM\Column(type: 'boolean', nullable: true)]
  48.     private ?bool $checkIndic30 = false;
  49.     // ── Adaptations pédagogiques ───────────────────────────────
  50.     #[ORM\Column(length: 10, nullable: true)]
  51.     private ?string $adaptAvant = null;   // 'oui' | 'non'
  52.     #[ORM\Column(length: 10, nullable: true)]
  53.     private ?string $adaptPendant = null; // 'oui' | 'non'
  54.     // ── Scale scores (1-5) ─────────────────────────────────────
  55.     #[ORM\Column(type: 'smallint', nullable: true)]
  56.     private ?int $compositionScore = null;
  57.     #[ORM\Column(type: 'smallint', nullable: true)]
  58.     private ?int $scoreVolontaire = null;
  59.     #[ORM\Column(type: 'smallint', nullable: true)]
  60.     private ?int $scoreObjectifsConnais = null;
  61.     #[ORM\Column(type: 'smallint', nullable: true)]
  62.     private ?int $scoreInteret = null;
  63.     #[ORM\Column(type: 'smallint', nullable: true)]
  64.     private ?int $scoreParticipation = null;
  65.     #[ORM\Column(type: 'smallint', nullable: true)]
  66.     private ?int $scoreApports = null;
  67.     #[ORM\Column(type: 'smallint', nullable: true)]
  68.     private ?int $scoreFaciliteEval = null;
  69.     #[ORM\Column(type: 'smallint', nullable: true)]
  70.     private ?int $scoreAssiduite = null;
  71.     #[ORM\Column(type: Types::TEXT, nullable: true)]
  72.     private ?string $finalComments = null;
  73.     // ── Logistique scores ──────────────────────────────────────
  74.     #[ORM\Column(type: 'smallint', nullable: true)]
  75.     private ?int $scorePacks = null;
  76.     #[ORM\Column(type: 'smallint', nullable: true)]
  77.     private ?int $scoreDisponibilite = null;
  78.     #[ORM\Column(type: 'smallint', nullable: true)]
  79.     private ?int $scoreSalle = null;
  80.     #[ORM\Column(type: 'smallint', nullable: true)]
  81.     private ?int $scoreAcces = null;
  82.     #[ORM\Column(type: Types::TEXT, nullable: true)]
  83.     private ?string $logisticComments = null;
  84.     // ── Audit ──────────────────────────────────────────────────
  85.     #[ORM\Column(type: Types::DATETIME_MUTABLE)]
  86.     private ?\DateTimeInterface $submittedAt = null;
  87.     // ── Getters / Setters ──────────────────────────────────────
  88.     public function getId(): ?int { return $this->id; }
  89.     public function getFormation(): ?Formation { return $this->formation; }
  90.     public function setFormation(?Formation $formation): self { $this->formation = $formation; return $this; }
  91.     public function getTrainee(): ?Trainee { return $this->trainee; }
  92.     public function setTrainee(?Trainee $trainee): self { $this->trainee = $trainee; return $this; }
  93.     public function getClient(): ?string { return $this->client; }
  94.     public function setClient(string $client): self { $this->client = $client; return $this; }
  95.     public function getDateDebut(): ?\DateTimeInterface { return $this->dateDebut; }
  96.     public function setDateDebut(?\DateTimeInterface $d): self { $this->dateDebut = $d; return $this; }
  97.     public function getDateFin(): ?\DateTimeInterface { return $this->dateFin; }
  98.     public function setDateFin(?\DateTimeInterface $d): self { $this->dateFin = $d; return $this; }
  99.     public function getModalites(): ?string { return $this->modalites; }
  100.     public function setModalites(?string $m): self { $this->modalites = $m; return $this; }
  101.     public function isCheckAttestations(): ?bool { return $this->checkAttestations; }
  102.     public function setCheckAttestations(?bool $v): self { $this->checkAttestations = $v; return $this; }
  103.     public function isCheckCertificats(): ?bool { return $this->checkCertificats; }
  104.     public function setCheckCertificats(?bool $v): self { $this->checkCertificats = $v; return $this; }
  105.     public function isCheckIndic8(): ?bool { return $this->checkIndic8; }
  106.     public function setCheckIndic8(?bool $v): self { $this->checkIndic8 = $v; return $this; }
  107.     public function isCheckIndic9(): ?bool { return $this->checkIndic9; }
  108.     public function setCheckIndic9(?bool $v): self { $this->checkIndic9 = $v; return $this; }
  109.     public function isCheckIndic10(): ?bool { return $this->checkIndic10; }
  110.     public function setCheckIndic10(?bool $v): self { $this->checkIndic10 = $v; return $this; }
  111.     public function isCheckIndic11(): ?bool { return $this->checkIndic11; }
  112.     public function setCheckIndic11(?bool $v): self { $this->checkIndic11 = $v; return $this; }
  113.     public function isCheckIndic12(): ?bool { return $this->checkIndic12; }
  114.     public function setCheckIndic12(?bool $v): self { $this->checkIndic12 = $v; return $this; }
  115.     public function isCheckIndic30(): ?bool { return $this->checkIndic30; }
  116.     public function setCheckIndic30(?bool $v): self { $this->checkIndic30 = $v; return $this; }
  117.     public function getAdaptAvant(): ?string { return $this->adaptAvant; }
  118.     public function setAdaptAvant(?string $v): self { $this->adaptAvant = $v; return $this; }
  119.     public function getAdaptPendant(): ?string { return $this->adaptPendant; }
  120.     public function setAdaptPendant(?string $v): self { $this->adaptPendant = $v; return $this; }
  121.     public function getCompositionScore(): ?int { return $this->compositionScore; }
  122.     public function setCompositionScore(?int $v): self { $this->compositionScore = $v; return $this; }
  123.     public function getScoreVolontaire(): ?int { return $this->scoreVolontaire; }
  124.     public function setScoreVolontaire(?int $v): self { $this->scoreVolontaire = $v; return $this; }
  125.     public function getScoreObjectifsConnais(): ?int { return $this->scoreObjectifsConnais; }
  126.     public function setScoreObjectifsConnais(?int $v): self { $this->scoreObjectifsConnais = $v; return $this; }
  127.     public function getScoreInteret(): ?int { return $this->scoreInteret; }
  128.     public function setScoreInteret(?int $v): self { $this->scoreInteret = $v; return $this; }
  129.     public function getScoreParticipation(): ?int { return $this->scoreParticipation; }
  130.     public function setScoreParticipation(?int $v): self { $this->scoreParticipation = $v; return $this; }
  131.     public function getScoreApports(): ?int { return $this->scoreApports; }
  132.     public function setScoreApports(?int $v): self { $this->scoreApports = $v; return $this; }
  133.     public function getScoreFaciliteEval(): ?int { return $this->scoreFaciliteEval; }
  134.     public function setScoreFaciliteEval(?int $v): self { $this->scoreFaciliteEval = $v; return $this; }
  135.     public function getScoreAssiduite(): ?int { return $this->scoreAssiduite; }
  136.     public function setScoreAssiduite(?int $v): self { $this->scoreAssiduite = $v; return $this; }
  137.     public function getFinalComments(): ?string { return $this->finalComments; }
  138.     public function setFinalComments(?string $v): self { $this->finalComments = $v; return $this; }
  139.     public function getScorePacks(): ?int { return $this->scorePacks; }
  140.     public function setScorePacks(?int $v): self { $this->scorePacks = $v; return $this; }
  141.     public function getScoreDisponibilite(): ?int { return $this->scoreDisponibilite; }
  142.     public function setScoreDisponibilite(?int $v): self { $this->scoreDisponibilite = $v; return $this; }
  143.     public function getScoreSalle(): ?int { return $this->scoreSalle; }
  144.     public function setScoreSalle(?int $v): self { $this->scoreSalle = $v; return $this; }
  145.     public function getScoreAcces(): ?int { return $this->scoreAcces; }
  146.     public function setScoreAcces(?int $v): self { $this->scoreAcces = $v; return $this; }
  147.     public function getLogisticComments(): ?string { return $this->logisticComments; }
  148.     public function setLogisticComments(?string $v): self { $this->logisticComments = $v; return $this; }
  149.     public function getSubmittedAt(): ?\DateTimeInterface { return $this->submittedAt; }
  150.     public function setSubmittedAt(\DateTimeInterface $v): self { $this->submittedAt = $v; return $this; }
  151. }