src/Entity/FlatWarning.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Flat;
  4. use DateTime;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7.  * FlatWarning
  8.  *
  9.  * @ORM\Table(name="flat_warning")
  10.  * @ORM\Entity(repositoryClass="App\Repository\FlatWarningRepository")
  11.  * @ORM\HasLifecycleCallbacks()
  12.  */
  13. class FlatWarning
  14. {
  15.     public const GENERIC 0;
  16.     public const CUSTOM 1;
  17.     /**
  18.      * @ORM\Column(name="id", type="integer")
  19.      * @ORM\Id
  20.      * @ORM\GeneratedValue(strategy="AUTO")
  21.      */
  22.     private int $id;
  23.     /**
  24.      * @ORM\Column(name="sumDebit", type="float")
  25.      */
  26.     private float $sumDebit;
  27.     /**
  28.      * @ORM\Column(name="lastBill", type="float", nullable = true)
  29.      */
  30.     private float|null $lastBill;
  31.     /**
  32.      * @ORM\Column(name="log", type="text", nullable = true)
  33.      */
  34.     private string|null $log;
  35.     /**
  36.      * @ORM\Column(name="created_at", type="datetime")
  37.      */
  38.     private DateTime|null $createdAt null;
  39.     /**
  40.      * @ORM\Column(name="updated_at", type="datetime")
  41.      */
  42.     private DateTime|null $updatedAt;
  43.     /**
  44.      * @ORM\ManyToOne(targetEntity="App\Entity\Flat", inversedBy="flatWarnings")
  45.      * @ORM\JoinColumns({
  46.      *   @ORM\JoinColumn(name="flat_id", referencedColumnName="id", nullable=false, onDelete="CASCADE")
  47.      * })
  48.      */
  49.     private Flat $flat;
  50.     /**
  51.      * @ORM\ManyToOne(targetEntity="App\Entity\User")
  52.      * @ORM\JoinColumns({
  53.      *   @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
  54.      * })
  55.      */
  56.     private User $user;
  57.     /**
  58.      * @ORM\Column(name="createdBy", type="string", nullable=true)
  59.      */
  60.     private string|null $createdBy;
  61.     /**
  62.      * @ORM\Column(name="custom_warning", type="integer", nullable=true, options={"default" : 0})
  63.      */
  64.     private int|null $customWarning;
  65.     /**
  66.      * @ORM\Column(name="comment", length=512, type="string", nullable=true)
  67.      */
  68.     private string|null $comment null;
  69.     /**
  70.      * @ORM\Column(name="start_date", type="datetime", nullable=true)
  71.      */
  72.     private DateTime|null $startDate null;
  73.     /**
  74.      * @ORM\Column(name="end_date", type="datetime", nullable=true)
  75.      */
  76.     private DateTime|null $endDate null;
  77.     /**
  78.      * @ORM\Column(name="days_number", type="integer" , nullable=true)
  79.      */
  80.     private int|null $daysNumber null;
  81.     /**
  82.      * @ORM\Column(name="include_old_debit", type="boolean")
  83.      */
  84.     private bool $includeOldDebit false;
  85.     /**
  86.      * FlatWarning constructor.
  87.      */
  88.     public function __construct()
  89.     {
  90.         $this->incrementCreatedAt();
  91.     }
  92.     /**
  93.      * @return DateTime|null
  94.      */
  95.     public function getCreatedAt(): ?DateTime
  96.     {
  97.         return $this->createdAt;
  98.     }
  99.     /**
  100.      * @return DateTime|null
  101.      */
  102.     public function getUpdatedAt(): ?DateTime
  103.     {
  104.         return $this->updatedAt;
  105.     }
  106.     /**
  107.      * @ORM\PrePersist
  108.      */
  109.     public function incrementCreatedAt(): void
  110.     {
  111.         if (null === $this->createdAt) {
  112.             $this->createdAt = new DateTime();
  113.         }
  114.         $this->updatedAt = new DateTime();
  115.     }
  116.     /**
  117.      * @ORM\PreUpdate
  118.      */
  119.     public function incrementUpdatedAt(): void
  120.     {
  121.         $this->updatedAt = new DateTime();
  122.     }
  123.     /**
  124.      * Set createdAt
  125.      *
  126.      * @param DateTime $createdAt
  127.      */
  128.     public function setCreatedAt(DateTime $createdAt): void
  129.     {
  130.         $this->createdAt $createdAt;
  131.     }
  132.     /**
  133.      * @ORM\PrePersist
  134.      */
  135.     public function setCreatedAtValue(): void
  136.     {
  137.         $this->createdAt = new DateTime();
  138.     }
  139.     /**
  140.      * Set updatedAt
  141.      *
  142.      * @param DateTime $updatedAt
  143.      */
  144.     public function setUpdatedAt(DateTime $updatedAt): void
  145.     {
  146.         $this->updatedAt $updatedAt;
  147.     }
  148.     /**
  149.      * Get id
  150.      *
  151.      * @return int
  152.      */
  153.     public function getId(): int
  154.     {
  155.         return $this->id;
  156.     }
  157.     /**
  158.      * Set sumDebit
  159.      *
  160.      * @param float $sumDebit
  161.      *
  162.      * @return FlatWarning
  163.      */
  164.     public function setSumDebit(float $sumDebit): FlatWarning
  165.     {
  166.         $this->sumDebit $sumDebit;
  167.         return $this;
  168.     }
  169.     /**
  170.      * Get sumDebit
  171.      *
  172.      * @return float
  173.      */
  174.     public function getSumDebit(): float
  175.     {
  176.         return $this->sumDebit;
  177.     }
  178.     /**
  179.      * Set lastBill
  180.      *
  181.      * @param float|null $lastBill
  182.      *
  183.      * @return FlatWarning
  184.      */
  185.     public function setLastBill(?float $lastBill): FlatWarning
  186.     {
  187.         $this->lastBill $lastBill;
  188.         return $this;
  189.     }
  190.     /**
  191.      * Get lastBill
  192.      *
  193.      * @return float|null
  194.      */
  195.     public function getLastBill(): ?float
  196.     {
  197.         return $this->lastBill;
  198.     }
  199.     /**
  200.      * Set log
  201.      *
  202.      * @param string|null $log
  203.      *
  204.      * @return FlatWarning
  205.      */
  206.     public function setLog(?string $log): FlatWarning
  207.     {
  208.         $this->log $log;
  209.         return $this;
  210.     }
  211.     /**
  212.      * Get log
  213.      *
  214.      * @return string|null
  215.      */
  216.     public function getLog(): ?string
  217.     {
  218.         return $this->log;
  219.     }
  220.     /**
  221.      * @return Flat
  222.      */
  223.     public function getFlat(): Flat
  224.     {
  225.         return $this->flat;
  226.     }
  227.     /**
  228.      * @param Flat $flat
  229.      */
  230.     public function setFlat(Flat $flat): void
  231.     {
  232.         $this->flat $flat;
  233.     }
  234.     /**
  235.      * @return User
  236.      */
  237.     public function getUser(): User
  238.     {
  239.         return $this->user;
  240.     }
  241.     /**
  242.      * @param User $user
  243.      */
  244.     public function setUser(User $user): void
  245.     {
  246.         $this->user $user;
  247.         if (empty($this->createdBy)) {
  248.             $this->createdBy $user->getCreatedByValue();
  249.         }
  250.     }
  251.     /**
  252.      * @return string|null
  253.      */
  254.     public function getCreatedBy(): ?string
  255.     {
  256.         return $this->createdBy;
  257.     }
  258.     /**
  259.      * @param string|null $createdBy
  260.      */
  261.     public function setCreatedBy(?string $createdBy): void
  262.     {
  263.         $this->createdBy $createdBy;
  264.     }
  265.     /**
  266.      * @return int|null
  267.      */
  268.     public function getCustomWarning(): ?int
  269.     {
  270.         return $this->customWarning;
  271.     }
  272.     /**
  273.      * @param int|null $customWarning
  274.      */
  275.     public function setCustomWarning(?int $customWarning): void
  276.     {
  277.         $this->customWarning $customWarning;
  278.     }
  279.     /**
  280.      * @return string|null
  281.      */
  282.     public function getComment(): ?string
  283.     {
  284.         return $this->comment;
  285.     }
  286.     /**
  287.      * @param string|null $comment
  288.      */
  289.     public function setComment(?string $comment): void
  290.     {
  291.         $this->comment $comment;
  292.     }
  293.     /**
  294.      * @return DateTime|null
  295.      */
  296.     public function getStartDate(): ?DateTime
  297.     {
  298.         return $this->startDate;
  299.     }
  300.     /**
  301.      * @param DateTime|null $startDate
  302.      */
  303.     public function setStartDate(?DateTime $startDate): void
  304.     {
  305.         $this->startDate $startDate;
  306.     }
  307.     /**
  308.      * @return DateTime|null
  309.      */
  310.     public function getEndDate(): ?DateTime
  311.     {
  312.         return $this->endDate;
  313.     }
  314.     /**
  315.      * @param DateTime|null $endDate
  316.      */
  317.     public function setEndDate(?DateTime $endDate): void
  318.     {
  319.         $this->endDate $endDate;
  320.     }
  321.     /**
  322.      * @return int|null
  323.      */
  324.     public function getDaysNumber(): ?int
  325.     {
  326.         return $this->daysNumber;
  327.     }
  328.     /**
  329.      * @param int|null $daysNumber
  330.      */
  331.     public function setDaysNumber(?int $daysNumber): void
  332.     {
  333.         $this->daysNumber $daysNumber;
  334.     }
  335.     public function __toString()
  336.     {
  337.         return (string) $this->getComment();
  338.     }
  339.     /**
  340.      * @return bool
  341.      */
  342.     public function getIncludeOldDebit(): bool
  343.     {
  344.         return $this->includeOldDebit;
  345.     }
  346.     /**
  347.      * @param bool $includeOldDebit
  348.      */
  349.     public function setIncludeOldDebit(bool $includeOldDebit): void
  350.     {
  351.         $this->includeOldDebit $includeOldDebit;
  352.     }
  353. }