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.      * @ORM\Column(name="publish", type="integer", options={"default" : 0})
  87.      */
  88.     private int $publish;
  89.     /**
  90.      * FlatWarning constructor.
  91.      */
  92.     public function __construct()
  93.     {
  94.         $this->incrementCreatedAt();
  95.     }
  96.     /**
  97.      * @return DateTime|null
  98.      */
  99.     public function getCreatedAt(): ?DateTime
  100.     {
  101.         return $this->createdAt;
  102.     }
  103.     /**
  104.      * @return DateTime|null
  105.      */
  106.     public function getUpdatedAt(): ?DateTime
  107.     {
  108.         return $this->updatedAt;
  109.     }
  110.     /**
  111.      * @ORM\PrePersist
  112.      */
  113.     public function incrementCreatedAt(): void
  114.     {
  115.         if (null === $this->createdAt) {
  116.             $this->createdAt = new DateTime();
  117.         }
  118.         $this->updatedAt = new DateTime();
  119.     }
  120.     /**
  121.      * @ORM\PreUpdate
  122.      */
  123.     public function incrementUpdatedAt(): void
  124.     {
  125.         $this->updatedAt = new DateTime();
  126.     }
  127.     /**
  128.      * Set createdAt
  129.      *
  130.      * @param DateTime $createdAt
  131.      */
  132.     public function setCreatedAt(DateTime $createdAt): void
  133.     {
  134.         $this->createdAt $createdAt;
  135.     }
  136.     /**
  137.      * @ORM\PrePersist
  138.      */
  139.     public function setCreatedAtValue(): void
  140.     {
  141.         $this->createdAt = new DateTime();
  142.     }
  143.     /**
  144.      * Set updatedAt
  145.      *
  146.      * @param DateTime $updatedAt
  147.      */
  148.     public function setUpdatedAt(DateTime $updatedAt): void
  149.     {
  150.         $this->updatedAt $updatedAt;
  151.     }
  152.     /**
  153.      * Get id
  154.      *
  155.      * @return int
  156.      */
  157.     public function getId(): int
  158.     {
  159.         return $this->id;
  160.     }
  161.     /**
  162.      * Set sumDebit
  163.      *
  164.      * @param float $sumDebit
  165.      *
  166.      * @return FlatWarning
  167.      */
  168.     public function setSumDebit(float $sumDebit): FlatWarning
  169.     {
  170.         $this->sumDebit $sumDebit;
  171.         return $this;
  172.     }
  173.     /**
  174.      * Get sumDebit
  175.      *
  176.      * @return float
  177.      */
  178.     public function getSumDebit(): float
  179.     {
  180.         return $this->sumDebit;
  181.     }
  182.     /**
  183.      * Set lastBill
  184.      *
  185.      * @param float|null $lastBill
  186.      *
  187.      * @return FlatWarning
  188.      */
  189.     public function setLastBill(?float $lastBill): FlatWarning
  190.     {
  191.         $this->lastBill $lastBill;
  192.         return $this;
  193.     }
  194.     /**
  195.      * Get lastBill
  196.      *
  197.      * @return float|null
  198.      */
  199.     public function getLastBill(): ?float
  200.     {
  201.         return $this->lastBill;
  202.     }
  203.     /**
  204.      * Set log
  205.      *
  206.      * @param string|null $log
  207.      *
  208.      * @return FlatWarning
  209.      */
  210.     public function setLog(?string $log): FlatWarning
  211.     {
  212.         $this->log $log;
  213.         return $this;
  214.     }
  215.     /**
  216.      * Get log
  217.      *
  218.      * @return string|null
  219.      */
  220.     public function getLog(): ?string
  221.     {
  222.         return $this->log;
  223.     }
  224.     /**
  225.      * @return Flat
  226.      */
  227.     public function getFlat(): Flat
  228.     {
  229.         return $this->flat;
  230.     }
  231.     /**
  232.      * @param Flat $flat
  233.      */
  234.     public function setFlat(Flat $flat): void
  235.     {
  236.         $this->flat $flat;
  237.     }
  238.     /**
  239.      * @return User
  240.      */
  241.     public function getUser(): User
  242.     {
  243.         return $this->user;
  244.     }
  245.     /**
  246.      * @param User $user
  247.      */
  248.     public function setUser(User $user): void
  249.     {
  250.         $this->user $user;
  251.         if (empty($this->createdBy)) {
  252.             $this->createdBy $user->getCreatedByValue();
  253.         }
  254.     }
  255.     /**
  256.      * @return string|null
  257.      */
  258.     public function getCreatedBy(): ?string
  259.     {
  260.         return $this->createdBy;
  261.     }
  262.     /**
  263.      * @param string|null $createdBy
  264.      */
  265.     public function setCreatedBy(?string $createdBy): void
  266.     {
  267.         $this->createdBy $createdBy;
  268.     }
  269.     /**
  270.      * @return int|null
  271.      */
  272.     public function getCustomWarning(): ?int
  273.     {
  274.         return $this->customWarning;
  275.     }
  276.     /**
  277.      * @param int|null $customWarning
  278.      */
  279.     public function setCustomWarning(?int $customWarning): void
  280.     {
  281.         $this->customWarning $customWarning;
  282.     }
  283.     /**
  284.      * @return string|null
  285.      */
  286.     public function getComment(): ?string
  287.     {
  288.         return $this->comment;
  289.     }
  290.     /**
  291.      * @param string|null $comment
  292.      */
  293.     public function setComment(?string $comment): void
  294.     {
  295.         $this->comment $comment;
  296.     }
  297.     /**
  298.      * @return DateTime|null
  299.      */
  300.     public function getStartDate(): ?DateTime
  301.     {
  302.         return $this->startDate;
  303.     }
  304.     /**
  305.      * @param DateTime|null $startDate
  306.      */
  307.     public function setStartDate(?DateTime $startDate): void
  308.     {
  309.         $this->startDate $startDate;
  310.     }
  311.     /**
  312.      * @return DateTime|null
  313.      */
  314.     public function getEndDate(): ?DateTime
  315.     {
  316.         return $this->endDate;
  317.     }
  318.     /**
  319.      * @param DateTime|null $endDate
  320.      */
  321.     public function setEndDate(?DateTime $endDate): void
  322.     {
  323.         $this->endDate $endDate;
  324.     }
  325.     /**
  326.      * @return int|null
  327.      */
  328.     public function getDaysNumber(): ?int
  329.     {
  330.         return $this->daysNumber;
  331.     }
  332.     /**
  333.      * @param int|null $daysNumber
  334.      */
  335.     public function setDaysNumber(?int $daysNumber): void
  336.     {
  337.         $this->daysNumber $daysNumber;
  338.     }
  339.     public function __toString()
  340.     {
  341.         return (string) $this->getComment();
  342.     }
  343.     /**
  344.      * @return bool
  345.      */
  346.     public function getIncludeOldDebit(): bool
  347.     {
  348.         return $this->includeOldDebit;
  349.     }
  350.     /**
  351.      * @param bool $includeOldDebit
  352.      */
  353.     public function setIncludeOldDebit(bool $includeOldDebit): void
  354.     {
  355.         $this->includeOldDebit $includeOldDebit;
  356.     }
  357.     /**
  358.      * @return int
  359.      */
  360.     public function getPublish(): int
  361.     {
  362.         return $this->publish;
  363.     }
  364.     /**
  365.      * @param int $publish
  366.      */
  367.     public function setPublish(int $publish): void
  368.     {
  369.         $this->publish $publish;
  370.     }
  371. }