BillingSetting.php 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090
  1. <?php
  2. namespace AppBundle\Entity\Billing;
  3. use AppBundle\Entity\AccessAndFunction\Access;
  4. use AppBundle\Entity\Organization\Organization;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Dunglas\ApiBundle\Annotation\Iri;
  8. use Symfony\Component\Serializer\Annotation\Groups;
  9. use Symfony\Component\Validator\Constraints as Assert;
  10. use AppBundle\Entity\Traits\TimestampableEntity;
  11. use AppBundle\Entity\Traits\CreatorUpdaterEntity;
  12. use AppBundle\Annotation\DefaultField;
  13. /**
  14. * Paramètres globaux d'une Organization concernant la facturation
  15. *
  16. * @Iri("http://schema.org/BillingSettings")
  17. */
  18. #[ORM\Entity]
  19. class BillingSetting
  20. {
  21. use TimestampableEntity;
  22. use CreatorUpdaterEntity;
  23. /**
  24. * @var int
  25. */
  26. #[ORM\Column(type: 'integer')]
  27. #[ORM\Id]
  28. #[ORM\GeneratedValue(strategy: 'AUTO')]
  29. #[Groups(['billingsetting'])]
  30. private $id;
  31. /**
  32. * @var Organization
  33. *
  34. * @DefaultField
  35. */
  36. #[ORM\OneToOne(targetEntity: 'AppBundle\Entity\Organization\Organization', inversedBy: 'billingSetting', fetch: 'EAGER')]
  37. #[ORM\JoinColumn(nullable: false)]
  38. #[Assert\NotNull]
  39. #[Groups(['billingsetting', 'parameters'])]
  40. private $organization;
  41. /**
  42. * @var string
  43. */
  44. #[ORM\Column(type: 'string', nullable: true)]
  45. #[Assert\Type(type: 'string')]
  46. #[Assert\Choice(callback: ['\AppBundle\Enum\Billing\PeriodicityEnum', 'toArray'])]
  47. #[Groups(['billingsetting'])]
  48. private $periodicity;
  49. /**
  50. * @var bool
  51. */
  52. #[ORM\Column(type: 'boolean', options: ['default' => false])]
  53. #[Assert\Type(type: 'boolean')]
  54. #[Assert\NotNull]
  55. #[Groups(['billingsetting'])]
  56. private $applyAdhesion = false;
  57. /**
  58. * @var array
  59. */
  60. #[ORM\Column(type: 'json_array', nullable: true)]
  61. #[Groups(['billingsetting'])]
  62. private $adhesion;
  63. /**
  64. * @var string
  65. */
  66. #[ORM\Column(type: 'string', nullable: true)]
  67. #[Assert\Type(type: 'string')]
  68. #[Assert\Choice(callback: ['\AppBundle\Enum\Billing\PeriodicityEnum', 'toArray'])]
  69. #[Groups(['billingsetting'])]
  70. private $adhesionPeriodicity;
  71. /**
  72. * @var int
  73. */
  74. #[ORM\Column(type: 'integer', nullable: true)]
  75. #[Assert\Type(type: 'integer', message: 'invalid-integer')]
  76. #[Groups(['billingsetting'])]
  77. private $paymentNumber;
  78. /**
  79. * @var ArrayCollection<ResidenceArea>
  80. */
  81. #[Assert\Valid]
  82. #[ORM\OneToMany(targetEntity: 'ResidenceArea', mappedBy: 'billingSetting', cascade: ['persist'], orphanRemoval: true)]
  83. #[Groups(['billingsetting_residencearea', 'parameters'])]
  84. private $residenceAreas;
  85. /**
  86. * @var bool
  87. */
  88. #[ORM\Column(type: 'boolean', options: ['default' => false])]
  89. #[Assert\Type(type: 'boolean')]
  90. #[Assert\NotNull]
  91. #[Groups(['billingsetting'])]
  92. private $applyVat = false;
  93. /**
  94. * @var float
  95. */
  96. #[ORM\Column(type: 'float', nullable: true)]
  97. #[Assert\Type(type: 'float')]
  98. #[Groups(['billingsetting'])]
  99. private $amountVat;
  100. /**
  101. * @var string
  102. *
  103. *
  104. */
  105. #[ORM\Column(type: 'text', nullable: true)]
  106. #[Assert\Type(type: 'string')]
  107. #[Groups(['billingsetting'])]
  108. private $headerMessage;
  109. /**
  110. * @var string
  111. *
  112. *
  113. */
  114. #[ORM\Column(type: 'text', nullable: true)]
  115. #[Assert\Type(type: 'string')]
  116. #[Groups(['billingsetting'])]
  117. private $footerMessage;
  118. /**
  119. * @var int
  120. */
  121. #[ORM\Column(type: 'integer', nullable: true)]
  122. #[Assert\Type(type: 'integer', message: 'invalid-integer')]
  123. #[Groups(['billingsetting'])]
  124. private $adultAgeLimit;
  125. /**
  126. * @var ArrayCollection<FamilyQuotient>
  127. */
  128. #[Assert\Valid]
  129. #[ORM\OneToMany(targetEntity: 'FamilyQuotient', mappedBy: 'billingSetting', cascade: ['persist'], orphanRemoval: true)]
  130. #[Groups(['billingsetting_familyquotient'])]
  131. private $familyQuotients;
  132. /**
  133. * @var array
  134. */
  135. #[ORM\Column(type: 'json_array', nullable: true)]
  136. #[Groups(['billingsetting'])]
  137. private $reductionTotalAmount;
  138. /**
  139. * @var array
  140. */
  141. #[ORM\Column(type: 'json_array', nullable: true)]
  142. #[Groups(['billingsetting'])]
  143. private $billLine;
  144. /**
  145. * @var string
  146. */
  147. #[ORM\Column(type: 'string', length: 10, nullable: true, options: ['default' => 'F'])]
  148. #[Assert\Type(type: 'string')]
  149. #[Assert\Length(max: 10, maxMessage: 'invalid-max-length')]
  150. #[Groups(['billingsetting'])]
  151. private $prefixBillNumber = "F";
  152. /**
  153. * @var int
  154. */
  155. #[ORM\Column(type: 'integer', nullable: true, options: ['default' => 6])]
  156. #[Groups(['billingsetting'])]
  157. private $digitsToDisplayBillNumber = 6;
  158. /**
  159. * @var int
  160. */
  161. #[ORM\Column(type: 'integer', nullable: true, options: ['default' => 1])]
  162. #[Groups(['billingsetting'])]
  163. private $initialBillNumber = 1;
  164. /**
  165. * @var string
  166. */
  167. #[ORM\Column(type: 'string', length: 10, nullable: true, options: ['default' => 'A'])]
  168. #[Assert\Type(type: 'string')]
  169. #[Assert\Length(max: 10, maxMessage: 'invalid-max-length')]
  170. #[Groups(['billingsetting'])]
  171. private $prefixBillCredit = "A";
  172. /**
  173. * @var int
  174. */
  175. #[ORM\Column(type: 'integer', nullable: true, options: ['default' => 6])]
  176. #[Groups(['billingsetting'])]
  177. private $digitsToDisplayBillCredit = 6;
  178. /**
  179. * @var int
  180. */
  181. #[ORM\Column(type: 'integer', nullable: true, options: ['default' => 1])]
  182. #[Groups(['billingsetting'])]
  183. private $initialCreditNumber = 1;
  184. /**
  185. * @var BillingSettingRent
  186. */
  187. #[Assert\Valid]
  188. #[ORM\OneToOne(targetEntity: 'AppBundle\Entity\Billing\BillingSettingRent', mappedBy: 'billingSetting', cascade: ['persist'], orphanRemoval: true, fetch: 'EAGER')]
  189. #[Groups(['billingsetting'])]
  190. private $billingSettingRent;
  191. /**
  192. * @var bool
  193. */
  194. #[ORM\Column(type: 'boolean', options: ['default' => false])]
  195. #[Assert\Type(type: 'boolean')]
  196. #[Assert\NotNull]
  197. #[Groups(['billingsetting'])]
  198. private $automaticFFECLicensing = false;
  199. /**
  200. * @var string
  201. */
  202. #[ORM\Column(type: 'string', nullable: true)]
  203. #[Assert\Type(type: 'string')]
  204. #[Assert\Choice(callback: ['\AppBundle\Enum\Billing\FamilyReductionTypeEnum', 'toArray'])]
  205. #[Groups(['billingsetting'])]
  206. private $familyReductionType;
  207. /**
  208. * @var bool
  209. */
  210. #[ORM\Column(type: 'boolean', options: ['default' => false])]
  211. #[Assert\Type(type: 'boolean')]
  212. #[Assert\NotNull]
  213. #[Groups(['billingsetting'])]
  214. private $lockBilling = false;
  215. /**
  216. * @var string
  217. */
  218. #[ORM\Column(type: 'string', options: ['default' => 'WITHOUT_ORDER'])]
  219. #[Assert\Type(type: 'string')]
  220. #[Assert\NotNull]
  221. #[Assert\Choice(callback: ['\AppBundle\Enum\Billing\OrderAdultTypeEnum', 'toArray'])]
  222. #[Groups(['billingsetting'])]
  223. private $orderAdultType = "WITHOUT_ORDER";
  224. /**
  225. * @var string
  226. */
  227. #[ORM\Column(type: 'string', options: ['default' => 'ONLY_AGE'])]
  228. #[Assert\Type(type: 'string')]
  229. #[Assert\NotNull]
  230. #[Assert\Choice(callback: ['\AppBundle\Enum\Billing\AdultConditionTypeEnum', 'toArray'])]
  231. #[Groups(['billingsetting'])]
  232. private $adultConditionType = "ONLY_AGE";
  233. /**
  234. * @var bool
  235. */
  236. #[ORM\Column(type: 'boolean', options: ['default' => true])]
  237. #[Assert\Type(type: 'boolean')]
  238. #[Assert\NotNull]
  239. #[Groups(['billingsetting'])]
  240. private $includeRentalInBilling = true;
  241. /**
  242. * @var string
  243. */
  244. #[ORM\Column(type: 'string', length: 7, nullable: true)]
  245. #[Assert\Length(max: 7, maxMessage: 'invalid-max-length')]
  246. #[Assert\Type(type: 'string')]
  247. #[Groups(['billingsetting'])]
  248. private $reductionTotalAccountingCode;
  249. /**
  250. * @var int
  251. */
  252. #[ORM\Column(type: 'integer', nullable: true)]
  253. #[Assert\Type(type: 'integer', message: 'invalid-integer')]
  254. #[Groups(['billingsetting'])]
  255. private $reductionTotalNature;
  256. /**
  257. * @var string
  258. */
  259. #[ORM\Column(type: 'string', length: 200, nullable: true)]
  260. #[Assert\Type(type: 'string')]
  261. #[Groups(['billingsetting'])]
  262. private $reductionTotalAccountingCodelabel;
  263. /**
  264. * @var float
  265. */
  266. #[ORM\Column(type: 'float', nullable: true, options: ['default' => '0.2'])]
  267. #[Assert\Type(type: 'float')]
  268. #[Groups(['billingsetting'])]
  269. private $amountMinorDifference = 0.2;
  270. /**
  271. * @var bool
  272. */
  273. #[ORM\Column(type: 'boolean', options: ['default' => false])]
  274. #[Assert\Type(type: 'boolean')]
  275. #[Assert\NotNull]
  276. #[Groups(['billingsetting'])]
  277. private $ignoreZeroTotalAmountExport = false;
  278. /**
  279. * @var int
  280. */
  281. #[ORM\Column(type: 'integer', nullable: false, options: ['default' => 1])]
  282. #[Assert\Type(type: 'integer', message: 'invalid-integer')]
  283. #[Assert\NotNull]
  284. #[Assert\Range(min: 1, max: 31, minMessage: 'valeur minimum: {{ limit }}', maxMessage: 'valeur maximale: {{ limit }}')]
  285. #[Groups(['billingsetting'])]
  286. private $dayOfMonthBillPayments = 1;
  287. /**
  288. * Constructor
  289. */
  290. public function __construct()
  291. {
  292. $this->residenceAreas = new ArrayCollection();
  293. $this->familyQuotients = new ArrayCollection();
  294. }
  295. /**
  296. * Sets id.
  297. *
  298. * @param int $id
  299. *
  300. * @return $this
  301. */
  302. public function setId($id)
  303. {
  304. $this->id = $id;
  305. return $this;
  306. }
  307. /**
  308. * Gets id.
  309. *
  310. * @return int
  311. */
  312. public function getId()
  313. {
  314. return $this->id;
  315. }
  316. /**
  317. * Set periodicity
  318. *
  319. * @param string $periodicity
  320. *
  321. * @return BillingSetting
  322. */
  323. public function setPeriodicity($periodicity)
  324. {
  325. $this->periodicity = $periodicity;
  326. return $this;
  327. }
  328. /**
  329. * Get periodicity
  330. *
  331. * @return string
  332. */
  333. public function getPeriodicity()
  334. {
  335. return $this->periodicity;
  336. }
  337. /**
  338. * Set adhesion
  339. *
  340. * @param array $adhesion
  341. *
  342. * @return BillingSetting
  343. */
  344. public function setAdhesion($adhesion)
  345. {
  346. $this->adhesion = $adhesion;
  347. return $this;
  348. }
  349. /**
  350. * Get adhesion
  351. *
  352. * @return array
  353. */
  354. public function getAdhesion()
  355. {
  356. return $this->adhesion;
  357. }
  358. /**
  359. * Set paymentNumber
  360. *
  361. * @param integer $paymentNumber
  362. *
  363. * @return BillingSetting
  364. */
  365. public function setPaymentNumber($paymentNumber)
  366. {
  367. $this->paymentNumber = $paymentNumber;
  368. return $this;
  369. }
  370. /**
  371. * Get paymentNumber
  372. *
  373. * @return integer
  374. */
  375. public function getPaymentNumber()
  376. {
  377. return $this->paymentNumber;
  378. }
  379. /**
  380. * Set applyVat
  381. *
  382. * @param boolean $applyVat
  383. *
  384. * @return BillingSetting
  385. */
  386. public function setApplyVat($applyVat)
  387. {
  388. $this->applyVat = $applyVat;
  389. return $this;
  390. }
  391. /**
  392. * Get applyVat
  393. *
  394. * @return boolean
  395. */
  396. public function getApplyVat()
  397. {
  398. return $this->applyVat;
  399. }
  400. /**
  401. * Set amountVat
  402. *
  403. * @param float $amountVat
  404. *
  405. * @return BillingSetting
  406. */
  407. public function setAmountVat($amountVat)
  408. {
  409. $this->amountVat = floatval($amountVat);
  410. return $this;
  411. }
  412. /**
  413. * Get amountVat
  414. *
  415. * @return float
  416. */
  417. public function getAmountVat()
  418. {
  419. return $this->amountVat;
  420. }
  421. /**
  422. * Set headerMessage
  423. *
  424. * @param string $headerMessage
  425. *
  426. * @return BillingSetting
  427. */
  428. public function setHeaderMessage($headerMessage)
  429. {
  430. $this->headerMessage = str_replace('&nbsp;', ' ', $headerMessage);
  431. return $this;
  432. }
  433. /**
  434. * Get headerMessage
  435. *
  436. * @return string
  437. */
  438. public function getHeaderMessage()
  439. {
  440. return $this->headerMessage;
  441. }
  442. /**
  443. * Set footerMessage
  444. *
  445. * @param string $footerMessage
  446. *
  447. * @return BillingSetting
  448. */
  449. public function setFooterMessage($footerMessage)
  450. {
  451. $this->footerMessage = str_replace('&nbsp;', ' ', $footerMessage);
  452. return $this;
  453. }
  454. /**
  455. * Get footerMessage
  456. *
  457. * @return string
  458. */
  459. public function getFooterMessage()
  460. {
  461. return $this->footerMessage;
  462. }
  463. /**
  464. * Add residenceArea
  465. *
  466. * @param \AppBundle\Entity\Billing\ResidenceArea $residenceArea
  467. *
  468. * @return BillingSetting
  469. */
  470. public function addResidenceArea(\AppBundle\Entity\Billing\ResidenceArea $residenceArea)
  471. {
  472. $residenceArea->setBillingSetting($this);
  473. $this->residenceAreas[] = $residenceArea;
  474. return $this;
  475. }
  476. /**
  477. * Remove residenceArea
  478. *
  479. * @param \AppBundle\Entity\Billing\ResidenceArea $residenceArea
  480. */
  481. public function removeResidenceArea(\AppBundle\Entity\Billing\ResidenceArea $residenceArea)
  482. {
  483. $this->residenceAreas->removeElement($residenceArea);
  484. }
  485. /**
  486. * Get residenceAreas
  487. *
  488. * @return \Doctrine\Common\Collections\Collection
  489. */
  490. public function getResidenceAreas()
  491. {
  492. return $this->residenceAreas;
  493. }
  494. /**
  495. * Set organization
  496. *
  497. * @param \AppBundle\Entity\Organization\Organization $organization
  498. *
  499. * @return BillingSetting
  500. */
  501. public function setOrganization(\AppBundle\Entity\Organization\Organization $organization)
  502. {
  503. $this->organization = $organization;
  504. return $this;
  505. }
  506. /**
  507. * Get organization
  508. *
  509. * @return \AppBundle\Entity\Organization\Organization
  510. */
  511. public function getOrganization()
  512. {
  513. return $this->organization;
  514. }
  515. /**
  516. * Add familyQuotient
  517. *
  518. * @param \AppBundle\Entity\Billing\FamilyQuotient $familyQuotient
  519. *
  520. * @return BillingSetting
  521. */
  522. public function addFamilyQuotient(\AppBundle\Entity\Billing\FamilyQuotient $familyQuotient)
  523. {
  524. $familyQuotient->setBillingSetting($this);
  525. $this->familyQuotients[] = $familyQuotient;
  526. return $this;
  527. }
  528. /**
  529. * Remove familyQuotient
  530. *
  531. * @param \AppBundle\Entity\Billing\FamilyQuotient $familyQuotient
  532. */
  533. public function removeFamilyQuotient(\AppBundle\Entity\Billing\FamilyQuotient $familyQuotient)
  534. {
  535. $this->familyQuotients->removeElement($familyQuotient);
  536. }
  537. /**
  538. * Get familyQuotients
  539. *
  540. * @return \Doctrine\Common\Collections\Collection
  541. */
  542. public function getFamilyQuotients()
  543. {
  544. return $this->familyQuotients;
  545. }
  546. /**
  547. * Set reductionTotalAmount
  548. *
  549. * @param array $reductionTotalAmount
  550. *
  551. * @return BillingSetting
  552. */
  553. public function setReductionTotalAmount($reductionTotalAmount)
  554. {
  555. $this->reductionTotalAmount = $reductionTotalAmount;
  556. return $this;
  557. }
  558. /**
  559. * Get reductionTotalAmount
  560. *
  561. * @return array
  562. */
  563. public function getReductionTotalAmount()
  564. {
  565. return $this->reductionTotalAmount;
  566. }
  567. /**
  568. * Set billLine
  569. *
  570. * @param array $billLine
  571. *
  572. * @return BillingSetting
  573. */
  574. public function setBillLine($billLine)
  575. {
  576. $this->billLine = $billLine;
  577. return $this;
  578. }
  579. /**
  580. * Get billLine
  581. *
  582. * @return array
  583. */
  584. public function getBillLine()
  585. {
  586. return $this->billLine;
  587. }
  588. /**
  589. * Set initialBillNumber
  590. *
  591. * @param integer $initialBillNumber
  592. *
  593. * @return BillingSetting
  594. */
  595. public function setInitialBillNumber($initialBillNumber)
  596. {
  597. $this->initialBillNumber = $initialBillNumber;
  598. return $this;
  599. }
  600. /**
  601. * Get initialBillNumber
  602. *
  603. * @return integer
  604. */
  605. public function getInitialBillNumber()
  606. {
  607. return $this->initialBillNumber;
  608. }
  609. /**
  610. * Set initialCreditNumber
  611. *
  612. * @param integer $initialCreditNumber
  613. *
  614. * @return BillingSetting
  615. */
  616. public function setInitialCreditNumber($initialCreditNumber)
  617. {
  618. $this->initialCreditNumber = $initialCreditNumber;
  619. return $this;
  620. }
  621. /**
  622. * Get initialCreditNumber
  623. *
  624. * @return integer
  625. */
  626. public function getInitialCreditNumber()
  627. {
  628. return $this->initialCreditNumber;
  629. }
  630. /**
  631. * Set billingSettingRent
  632. *
  633. * @param \AppBundle\Entity\Billing\BillingSettingRent $billingSettingRent
  634. *
  635. * @return BillingSetting
  636. */
  637. public function setBillingSettingRent(\AppBundle\Entity\Billing\BillingSettingRent $billingSettingRent = null)
  638. {
  639. if (null !== $billingSettingRent) {
  640. $billingSettingRent->setBillingSetting($this);
  641. $this->billingSettingRent = $billingSettingRent;
  642. }
  643. return $this;
  644. }
  645. /**
  646. * Get billingSettingRent
  647. *
  648. * @return \AppBundle\Entity\Billing\BillingSettingRent
  649. */
  650. public function getBillingSettingRent()
  651. {
  652. return $this->billingSettingRent;
  653. }
  654. /**
  655. * Set adultAgeLimit
  656. *
  657. * @param integer $adultAgeLimit
  658. *
  659. * @return BillingSetting
  660. */
  661. public function setAdultAgeLimit($adultAgeLimit)
  662. {
  663. $this->adultAgeLimit = intval($adultAgeLimit);
  664. return $this;
  665. }
  666. /**
  667. * Get adultAgeLimit
  668. *
  669. * @return integer
  670. */
  671. public function getAdultAgeLimit()
  672. {
  673. return $this->adultAgeLimit;
  674. }
  675. /**
  676. * Set adhesionPeriodicity
  677. *
  678. * @param string $adhesionPeriodicity
  679. *
  680. * @return BillingSetting
  681. */
  682. public function setAdhesionPeriodicity($adhesionPeriodicity)
  683. {
  684. $this->adhesionPeriodicity = $adhesionPeriodicity;
  685. return $this;
  686. }
  687. /**
  688. * Get adhesionPeriodicity
  689. *
  690. * @return string
  691. */
  692. public function getAdhesionPeriodicity()
  693. {
  694. return $this->adhesionPeriodicity;
  695. }
  696. /**
  697. * Set automaticFFECLicensing
  698. *
  699. * @param boolean $automaticFFECLicensing
  700. *
  701. * @return BillingSetting
  702. */
  703. public function setAutomaticFFECLicensing($automaticFFECLicensing)
  704. {
  705. $this->automaticFFECLicensing = $automaticFFECLicensing;
  706. return $this;
  707. }
  708. /**
  709. * Get automaticFFECLicensing
  710. *
  711. * @return boolean
  712. */
  713. public function getAutomaticFFECLicensing()
  714. {
  715. return $this->automaticFFECLicensing;
  716. }
  717. /**
  718. * Set familyReductionType
  719. *
  720. * @param string $familyReductionType
  721. *
  722. * @return BillingSetting
  723. */
  724. public function setFamilyReductionType($familyReductionType)
  725. {
  726. $this->familyReductionType = $familyReductionType;
  727. return $this;
  728. }
  729. /**
  730. * Get familyReductionType
  731. *
  732. * @return string
  733. */
  734. public function getFamilyReductionType()
  735. {
  736. return $this->familyReductionType;
  737. }
  738. /**
  739. * Set prefixBillNumber
  740. *
  741. * @param string $prefixBillNumber
  742. *
  743. * @return BillingSetting
  744. */
  745. public function setPrefixBillNumber($prefixBillNumber)
  746. {
  747. $this->prefixBillNumber = $prefixBillNumber;
  748. return $this;
  749. }
  750. /**
  751. * Get prefixBillNumber
  752. *
  753. * @return string
  754. */
  755. public function getPrefixBillNumber()
  756. {
  757. return $this->prefixBillNumber;
  758. }
  759. /**
  760. * Set digitsToDisplayBillNumber
  761. *
  762. * @param integer $digitsToDisplayBillNumber
  763. *
  764. * @return BillingSetting
  765. */
  766. public function setDigitsToDisplayBillNumber($digitsToDisplayBillNumber)
  767. {
  768. $this->digitsToDisplayBillNumber = intval($digitsToDisplayBillNumber);
  769. return $this;
  770. }
  771. /**
  772. * Get digitsToDisplayBillNumber
  773. *
  774. * @return integer
  775. */
  776. public function getDigitsToDisplayBillNumber()
  777. {
  778. return $this->digitsToDisplayBillNumber;
  779. }
  780. /**
  781. * Set prefixBillCredit
  782. *
  783. * @param string $prefixBillCredit
  784. *
  785. * @return BillingSetting
  786. */
  787. public function setPrefixBillCredit($prefixBillCredit)
  788. {
  789. $this->prefixBillCredit = $prefixBillCredit;
  790. return $this;
  791. }
  792. /**
  793. * Get prefixBillCredit
  794. *
  795. * @return string
  796. */
  797. public function getPrefixBillCredit()
  798. {
  799. return $this->prefixBillCredit;
  800. }
  801. /**
  802. * Set digitsToDisplayBillCredit
  803. *
  804. * @param integer $digitsToDisplayBillCredit
  805. *
  806. * @return BillingSetting
  807. */
  808. public function setDigitsToDisplayBillCredit($digitsToDisplayBillCredit)
  809. {
  810. $this->digitsToDisplayBillCredit = intval($digitsToDisplayBillCredit);
  811. return $this;
  812. }
  813. /**
  814. * Get digitsToDisplayBillCredit
  815. *
  816. * @return integer
  817. */
  818. public function getDigitsToDisplayBillCredit()
  819. {
  820. return $this->digitsToDisplayBillCredit;
  821. }
  822. /**
  823. * Set lockBilling
  824. *
  825. * @param boolean $lockBilling
  826. *
  827. * @return BillingSetting
  828. */
  829. public function setLockBilling($lockBilling)
  830. {
  831. $this->lockBilling = $lockBilling;
  832. return $this;
  833. }
  834. /**
  835. * Get lockBilling
  836. *
  837. * @return boolean
  838. */
  839. public function getLockBilling()
  840. {
  841. return $this->lockBilling;
  842. }
  843. /**
  844. * Set orderAdultType
  845. *
  846. * @param string $orderAdultType
  847. *
  848. * @return BillingSetting
  849. */
  850. public function setOrderAdultType($orderAdultType)
  851. {
  852. $this->orderAdultType = $orderAdultType;
  853. return $this;
  854. }
  855. /**
  856. * Get orderAdultType
  857. *
  858. * @return string
  859. */
  860. public function getOrderAdultType()
  861. {
  862. return $this->orderAdultType;
  863. }
  864. /**
  865. * Set adultConditionType
  866. *
  867. * @param string $adultConditionType
  868. *
  869. * @return BillingSetting
  870. */
  871. public function setAdultConditionType($adultConditionType)
  872. {
  873. $this->adultConditionType = $adultConditionType;
  874. return $this;
  875. }
  876. /**
  877. * Get adultConditionType
  878. *
  879. * @return string
  880. */
  881. public function getAdultConditionType()
  882. {
  883. return $this->adultConditionType;
  884. }
  885. /**
  886. * Set applyAdhesion
  887. *
  888. * @param boolean $applyAdhesion
  889. *
  890. * @return BillingSetting
  891. */
  892. public function setApplyAdhesion($applyAdhesion)
  893. {
  894. $this->applyAdhesion = $applyAdhesion;
  895. return $this;
  896. }
  897. /**
  898. * Get applyAdhesion
  899. *
  900. * @return boolean
  901. */
  902. public function getApplyAdhesion()
  903. {
  904. return $this->applyAdhesion;
  905. }
  906. /**
  907. * Set includeRentalInBilling
  908. *
  909. * @param boolean $includeRentalInBilling
  910. *
  911. * @return BillingSetting
  912. */
  913. public function setIncludeRentalInBilling($includeRentalInBilling)
  914. {
  915. $this->includeRentalInBilling = $includeRentalInBilling;
  916. return $this;
  917. }
  918. /**
  919. * Get includeRentalInBilling
  920. *
  921. * @return boolean
  922. */
  923. public function getIncludeRentalInBilling()
  924. {
  925. return $this->includeRentalInBilling;
  926. }
  927. /**
  928. * Set reductionTotalAccountingCode
  929. *
  930. * @param string $reductionTotalAccountingCode
  931. *
  932. * @return BillingSetting
  933. */
  934. public function setReductionTotalAccountingCode($reductionTotalAccountingCode)
  935. {
  936. $this->reductionTotalAccountingCode = $reductionTotalAccountingCode;
  937. return $this;
  938. }
  939. /**
  940. * Get reductionTotalAccountingCode
  941. *
  942. * @return string
  943. */
  944. public function getReductionTotalAccountingCode()
  945. {
  946. return $this->reductionTotalAccountingCode;
  947. }
  948. /**
  949. * Set reductionTotalNature
  950. *
  951. * @param integer $reductionTotalNature
  952. *
  953. * @return BillingSetting
  954. */
  955. public function setReductionTotalNature($reductionTotalNature)
  956. {
  957. $this->reductionTotalNature = $reductionTotalNature;
  958. return $this;
  959. }
  960. /**
  961. * Get reductionTotalNature
  962. *
  963. * @return integer
  964. */
  965. public function getReductionTotalNature()
  966. {
  967. return $this->reductionTotalNature;
  968. }
  969. /**
  970. * Set reductionTotalAccountingCodelabel
  971. *
  972. * @param string $reductionTotalAccountingCodelabel
  973. *
  974. * @return BillingSetting
  975. */
  976. public function setReductionTotalAccountingCodelabel($reductionTotalAccountingCodelabel)
  977. {
  978. $this->reductionTotalAccountingCodelabel = $reductionTotalAccountingCodelabel;
  979. return $this;
  980. }
  981. /**
  982. * Get reductionTotalAccountingCodelabel
  983. *
  984. * @return string
  985. */
  986. public function getReductionTotalAccountingCodelabel()
  987. {
  988. return $this->reductionTotalAccountingCodelabel;
  989. }
  990. /**
  991. * Set amountMinorDifference
  992. *
  993. * @param float $amountMinorDifference
  994. *
  995. * @return BillingSetting
  996. */
  997. public function setAmountMinorDifference($amountMinorDifference)
  998. {
  999. $this->amountMinorDifference = floatval($amountMinorDifference);
  1000. return $this;
  1001. }
  1002. /**
  1003. * Get amountMinorDifference
  1004. *
  1005. * @return float
  1006. */
  1007. public function getAmountMinorDifference()
  1008. {
  1009. return $this->amountMinorDifference;
  1010. }
  1011. /**
  1012. * Set ignoreZeroTotalAmountExport
  1013. *
  1014. * @param boolean $ignoreZeroTotalAmountExport
  1015. *
  1016. * @return BillingSetting
  1017. */
  1018. public function setIgnoreZeroTotalAmountExport($ignoreZeroTotalAmountExport)
  1019. {
  1020. $this->ignoreZeroTotalAmountExport = $ignoreZeroTotalAmountExport;
  1021. return $this;
  1022. }
  1023. /**
  1024. * Get ignoreZeroTotalAmountExport
  1025. *
  1026. * @return boolean
  1027. */
  1028. public function getIgnoreZeroTotalAmountExport()
  1029. {
  1030. return $this->ignoreZeroTotalAmountExport;
  1031. }
  1032. /**
  1033. * Set dayOfMonthBillPayments
  1034. *
  1035. * @param integer $dayOfMonthBillPayments
  1036. *
  1037. * @return BillingSetting
  1038. */
  1039. public function setDayOfMonthBillPayments($dayOfMonthBillPayments)
  1040. {
  1041. $this->dayOfMonthBillPayments = $dayOfMonthBillPayments;
  1042. return $this;
  1043. }
  1044. /**
  1045. * Get dayOfMonthBillPayments
  1046. *
  1047. * @return integer
  1048. */
  1049. public function getDayOfMonthBillPayments()
  1050. {
  1051. return $this->dayOfMonthBillPayments;
  1052. }
  1053. }