src/Entity/Claim.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ClaimRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. /**
  9.  * @ORM\Entity(repositoryClass=ClaimRepository::class)
  10.  */
  11. class Claim
  12. {
  13.     public const TYPE_UNDEFINED 'undefined';
  14.     public const TYPE_MF 'mf';
  15.     public const TYPE_SACH 'sach';
  16.     public const TYPE_GEBAEUDE_SACH 'gebaeude_sach';
  17.     public const TYPE_HAFT 'haft';
  18.     public const TYPE_TECH 'tech';
  19.     /**
  20.      * @ORM\Id
  21.      * @ORM\GeneratedValue
  22.      * @ORM\Column(name="id", type="integer")
  23.      */
  24.     private $id;
  25.     /**
  26.      * @var string
  27.      * @ORM\Column(name="claim_type", type="string", length=255)
  28.      */
  29.     private $claimType self::TYPE_UNDEFINED;
  30.     /**
  31.      * @var string
  32.      * @ORM\Column(name="name", type="string", length=255)
  33.      */
  34.     private $name;
  35.     /**
  36.      * @var string
  37.      * @ORM\Column(name="email", type="string", length=255)
  38.      */
  39.     private $email;
  40.     /**
  41.      * @var string
  42.      * @ORM\Column(name="cc_email", type="string", length=255, nullable=true)
  43.      */
  44.     private $ccEmail;
  45.     /**
  46.      * @var string|null
  47.      * @ORM\Column(name="department", type="string", length=255, nullable=true)
  48.      */
  49.     private $department;
  50.     /**
  51.      * @var string|null
  52.      * @ORM\Column(name="mf_type", type="string", length=255, nullable=true)
  53.      */
  54.     private $mfType;
  55.     /**
  56.      * @var string|null
  57.      * @ORM\Column(name="mf_model", type="string", length=255, nullable=true)
  58.      */
  59.     private $mfModel;
  60.     /**
  61.      * @var string|null
  62.      * @ORM\Column(name="mf_plate", type="string", nullable=true)
  63.      */
  64.     private $mfPlate;
  65.     /**
  66.      * @var \DateTime|null
  67.      * @ORM\Column(name="claim_date", type="datetime", nullable=true)
  68.      */
  69.     private $claimDate;
  70.     /**
  71.      * @var array|null
  72.      * @ORM\Column(name="claim_city", type="json", nullable=true)
  73.      */
  74.     private $claimAddress;
  75.     /**
  76.      * @var string|null
  77.      * @ORM\Column(name="claim_description", type="text", nullable=true)
  78.      */
  79.     private $claimDescription;
  80.     /**
  81.      * @var int
  82.      * @ORM\Column(name="responsible", type="smallint", nullable=false, options={"default": 0})
  83.      */
  84.     private $responsible 0;
  85.     /**
  86.      * @var string|null
  87.      * @ORM\Column(name="claim_damage_cause", type="string", length=255, nullable=true)
  88.      */
  89.     private $claimDamageCause;
  90.     /**
  91.      * @var string|null
  92.      * @ORM\Column(name="claim_damage", type="string", length=255, nullable=true)
  93.      */
  94.     private $claimDamage;
  95.     /**
  96.      * @var string
  97.      * @ORM\Column(name="damage_costs", type="decimal", precision=15, scale=2, nullable=true)
  98.      */
  99.     private $damageCosts;
  100.     /**
  101.      * @var string
  102.      * @ORM\Column(name="foreign_deductible", type="decimal", precision=15, scale=2, nullable=true)
  103.      */
  104.     private $foreignDeductible;
  105.     /**
  106.      * @var string
  107.      * @ORM\Column(name="foreign_damage_costs", type="decimal", precision=15, scale=2, nullable=true)
  108.      */
  109.     private $foreignDamageCosts;
  110.     /**
  111.      * @var array|null
  112.      * @ORM\Column(name="involved_person", type="json", nullable=true)
  113.      */
  114.     private $involvedPerson;
  115.     /**
  116.      * @var array|null
  117.      * @ORM\Column(name="driver", type="json", nullable=true)
  118.      */
  119.     private $driver;
  120.     /**
  121.      * @var \DateTime|null
  122.      * @ORM\Column(name="driver_birthdate", type="date", nullable=true)
  123.      */
  124.     private $driverBirthdate;
  125.     /**
  126.      * @var array|null
  127.      * @ORM\Column(name="mf_license", type="json", nullable=true)
  128.      */
  129.     private $mfLicense;
  130.     /**
  131.      * @var string|null
  132.      * @ORM\Column(name="police_report", type="string", length=255, nullable=true)
  133.      */
  134.     private $policeReport;
  135.     /**
  136.      * @var \DateTime|null
  137.      * @ORM\Column(name="police_report_date", type="date", nullable=true)
  138.      */
  139.     private $policeReportDate;
  140.     /**
  141.      * @var array|null
  142.      * @ORM\Column(name="sach_owner", type="json", nullable=true)
  143.      */
  144.     private $sachOwner;
  145.     /**
  146.      * @var array|null
  147.      * @ORM\Column(name="damage_by", type="json", nullable=true)
  148.      */
  149.     private $damageBy;
  150.     /**
  151.      * @var array|null
  152.      * @ORM\Column(name="injured_person", type="json", nullable=true)
  153.      */
  154.     private $injuredPerson;
  155.     /**
  156.      * @var array|null
  157.      * @ORM\Column(name="damaged_item", type="json", nullable=true)
  158.      */
  159.     private $damagedItem;
  160.     /**
  161.      * @var string|null
  162.      * @ORM\Column(name="remark", type="text", nullable=true)
  163.      */
  164.     private $remark;
  165.     /**
  166.      * @var array|null
  167.      * @ORM\Column(name="items", type="json", nullable=true)
  168.      */
  169.     private $items;
  170.     /**
  171.      * @var array|null
  172.      * @ORM\Column(name="persons", type="json", nullable=true)
  173.      */
  174.     private $persons;
  175.     /**
  176.      * @ORM\OneToMany(targetEntity=ClaimFile::class, mappedBy="claim")
  177.      */
  178.     private $claimFiles;
  179.     /**
  180.      * @var \DateTime|null
  181.      * @ORM\Column(name="ack_at", type="datetime", nullable=true)
  182.      */
  183.     private $ackAt;
  184.     /**
  185.      * @var \DateTime
  186.      * @ORM\Column(name="created_at", type="datetime")
  187.      */
  188.     private $createdAt;
  189.     /**
  190.      * @var \DateTime
  191.      * @ORM\Column(name="updated_at", type="datetime")
  192.      */
  193.     private $updatedAt;
  194.     /**
  195.      * @var \DateTime|null
  196.      * @ORM\Column(name="deleted_at", type="datetime", nullable=true)
  197.      */
  198.     private $deletedAt;
  199.     public function __construct()
  200.     {
  201.         $this->claimFiles = new ArrayCollection();
  202.     }
  203.     public function getId(): ?int
  204.     {
  205.         return $this->id;
  206.     }
  207.     public function getClaimType(): string
  208.     {
  209.         return $this->claimType;
  210.     }
  211.     public function setClaimType(string $claimType): self
  212.     {
  213.         $this->claimType $claimType;
  214.         return $this;
  215.     }
  216.     public function getName(): ?string
  217.     {
  218.         return $this->name;
  219.     }
  220.     public function setName(string $name): self
  221.     {
  222.         $this->name $name;
  223.         return $this;
  224.     }
  225.     public function getEmail(): ?string
  226.     {
  227.         return $this->email;
  228.     }
  229.     public function setEmail(string $email): self
  230.     {
  231.         $this->email $email;
  232.         return $this;
  233.     }
  234.     public function getCcEmail(): string
  235.     {
  236.         return $this->ccEmail;
  237.     }
  238.     public function setCcEmail(string $ccEmail): void
  239.     {
  240.         $this->ccEmail $ccEmail;
  241.     }
  242.     public function getDepartment(): ?string
  243.     {
  244.         return $this->department;
  245.     }
  246.     public function setDepartment(string $department): self
  247.     {
  248.         $this->department $department;
  249.         return $this;
  250.     }
  251.     public function getMfType(): ?string
  252.     {
  253.         return $this->mfType;
  254.     }
  255.     public function setMfType(?string $mfType): self
  256.     {
  257.         $this->mfType $mfType;
  258.         return $this;
  259.     }
  260.     public function getMfModel(): ?string
  261.     {
  262.         return $this->mfModel;
  263.     }
  264.     public function setMfModel(?string $mfModel): self
  265.     {
  266.         $this->mfModel $mfModel;
  267.         return $this;
  268.     }
  269.     public function getMfPlate(): ?string
  270.     {
  271.         return $this->mfPlate;
  272.     }
  273.     public function setMfPlate(?string $mfPlate): self
  274.     {
  275.         $this->mfPlate $mfPlate;
  276.         return $this;
  277.     }
  278.     public function getClaimDate(): ?\DateTimeInterface
  279.     {
  280.         return $this->claimDate;
  281.     }
  282.     public function setClaimDate(?\DateTime $claimDate): self
  283.     {
  284.         $this->claimDate $claimDate;
  285.         return $this;
  286.     }
  287.     public function getClaimAddress(): ?array
  288.     {
  289.         return $this->claimAddress;
  290.     }
  291.     public function setClaimAddress(?array $claimAddress): self
  292.     {
  293.         $this->claimAddress $claimAddress;
  294.         return $this;
  295.     }
  296.     public function getClaimDescription(): ?string
  297.     {
  298.         return $this->claimDescription;
  299.     }
  300.     public function setClaimDescription(?string $claimDescription): self
  301.     {
  302.         $this->claimDescription $claimDescription;
  303.         return $this;
  304.     }
  305.     public function getResponsible(): string
  306.     {
  307.         return $this->responsible;
  308.     }
  309.     public function setResponsible(string $responsible): void
  310.     {
  311.         $this->responsible $responsible;
  312.     }
  313.     public function getClaimDamageCause(): ?string
  314.     {
  315.         return $this->claimDamageCause;
  316.     }
  317.     public function setClaimDamageCause(?string $claimDamageCause): void
  318.     {
  319.         $this->claimDamageCause $claimDamageCause;
  320.     }
  321.     public function getClaimDamage(): ?string
  322.     {
  323.         return $this->claimDamage;
  324.     }
  325.     public function setClaimDamage(?string $claimDamage): void
  326.     {
  327.         $this->claimDamage $claimDamage;
  328.     }
  329.     public function getDamageCosts(): ?string
  330.     {
  331.         return $this->damageCosts;
  332.     }
  333.     public function setDamageCosts(?string $damageCosts): void
  334.     {
  335.         $this->damageCosts $damageCosts;
  336.     }
  337.     public function getForeignDeductible(): ?string
  338.     {
  339.         return $this->foreignDeductible;
  340.     }
  341.     public function setForeignDeductible(?string $foreignDeductible): void
  342.     {
  343.         $this->foreignDeductible $foreignDeductible;
  344.     }
  345.     public function getForeignDamageCosts(): ?string
  346.     {
  347.         return $this->foreignDamageCosts;
  348.     }
  349.     public function setForeignDamageCosts(?string $foreignDamageCosts): void
  350.     {
  351.         $this->foreignDamageCosts $foreignDamageCosts;
  352.     }
  353.     public function getInvolvedPerson(): ?array
  354.     {
  355.         return $this->involvedPerson;
  356.     }
  357.     public function setInvolvedPerson(?array $involvedPerson): void
  358.     {
  359.         $this->involvedPerson $involvedPerson;
  360.     }
  361.     public function getDriver(): ?array
  362.     {
  363.         return $this->driver;
  364.     }
  365.     public function setDriver(?array $driver): self
  366.     {
  367.         $this->driver $driver;
  368.         return $this;
  369.     }
  370.     public function getDriverBirthdate(): ?\DateTimeInterface
  371.     {
  372.         return $this->driverBirthdate;
  373.     }
  374.     public function setDriverBirthdate(?\DateTime $driverBirthdate): self
  375.     {
  376.         $this->driverBirthdate $driverBirthdate;
  377.         return $this;
  378.     }
  379.     public function getMfLicense(): ?array
  380.     {
  381.         return $this->mfLicense;
  382.     }
  383.     public function setMfLicense(?array $mfLicense): self
  384.     {
  385.         $this->mfLicense $mfLicense;
  386.         return $this;
  387.     }
  388.     public function getPoliceReport(): ?string
  389.     {
  390.         return $this->policeReport;
  391.     }
  392.     public function setPoliceReport(?string $policeReport): self
  393.     {
  394.         $this->policeReport $policeReport;
  395.         return $this;
  396.     }
  397.     public function getPoliceReportDate(): ?\DateTime
  398.     {
  399.         return $this->policeReportDate;
  400.     }
  401.     public function setPoliceReportDate(?\DateTime $policeReportDate): self
  402.     {
  403.         $this->policeReportDate $policeReportDate;
  404.         return $this;
  405.     }
  406.     public function getSachOwner(): ?array
  407.     {
  408.         return $this->sachOwner;
  409.     }
  410.     public function setSachOwner(?array $sachOwner): self
  411.     {
  412.         $this->sachOwner $sachOwner;
  413.         return $this;
  414.     }
  415.     public function getDamageBy(): ?array
  416.     {
  417.         return $this->damageBy;
  418.     }
  419.     public function setDamageBy(?array $damageBy): self
  420.     {
  421.         $this->damageBy $damageBy;
  422.         return $this;
  423.     }
  424.     public function getInjuredPerson(): ?array
  425.     {
  426.         return $this->injuredPerson;
  427.     }
  428.     public function setInjuredPerson(?array $injuredPerson): self
  429.     {
  430.         $this->injuredPerson $injuredPerson;
  431.         return $this;
  432.     }
  433.     public function getDamagedItem(): ?array
  434.     {
  435.         return $this->damagedItem;
  436.     }
  437.     public function setDamagedItem(?array $damagedItem): self
  438.     {
  439.         $this->damagedItem $damagedItem;
  440.         return $this;
  441.     }
  442.     public function getRemark(): ?string
  443.     {
  444.         return $this->remark;
  445.     }
  446.     public function setRemark(?string $remark): self
  447.     {
  448.         $this->remark $remark;
  449.         return $this;
  450.     }
  451.     public function getPersons(): ?array
  452.     {
  453.         return $this->persons;
  454.     }
  455.     public function setPersons(?array $persons): self
  456.     {
  457.         $this->persons $persons;
  458.         return $this;
  459.     }
  460.     public function getItems(): ?array
  461.     {
  462.         return $this->items;
  463.     }
  464.     public function setItems(?array $items): self
  465.     {
  466.         $this->items $items;
  467.         return $this;
  468.     }
  469.     /**
  470.      * @return Collection<int, ClaimFile>
  471.      */
  472.     public function getClaimFiles(): Collection
  473.     {
  474.         return $this->claimFiles;
  475.     }
  476.     public function addClaimFile(ClaimFile $claimFile): self
  477.     {
  478.         if (!$this->claimFiles->contains($claimFile)) {
  479.             $this->claimFiles[] = $claimFile;
  480.             $claimFile->setClaim($this);
  481.         }
  482.         return $this;
  483.     }
  484.     public function removeClaimFile(ClaimFile $claimFile): self
  485.     {
  486.         if ($this->claimFiles->removeElement($claimFile)) {
  487.             // set the owning side to null (unless already changed)
  488.             if ($claimFile->getClaim() === $this) {
  489.                 $claimFile->setClaim(null);
  490.             }
  491.         }
  492.         return $this;
  493.     }
  494.     public function getAckAt(): ?\DateTimeInterface
  495.     {
  496.         return $this->ackAt;
  497.     }
  498.     public function setAckAt(?\DateTime $ackAt): self
  499.     {
  500.         $this->ackAt $ackAt;
  501.         return $this;
  502.     }
  503.     public function getCreatedAt(): ?\DateTimeInterface
  504.     {
  505.         return $this->createdAt;
  506.     }
  507.     public function setCreatedAt(\DateTimeInterface $createdAt): self
  508.     {
  509.         $this->createdAt $createdAt;
  510.         return $this;
  511.     }
  512.     public function getUpdatedAt(): ?\DateTimeInterface
  513.     {
  514.         return $this->updatedAt;
  515.     }
  516.     public function setUpdatedAt(\DateTimeInterface $updatedAt): self
  517.     {
  518.         $this->updatedAt $updatedAt;
  519.         return $this;
  520.     }
  521.     public function getDeletedAt(): ?\DateTimeInterface
  522.     {
  523.         return $this->deletedAt;
  524.     }
  525.     public function setDeletedAt(?\DateTimeInterface $deletedAt): self
  526.     {
  527.         $this->deletedAt $deletedAt;
  528.         return $this;
  529.     }
  530. }