src/Entity/Flat.php line 33

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Building;
  4. use App\Entity\PollOption;
  5. use App\Entity\User;
  6. use DateTime;
  7. use Doctrine\Common\Collections\ArrayCollection;
  8. use Doctrine\Common\Collections\Collection;
  9. use Doctrine\ORM\Mapping as ORM;
  10. use Symfony\Component\Serializer\Annotation\Ignore;
  11. use Symfony\Component\Validator\Constraints as Assert;
  12. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  13. /**
  14.  * Flat
  15.  *
  16.  * @ORM\Table(
  17.  *     name="flat",
  18.  *     uniqueConstraints={@ORM\UniqueConstraint(
  19.  *      name="uniq_user_id_building_id_display_flat_id",
  20.  *      columns={"user_id","building_id","display_flat_id"})}
  21.  *
  22.  * )
  23.  * @ORM\Entity(repositoryClass="App\Repository\FlatRepository")
  24.  * @UniqueEntity(
  25.  *     fields= {"user", "building", "displayFlatId"},
  26.  *     errorPath="display_flat_id",
  27.  *     message="Stambena jedinica sa ovom oznakom već postoji."
  28.  * )
  29.  */
  30. class Flat
  31. {
  32.     /**
  33.      * @ORM\Column(name="id", type="integer")
  34.      * @ORM\Id
  35.      * @ORM\GeneratedValue(strategy="AUTO")
  36.      */
  37.     private int $id;
  38.     /**
  39.      * @Assert\Length(
  40.      *     max = 11,
  41.      *     maxMessage = "Broj stana treba da ima maksimalno {{ limit }} karaktera."
  42.      * )
  43.      *
  44.      * @ORM\Column(name="display_flat_id", type="string", length=32, nullable=false)
  45.      */
  46.     private string $displayFlatId;
  47.     /**
  48.      * @Assert\Type(
  49.      *     type="float",
  50.      *     message="Vrednost {{ value }} nije validna. Očekivana je decimalna vrednost."
  51.      * )
  52.      * @ORM\Column(name="size", type="float", length=32, nullable=true, options={"default" : 0})
  53.      */
  54.     private float|null $size;
  55.     /**
  56.      * @ORM\Column(name="owner_name", type="string", length=512, nullable=true)
  57.      */
  58.     private string|null $ownerName;
  59.     /**
  60.      * @ORM\Column(name="owner_lastname", type="string", length=512, nullable=true)
  61.      */
  62.     private string|null $ownerLastname;
  63.     /**
  64.      * @ORM\Column(name="owner_address", type="string", length=512, nullable=true)
  65.      */
  66.     private string|null $ownerAddress;
  67.     /**
  68.      * @ORM\Column(name="owner_contact", type="string", length=512, nullable=true)
  69.      */
  70.     private string|null $ownerContact null;
  71.     /**
  72.      * @ORM\Column(name="owner_phone_number", type="string", nullable=true)
  73.      */
  74.     private string|null $ownerPhoneNumber null;
  75.     /**
  76.      * @ORM\Column(name="rent", type="boolean", nullable=true, options={"default" : false})
  77.      */
  78.     private bool|null $rent;
  79.     /**
  80.      * @ORM\Column(name="debit", type="float", nullable=false, options={"default" : 0})
  81.      */
  82.     private float $debit 0.0;
  83.     /**
  84.      * @ORM\Column(name="previous_bill", type="float", nullable=true, options={"default" : 0})
  85.      */
  86.     private float|null $previousBill 0.0;
  87.     /**
  88.      * @ORM\Column(name="type", type="integer", nullable=true, options={"default" : 1})
  89.      */
  90.     private int|null $type;
  91.     /**
  92.      * @ORM\Column(name="subType", type="integer", nullable=true, options={"default" : 1})
  93.      */
  94.     private int|null $subType null;
  95.     /**
  96.      * @ORM\Column(name="old_debit", type="float", nullable=true, options={"default" : 0})
  97.      */
  98.     private float|null $oldDebit 0.0;
  99.     /**
  100.      * @ORM\Column(name="comment", type="string", length=512, nullable=true)
  101.      */
  102.     private string|null $comment;
  103.     /**
  104.      * @Assert\Type(
  105.      *     type="integer",
  106.      *     message="The value {{ value }} is not a valid {{ type }}."
  107.      * )
  108.      * @ORM\Column(name="members", type="integer", options={"default" = 1})
  109.      */
  110.     private int $members;
  111.     /**
  112.      * @ORM\Column(name="created_at", type="datetime")
  113.      */
  114.     private DateTime|null $createdAt null;
  115.     /**
  116.      * @ORM\Column(name="updated_at", type="datetime")
  117.      */
  118.     private DateTime|null $updatedAt;
  119.     /**
  120.      * @Assert\Length(
  121.      *      max = 128,
  122.      *      maxMessage = "Naziv firme treba da ima maksimalno {{ limit }} karaktera."
  123.      * )
  124.      * @ORM\Column(name="company_name", type="string", length=128, nullable=true)
  125.      */
  126.     private string|null $companyName;
  127.     /**
  128.      * @ORM\Column(name="mat_id", type="string", length=64, nullable=true)
  129.      */
  130.     private string|null $matId;
  131.     /**
  132.      * @ORM\Column(name="pib", type="string", length=64, nullable=true)
  133.      */
  134.     private string|null $pib;
  135.     /**
  136.      * @ORM\ManyToOne(targetEntity="App\Entity\User")
  137.      * @ORM\JoinColumns({
  138.      *   @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
  139.      * })
  140.      */
  141.     #[Ignore]
  142.     private User $user;
  143.     /**
  144.      * @ORM\ManyToOne(targetEntity="App\Entity\Building", cascade={"persist"})
  145.      * @ORM\JoinColumns({
  146.      *   @ORM\JoinColumn(name="building_id", referencedColumnName="id", nullable=false, onDelete="CASCADE")
  147.      * })
  148.      */
  149.     #[Ignore]
  150.     private Building $building;
  151.     /**
  152.      * @Assert\Email(message = "'{{ value }}' nije validna email adresa.")
  153.      *
  154.      * @ORM\Column(name="owner_email", type="string", nullable=true)
  155.      */
  156.     private string|null $ownerEmail null;
  157.     /**
  158.      * @ORM\Column(name="email_can_be_used", type="boolean", options={"default" : true})
  159.      */
  160.     private bool $emailCanBeUsed;
  161.     /**
  162.      * @ORM\Column(name="company_place", type="string", length=64, nullable=true)
  163.      */
  164.     private string|null $companyPlace;
  165.     /**
  166.      * @ORM\Column(name="occupant", type="string", length=255, nullable=true)
  167.      */
  168.     private string|null $occupant;
  169.     /**
  170.      * @Assert\Email(message = "'{{ value }}' nije validna email adresa.")
  171.      *
  172.      * @ORM\Column(name="occupantEmail", type="string", length=255, nullable=true)
  173.      */
  174.     private string|null $occupantEmail;
  175.     /**
  176.      * @ORM\Column(name="archived", type="integer", nullable=true, options={"default" : 0})
  177.      */
  178.     private int|null $archived;
  179.     /**
  180.      * @ORM\Column(name="archived_at", type="datetime", nullable=true)
  181.      */
  182.     private DateTime $archivedAt;
  183.     /**
  184.      * @ORM\Column(name="bank_account", type="string", length=128, nullable=true)
  185.      */
  186.     private string|null $bankAccount;
  187.     /**
  188.      * @ORM\ManyToOne(targetEntity="App\Entity\Flat", cascade={"persist"})
  189.      * @ORM\JoinColumns({
  190.      *   @ORM\JoinColumn(name="current_flat", referencedColumnName="id", nullable=true, onDelete="CASCADE")
  191.      * })
  192.      */
  193.     #[Ignore]
  194.     private Flat|null $currentFlat;
  195.     /**
  196.      * @var Collection<int, FlatWarning>
  197.      * @ORM\OneToMany(targetEntity="App\Entity\FlatWarning", mappedBy="flat")
  198.      */
  199.     #[Ignore]
  200.     private Collection $flatWarnings;
  201.     /**
  202.      * @ORM\Column(name="createdBy", type="string", nullable=true)
  203.      */
  204.     private string|null $createdBy;
  205.     /**
  206.      * @var Collection<int, PollOption>
  207.      * @ORM\ManyToMany(targetEntity="App\Entity\PollOption", mappedBy="pollOptionsFlats")
  208.      */
  209.     #[Ignore]
  210.     private Collection $votedOptions;
  211.     /**
  212.      * @ORM\Column(name="eInvoice", type="boolean")
  213.      */
  214.     private bool $eInvoice false;
  215.     /**
  216.      * @ORM\Column(name="jbkjs", type="string", nullable=true)
  217.      */
  218.     private string|null $jbkjs null;
  219.     /**
  220.      * @ORM\Column(name="contract_number", type="string", nullable=true)
  221.      */
  222.     private string|null $contractNumber null;
  223.     /**
  224.      * @ORM\Column(name="order_number", type="string", nullable=true)
  225.      */
  226.     private string|null $orderNumber null;
  227.     /**
  228.      * @ORM\Column(name="object_code", type="string", nullable=true)
  229.      */
  230.     private string|null $objectCode null;
  231.     /**
  232.      * @ORM\ManyToOne(targetEntity="App\Entity\Resident", inversedBy="flats")
  233.      * @ORM\JoinColumns({
  234.      *   @ORM\JoinColumn(name="resident_id", referencedColumnName="id", onDelete="SET NULL")
  235.      * })
  236.      */
  237.     #[Ignore]
  238.     private Resident|null $resident;
  239.     /**
  240.      * @ORM\Column(name="print_bill", type="boolean")
  241.      */
  242.     private bool $printBill false;
  243.     /**
  244.      * @ORM\Column(name="old_debit_date", type="datetime", nullable=true)
  245.      */
  246.     private DateTime|null $oldDebitDate null;
  247.     /**
  248.      * @return string
  249.      */
  250.     public function getCreatedBy(): string
  251.     {
  252.         return $this->createdBy;
  253.     }
  254.     /**
  255.      * @return string|null
  256.      */
  257.     public function getOwnerEmail(): ?string
  258.     {
  259.         return $this->ownerEmail;
  260.     }
  261.     /**
  262.      * @param string|null $ownerEmail
  263.      */
  264.     public function setOwnerEmail(?string $ownerEmail): void
  265.     {
  266.         $this->ownerEmail $ownerEmail;
  267.     }
  268.     public function __construct()
  269.     {
  270.         if (empty($this->getDebit())) {
  271.             $this->setDebit(0.0);
  272.         }
  273.         $this->incrementCreatedAt();
  274.         $this->flatWarnings = new ArrayCollection();
  275.         $this->votedOptions = new ArrayCollection();
  276.     }
  277.     /**
  278.      * @param PollOption $option
  279.      */
  280.     public function addPollOption(PollOption $option): void
  281.     {
  282.         $this->votedOptions[] = $option;
  283.         $option->addFlatVote($this);
  284.     }
  285.     public function removePollOption(PollOption $option): void
  286.     {
  287.         if (!$this->votedOptions->contains($option)) {
  288.             return;
  289.         }
  290.         $this->votedOptions->removeElement($option);
  291.         $option->removeFlatVote($this);
  292.     }
  293.     /**
  294.      * Get id
  295.      *
  296.      * @return int
  297.      */
  298.     public function getId(): int
  299.     {
  300.         return $this->id;
  301.     }
  302.     /**
  303.      * @param string|null $ownerName
  304.      *
  305.      * @return $this
  306.      */
  307.     public function setOwnerName(?string $ownerName): self
  308.     {
  309.         $this->ownerName $ownerName;
  310.         return $this;
  311.     }
  312.     /**
  313.      * Get ownerName
  314.      *
  315.      * @return string|null
  316.      */
  317.     public function getOwnerName(): ?string
  318.     {
  319.         return $this->ownerName;
  320.     }
  321.     /**
  322.      * @param string|null $ownerLastname
  323.      *
  324.      * @return $this
  325.      */
  326.     public function setOwnerLastname(?string $ownerLastname): self
  327.     {
  328.         $this->ownerLastname $ownerLastname;
  329.         return $this;
  330.     }
  331.     /**
  332.      * Get ownerLastname
  333.      *
  334.      * @return string|null
  335.      */
  336.     public function getOwnerLastname(): ?string
  337.     {
  338.         return $this->ownerLastname;
  339.     }
  340.     /**
  341.      * @param string|null $ownerAddress
  342.      *
  343.      * @return $this
  344.      */
  345.     public function setOwnerAddress(?string $ownerAddress): self
  346.     {
  347.         $this->ownerAddress $ownerAddress;
  348.         return $this;
  349.     }
  350.     /**
  351.      * @return string|null
  352.      */
  353.     public function getCompanyName(): ?string
  354.     {
  355.         return $this->companyName;
  356.     }
  357.     /**
  358.      * @param string|null $companyName
  359.      */
  360.     public function setCompanyName(?string $companyName): void
  361.     {
  362.         $this->companyName $companyName;
  363.     }
  364.     /**
  365.      * @return string|null
  366.      */
  367.     public function getMatId(): ?string
  368.     {
  369.         return $this->matId;
  370.     }
  371.     /**
  372.      * @param string|null $matId
  373.      */
  374.     public function setMatId(?string $matId): void
  375.     {
  376.         $this->matId $matId;
  377.     }
  378.     /**
  379.      * @return string|null
  380.      */
  381.     public function getPib(): ?string
  382.     {
  383.         return $this->pib;
  384.     }
  385.     /**
  386.      * @param string|null $pib
  387.      */
  388.     public function setPib(?string $pib): void
  389.     {
  390.         $this->pib $pib;
  391.     }
  392.     /**
  393.      * Get ownerContact
  394.      *
  395.      * @return string|null
  396.      */
  397.     public function getOwnerContact(): ?string
  398.     {
  399.         return $this->ownerContact;
  400.     }
  401.     /**
  402.      * @param string|null $ownerContact
  403.      *
  404.      * @return $this
  405.      */
  406.     public function setOwnerContact(?string $ownerContact): self
  407.     {
  408.         $this->ownerContact $ownerContact;
  409.         return $this;
  410.     }
  411.     /**
  412.      * Get ownerAddress
  413.      *
  414.      * @return string|null
  415.      */
  416.     public function getOwnerAddress(): ?string
  417.     {
  418.         return $this->ownerAddress;
  419.     }
  420.     /**
  421.      * @param bool|null $rent
  422.      *
  423.      * @return $this
  424.      */
  425.     public function setRent(?bool $rent): self
  426.     {
  427.         $this->rent $rent;
  428.         return $this;
  429.     }
  430.     /**
  431.      * @return bool|null
  432.      */
  433.     public function getRent(): ?bool
  434.     {
  435.         return $this->rent;
  436.     }
  437.     /**
  438.      * @param float $debit
  439.      *
  440.      * @return $this
  441.      */
  442.     public function setDebit(float $debit): self
  443.     {
  444.         $this->debit $debit;
  445.         return $this;
  446.     }
  447.     /**
  448.      * @return float
  449.      */
  450.     public function getDebit(): float
  451.     {
  452.         return $this->debit;
  453.     }
  454.     /**
  455.      * @param float|null $oldDebit
  456.      *
  457.      * @return $this
  458.      */
  459.     public function setOldDebit(?float $oldDebit): self
  460.     {
  461.         $this->oldDebit $oldDebit;
  462.         return $this;
  463.     }
  464.     /**
  465.      * @return float|null
  466.      */
  467.     public function getOldDebit(): ?float
  468.     {
  469.         return $this->oldDebit;
  470.     }
  471.     /**
  472.      * @param float|null $previousBill
  473.      *
  474.      * @return $this
  475.      */
  476.     public function setPreviousBill(?float $previousBill): self
  477.     {
  478.         $this->previousBill $previousBill;
  479.         return $this;
  480.     }
  481.     /**
  482.      * @return float|null
  483.      */
  484.     public function getPreviousBill(): ?float
  485.     {
  486.         return $this->previousBill;
  487.     }
  488.     /**
  489.      * Set size
  490.      *
  491.      * @param float|null $size
  492.      *
  493.      * @return Flat
  494.      */
  495.     public function setSize(?float $size): Flat
  496.     {
  497.         $this->size $size;
  498.         return $this;
  499.     }
  500.     /**
  501.      * Get size
  502.      *
  503.      * @return float|null
  504.      */
  505.     public function getSize(): ?float
  506.     {
  507.         return $this->size;
  508.     }
  509.     /**
  510.      * Set comment
  511.      *
  512.      * @param string|null $comment
  513.      *
  514.      * @return Flat
  515.      */
  516.     public function setComment(?string $comment): Flat
  517.     {
  518.         $this->comment $comment;
  519.         return $this;
  520.     }
  521.     /**
  522.      * Get comment
  523.      *
  524.      * @return string|null
  525.      */
  526.     public function getComment(): ?string
  527.     {
  528.         return $this->comment;
  529.     }
  530.     /**
  531.      * @param int $members
  532.      *
  533.      * @return $this
  534.      */
  535.     public function setMembers(int $members): self
  536.     {
  537.         $this->members $members;
  538.         return $this;
  539.     }
  540.     /**
  541.      * Get type
  542.      *
  543.      * @return int|null
  544.      */
  545.     public function getType(): ?int
  546.     {
  547.         return $this->type;
  548.     }
  549.     /**
  550.      * @param int|null $type
  551.      *
  552.      * @return $this
  553.      */
  554.     public function setType(?int $type): self
  555.     {
  556.         $this->type $type;
  557.         return $this;
  558.     }
  559.     /**
  560.      * Get members
  561.      *
  562.      * @return int
  563.      */
  564.     public function getMembers(): int
  565.     {
  566.         return $this->members;
  567.     }
  568.     /**
  569.      * @param string $displayFlatId
  570.      *
  571.      * @return $this
  572.      */
  573.     public function setDisplayFlatId(string $displayFlatId): self
  574.     {
  575.         $this->displayFlatId $displayFlatId;
  576.         return $this;
  577.     }
  578.     /**
  579.      * Get displayFlatId
  580.      *
  581.      * @return string
  582.      */
  583.     public function getDisplayFlatId(): string
  584.     {
  585.         return $this->displayFlatId;
  586.     }
  587.     /**
  588.      * @return DateTime|null
  589.      */
  590.     public function getCreatedAt(): ?DateTime
  591.     {
  592.         return $this->createdAt;
  593.     }
  594.     /**
  595.      * @return DateTime|null
  596.      */
  597.     public function getUpdatedAt(): ?DateTime
  598.     {
  599.         return $this->updatedAt;
  600.     }
  601.     /**
  602.      * @ORM\PrePersist
  603.      */
  604.     public function incrementCreatedAt(): void
  605.     {
  606.         if (null === $this->createdAt) {
  607.             $this->createdAt = new DateTime();
  608.         }
  609.         $this->updatedAt = new DateTime();
  610.     }
  611.     /**
  612.      * @ORM\PreUpdate
  613.      */
  614.     public function incrementUpdatedAt(): void
  615.     {
  616.         $this->updatedAt = new DateTime();
  617.     }
  618.     /**
  619.      * Set createdAt
  620.      *
  621.      * @param DateTime $createdAt
  622.      */
  623.     public function setCreatedAt(DateTime $createdAt): void
  624.     {
  625.         $this->createdAt $createdAt;
  626.     }
  627.     /**
  628.      * Set updatedAt
  629.      *
  630.      * @param DateTime $updatedAt
  631.      */
  632.     public function setUpdatedAt(DateTime $updatedAt): void
  633.     {
  634.         $this->updatedAt $updatedAt;
  635.     }
  636.     /**
  637.      * @return User
  638.      */
  639.     #[Ignore]
  640.     public function getUser(): User
  641.     {
  642.         return $this->user;
  643.     }
  644.     /**
  645.      * @param User $user
  646.      */
  647.     #[Ignore]
  648.     public function setUser(User $user): void
  649.     {
  650.         $this->user $user;
  651.         if (empty($this->createdBy)) {
  652.             $this->createdBy $user->getCreatedByValue();
  653.         }
  654.     }
  655.     /**
  656.      * @return Building
  657.      */
  658.     #[Ignore]
  659.     public function getBuilding(): Building
  660.     {
  661.         return $this->building;
  662.     }
  663.     /**
  664.      * @param Building $building
  665.      */
  666.     #[Ignore]
  667.     public function setBuilding(Building $building): void
  668.     {
  669.         $this->building $building;
  670.     }
  671.     /**
  672.      * @return bool
  673.      */
  674.     public function getEmailCanBeUsed(): bool
  675.     {
  676.         return $this->emailCanBeUsed;
  677.     }
  678.     /**
  679.      * @param bool $emailCanBeUsed
  680.      */
  681.     public function setEmailCanBeUsed(bool $emailCanBeUsed): void
  682.     {
  683.         $this->emailCanBeUsed $emailCanBeUsed;
  684.     }
  685.     /**
  686.      * @return string|null
  687.      */
  688.     public function getCompanyPlace(): ?string
  689.     {
  690.         return $this->companyPlace;
  691.     }
  692.     /**
  693.      * @param string|null $companyPlace
  694.      */
  695.     public function setCompanyPlace(?string $companyPlace): void
  696.     {
  697.         $this->companyPlace $companyPlace;
  698.     }
  699.     /**
  700.      * @return string|null
  701.      */
  702.     public function getOccupant(): ?string
  703.     {
  704.         return $this->occupant;
  705.     }
  706.     /**
  707.      * @param string|null $occupant
  708.      */
  709.     public function setOccupant(?string $occupant): void
  710.     {
  711.         $this->occupant $occupant;
  712.     }
  713.     /**
  714.      * @return string|null
  715.      */
  716.     public function getOccupantEmail(): ?string
  717.     {
  718.         return $this->occupantEmail;
  719.     }
  720.     /**
  721.      * @param string|null $occupantEmail
  722.      */
  723.     public function setOccupantEmail(?string $occupantEmail): void
  724.     {
  725.         $this->occupantEmail $occupantEmail;
  726.     }
  727.     /**
  728.      * @return int|null
  729.      */
  730.     public function getArchived(): ?int
  731.     {
  732.         return $this->archived;
  733.     }
  734.     /**
  735.      * @param int|null $archived
  736.      */
  737.     public function setArchived(?int $archived): void
  738.     {
  739.         $this->archived $archived;
  740.     }
  741.     /**
  742.      * @return Flat|null
  743.      */
  744.     #[Ignore]
  745.     public function getCurrentFlat(): ?Flat
  746.     {
  747.         return $this->currentFlat;
  748.     }
  749.     /**
  750.      * @param Flat|null $currentFlat
  751.      */
  752.     #[Ignore]
  753.     public function setCurrentFlat(?Flat $currentFlat): void
  754.     {
  755.         $this->currentFlat $currentFlat;
  756.     }
  757.     /**
  758.      * @return string|null
  759.      */
  760.     public function getBankAccount(): ?string
  761.     {
  762.         return $this->bankAccount;
  763.     }
  764.     /**
  765.      * @param string|null $bankAccount
  766.      */
  767.     public function setBankAccount(?string $bankAccount): void
  768.     {
  769.         $this->bankAccount $bankAccount;
  770.     }
  771.     /**
  772.      * @return int|null
  773.      */
  774.     public function getSubType(): ?int
  775.     {
  776.         return $this->subType;
  777.     }
  778.     /**
  779.      * @param int|null $subType
  780.      */
  781.     public function setSubType(?int $subType): void
  782.     {
  783.         $this->subType $subType;
  784.     }
  785.     /**
  786.      * Get owner name+lastName
  787.      *
  788.      * @return string
  789.      */
  790.     public function getFullName(): string
  791.     {
  792.         return sprintf("%s %s"$this->getOwnerName(), $this->getOwnerLastname());
  793.     }
  794.     /**
  795.      * @return Collection<int, FlatWarning>
  796.      */
  797.     #[Ignore]
  798.     public function getFlatWarnings(): Collection
  799.     {
  800.         return $this->flatWarnings;
  801.     }
  802.     /**
  803.      * @param Collection<int, FlatWarning> $flatWarnings
  804.      */
  805.     #[Ignore]
  806.     public function setFlatWarnings(Collection $flatWarnings): void
  807.     {
  808.         $this->flatWarnings $flatWarnings;
  809.     }
  810.     /**
  811.      * @return User
  812.      */
  813.     #[Ignore]
  814.     public function getFlatUser(): User
  815.     {
  816.         return $this->user;
  817.     }
  818.     /**
  819.      * @param User $user
  820.      */
  821.     #[Ignore]
  822.     public function setFlatUser(User $user): void
  823.     {
  824.         $this->user $user;
  825.     }
  826.     /**
  827.      * @return DateTime
  828.      */
  829.     public function getArchivedAt(): DateTime
  830.     {
  831.         return $this->archivedAt;
  832.     }
  833.     /**
  834.      * @param DateTime $archivedAt
  835.      */
  836.     public function setArchivedAt(DateTime $archivedAt): void
  837.     {
  838.         $this->archivedAt $archivedAt;
  839.     }
  840.     public function __toString()
  841.     {
  842.         return (string) $this->getDisplayFlatId();
  843.     }
  844.     /**
  845.      * @return Collection<int, PollOption>
  846.      */
  847.     #[Ignore]
  848.     public function getvotedOptions(): Collection
  849.     {
  850.         return $this->votedOptions;
  851.     }
  852.     /**
  853.      * @param Collection<int, PollOption> $votedOptions
  854.      */
  855.     #[Ignore]
  856.     public function setvotedOptions(Collection $votedOptions): void
  857.     {
  858.         $this->votedOptions $votedOptions;
  859.     }
  860.     /**
  861.      * @return bool
  862.      */
  863.     public function getEInvoice(): bool
  864.     {
  865.         return $this->eInvoice;
  866.     }
  867.     /**
  868.      * @param bool $eInvoice
  869.      */
  870.     public function setEInvoice(bool $eInvoice): void
  871.     {
  872.         $this->eInvoice $eInvoice;
  873.     }
  874.     /**
  875.      * @return string|null
  876.      */
  877.     public function getJbkjs(): ?string
  878.     {
  879.         return $this->jbkjs;
  880.     }
  881.     /**
  882.      * @param string|null $jbkjs
  883.      */
  884.     public function setJbkjs(?string $jbkjs): void
  885.     {
  886.         $this->jbkjs $jbkjs;
  887.     }
  888.     /**
  889.      * @return Resident|null
  890.      */
  891.     #[Ignore]
  892.     public function getResident(): ?Resident
  893.     {
  894.         return $this->resident;
  895.     }
  896.     /**
  897.      * @param Resident|null $resident
  898.      */
  899.     #[Ignore]
  900.     public function setResident(?Resident $resident): void
  901.     {
  902.         $this->resident $resident;
  903.     }
  904.     /**
  905.      * @return string|null
  906.      */
  907.     public function getContractNumber(): ?string
  908.     {
  909.         return $this->contractNumber;
  910.     }
  911.     /**
  912.      * @param string|null $contractNumber
  913.      */
  914.     public function setContractNumber(?string $contractNumber): void
  915.     {
  916.         $this->contractNumber $contractNumber;
  917.     }
  918.     public function getOrderNumber(): ?string
  919.     {
  920.         return $this->orderNumber;
  921.     }
  922.     public function setOrderNumber(?string $orderNumber): void
  923.     {
  924.         $this->orderNumber $orderNumber;
  925.     }
  926.     public function getObjectCode(): ?string
  927.     {
  928.         return $this->objectCode;
  929.     }
  930.     public function setObjectCode(?string $objectCode): void
  931.     {
  932.         $this->objectCode $objectCode;
  933.     }
  934.     public function isPrintBill(): bool
  935.     {
  936.         return $this->printBill;
  937.     }
  938.     public function setPrintBill(bool $printBill): void
  939.     {
  940.         $this->printBill $printBill;
  941.     }
  942.     public function getOwnerPhoneNumber(): ?string
  943.     {
  944.         return $this->ownerPhoneNumber;
  945.     }
  946.     public function setOwnerPhoneNumber(?string $ownerPhoneNumber): void
  947.     {
  948.         $this->ownerPhoneNumber $ownerPhoneNumber;
  949.     }
  950.     public function getOldDebitDate(): ?DateTime
  951.     {
  952.         return $this->oldDebitDate;
  953.     }
  954.     public function setOldDebitDate(?DateTime $oldDebitDate): void
  955.     {
  956.         $this->oldDebitDate $oldDebitDate;
  957.     }
  958. }