src/Entity/Credit.php line 17
<?phpnamespace App\Entity;use App\Enum\CreditStatus;use App\Repository\CreditRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use Gedmo\Timestampable\Traits\TimestampableEntity;#[ORM\Entity(repositoryClass: CreditRepository::class)]#[ORM\Index(columns: ['incentive_date'], name: 'cred_incentive_date')]#[ORM\Index(columns: ['user_id'], name: 'cred_user_id')]class Credit{use TimestampableEntity;#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[ORM\ManyToOne(fetch: "EAGER", inversedBy: 'credits')]private ?User $user = null;#[ORM\ManyToOne(fetch: "EAGER", inversedBy: 'credits')]private ?Position $position = null;#[ORM\Column]private ?float $amount = null;#[ORM\ManyToOne(inversedBy: 'credits', fetch: "EAGER")]private ?Order $orderItem = null;#[ORM\ManyToOne(inversedBy: 'credits')]private ?Period $period = null;#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]private ?\DateTimeInterface $incentiveDate = null;#[ORM\ManyToOne(inversedBy: 'credits')]private ?ReasonCode $reasonCode = null;#[ORM\Column]private ?bool $held = false;#[ORM\ManyToOne(inversedBy: 'credits', fetch: "EAGER")]private ?CreditType $creditType = null;#[ORM\ManyToOne(inversedBy: 'credits', fetch: "EAGER")]private ?RuleResult $ruleResult = null;#[ORM\Column(length: 255, nullable: true)]private ?string $geographyName = null;#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]private ?\DateTimeInterface $establishedReleaseDate = null;#[ORM\Column(length: 255, nullable: true)]private ?string $product = null;#[ORM\Column(type: Types::DATE_MUTABLE, nullable: true)]private ?\DateTimeInterface $actualReleaseDate = null;#[ORM\Column]private ?bool $l6 = false;#[ORM\Column(length: 255)]private ?CreditStatus $status = CreditStatus::NEW;#[ORM\ManyToOne(targetEntity: self::class, inversedBy: 'credits')]private ?self $directCredit = null;#[ORM\OneToMany(mappedBy: 'directCredit', targetEntity: self::class)]private Collection $credits;#[ORM\OneToMany(mappedBy: 'credit', targetEntity: Commission::class, orphanRemoval: true)]private Collection $commissions;public function __construct(){$this->credits = new ArrayCollection();$this->commissions = new ArrayCollection();}public function getId(): ?int{return $this->id;}public function getUser(): ?User{return $this->user;}public function setUser(?User $user): static{$this->user = $user;return $this;}public function getPosition(): ?Position{return $this->position;}public function setPosition(?Position $position): static{$this->position = $position;return $this;}public function getAmount(): ?float{return $this->amount;}public function setAmount(float $amount): static{$this->amount = $amount;return $this;}public function getOrderItem(): ?Order{return $this->orderItem;}public function setOrderItem(?Order $orderItem): static{$this->orderItem = $orderItem;return $this;}public function getPeriod(): ?Period{return $this->period;}public function setPeriod(?Period $period): static{$this->period = $period;return $this;}public function getIncentiveDate(): ?\DateTimeInterface{return $this->incentiveDate;}public function setIncentiveDate(?\DateTimeInterface $incentiveDate): static{$this->incentiveDate = $incentiveDate;return $this;}public function getReasonCode(): ?ReasonCode{return $this->reasonCode;}public function setReasonCode(?ReasonCode $reasonCode): static{$this->reasonCode = $reasonCode;return $this;}public function isHeld(): ?bool{return $this->held;}public function setHeld(bool $held): static{$this->held = $held;return $this;}public function getCreditType(): ?CreditType{return $this->creditType;}public function setCreditType(?CreditType $creditType): static{$this->creditType = $creditType;return $this;}public function getRuleResult(): ?RuleResult{return $this->ruleResult;}public function setRuleResult(?RuleResult $ruleResult): static{$this->ruleResult = $ruleResult;return $this;}public function getGeographyName(): ?string{return $this->geographyName;}public function setGeographyName(?string $geographyName): static{$this->geographyName = $geographyName;return $this;}public function getEstablishedReleaseDate(): ?\DateTimeInterface{return $this->establishedReleaseDate;}public function setEstablishedReleaseDate(?\DateTimeInterface $establishedReleaseDate): static{$this->establishedReleaseDate = $establishedReleaseDate;return $this;}public function getProduct(): ?string{return $this->product;}public function setProduct(?string $product): static{$this->product = $product;return $this;}public function getActualReleaseDate(): ?\DateTimeInterface{return $this->actualReleaseDate;}public function setActualReleaseDate(?\DateTimeInterface $actualReleaseDate): static{$this->actualReleaseDate = $actualReleaseDate;return $this;}public function isL6(): ?bool{return $this->l6;}public function setL6(bool $l6): static{$this->l6 = $l6;return $this;}public function getStatus(): ?CreditStatus{return $this->status;}public function setStatus(CreditStatus $status): static{$this->status = $status;return $this;}public function getDirectCredit(): ?self{return $this->directCredit;}public function setDirectCredit(?self $directCredit): static{$this->directCredit = $directCredit;return $this;}/*** @return Collection<int, self>*/public function getCredits(): Collection{return $this->credits;}public function addCredit(self $credit): static{if (!$this->credits->contains($credit)) {$this->credits->add($credit);$credit->setDirectCredit($this);}return $this;}public function removeCredit(self $credit): static{if ($this->credits->removeElement($credit)) {// set the owning side to null (unless already changed)if ($credit->getDirectCredit() === $this) {$credit->setDirectCredit(null);}}return $this;}/*** @return Collection<int, Commission>*/public function getCommissions(): Collection{return $this->commissions;}public function addCommission(Commission $commission): static{if (!$this->commissions->contains($commission)) {$this->commissions->add($commission);$commission->setCredit($this);}return $this;}public function removeCommission(Commission $commission): static{if ($this->commissions->removeElement($commission)) {// set the owning side to null (unless already changed)if ($commission->getCredit() === $this) {$commission->setCredit(null);}}return $this;}public function __toString(){return sprintf('%s - $%s', $this->getUser(), $this->getAmount());}}