<?php
namespace App\Entity\GestionComerciale;
use App\Entity\FO\CompteBancaire;
use App\Entity\Utilisateur\Utilisateur;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use App\Annotations\SecuredEntity;
/**
* BordereauLCR
*
* @ORM\Table("commerciale__bordereau_lcr")
* @ORM\Entity(repositoryClass="App\Repository\GestionComerciale\BordereauLCRRepository")
* @Gedmo\SoftDeleteable(fieldName="dateSuppression",timeAware=false)
* @SecuredEntity(name="Borderaux LCR", group="COMPTABILITE")
*/
class BordereauLCR
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="nb_LCR", type="integer")
*/
private $nbLCR;
/**
* @ORM\Column(name="date", type="datetime")
*/
private $date;
/**
* @ORM\Column(name="date_echeance", type="datetime")
*/
private $dateEcheance;
/**
* @ORM\Column(name="date_maj", type="datetime", nullable=true)
* @Gedmo\Timestampable(on="update")
*/
private $dateMaj;
/**
* @ORM\Column(name="reference", type="string", length=255, nullable=true)
*/
private $reference;
/**
* @ORM\Column(name="date_supression", type="datetime", nullable=true)
*/
private $dateSuppression;
/**
* @ORM\Column(name="domiciliation", type="string", length=255, nullable=true)
*/
private $domiciliation;
/**
* @ORM\Column(name="domiciliation2", type="string", length=255, nullable=true)
*/
private $domiciliation2;
/**
* @ORM\Column(name="codeEtablissement", type="string", length=255, nullable=true)
*/
private $codeEtablissement;
/**
* @ORM\Column(name="codeGuichet", type="string", length=255, nullable=true)
*/
private $codeGuichet;
/**
* @ORM\Column(name="numCompte", type="string", length=255, nullable=true)
*/
private $numCompte;
/**
* @ORM\Column(name="cleCompte", type="string", length=255, nullable=true)
*/
private $cleCompte;
/**
* @ORM\Column(name="IBAN", type="string", length=255, nullable=true)
*/
private $iBAN;
/**
* @ORM\Column(name="BIC", type="string", length=255, nullable=true)
*/
private $bIC;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Utilisateur\Utilisateur", inversedBy="borderauxLCR")
* @ORM\JoinColumn(nullable=true)
*/
private $utilisateur;
/**
* @ORM\OneToMany(targetEntity="App\Entity\GestionComerciale\LCR", cascade={"persist"},mappedBy="bordereauLCR")
*/
private $LCRs;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\FO\CompteBancaire", inversedBy="bordereauxLCR")
* @ORM\JoinColumn(nullable=true)
*/
private $compteBancaire;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\GestionComerciale\ModeEncaissement", inversedBy="bordereauxLCR")
* @ORM\JoinColumn(nullable=true)
*/
private $modeEncaissement;
/**
* @var float
*
* @ORM\Column(name="total", type="float", nullable=true)
*/
private $total;
/**
* @ORM\Column(name="transfert_compta", type="boolean")
*/
private $transfertCompta;
/**
* Constructor
*/
public function __construct()
{
$this->date = new Datetime();
$this->dateEcheance = new Datetime();
$this->LCRs = new ArrayCollection();
$this->transfertCompta = false;
}
public function getId(): int
{
return $this->id;
}
public function setDate(DateTime $date): BordereauLCR
{
$this->date = $date;
return $this;
}
public function getDate(): DateTime
{
return $this->date;
}
public function setDateMaj(?DateTime $dateMaj): BordereauLCR
{
$this->dateMaj = $dateMaj;
return $this;
}
public function getDateMaj(): ?DateTime
{
return $this->dateMaj;
}
public function setDateSuppression(?DateTime $dateSuppression): BordereauLCR
{
$this->dateSuppression = $dateSuppression;
return $this;
}
public function getDateSuppression(): ?DateTime
{
return $this->dateSuppression;
}
public function setDomiciliation(?string $domiciliation): BordereauLCR
{
$this->domiciliation = $domiciliation;
return $this;
}
public function getDomiciliation(): ?string
{
return $this->domiciliation;
}
public function setDomiciliation2(?string $domiciliation2): BordereauLCR
{
$this->domiciliation2 = $domiciliation2;
return $this;
}
public function getDomiciliation2(): ?string
{
return $this->domiciliation2;
}
public function setCodeEtablissement(?string $codeEtablissement): BordereauLCR
{
$this->codeEtablissement = $codeEtablissement;
return $this;
}
public function getCodeEtablissement(): ?string
{
return $this->codeEtablissement;
}
public function setCodeGuichet(?string $codeGuichet): BordereauLCR
{
$this->codeGuichet = $codeGuichet;
return $this;
}
public function getCodeGuichet(): ?string
{
return $this->codeGuichet;
}
public function setNumCompte(?string $numCompte): BordereauLCR
{
$this->numCompte = $numCompte;
return $this;
}
public function getNumCompte(): ?string
{
return $this->numCompte;
}
public function setCleCompte(?string $cleCompte): BordereauLCR
{
$this->cleCompte = $cleCompte;
return $this;
}
public function getCleCompte(): ?string
{
return $this->cleCompte;
}
public function setIBAN(?string $iBAN): BordereauLCR
{
$this->iBAN = $iBAN;
return $this;
}
public function getIBAN(): ?string
{
return $this->iBAN;
}
public function setBIC(?string $bIC): BordereauLCR
{
$this->bIC = $bIC;
return $this;
}
public function getBIC(): ?string
{
return $this->bIC;
}
public function setUtilisateur(?Utilisateur $utilisateur): BordereauLCR
{
$this->utilisateur = $utilisateur;
return $this;
}
public function getUtilisateur(): ?Utilisateur
{
return $this->utilisateur;
}
public function addLCR(LCR $lCR): BordereauLCR
{
$this->LCRs[] = $lCR;
$lCR->setBordereauLCR($this);
return $this;
}
public function removeLCR(LCR $lCR)
{
$this->LCRs->removeElement($lCR);
}
public function getLCRs(): Collection
{
return $this->LCRs;
}
public function setTotal(?float $total): BordereauLCR
{
$this->total = $total;
return $this;
}
public function getTotal(): ?float
{
return $this->total;
}
public function addComptesBancaire(CompteBancaire $comptesBancaire): BordereauLCR
{
$this->comptesBancaires[] = $comptesBancaire;
return $this;
}
public function removeComptesBancaire(CompteBancaire $comptesBancaire)
{
$this->comptesBancaires->removeElement($comptesBancaire);
}
/**
* Get comptesBancaires
*
* @return Collection
*/
public function getComptesBancaires()
{
return $this->comptesBancaires;
}
public function setCompteBancaire(?CompteBancaire $compteBancaire): BordereauLCR
{
$this->compteBancaire = $compteBancaire;
return $this;
}
public function getCompteBancaire(): ?CompteBancaire
{
return $this->compteBancaire;
}
public function setReference(?string $reference): BordereauLCR
{
$this->reference = $reference;
return $this;
}
public function getReference(): ?string
{
return $this->reference;
}
public function setDateEcheance(DateTime $dateEcheance): BordereauLCR
{
$this->dateEcheance = $dateEcheance;
return $this;
}
public function getDateEcheance(): DateTime
{
return $this->dateEcheance;
}
public function setNbLCR(int $nbLCR): BordereauLCR
{
$this->nbLCR = $nbLCR;
return $this;
}
public function getNbLCR(): int
{
return $this->nbLCR;
}
public function setTransfertCompta(bool $transfertCompta): BordereauLCR
{
$this->transfertCompta = $transfertCompta;
return $this;
}
public function getTransfertCompta(): bool
{
return $this->transfertCompta;
}
public function setModeEncaissement(?ModeEncaissement $modeEncaissement): BordereauLCR
{
$this->modeEncaissement = $modeEncaissement;
return $this;
}
public function getModeEncaissement(): ?ModeEncaissement
{
return $this->modeEncaissement;
}
}