false])] #[Assert\Type(type: 'boolean')] #[Assert\NotNull] #[Groups(['billingsetting'])] private $applyAdhesion = false; /** * @var array */ #[ORM\Column(type: 'json_array', nullable: true)] #[Groups(['billingsetting'])] private $adhesion; /** * @var string */ #[ORM\Column(type: 'string', nullable: true)] #[Assert\Type(type: 'string')] #[Assert\Choice(callback: ['\AppBundle\Enum\Billing\PeriodicityEnum', 'toArray'])] #[Groups(['billingsetting'])] private $adhesionPeriodicity; /** * @var int */ #[ORM\Column(type: 'integer', nullable: true)] #[Assert\Type(type: 'integer', message: 'invalid-integer')] #[Groups(['billingsetting'])] private $paymentNumber; /** * @var ArrayCollection */ #[Assert\Valid] #[ORM\OneToMany(targetEntity: 'ResidenceArea', mappedBy: 'billingSetting', cascade: ['persist'], orphanRemoval: true)] #[Groups(['billingsetting_residencearea', 'parameters'])] private $residenceAreas; /** * @var bool */ #[ORM\Column(type: 'boolean', options: ['default' => false])] #[Assert\Type(type: 'boolean')] #[Assert\NotNull] #[Groups(['billingsetting'])] private $applyVat = false; /** * @var float */ #[ORM\Column(type: 'float', nullable: true)] #[Assert\Type(type: 'float')] #[Groups(['billingsetting'])] private $amountVat; /** * @var string * * */ #[ORM\Column(type: 'text', nullable: true)] #[Assert\Type(type: 'string')] #[Groups(['billingsetting'])] private $headerMessage; /** * @var string * * */ #[ORM\Column(type: 'text', nullable: true)] #[Assert\Type(type: 'string')] #[Groups(['billingsetting'])] private $footerMessage; /** * @var int */ #[ORM\Column(type: 'integer', nullable: true)] #[Assert\Type(type: 'integer', message: 'invalid-integer')] #[Groups(['billingsetting'])] private $adultAgeLimit; /** * @var ArrayCollection */ #[Assert\Valid] #[ORM\OneToMany(targetEntity: 'FamilyQuotient', mappedBy: 'billingSetting', cascade: ['persist'], orphanRemoval: true)] #[Groups(['billingsetting_familyquotient'])] private $familyQuotients; /** * @var array */ #[ORM\Column(type: 'json_array', nullable: true)] #[Groups(['billingsetting'])] private $reductionTotalAmount; /** * @var array */ #[ORM\Column(type: 'json_array', nullable: true)] #[Groups(['billingsetting'])] private $billLine; /** * @var string */ #[ORM\Column(type: 'string', length: 10, nullable: true, options: ['default' => 'F'])] #[Assert\Type(type: 'string')] #[Assert\Length(max: 10, maxMessage: 'invalid-max-length')] #[Groups(['billingsetting'])] private $prefixBillNumber = "F"; /** * @var int */ #[ORM\Column(type: 'integer', nullable: true, options: ['default' => 6])] #[Groups(['billingsetting'])] private $digitsToDisplayBillNumber = 6; /** * @var int */ #[ORM\Column(type: 'integer', nullable: true, options: ['default' => 1])] #[Groups(['billingsetting'])] private $initialBillNumber = 1; /** * @var string */ #[ORM\Column(type: 'string', length: 10, nullable: true, options: ['default' => 'A'])] #[Assert\Type(type: 'string')] #[Assert\Length(max: 10, maxMessage: 'invalid-max-length')] #[Groups(['billingsetting'])] private $prefixBillCredit = "A"; /** * @var int */ #[ORM\Column(type: 'integer', nullable: true, options: ['default' => 6])] #[Groups(['billingsetting'])] private $digitsToDisplayBillCredit = 6; /** * @var int */ #[ORM\Column(type: 'integer', nullable: true, options: ['default' => 1])] #[Groups(['billingsetting'])] private $initialCreditNumber = 1; /** * @var BillingSettingRent */ #[Assert\Valid] #[ORM\OneToOne(targetEntity: 'AppBundle\Entity\Billing\BillingSettingRent', mappedBy: 'billingSetting', cascade: ['persist'], orphanRemoval: true, fetch: 'EAGER')] #[Groups(['billingsetting'])] private $billingSettingRent; /** * @var bool */ #[ORM\Column(type: 'boolean', options: ['default' => false])] #[Assert\Type(type: 'boolean')] #[Assert\NotNull] #[Groups(['billingsetting'])] private $automaticFFECLicensing = false; /** * @var string */ #[ORM\Column(type: 'string', nullable: true)] #[Assert\Type(type: 'string')] #[Assert\Choice(callback: ['\AppBundle\Enum\Billing\FamilyReductionTypeEnum', 'toArray'])] #[Groups(['billingsetting'])] private $familyReductionType; /** * @var bool */ #[ORM\Column(type: 'boolean', options: ['default' => false])] #[Assert\Type(type: 'boolean')] #[Assert\NotNull] #[Groups(['billingsetting'])] private $lockBilling = false; /** * @var string */ #[ORM\Column(type: 'string', options: ['default' => 'WITHOUT_ORDER'])] #[Assert\Type(type: 'string')] #[Assert\NotNull] #[Assert\Choice(callback: ['\AppBundle\Enum\Billing\OrderAdultTypeEnum', 'toArray'])] #[Groups(['billingsetting'])] private $orderAdultType = "WITHOUT_ORDER"; /** * @var string */ #[ORM\Column(type: 'string', options: ['default' => 'ONLY_AGE'])] #[Assert\Type(type: 'string')] #[Assert\NotNull] #[Assert\Choice(callback: ['\AppBundle\Enum\Billing\AdultConditionTypeEnum', 'toArray'])] #[Groups(['billingsetting'])] private $adultConditionType = "ONLY_AGE"; /** * @var bool */ #[ORM\Column(type: 'boolean', options: ['default' => true])] #[Assert\Type(type: 'boolean')] #[Assert\NotNull] #[Groups(['billingsetting'])] private $includeRentalInBilling = true; /** * @var string */ #[ORM\Column(type: 'string', length: 7, nullable: true)] #[Assert\Length(max: 7, maxMessage: 'invalid-max-length')] #[Assert\Type(type: 'string')] #[Groups(['billingsetting'])] private $reductionTotalAccountingCode; /** * @var int */ #[ORM\Column(type: 'integer', nullable: true)] #[Assert\Type(type: 'integer', message: 'invalid-integer')] #[Groups(['billingsetting'])] private $reductionTotalNature; /** * @var string */ #[ORM\Column(type: 'string', length: 200, nullable: true)] #[Assert\Type(type: 'string')] #[Groups(['billingsetting'])] private $reductionTotalAccountingCodelabel; /** * @var float */ #[ORM\Column(type: 'float', nullable: true, options: ['default' => '0.2'])] #[Assert\Type(type: 'float')] #[Groups(['billingsetting'])] private $amountMinorDifference = 0.2; /** * @var bool */ #[ORM\Column(type: 'boolean', options: ['default' => false])] #[Assert\Type(type: 'boolean')] #[Assert\NotNull] #[Groups(['billingsetting'])] private $ignoreZeroTotalAmountExport = false; /** * @var int */ #[ORM\Column(type: 'integer', nullable: false, options: ['default' => 1])] #[Assert\Type(type: 'integer', message: 'invalid-integer')] #[Assert\NotNull] #[Assert\Range(min: 1, max: 31, minMessage: 'valeur minimum: {{ limit }}', maxMessage: 'valeur maximale: {{ limit }}')] #[Groups(['billingsetting'])] private $dayOfMonthBillPayments = 1; /** * Constructor */ public function __construct() { $this->residenceAreas = new ArrayCollection(); $this->familyQuotients = new ArrayCollection(); } /** * Sets id. * * @param int $id * * @return $this */ public function setId($id) { $this->id = $id; return $this; } /** * Gets id. * * @return int */ public function getId() { return $this->id; } /** * Set periodicity * * @param string $periodicity * * @return BillingSetting */ public function setPeriodicity($periodicity) { $this->periodicity = $periodicity; return $this; } /** * Get periodicity * * @return string */ public function getPeriodicity() { return $this->periodicity; } /** * Set adhesion * * @param array $adhesion * * @return BillingSetting */ public function setAdhesion($adhesion) { $this->adhesion = $adhesion; return $this; } /** * Get adhesion * * @return array */ public function getAdhesion() { return $this->adhesion; } /** * Set paymentNumber * * @param integer $paymentNumber * * @return BillingSetting */ public function setPaymentNumber($paymentNumber) { $this->paymentNumber = $paymentNumber; return $this; } /** * Get paymentNumber * * @return integer */ public function getPaymentNumber() { return $this->paymentNumber; } /** * Set applyVat * * @param boolean $applyVat * * @return BillingSetting */ public function setApplyVat($applyVat) { $this->applyVat = $applyVat; return $this; } /** * Get applyVat * * @return boolean */ public function getApplyVat() { return $this->applyVat; } /** * Set amountVat * * @param float $amountVat * * @return BillingSetting */ public function setAmountVat($amountVat) { $this->amountVat = floatval($amountVat); return $this; } /** * Get amountVat * * @return float */ public function getAmountVat() { return $this->amountVat; } /** * Set headerMessage * * @param string $headerMessage * * @return BillingSetting */ public function setHeaderMessage($headerMessage) { $this->headerMessage = str_replace(' ', ' ', $headerMessage); return $this; } /** * Get headerMessage * * @return string */ public function getHeaderMessage() { return $this->headerMessage; } /** * Set footerMessage * * @param string $footerMessage * * @return BillingSetting */ public function setFooterMessage($footerMessage) { $this->footerMessage = str_replace(' ', ' ', $footerMessage); return $this; } /** * Get footerMessage * * @return string */ public function getFooterMessage() { return $this->footerMessage; } /** * Add residenceArea * * @param \AppBundle\Entity\Billing\ResidenceArea $residenceArea * * @return BillingSetting */ public function addResidenceArea(\AppBundle\Entity\Billing\ResidenceArea $residenceArea) { $residenceArea->setBillingSetting($this); $this->residenceAreas[] = $residenceArea; return $this; } /** * Remove residenceArea * * @param \AppBundle\Entity\Billing\ResidenceArea $residenceArea */ public function removeResidenceArea(\AppBundle\Entity\Billing\ResidenceArea $residenceArea) { $this->residenceAreas->removeElement($residenceArea); } /** * Get residenceAreas * * @return \Doctrine\Common\Collections\Collection */ public function getResidenceAreas() { return $this->residenceAreas; } /** * Set organization * * @param \AppBundle\Entity\Organization\Organization $organization * * @return BillingSetting */ public function setOrganization(\AppBundle\Entity\Organization\Organization $organization) { $this->organization = $organization; return $this; } /** * Get organization * * @return \AppBundle\Entity\Organization\Organization */ public function getOrganization() { return $this->organization; } /** * Add familyQuotient * * @param \AppBundle\Entity\Billing\FamilyQuotient $familyQuotient * * @return BillingSetting */ public function addFamilyQuotient(\AppBundle\Entity\Billing\FamilyQuotient $familyQuotient) { $familyQuotient->setBillingSetting($this); $this->familyQuotients[] = $familyQuotient; return $this; } /** * Remove familyQuotient * * @param \AppBundle\Entity\Billing\FamilyQuotient $familyQuotient */ public function removeFamilyQuotient(\AppBundle\Entity\Billing\FamilyQuotient $familyQuotient) { $this->familyQuotients->removeElement($familyQuotient); } /** * Get familyQuotients * * @return \Doctrine\Common\Collections\Collection */ public function getFamilyQuotients() { return $this->familyQuotients; } /** * Set reductionTotalAmount * * @param array $reductionTotalAmount * * @return BillingSetting */ public function setReductionTotalAmount($reductionTotalAmount) { $this->reductionTotalAmount = $reductionTotalAmount; return $this; } /** * Get reductionTotalAmount * * @return array */ public function getReductionTotalAmount() { return $this->reductionTotalAmount; } /** * Set billLine * * @param array $billLine * * @return BillingSetting */ public function setBillLine($billLine) { $this->billLine = $billLine; return $this; } /** * Get billLine * * @return array */ public function getBillLine() { return $this->billLine; } /** * Set initialBillNumber * * @param integer $initialBillNumber * * @return BillingSetting */ public function setInitialBillNumber($initialBillNumber) { $this->initialBillNumber = $initialBillNumber; return $this; } /** * Get initialBillNumber * * @return integer */ public function getInitialBillNumber() { return $this->initialBillNumber; } /** * Set initialCreditNumber * * @param integer $initialCreditNumber * * @return BillingSetting */ public function setInitialCreditNumber($initialCreditNumber) { $this->initialCreditNumber = $initialCreditNumber; return $this; } /** * Get initialCreditNumber * * @return integer */ public function getInitialCreditNumber() { return $this->initialCreditNumber; } /** * Set billingSettingRent * * @param \AppBundle\Entity\Billing\BillingSettingRent $billingSettingRent * * @return BillingSetting */ public function setBillingSettingRent(\AppBundle\Entity\Billing\BillingSettingRent $billingSettingRent = null) { if (null !== $billingSettingRent) { $billingSettingRent->setBillingSetting($this); $this->billingSettingRent = $billingSettingRent; } return $this; } /** * Get billingSettingRent * * @return \AppBundle\Entity\Billing\BillingSettingRent */ public function getBillingSettingRent() { return $this->billingSettingRent; } /** * Set adultAgeLimit * * @param integer $adultAgeLimit * * @return BillingSetting */ public function setAdultAgeLimit($adultAgeLimit) { $this->adultAgeLimit = intval($adultAgeLimit); return $this; } /** * Get adultAgeLimit * * @return integer */ public function getAdultAgeLimit() { return $this->adultAgeLimit; } /** * Set adhesionPeriodicity * * @param string $adhesionPeriodicity * * @return BillingSetting */ public function setAdhesionPeriodicity($adhesionPeriodicity) { $this->adhesionPeriodicity = $adhesionPeriodicity; return $this; } /** * Get adhesionPeriodicity * * @return string */ public function getAdhesionPeriodicity() { return $this->adhesionPeriodicity; } /** * Set automaticFFECLicensing * * @param boolean $automaticFFECLicensing * * @return BillingSetting */ public function setAutomaticFFECLicensing($automaticFFECLicensing) { $this->automaticFFECLicensing = $automaticFFECLicensing; return $this; } /** * Get automaticFFECLicensing * * @return boolean */ public function getAutomaticFFECLicensing() { return $this->automaticFFECLicensing; } /** * Set familyReductionType * * @param string $familyReductionType * * @return BillingSetting */ public function setFamilyReductionType($familyReductionType) { $this->familyReductionType = $familyReductionType; return $this; } /** * Get familyReductionType * * @return string */ public function getFamilyReductionType() { return $this->familyReductionType; } /** * Set prefixBillNumber * * @param string $prefixBillNumber * * @return BillingSetting */ public function setPrefixBillNumber($prefixBillNumber) { $this->prefixBillNumber = $prefixBillNumber; return $this; } /** * Get prefixBillNumber * * @return string */ public function getPrefixBillNumber() { return $this->prefixBillNumber; } /** * Set digitsToDisplayBillNumber * * @param integer $digitsToDisplayBillNumber * * @return BillingSetting */ public function setDigitsToDisplayBillNumber($digitsToDisplayBillNumber) { $this->digitsToDisplayBillNumber = intval($digitsToDisplayBillNumber); return $this; } /** * Get digitsToDisplayBillNumber * * @return integer */ public function getDigitsToDisplayBillNumber() { return $this->digitsToDisplayBillNumber; } /** * Set prefixBillCredit * * @param string $prefixBillCredit * * @return BillingSetting */ public function setPrefixBillCredit($prefixBillCredit) { $this->prefixBillCredit = $prefixBillCredit; return $this; } /** * Get prefixBillCredit * * @return string */ public function getPrefixBillCredit() { return $this->prefixBillCredit; } /** * Set digitsToDisplayBillCredit * * @param integer $digitsToDisplayBillCredit * * @return BillingSetting */ public function setDigitsToDisplayBillCredit($digitsToDisplayBillCredit) { $this->digitsToDisplayBillCredit = intval($digitsToDisplayBillCredit); return $this; } /** * Get digitsToDisplayBillCredit * * @return integer */ public function getDigitsToDisplayBillCredit() { return $this->digitsToDisplayBillCredit; } /** * Set lockBilling * * @param boolean $lockBilling * * @return BillingSetting */ public function setLockBilling($lockBilling) { $this->lockBilling = $lockBilling; return $this; } /** * Get lockBilling * * @return boolean */ public function getLockBilling() { return $this->lockBilling; } /** * Set orderAdultType * * @param string $orderAdultType * * @return BillingSetting */ public function setOrderAdultType($orderAdultType) { $this->orderAdultType = $orderAdultType; return $this; } /** * Get orderAdultType * * @return string */ public function getOrderAdultType() { return $this->orderAdultType; } /** * Set adultConditionType * * @param string $adultConditionType * * @return BillingSetting */ public function setAdultConditionType($adultConditionType) { $this->adultConditionType = $adultConditionType; return $this; } /** * Get adultConditionType * * @return string */ public function getAdultConditionType() { return $this->adultConditionType; } /** * Set applyAdhesion * * @param boolean $applyAdhesion * * @return BillingSetting */ public function setApplyAdhesion($applyAdhesion) { $this->applyAdhesion = $applyAdhesion; return $this; } /** * Get applyAdhesion * * @return boolean */ public function getApplyAdhesion() { return $this->applyAdhesion; } /** * Set includeRentalInBilling * * @param boolean $includeRentalInBilling * * @return BillingSetting */ public function setIncludeRentalInBilling($includeRentalInBilling) { $this->includeRentalInBilling = $includeRentalInBilling; return $this; } /** * Get includeRentalInBilling * * @return boolean */ public function getIncludeRentalInBilling() { return $this->includeRentalInBilling; } /** * Set reductionTotalAccountingCode * * @param string $reductionTotalAccountingCode * * @return BillingSetting */ public function setReductionTotalAccountingCode($reductionTotalAccountingCode) { $this->reductionTotalAccountingCode = $reductionTotalAccountingCode; return $this; } /** * Get reductionTotalAccountingCode * * @return string */ public function getReductionTotalAccountingCode() { return $this->reductionTotalAccountingCode; } /** * Set reductionTotalNature * * @param integer $reductionTotalNature * * @return BillingSetting */ public function setReductionTotalNature($reductionTotalNature) { $this->reductionTotalNature = $reductionTotalNature; return $this; } /** * Get reductionTotalNature * * @return integer */ public function getReductionTotalNature() { return $this->reductionTotalNature; } /** * Set reductionTotalAccountingCodelabel * * @param string $reductionTotalAccountingCodelabel * * @return BillingSetting */ public function setReductionTotalAccountingCodelabel($reductionTotalAccountingCodelabel) { $this->reductionTotalAccountingCodelabel = $reductionTotalAccountingCodelabel; return $this; } /** * Get reductionTotalAccountingCodelabel * * @return string */ public function getReductionTotalAccountingCodelabel() { return $this->reductionTotalAccountingCodelabel; } /** * Set amountMinorDifference * * @param float $amountMinorDifference * * @return BillingSetting */ public function setAmountMinorDifference($amountMinorDifference) { $this->amountMinorDifference = floatval($amountMinorDifference); return $this; } /** * Get amountMinorDifference * * @return float */ public function getAmountMinorDifference() { return $this->amountMinorDifference; } /** * Set ignoreZeroTotalAmountExport * * @param boolean $ignoreZeroTotalAmountExport * * @return BillingSetting */ public function setIgnoreZeroTotalAmountExport($ignoreZeroTotalAmountExport) { $this->ignoreZeroTotalAmountExport = $ignoreZeroTotalAmountExport; return $this; } /** * Get ignoreZeroTotalAmountExport * * @return boolean */ public function getIgnoreZeroTotalAmountExport() { return $this->ignoreZeroTotalAmountExport; } /** * Set dayOfMonthBillPayments * * @param integer $dayOfMonthBillPayments * * @return BillingSetting */ public function setDayOfMonthBillPayments($dayOfMonthBillPayments) { $this->dayOfMonthBillPayments = $dayOfMonthBillPayments; return $this; } /** * Get dayOfMonthBillPayments * * @return integer */ public function getDayOfMonthBillPayments() { return $this->dayOfMonthBillPayments; } }