src/Entity/CommissionRule.php line 18
<?phpnamespace App\Entity;use App\Enum\CommissionHoldPeriod;use App\Enum\CommissionResultRateType;use App\Enum\CommissionType;use App\Enum\QuotaPeriod;use App\Repository\CommissionRuleRepository;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: CommissionRuleRepository::class)]class CommissionRule{use TimestampableEntity;#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[ORM\Column(length: 255)]private ?string $name = null;#[ORM\Column(type: Types::TEXT, nullable: true)]private ?string $description = null;#[ORM\Column(nullable: true)]private ?CommissionType $ruleType = null;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $activeStartDate = null;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $activeEndDate = null;#[ORM\OneToMany(mappedBy: 'commissionRule', targetEntity: RuleConditionOld::class, cascade: ['persist'], fetch: "EAGER")]private Collection $ruleConditionsOld;#[ORM\ManyToOne]private ?AttainmentMeasure $attainmentMeasure = null;#[ORM\ManyToOne]private ?RateTable $rateTable = null;#[ORM\ManyToOne]private ?Quota $quota = null;#[ORM\Column(length: 255, nullable: true)]private ?QuotaPeriod $quotaPeriod = null;#[ORM\Column(length: 255, nullable: true)]private ?CommissionResultRateType $resultRateType = null;#[ORM\Column(nullable: true)]private ?int $rate = null;#[ORM\Column(length: 255, nullable: true)]private ?CommissionHoldPeriod $holdPeriod = CommissionHoldPeriod::DATE;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $hold = null;#[ORM\ManyToOne(inversedBy: 'commissionRules')]#[ORM\JoinColumn(nullable: false)]private ?Year $year = null;public function __construct(){$this->ruleConditionsOld = new ArrayCollection();}public function getId(): ?int{return $this->id;}public function getName(): ?string{return $this->name;}public function setName(string $name): self{$this->name = $name;return $this;}public function getDescription(): ?string{return $this->description;}public function setDescription(?string $description): self{$this->description = $description;return $this;}public function getRuleType(): ?CommissionType{return $this->ruleType;}public function setRuleType(?CommissionType $ruleType): self{$this->ruleType = $ruleType;return $this;}public function getActiveStartDate(): ?\DateTimeInterface{return $this->activeStartDate;}public function setActiveStartDate(?\DateTimeInterface $activeStartDate): self{$this->activeStartDate = $activeStartDate;return $this;}public function getActiveEndDate(): ?\DateTimeInterface{return $this->activeEndDate;}public function setActiveEndDate(?\DateTimeInterface $activeEndDate): self{$this->activeEndDate = $activeEndDate;return $this;}/*** @return Collection<int, RuleConditionOld>*/public function getRuleConditions(): Collection{return $this->ruleConditionsOld;}public function addRuleCondition(RuleConditionOld $ruleCondition): self{if (!$this->ruleConditionsOld->contains($ruleCondition)) {$this->ruleConditionsOld->add($ruleCondition);$ruleCondition->setCommissionRule($this);}return $this;}public function removeRuleCondition(RuleConditionOld $ruleCondition): self{if ($this->ruleConditionsOld->removeElement($ruleCondition)) {// set the owning side to null (unless already changed)if ($ruleCondition->getCommissionRule() === $this) {$ruleCondition->setCommissionRule(null);}}return $this;}public function getAttainmentMeasure(): ?AttainmentMeasure{return $this->attainmentMeasure;}public function setAttainmentMeasure(?AttainmentMeasure $attainmentMeasure): self{$this->attainmentMeasure = $attainmentMeasure;return $this;}public function getRateTable(): ?RateTable{return $this->rateTable;}public function setRateTable(?RateTable $rateTable): self{$this->rateTable = $rateTable;return $this;}public function getQuota(): ?Quota{return $this->quota;}public function setQuota(?Quota $quota): self{$this->quota = $quota;return $this;}public function getQuotaPeriod(): ?QuotaPeriod{return $this->quotaPeriod;}public function setQuotaPeriod(?QuotaPeriod $quotaPeriod): self{$this->quotaPeriod = $quotaPeriod;return $this;}public function __toString(){return $this->name;}public function getResultRateType(): ?CommissionResultRateType{return $this->resultRateType;}public function setResultRateType(?CommissionResultRateType $resultRateType): self{$this->resultRateType = $resultRateType;return $this;}public function getRate(): ?int{return $this->rate;}public function setRate(?int $rate): self{$this->rate = $rate;return $this;}public function getHoldPeriod(): ?CommissionHoldPeriod{return $this->holdPeriod;}public function setHoldPeriod(?CommissionHoldPeriod $holdPeriod): self{$this->holdPeriod = $holdPeriod;return $this;}public function getHold(): ?\DateTimeInterface{return $this->hold;}public function setHold(?\DateTimeInterface $hold): self{$this->hold = $hold;return $this;}public function getYear(): ?Year{return $this->year;}public function setYear(?Year $year): self{$this->year = $year;return $this;}}