<?php
namespace App\Entity;
use App\Repository\ReglementRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ReglementRepository::class)
*/
class Reglement
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Session::class, inversedBy="reglementParticuliers")
*/
private $session;
/**
* @ORM\ManyToOne(targetEntity=Tier::class, inversedBy="reglementParticuliers")
* @ORM\JoinColumn(nullable=false)
*/
private $tier;
/**
* @ORM\ManyToOne(targetEntity=Site::class)
*/
private $site;
/**
* @ORM\ManyToOne(targetEntity=MoyPaiement::class, inversedBy="reglements")
* @ORM\JoinColumn(nullable=false)
*/
private $modpaiement;
/**
* @ORM\Column(type="date",nullable=true)
*/
private $data;
/**
* @ORM\Column(type="float")
*/
private $montant;
/**
* @ORM\Column(type="float",nullable="true")
*/
private $restepayer;
/**
* @ORM\Column(type="datetime")
*/
private $createdat;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $updateat;
/**
* @ORM\ManyToOne(targetEntity=Financement::class, inversedBy="reglements",cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
*/
private $financement;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $is_deleted;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $montantimpute;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $resteaimputer;
/**
* @ORM\ManyToMany(targetEntity=ReglementEcheance::class, mappedBy="reglement")
*/
private $reglementEcheances;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $noteReglement;
public function __construct()
{
$this->montantimpute = 0;
$this->reglementEcheances = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getSession(): ?Session
{
return $this->session;
}
public function setSession(?Session $session): self
{
$this->session = $session;
return $this;
}
public function getTier(): ?Tier
{
return $this->tier;
}
public function setTier(?Tier $tier): self
{
$this->tier = $tier;
return $this;
}
public function getSite(): ?Site
{
return $this->site;
}
public function setSite(?Site $site): self
{
$this->site = $site;
return $this;
}
public function getModpaiement(): ?MoyPaiement
{
return $this->modpaiement;
}
public function setModpaiement(?MoyPaiement $modpaiement): self
{
$this->modpaiement = $modpaiement;
return $this;
}
public function getData(): ?\DateTimeInterface
{
return $this->data;
}
public function setData(\DateTimeInterface $data): self
{
$this->data = $data;
return $this;
}
public function getMontant(): ?float
{
return $this->montant;
}
public function setMontant(float $montant): self
{
$this->montant = $montant;
return $this;
}
public function getRestepayer(): ?float
{
return $this->restepayer;
}
public function setRestepayer(float $restepayer): self
{
$this->restepayer = $restepayer;
return $this;
}
public function getCreatedat(): ?\DateTimeInterface
{
return $this->createdat;
}
public function setCreatedat(\DateTimeInterface $createdat): self
{
$this->createdat = $createdat;
return $this;
}
public function getUpdateat(): ?\DateTimeInterface
{
return $this->updateat;
}
public function setUpdateat(?\DateTimeInterface $updateat): self
{
$this->updateat = $updateat;
return $this;
}
public function getFinancement(): ?Financement
{
return $this->financement;
}
public function setFinancement(?Financement $financement): self
{
$this->financement = $financement;
return $this;
}
public function isIsDeleted(): ?bool
{
return $this->is_deleted;
}
public function setIsDeleted(?bool $is_deleted): self
{
$this->is_deleted = $is_deleted;
return $this;
}
public function getMontantimpute(): ?float
{
return $this->montantimpute;
}
public function setMontantimpute(?float $montantimpute): self
{
$this->montantimpute = $montantimpute;
return $this;
}
public function getResteaimputer(): ?float
{
return $this->resteaimputer;
}
public function setResteaimputer(?float $resteaimputer): self
{
$this->resteaimputer = $resteaimputer;
return $this;
}
/**
* @return Collection<int, ReglementEcheance>
*/
public function getReglementEcheances(): Collection
{
return $this->reglementEcheances;
}
public function addReglementEcheance(ReglementEcheance $reglementEcheance): self
{
if (!$this->reglementEcheances->contains($reglementEcheance)) {
$this->reglementEcheances[] = $reglementEcheance;
$reglementEcheance->addReglement($this);
}
return $this;
}
public function removeReglementEcheance(ReglementEcheance $reglementEcheance): self
{
if ($this->reglementEcheances->removeElement($reglementEcheance)) {
$reglementEcheance->removeReglement($this);
}
return $this;
}
public function getNoteReglement(): ?string
{
return $this->noteReglement;
}
public function setNoteReglement(?string $noteReglement): self
{
$this->noteReglement = $noteReglement;
return $this;
}
}