<?php
namespace App\Entity\GestionComerciale;
use App\Entity\Clients\Client;
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 Symfony\Component\Validator\Constraints as Assert;
use App\Annotations\SecuredEntity;
use App\Entity\Articles\Devise;
/**
* LCR
*
* @ORM\Table("commerciale__lcr")
* @ORM\Entity(repositoryClass="App\Repository\GestionComerciale\LCRRepository")
* @Gedmo\SoftDeleteable(fieldName="dateSuppression",timeAware=false)
* @SecuredEntity(name="LCR", group="COMPTABILITE")
*/
class LCR
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="nomClient", type="string", length=255)
*/
private $nomClient;
/**
* @ORM\Column(name="numPiece", type="string", length=255)
*/
private $numPiece;
/**
* @ORM\Column(name="numTraite", type="string", length=255)
*/
private $numTraite;
/**
* @ORM\Column(name="date", type="datetime")
*/
private $date;
/**
* @ORM\Column(name="date_suppression", type="datetime", nullable=true)
*/
private $dateSuppression;
/**
* @ORM\Column(name="date_maj", type="datetime", nullable=true)
* @Gedmo\Timestampable(on="update")
*/
private $dateMaj;
/**
* @ORM\Column(name="dateEcheance", type="datetime")
*/
private $dateEcheance;
/**
* @ORM\Column(name="codeAgence", type="string", length=255, nullable=true)
*/
private $codeAgence;
/**
* @ORM\Column(name="nomAgence", type="string", length=255, nullable=true)
*/
private $nomAgence;
/**
* @var float
* @Assert\NotBlank(message="Merci de renseigner un montant")
* @ORM\Column(name="montant", type="float")
*/
private $montant;
/**
* @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="bor", type="boolean")
*/
private $bor;
/**
* @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\Column(name="numRUM", type="string", length=255, nullable=true)
*/
private $numRUM;
/**
* @ORM\Column(name="dateContrat", type="datetime", nullable=true)
*/
private $dateContrat;
/**
* @ORM\Column(name="lieuContrat", type="string", length=255, nullable=true)
*/
private $lieuContrat;
/**
* @ORM\Column(name="refTire", type="string", length=255, nullable=true)
*/
private $refTire;
/**
* @ORM\Column(name="refTireur", type="string", length=255, nullable=true)
*/
private $refTireur;
/**
* @ORM\Column(name="codeBanque", type="string", length=255, nullable=true)
*/
private $codeBanque;
/**
* @ORM\Column(name="codeTransfert", type="string", length=255, nullable=true)
*/
private $codeTransfert;
/**
* @ORM\Column(name="codeAcceptation", type="string", length=255, nullable=true)
*/
private $codeAcceptation;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Utilisateur\Utilisateur", inversedBy="lcrs")
* @ORM\JoinColumn(nullable=true)
*/
private $utilisateur;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Clients\Client", inversedBy="lcrs")
* @ORM\JoinColumn(nullable=true)
*/
private $client;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Articles\Devise", inversedBy="lcrs")
* @ORM\JoinColumn(nullable=true)
*/
private $devise;
/**
* @ORM\OneToMany(targetEntity="App\Entity\GestionComerciale\Commande", cascade={"persist"}, mappedBy="lcr")
*/
private $factures;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\GestionComerciale\BordereauLCR", inversedBy="LCRs")
* @ORM\JoinColumn(nullable=true)
*/
private $bordereauLCR;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\FO\CompteBancaire", inversedBy="lcrs")
* @ORM\JoinColumn(nullable=true)
*/
private $compteBancaireSociete;
/**
* @ORM\Column(name="transfert_compta", type="boolean")
*/
private $transfertCompta;
public function __construct()
{
$this->date = new Datetime();
$this->dateEcheance = new Datetime();
$this->numPiece = "numPiece";
//$this->numTraite = "numTraite";
$this->bor = false;
$this->transfertCompta = false;
$this->factures = new ArrayCollection();
}
public function getId(): int
{
return $this->id;
}
public function setNomClient(string $nomClient): LCR
{
$this->nomClient = $nomClient;
return $this;
}
public function getNomClient(): string
{
return $this->nomClient;
}
public function setNumPiece(string $numPiece): LCR
{
$this->numPiece = $numPiece;
return $this;
}
public function getNumPiece(): string
{
return $this->numPiece;
}
public function setNumTraite(string $numTraite): LCR
{
$this->numTraite = $numTraite;
return $this;
}
public function getNumTraite(): string
{
return $this->numTraite;
}
public function setDate(DateTime $date)
{
$this->date = $date;
return $this;
}
public function getDate(): DateTime
{
return $this->date;
}
public function setDateEcheance(DateTime $dateEcheance): LCR
{
$this->dateEcheance = $dateEcheance;
return $this;
}
public function getDateEcheance(): DateTime
{
return $this->dateEcheance;
}
public function setCodeAgence(?string $codeAgence): LCR
{
$this->codeAgence = $codeAgence;
return $this;
}
public function getCodeAgence(): ?string
{
return $this->codeAgence;
}
public function setNomAgence(?string $nomAgence): LCR
{
$this->nomAgence = $nomAgence;
return $this;
}
public function getNomAgence(): ?string
{
return $this->nomAgence;
}
public function setMontant(float $montant): LCR
{
$this->montant = $montant;
return $this;
}
public function getMontant(): float
{
return $this->montant;
}
public function setDomiciliation(?string $domiciliation): LCR
{
$this->domiciliation = $domiciliation;
return $this;
}
public function getDomiciliation(): ?string
{
return $this->domiciliation;
}
public function setBor(bool $bor): LCR
{
$this->bor = $bor;
return $this;
}
public function getBor(): bool
{
return $this->bor;
}
public function setCodeEtablissement(string $codeEtablissement): LCR
{
$this->codeEtablissement = $codeEtablissement;
return $this;
}
public function getCodeEtablissement(): string
{
return $this->codeEtablissement;
}
public function setCodeGuichet(?string $codeGuichet): LCR
{
$this->codeGuichet = $codeGuichet;
return $this;
}
public function getCodeGuichet(): ?string
{
return $this->codeGuichet;
}
public function setNumCompte(?string $numCompte): LCR
{
$this->numCompte = $numCompte;
return $this;
}
public function getNumCompte(): ?string
{
return $this->numCompte;
}
public function setCleCompte(?string $cleCompte): LCR
{
$this->cleCompte = $cleCompte;
return $this;
}
public function getCleCompte(): ?string
{
return $this->cleCompte;
}
public function setIBAN(?string $iBAN): LCR
{
$this->iBAN = $iBAN;
return $this;
}
public function getIBAN(): ?string
{
return $this->iBAN;
}
public function setBIC(?string $bIC): LCR
{
$this->bIC = $bIC;
return $this;
}
public function getBIC(): ?string
{
return $this->bIC;
}
public function setNumRUM(?string $numRUM): LCR
{
$this->numRUM = $numRUM;
return $this;
}
public function getNumRUM(): ?string
{
return $this->numRUM;
}
public function setDateContrat(?DateTime $dateContrat): LCR
{
$this->dateContrat = $dateContrat;
return $this;
}
public function getDateContrat(): ?DateTime
{
return $this->dateContrat;
}
public function setLieuContrat(?string $lieuContrat): LCR
{
$this->lieuContrat = $lieuContrat;
return $this;
}
public function getLieuContrat(): ?string
{
return $this->lieuContrat;
}
public function setRefTire(?string $refTire): LCR
{
$this->refTire = $refTire;
return $this;
}
public function getRefTire(): ?string
{
return $this->refTire;
}
public function setRefTireur(?string $refTireur): LCR
{
$this->refTireur = $refTireur;
return $this;
}
public function getRefTireur(): ?string
{
return $this->refTireur;
}
public function setCodeBanque(?string $codeBanque): LCR
{
$this->codeBanque = $codeBanque;
return $this;
}
public function getCodeBanque(): ?string
{
return $this->codeBanque;
}
public function setCodeTransfert(?string $codeTransfert): LCR
{
$this->codeTransfert = $codeTransfert;
return $this;
}
public function getCodeTransfert(): ?string
{
return $this->codeTransfert;
}
public function setDateSuppression(?DateTime $dateSuppression): LCR
{
$this->dateSuppression = $dateSuppression;
return $this;
}
public function getDateSuppression(): ?DateTime
{
return $this->dateSuppression;
}
public function setDateMaj(?DateTime $dateMaj): LCR
{
$this->dateMaj = $dateMaj;
return $this;
}
public function getDateMaj(): ?DateTime
{
return $this->dateMaj;
}
public function setUtilisateur(?Utilisateur $utilisateur): LCR
{
$this->utilisateur = $utilisateur;
return $this;
}
public function getUtilisateur(): ?Utilisateur
{
return $this->utilisateur;
}
public function setClient(?Client $client): LCR
{
$this->client = $client;
return $this;
}
public function getClient(): ?Client
{
return $this->client;
}
public function setDevise(?Devise $devise): LCR
{
$this->devise = $devise;
return $this;
}
public function getDevise(): ?Devise
{
return $this->devise;
}
public function addFacture(Commande $facture): LCR
{
$this->factures[] = $facture;
$facture->setLcr($this);
return $this;
}
public function removeFacture(Commande $facture)
{
$this->factures->removeElement($facture);
}
public function getFactures(): Collection
{
return $this->factures;
}
public function setCodeAcceptation(?string $codeAcceptation): LCR
{
$this->codeAcceptation = $codeAcceptation;
return $this;
}
public function getCodeAcceptation(): ?string
{
return $this->codeAcceptation;
}
public function setDomiciliation2(?string $domiciliation2): LCR
{
$this->domiciliation2 = $domiciliation2;
return $this;
}
public function getDomiciliation2(): ?string
{
return $this->domiciliation2;
}
public function setBordereauLCR(?BordereauLCR $bordereauLCR): LCR
{
$this->bordereauLCR = $bordereauLCR;
return $this;
}
public function getBordereauLCR(): ?BordereauLCR
{
return $this->bordereauLCR;
}
public function setCompteBancaireSociete(?CompteBancaire $compteBancaireSociete): LCR
{
$this->compteBancaireSociete = $compteBancaireSociete;
return $this;
}
public function getCompteBancaireSociete(): ?CompteBancaire
{
return $this->compteBancaireSociete;
}
public function setTransfertCompta(bool $transfertCompta): LCR
{
$this->transfertCompta = $transfertCompta;
return $this;
}
public function getTransfertCompta(): bool
{
return $this->transfertCompta;
}
}