src/Entity/Clients/Client.php line 43

Open in your IDE?
  1. <?php 
  2. namespace App\Entity\Clients;
  3. use App\Entity\Adresses\Adresse;
  4. use App\Entity\Articles\Compta;
  5. use App\Entity\Articles\PrixPromo;
  6. use App\Entity\GestionComerciale\Acompte;
  7. use App\Entity\GestionComerciale\Commande;
  8. use App\Entity\GestionComerciale\Devis;
  9. use App\Entity\GestionComerciale\LCR;
  10. use App\Entity\GestionComerciale\ModeReglement;
  11. use App\Entity\GestionComerciale\MouvementCaisse;
  12. use App\Entity\Litiges\Litige;
  13. use App\Entity\Localisation\SecteurGeographique;
  14. use App\Entity\Localisation\Zone;
  15. use App\Entity\MarketPlace\CompteMarketPlace;
  16. use App\Entity\Remises\CategorieRemiseClientClient;
  17. use App\Entity\Traductions\Langue;
  18. use App\Entity\Transporteurs\Transporteur;
  19. use App\Entity\Utilisateur\Civilite;
  20. use App\Entity\Notes\Note;
  21. use App\Entity\GestionComerciale\DelaiPaiement;
  22. use App\Entity\Utilisateur\Contact;
  23. use App\Entity\Utilisateur\Utilisateur;
  24. use App\Entity\Vehicules\VehiculeClient;
  25. use DateTime;
  26. use Doctrine\Common\Collections\ArrayCollection;
  27. use Doctrine\Common\Collections\Collection;
  28. use Doctrine\ORM\Mapping as ORM;
  29. use Gedmo\Mapping\Annotation as Gedmo;
  30. use Symfony\Component\Validator\Constraints as Assert;
  31. use App\Annotations\SecuredEntity;
  32. /**
  33.  * Client
  34.  *
  35.  * @ORM\Table("client__client")
  36.  * @ORM\Entity(repositoryClass="App\Repository\Clients\ClientRepository")
  37.  * @Gedmo\SoftDeleteable(fieldName="dateSuppression",timeAware=false)
  38.  * @SecuredEntity(name="Client", group="CLIENTS")
  39.  */
  40. class Client
  41. {
  42.     /**
  43.      * @ORM\Column(name="id", type="integer")
  44.      * @ORM\Id
  45.      * @ORM\GeneratedValue(strategy="AUTO")
  46.      */
  47.     private $id;
  48.     
  49.     /**
  50.     * @ORM\OneToMany(targetEntity="App\Entity\Articles\PrixPromo", mappedBy="client")
  51.     */
  52.     private $prixPromo;
  53.     
  54.     /**
  55.      * @ORM\ManyToOne(targetEntity="App\Entity\Clients\Client")
  56.      * @ORM\JoinColumn(nullable=true)
  57.      */
  58.     private $parent;
  59.     /**
  60.      * @ORM\Column(name="groupe", type="boolean", nullable=true)
  61.      */
  62.     private $groupe;
  63.     
  64.     /**
  65.      * @ORM\Column(name="jours_livraison", type="string", length=255, nullable=true)
  66.      */
  67.     private $joursLivraison;       
  68.     
  69.     /**
  70.      * @ORM\Column(name="tva", type="boolean", nullable=true)
  71.      */
  72.     private $tva;    
  73.     
  74.     /**
  75.     * @ORM\OneToMany(targetEntity="App\Entity\Litiges\Litige", mappedBy="client")
  76.     */
  77.     private $litiges;
  78.     
  79.     /**
  80.     * @ORM\OneToMany(targetEntity="App\Entity\Notes\Note", mappedBy="client")
  81.     */
  82.     private $notes;
  83.     
  84.     /**
  85.      * @ORM\Column(name="id_import", type="string",length=255, nullable=true)
  86.      */
  87.     private $idImport;
  88.     
  89.     /**
  90.      * @ORM\Column(name="id_import_2", type="string",length=255, nullable=true)
  91.      */
  92.     private $idImport2;
  93.     
  94.     /**
  95.      * @ORM\Column(name="id_prestashop", type="string",length=255, nullable=true)
  96.      */
  97.     private $id_prestashop;
  98.     
  99.     /**
  100.     * @ORM\OneToMany(targetEntity="App\Entity\Remises\CategorieRemiseClientClient", mappedBy="client")
  101.     */
  102.     private $categorieRemiseClientClient;
  103.     
  104.     /**
  105.      * @ORM\OneToMany(targetEntity="App\Entity\Clients\ClientCategorie", mappedBy="client")
  106.      */
  107.     private $clientCategorie;
  108.      /**
  109.      * @ORM\Column(name="donnees_import", type="text", nullable=true)
  110.      */
  111.     private $donnesImport;
  112.     /**
  113.      * @ORM\Column(name="logo", type="string", length=255, nullable=true)
  114.      */
  115.     private $logo;
  116.     /**
  117.      * @ORM\OneToMany(targetEntity="App\Entity\GestionComerciale\Commande", mappedBy="client")
  118.      */
  119.     private $commandes;
  120.     
  121.     /**
  122.      * @ORM\OneToMany(targetEntity="App\Entity\Adresses\Adresse", mappedBy="client", cascade={"persist"})
  123.      */
  124.     private $adresses;
  125.     /**
  126.      * @ORM\OneToMany(targetEntity="App\Entity\Utilisateur\Contact", mappedBy="client")
  127.      */
  128.     private $contacts;
  129.     
  130.     /**
  131.      * @ORM\ManyToOne(targetEntity="App\Entity\Traductions\Langue")
  132.      */
  133.     private $langue;
  134.     
  135.     /**
  136.      * @ORM\ManyToOne(targetEntity="App\Entity\Utilisateur\Civilite")
  137.      */
  138.     private $civiliteObj;
  139.     
  140.     /**
  141.      * @ORM\ManyToOne(targetEntity="App\Entity\Transporteurs\Transporteur")
  142.      */
  143.     private $transporteur;
  144.     
  145.     /**
  146.      * @ORM\ManyToOne(targetEntity="App\Entity\Localisation\Zone")
  147.      */
  148.     private $pays;
  149.     
  150.     /**
  151.      * @ORM\ManyToOne(targetEntity="App\Entity\Localisation\Zone")
  152.      */
  153.     private $ville;
  154.     
  155.     /**
  156.      * @ORM\ManyToOne(targetEntity="App\Entity\Localisation\Zone")
  157.      */
  158.     private $codePostal;
  159.   
  160.     
  161.     /**
  162.      * @ORM\OneToMany(targetEntity="App\Entity\Vehicules\VehiculeClient", mappedBy="client")
  163.          * @ORM\OrderBy({"id" = "DESC"})
  164.      */
  165.     private $vehiculesClient;
  166.     /**
  167.      * @ORM\ManyToOne(targetEntity="App\Entity\Utilisateur\Utilisateur", inversedBy="clients")
  168.      * @ORM\JoinColumn(nullable=true)
  169.      */
  170.     private $utilisateur;
  171.     /**
  172.      * @ORM\Column(name="date", type="datetime")
  173.      */
  174.     private $date;
  175.     
  176.      /**
  177.      * @ORM\Column(name="date_maj", type="datetime", nullable=true)
  178.      * @Gedmo\Timestampable(on="update")
  179.      */
  180.     private $dateMaj;
  181.     /**
  182.      * @ORM\Column(name="reference", type="string", length=255, nullable=true)
  183.      */
  184.     private $reference;
  185.     /**
  186.      * @ORM\Column(name="numero_reference", type="integer",nullable=true)
  187.      */
  188.     private $numeroReference;
  189.     
  190.     /**
  191.      * @ORM\Column(name="code_comptable", type="string", length=255, nullable=true)
  192.      */
  193.     private $codeComptable;    
  194.     /**
  195.      * @ORM\Column(name="banque", type="string", length=255, nullable=true)
  196.      */
  197.     private $banque;
  198.     
  199.     /**
  200.      * @ORM\Column(name="guichet", type="string", length=255, nullable=true)
  201.      */
  202.     private $guichet;
  203.     
  204.     /**
  205.      * @ORM\Column(name="n_cpte_banque", type="string", length=255, nullable=true)
  206.      */
  207.     private $n_cpte_banque;
  208.     
  209.     /**
  210.      * @ORM\Column(name="cle_banque", type="string", length=255, nullable=true)
  211.      */
  212.     private $cleBanque;
  213.     
  214.     /**
  215.      * @ORM\Column(name="domiciliation_1", type="string", length=255, nullable=true)
  216.      */
  217.     private $domiciliation1;
  218.     
  219.     /**
  220.      * @ORM\Column(name="domiciliation_2", type="string", length=255, nullable=true)
  221.      */
  222.     private $domiciliation2;
  223.     
  224.     /**
  225.      * @ORM\Column(name="iban", type="string", length=255, nullable=true)
  226.      */
  227.     private $iban;
  228.     
  229.     /**
  230.      * @ORM\Column(name="bic", type="string", length=255, nullable=true)
  231.      */
  232.     private $bic;
  233.     
  234.     /**
  235.      * @ORM\Column(name="prenom", type="string", length=255, nullable=true)
  236.      */
  237.     private $prenom;
  238.     /**
  239.      * @ORM\Column(name="nom", type="string", length=255, nullable=true)
  240.      * @Assert\NotBlank(message="Nom / Raison sociale obligatoire")
  241.      */
  242.     private $nom;
  243.     
  244.     /**
  245.      * @ORM\Column(name="civilite", type="string", length=255, nullable=true)
  246.      */
  247.     private $civilite;
  248.     /**
  249.      * @ORM\Column(name="telephone", type="string", length=255, nullable=true)
  250.      * @Assert\NotBlank(message="Téléphone obligatoire")
  251.      */
  252.     private $telephone;
  253.     /**
  254.      * @ORM\Column(name="telephone2", type="string", length=255, nullable=true)
  255.      */
  256.     private $telephone2;
  257.     
  258.     /**
  259.      * @ORM\Column(name="fax", type="string", length=255, nullable=true)
  260.      */
  261.     private $fax;
  262.     /**
  263.      * @ORM\Column(name="email", type="string", length=255, nullable=true)
  264.      */
  265.     private $email;
  266.     /**
  267.      * @ORM\Column(name="numTva", type="string", length=255, nullable=true)
  268.      */
  269.     private $numTva;
  270.     
  271.     /**
  272.      * @ORM\Column(name="siren", type="string", length=255, nullable=true)
  273.      */
  274.     private $siren;
  275.     
  276.     /**
  277.      * @ORM\Column(name="siret", type="string", length=255, nullable=true)
  278.      */
  279.     private $siret;
  280.     /**
  281.      * @ORM\Column(name="ape", type="string", length=255, nullable=true)
  282.      */
  283.     private $ape;
  284.      /**
  285.      * @ORM\Column(name="date_supression", type="datetime", nullable=true)
  286.      */
  287.     private $dateSuppression;
  288.     
  289.     /**
  290.      * @ORM\ManyToOne(targetEntity="App\Entity\Clients\Origine", cascade={"persist"})
  291.      */
  292.     private $origine;
  293.     
  294.     /**
  295.      * @ORM\ManyToOne(targetEntity="App\Entity\Localisation\SecteurGeographique", cascade={"persist"})
  296.      */
  297.     private $secteurGeographique;
  298.     
  299.     /**
  300.      * @ORM\ManyToOne(targetEntity="App\Entity\Clients\FormeJuridique", cascade={"persist"})
  301.      */
  302.     private $formeJuridique;
  303.     
  304.     /**
  305.      * @ORM\ManyToOne(targetEntity="App\Entity\Clients\Classification", cascade={"persist"})
  306.      */
  307.     private $classification;
  308.     
  309.     /**
  310.      * @ORM\ManyToOne(targetEntity="App\Entity\Clients\Type", cascade={"persist"},inversedBy="clients")
  311.      */
  312.     private $typeClient;
  313.      /**
  314.      * @ORM\Column(name="commentaire", type="text", nullable=true)
  315.      */
  316.     private $commentaire;
  317.     
  318.      /**
  319.      * @ORM\Column(name="commentaire_facture", type="text", nullable=true)
  320.      */
  321.     private $commentaireFacture;
  322.     
  323.      /**
  324.      * @ORM\Column(name="commentaire_supplementaire", type="text", nullable=true)
  325.      */
  326.     private $commentaireSupplementaire;
  327.     
  328.     /**
  329.      * @ORM\OneToMany(targetEntity="App\Entity\Clients\Document", cascade={"persist"},mappedBy="client")
  330.      */
  331.     private $documents;
  332.         
  333.     /**
  334.      * @ORM\OneToMany(targetEntity="App\Entity\GestionComerciale\Devis", mappedBy="client")
  335.      */
  336.     private $devis;
  337.         
  338.     /**
  339.      * @var referenceClientObligatoire
  340.      * @ORM\Column(name="reference_client_obligatoire", type="boolean", options={"default":false}, nullable=true)
  341.      */
  342.     protected $referenceClientObligatoire;
  343.       /**
  344.      * @ORM\ManyToOne(targetEntity="App\Entity\GestionComerciale\DelaiPaiement", cascade={"persist"})
  345.      * @ORM\JoinColumn(nullable=true)
  346.      */
  347.     private $delaiPaiement;
  348.     /**
  349.      * @ORM\ManyToOne(targetEntity="App\Entity\GestionComerciale\ModeReglement", cascade={"persist"})
  350.      * @ORM\JoinColumn(nullable=true)
  351.      */
  352.     private $modereglement;
  353.     
  354.     /**
  355.      * @ORM\OneToMany(targetEntity="App\Entity\GestionComerciale\LCR", mappedBy="client")
  356.      */
  357.     private $lcrs;
  358.         
  359.         /**
  360.      * @ORM\OneToMany(targetEntity="App\Entity\GestionComerciale\Acompte", mappedBy="client")
  361.      */
  362.     private $reglements;
  363.         
  364.     /**
  365.      * @var boolean
  366.      * @ORM\Column(name="facturation_multi_bl", type="boolean", options={"default":false}, nullable=true)
  367.      */
  368.     protected $facturationMultiBL;
  369.     
  370.     /**
  371.      * @ORM\ManyToOne(targetEntity="App\Entity\Articles\Compta", cascade={"persist"},inversedBy="clients")
  372.      * @ORM\JoinColumn(nullable=true)
  373.      */
  374.     private $compta;
  375.     
  376.     /**
  377.      * @ORM\OneToMany(targetEntity="App\Entity\GestionComerciale\MouvementCaisse", mappedBy="client")
  378.     */
  379.     private $mouvementsCaisse;
  380.     
  381.     /**
  382.      * @ORM\Column(name="doublon", type="boolean", nullable=true)
  383.      */
  384.     private $doublon;
  385.     
  386.     /**
  387.      * @ORM\Column(name="accepte_produit_auto", type="boolean", nullable=true)
  388.      */
  389.     private $accepteProduitAuto;
  390.     
  391.     /**
  392.      * @ORM\Column(name="archive", type="boolean", nullable=true)
  393.      */
  394.     private $archive;
  395.     /**
  396.      * @ORM\Column(name="email_facture_auto", type="boolean", nullable=true)
  397.      */
  398.     private $emailFactureAuto;
  399.     /**
  400.      * @ORM\ManyToOne(targetEntity="App\Entity\MarketPlace\CompteMarketPlace", cascade={"persist"})
  401.      */
  402.     private $compteMarketPlace;
  403.     /**
  404.      * @var string
  405.      *
  406.      * @ORM\Column(name="mailer_user", type="string", length=255, nullable=true)
  407.      */
  408.     private $mailerUser;
  409.     /**
  410.      * @var string
  411.      *
  412.      * @ORM\Column(name="mailer_password", type="string", length=255, nullable=true)
  413.      */
  414.     private $mailerPassword;
  415.     /**
  416.      * @var string
  417.      *
  418.      * @ORM\Column(name="mailer_host", type="string", length=255, nullable=true)
  419.      */
  420.     private $mailerHost;
  421.     /**
  422.      * @var string
  423.      *
  424.      * @ORM\Column(name="mailer_port", type="string", length=255, nullable=true)
  425.      */
  426.     private $mailerPort;
  427.     public function __construct()
  428.                                                              {
  429.                                                                  $this->prenom                      '';
  430.                                                                  $this->date                        = new Datetime();
  431.                                                                  $this->nom                         '';
  432.                                                                  $this->facturationMultiBL          true;
  433.                                                                  $this->archive                     false;
  434.                                                                  $this->emailFactureAuto            false;
  435.                                                                  $this->litiges                     = new ArrayCollection();
  436.                                                                  $this->prixPromo                   = new ArrayCollection();
  437.                                                                  $this->notes                       = new ArrayCollection();
  438.                                                                  $this->categorieRemiseClientClient = new ArrayCollection();
  439.                                                                  $this->clientCategorie             = new ArrayCollection();
  440.                                                                  $this->commandes                   = new ArrayCollection();
  441.                                                                  $this->adresses                    = new ArrayCollection();
  442.                                                                  $this->contacts                    = new ArrayCollection();
  443.                                                                  $this->vehiculesClient             = new ArrayCollection();
  444.                                                                  $this->documents                   = new ArrayCollection();
  445.                                                                  $this->devis                       = new ArrayCollection();
  446.                                                                  $this->lcrs                        = new ArrayCollection();
  447.                                                                  $this->reglements                  = new ArrayCollection();
  448.                                                                  $this->mouvementsCaisse            = new ArrayCollection();
  449.                                                              }
  450.     public function getId(): int
  451.     {
  452.         if(is_null($this->id)) return 0;
  453.         return $this->id;
  454.     }
  455.     public function setDate(DateTime $date): Client
  456.     {
  457.         $this->date $date;
  458.         return $this;
  459.     }
  460.     public function getDate(): DateTime
  461.     {
  462.         return $this->date;
  463.     }
  464.     public function setPrenom(?string $prenom): Client
  465.     {
  466.         $this->prenom $prenom;
  467.         return $this;
  468.     }
  469.     public function getPrenom(): ?string
  470.     {
  471.         return $this->prenom;
  472.     }
  473.     public function setNom(?string $nom): Client
  474.     {
  475.         $this->nom $nom;
  476.         return $this;
  477.     }
  478.     public function getNom(): ?string
  479.     {
  480.         return $this->nom;
  481.     }
  482.     
  483.     
  484.     public function getNomAvecAdresse(): string
  485.     {
  486.         $libelle_adresse="";
  487.         if(count($this->getAdresses())>0) {
  488.             foreach($this->getAdresses() as $adresse) {
  489.                 if($adresse->getFacturationDefaut()) {
  490.                     if(is_object($adresse->getCodePostal())) {
  491.                         $libelle_adresse .= " ".$adresse->getCodePostal()->getCodePostal();
  492.                     }
  493.                     if(is_object($adresse->getVille())) {
  494.                         $libelle_adresse .= " ".$adresse->getVille()->getTitre();
  495.                     }
  496.                     break;
  497.                 }
  498.             }
  499.             
  500.             if($libelle_adresse=="") {
  501.                 foreach($this->getAdresses() as $adresse) {
  502.                     if(is_object($adresse->getCodePostal())) {
  503.                         $libelle_adresse .= trim($adresse->getCodePostal()->getCodePostal());
  504.                     }
  505.                     if(is_object($adresse->getVille())) {
  506.                         $libelle_adresse .= " ".trim($adresse->getVille()->getTitre());
  507.                     }
  508.                     break;
  509.                 }
  510.             }
  511.             
  512.         }
  513.         $libelle_adresse trim("(".$this->reference." ".$libelle_adresse.")");
  514.         return trim($this->nom." ".trim($libelle_adresse));
  515.     }
  516.     public function setTelephone(?string $telephone): Client
  517.     {
  518.         $this->telephone $telephone;
  519.         return $this;
  520.     }
  521.     public function getTelephone(): ?string
  522.     {
  523.         return $this->telephone;
  524.     }
  525.     public function setTelephone2(?string $telephone2): Client
  526.     {
  527.         $this->telephone2 $telephone2;
  528.         return $this;
  529.     }
  530.     public function getTelephone2(): ?string
  531.     {
  532.         return $this->telephone2;
  533.     }
  534.     public function setEmail(?string $email): Client
  535.     {
  536.         $this->email $email;
  537.         return $this;
  538.     }
  539.     public function getEmail(): ?string
  540.     {
  541.         return $this->email;
  542.     }
  543.     public function setNumTva(?string $numTva): Client
  544.     {
  545.         $this->numTva $numTva;
  546.         return $this;
  547.     }
  548.     public function getNumTva(): ?string
  549.     {
  550.         return $this->numTva;
  551.     }
  552.     public function setDateMaj(?DateTime $dateMaj): Client
  553.     {
  554.         $this->dateMaj $dateMaj;
  555.         return $this;
  556.     }
  557.     public function getDateMaj(): ?DateTime
  558.     {
  559.         return $this->dateMaj;
  560.     }
  561.     public function setReference(?string $reference): Client
  562.     {
  563.         $this->reference $reference;
  564.         return $this;
  565.     }
  566.     public function getReference(): ?string
  567.     {
  568.         return $this->reference;
  569.     }
  570.     public function setDateSuppression(?DateTime $dateSuppression): Client
  571.     {
  572.         $this->dateSuppression $dateSuppression;
  573.         return $this;
  574.     }
  575.     public function getDateSuppression(): ?DateTime
  576.     {
  577.         return $this->dateSuppression;
  578.     }
  579.     public function setCommentaire(?string $commentaire): Client
  580.     {
  581.         $this->commentaire $commentaire;
  582.         return $this;
  583.     }
  584.     public function getCommentaire(): ?string
  585.     {
  586.         return $this->commentaire;
  587.     }
  588.     public function setUtilisateur(?Utilisateur $utilisateur): Client
  589.     {
  590.         $this->utilisateur $utilisateur;
  591.         return $this;
  592.     }
  593.     public function getUtilisateur(): ?Utilisateur
  594.     {
  595.         return $this->utilisateur;
  596.     }
  597.     public function addVehiculesClient(VehiculeClient $vehiculesClient): Client
  598.     {
  599.         $this->vehiculesClient[] = $vehiculesClient;
  600.         return $this;
  601.     }
  602.     public function removeVehiculesClient(VehiculeClient $vehiculesClient)
  603.     {
  604.         $this->vehiculesClient->removeElement($vehiculesClient);
  605.     }
  606.     public function getVehiculesClient(): Collection
  607.     {
  608.         return $this->vehiculesClient;
  609.     }
  610.     public function setLogo(?string $logo): Client
  611.     {
  612.         $this->logo $logo;
  613.         return $this;
  614.     }
  615.     public function getLogo(): ?string
  616.     {
  617.         return $this->logo;
  618.     }
  619.     
  620.     public function getLogoDir(): string
  621.     {
  622.         return 'uploads/logos/client';
  623.     }
  624.     public function addContact(contact $contacts): Client
  625.     {
  626.         $this->contacts[] = $contacts;
  627.         return $this;
  628.     }
  629.     public function removeContact(contact $contacts)
  630.     {
  631.         $this->contacts->removeElement($contacts);
  632.     }
  633.     public function getContacts(): Collection
  634.     {
  635.         return $this->contacts;
  636.     }
  637.     public function setPays(?Zone $pays): Client
  638.     {
  639.         $this->pays $pays;
  640.         return $this;
  641.     }
  642.     public function getPays(): ?Zone
  643.     {
  644.         return $this->pays;
  645.     }
  646.     public function setVille(?Zone $ville): Client
  647.     {
  648.         $this->ville $ville;
  649.         return $this;
  650.     }
  651.     public function getVille(): ?Zone
  652.     {
  653.         return $this->ville;
  654.     }
  655.     public function setCodePostal(?Zone $codePostal): Client
  656.     {
  657.         $this->codePostal $codePostal;
  658.         return $this;
  659.     }
  660.     public function getCodePostal(): ?Zone
  661.     {
  662.         return $this->codePostal;
  663.     }
  664.     public function addAdress(Adresse $adresses): Client
  665.     {
  666.         $this->adresses[] = $adresses;
  667.         $adresses->setClient($this);
  668.         return $this;
  669.     }
  670.     public function removeAdress(Adresse $adresses)
  671.     {
  672.         $this->adresses->removeElement($adresses);
  673.     }
  674.     public function getAdresses(): Collection
  675.     {
  676.         return $this->adresses;
  677.     }
  678.     public function addCommande(Commande $commandes): Client
  679.     {
  680.         $this->commandes[] = $commandes;
  681.         return $this;
  682.     }
  683.     public function removeCommande(Commande $commandes)
  684.     {
  685.         $this->commandes->removeElement($commandes);
  686.     }
  687.     public function getCommandes(): Collection
  688.     {
  689.         return $this->commandes;
  690.     }
  691.     
  692.     public function __toString()
  693.                                                              {
  694.                                                                  return $this->prenom." ".$this->nom;
  695.                                                              }
  696.     public function addDevi(Devis $devis): Client
  697.     {
  698.         $this->devis[] = $devis;
  699.         return $this;
  700.     }
  701.     public function removeDevi(Devis $devis)
  702.     {
  703.         $this->devis->removeElement($devis);
  704.     }
  705.     public function getDevis(): Collection
  706.     {
  707.         return $this->devis;
  708.     }
  709.     public function setTypeClient(?Type $typeClient): Client
  710.     {
  711.         $this->typeClient $typeClient;
  712.         return $this;
  713.     }
  714.     public function getTypeClient(): ?Type
  715.     {
  716.         return $this->typeClient;
  717.     }
  718.     public function setDelaiPaiement(?DelaiPaiement $delaiPaiement): Client
  719.     {
  720.         $this->delaiPaiement $delaiPaiement;
  721.         return $this;
  722.     }
  723.     public function getDelaiPaiement(): ?DelaiPaiement
  724.     {
  725.         return $this->delaiPaiement;
  726.     }
  727.     public function setModeReglement(?ModeReglement $modereglement): Client
  728.     {
  729.         $this->modereglement $modereglement;
  730.         return $this;
  731.     }
  732.     public function getModeReglement(): ?ModeReglement
  733.     {
  734.         return $this->modereglement;
  735.     }
  736.     public function addClientCategorie(ClientCategorie $clientCategorie): Client
  737.     {
  738.         $this->clientCategorie[] = $clientCategorie;
  739.         return $this;
  740.     }
  741.     public function removeClientCategorie(ClientCategorie $clientCategorie)
  742.     {
  743.         $this->clientCategorie->removeElement($clientCategorie);
  744.     }
  745.     public function getClientCategorie(): Collection
  746.     {
  747.         return $this->clientCategorie;
  748.     }
  749.     public function addDocument(Document $documents): Client
  750.     {
  751.         $this->documents[] = $documents;
  752.         return $this;
  753.     }
  754.     public function removeDocument(Document $documents)
  755.     {
  756.         $this->documents->removeElement($documents);
  757.     }
  758.     public function getDocuments(): Collection
  759.     {
  760.         return $this->documents;
  761.     }
  762.     public function setReferenceClientObligatoire($referenceClientObligatoire): Client
  763.     {
  764.         $this->referenceClientObligatoire $referenceClientObligatoire;
  765.         return $this;
  766.     }
  767.     public function getReferenceClientObligatoire(): ?bool
  768.     {
  769.         return $this->referenceClientObligatoire;
  770.     }
  771.     public function setIdImport(?string $idImport): Client
  772.     {
  773.         $this->idImport $idImport;
  774.         return $this;
  775.     }
  776.     public function getIdImport(): ?string
  777.     {
  778.         return $this->idImport;
  779.     }
  780.     public function setSiren(string $siren): Client
  781.     {
  782.         $this->siren $siren;
  783.         return $this;
  784.     }
  785.     public function getSiren(): ?string
  786.     {
  787.         return $this->siren;
  788.     }
  789.     public function setSiret(?string $siret): Client
  790.     {
  791.         $this->siret $siret;
  792.         return $this;
  793.     }
  794.     public function getSiret(): ?string
  795.     {
  796.         return $this->siret;
  797.     }
  798.     public function setFax(?string $fax): Client
  799.     {
  800.         $this->fax $fax;
  801.         return $this;
  802.     }
  803.     public function getFax(): ?string
  804.     {
  805.         return $this->fax;
  806.     }
  807.     public function setDonnesImport(?string $donnesImport): Client
  808.     {
  809.         $this->donnesImport $donnesImport;
  810.         return $this;
  811.     }
  812.     public function getDonnesImport(): ?string
  813.     {
  814.         return $this->donnesImport;
  815.     }
  816.     public function addPrixPromo(PrixPromo $prixPromo): Client
  817.     {
  818.         $this->prixPromo[] = $prixPromo;
  819.         return $this;
  820.     }
  821.     public function removePrixPromo(PrixPromo $prixPromo)
  822.     {
  823.         $this->prixPromo->removeElement($prixPromo);
  824.     }
  825.     public function getPrixPromo(): Collection
  826.     {
  827.         return $this->prixPromo;
  828.     }
  829.     public function setIban(?string $iban): Client
  830.     {
  831.         $this->iban $iban;
  832.         return $this;
  833.     }
  834.     public function getIban(): ?string
  835.     {
  836.         return $this->iban;
  837.     }
  838.     public function setBic(?string $bic): Client
  839.     {
  840.         $this->bic $bic;
  841.         return $this;
  842.     }
  843.     public function getBic(): ?string
  844.     {
  845.         return $this->bic;
  846.     }
  847.     public function setBanque(?string $banque): Client
  848.     {
  849.         $this->banque $banque;
  850.         return $this;
  851.     }
  852.     public function getBanque(): ?string
  853.     {
  854.         return $this->banque;
  855.     }
  856.     public function setGuichet(?string $guichet): Client
  857.     {
  858.         $this->guichet $guichet;
  859.         return $this;
  860.     }
  861.     public function getGuichet(): ?string
  862.     {
  863.         return $this->guichet;
  864.     }
  865.     public function setNCpteBanque(?string $nCpteBanque): Client
  866.     {
  867.         $this->n_cpte_banque $nCpteBanque;
  868.         return $this;
  869.     }
  870.     public function getNCpteBanque(): ?string
  871.     {
  872.         return $this->n_cpte_banque;
  873.     }
  874.     public function addCategorieRemiseClientClient(CategorieRemiseClientClient $categorieRemiseClientClient): Client
  875.     {
  876.         $this->categorieRemiseClientClient[] = $categorieRemiseClientClient;
  877.         $categorieRemiseClientClient->setClient($this);
  878.         return $this;
  879.     }
  880.     public function removeCategorieRemiseClientClient(CategorieRemiseClientClient $categorieRemiseClientClient)
  881.     {
  882.         $this->categorieRemiseClientClient->removeElement($categorieRemiseClientClient);
  883.     }
  884.     public function getCategorieRemiseClientClient(): Collection
  885.     {
  886.         return $this->categorieRemiseClientClient;
  887.     }
  888.     public function setPaiementTraite(?bool $paiementTraite)
  889.     {
  890.         $this->paiementTraite $paiementTraite;
  891.         return $this;
  892.     }
  893.     public function getPaiementTraite(): ?bool
  894.     {
  895.         return $this->paiementTraite;
  896.     }
  897.     public function setCleBanque(?string $cleBanque): Client
  898.     {
  899.         $this->cleBanque $cleBanque;
  900.         return $this;
  901.     }
  902.     public function getCleBanque(): ?string
  903.     {
  904.         return $this->cleBanque;
  905.     }
  906.     public function setDomiciliation1(?string $domiciliation1): Client
  907.     {
  908.         $this->domiciliation1 $domiciliation1;
  909.         return $this;
  910.     }
  911.     public function getDomiciliation1(): ?string
  912.     {
  913.         return $this->domiciliation1;
  914.     }
  915.     public function setDomiciliation2(?string $domiciliation2): Client
  916.     {
  917.         $this->domiciliation2 $domiciliation2;
  918.         return $this;
  919.     }
  920.     public function getDomiciliation2(): ?string
  921.     {
  922.         return $this->domiciliation2;
  923.     }
  924.     public function addLcr(LCR $lcr): Client
  925.     {
  926.         $this->lcrs[] = $lcr;
  927.         return $this;
  928.     }
  929.     public function removeLcr(LCR $lcr)
  930.     {
  931.         $this->lcrs->removeElement($lcr);
  932.     }
  933.     public function getLcrs(): Collection
  934.     {
  935.         return $this->lcrs;
  936.     }
  937.     public function setCodeComptable(?string $codeComptable): Client
  938.     {
  939.         $this->codeComptable $codeComptable;
  940.         return $this;
  941.     }
  942.     public function getCodeComptable(): ?string
  943.     {
  944.         return $this->codeComptable;
  945.     }
  946.     public function setFacturationMultiBL(?bool $facturationMultiBL): Client
  947.     {
  948.         $this->facturationMultiBL $facturationMultiBL;
  949.         return $this;
  950.     }
  951.     public function getFacturationMultiBL(): ?bool
  952.     {
  953.         return $this->facturationMultiBL;
  954.     }
  955.     public function addReglement(Acompte $reglement): Client
  956.     {
  957.         $this->reglements[] = $reglement;
  958.         return $this;
  959.     }
  960.     public function removeReglement(Acompte $reglement)
  961.     {
  962.         $this->reglements->removeElement($reglement);
  963.     }
  964.     public function getReglements(): Collection
  965.     {
  966.         return $this->reglements;
  967.     }
  968.     public function setCompta(?Compta $compta): Client
  969.     {
  970.         $this->compta $compta;
  971.         return $this;
  972.     }
  973.     public function getCompta(): ?Compta
  974.     {
  975.         return $this->compta;
  976.     }
  977.     public function setCommentaireSupplementaire(?string $commentaireSupplementaire): Client
  978.     {
  979.         $this->commentaireSupplementaire $commentaireSupplementaire;
  980.         return $this;
  981.     }
  982.     public function getCommentaireSupplementaire(): ?string
  983.     {
  984.         return $this->commentaireSupplementaire;
  985.     }
  986.     public function addNote(Note $note): Client
  987.     {
  988.         $this->notes[] = $note;
  989.         return $this;
  990.     }
  991.     public function removeNote(Note $note)
  992.     {
  993.         $this->notes->removeElement($note);
  994.     }
  995.     public function getNotes(): Collection
  996.     {
  997.         return $this->notes;
  998.     }
  999.     public function setCommentaireFacture(?string $commentaireFacture): Client
  1000.     {
  1001.         $this->commentaireFacture $commentaireFacture;
  1002.         return $this;
  1003.     }
  1004.     public function getCommentaireFacture(): ?string
  1005.     {
  1006.         return $this->commentaireFacture;
  1007.     }
  1008.     public function setLangue(?Langue $langue): Client
  1009.     {
  1010.         $this->langue $langue;
  1011.         return $this;
  1012.     }
  1013.     public function getLangue(): ?Langue
  1014.     {
  1015.         return $this->langue;
  1016.     }
  1017.     public function addMouvementsCaisse(MouvementCaisse $mouvementsCaisse): Client
  1018.     {
  1019.         $this->mouvementsCaisse[] = $mouvementsCaisse;
  1020.         return $this;
  1021.     }
  1022.     public function removeMouvementsCaisse(MouvementCaisse $mouvementsCaisse)
  1023.     {
  1024.         $this->mouvementsCaisse->removeElement($mouvementsCaisse);
  1025.     }
  1026.     public function getMouvementsCaisse(): Collection
  1027.     {
  1028.         return $this->mouvementsCaisse;
  1029.     }
  1030.     public function setTva(?bool $tva): Client
  1031.     {
  1032.         $this->tva $tva;
  1033.         return $this;
  1034.     
  1035.     }
  1036.     public function setCivilite(?string $civilite): Client
  1037.     {
  1038.         $this->civilite $civilite;
  1039.         return $this;
  1040.     }
  1041.     public function getTva(): ?bool
  1042.     {
  1043.         return $this->tva;
  1044.     }
  1045.     public function getCivilite(): ?string
  1046.     {
  1047.         return $this->civilite;
  1048.     }
  1049.     public function setTransporteur(?Transporteur $transporteur): Client
  1050.     {
  1051.         $this->transporteur $transporteur;
  1052.         return $this;
  1053.     }
  1054.     public function getTransporteur(): ?Transporteur
  1055.     {
  1056.         return $this->transporteur;
  1057.     }
  1058.     public function setIdPrestashop(?string $idPrestashop): Client
  1059.     {
  1060.         $this->id_prestashop $idPrestashop;
  1061.         return $this;
  1062.     }
  1063.     public function getIdPrestashop(): ?string
  1064.     {
  1065.         return $this->id_prestashop;
  1066.     }
  1067.     public function setDoublon(?bool $doublon): Client
  1068.     {
  1069.         $this->doublon $doublon;
  1070.         return $this;
  1071.     }
  1072.     public function getDoublon(): ?bool
  1073.     {
  1074.         return $this->doublon;
  1075.     }
  1076.     public function setCiviliteObj(?Civilite $civiliteObj): Client
  1077.     {
  1078.         $this->civiliteObj $civiliteObj;
  1079.         return $this;
  1080.     }
  1081.     public function getCiviliteObj(): ?Civilite
  1082.     {
  1083.         return $this->civiliteObj;
  1084.     }
  1085.     public function addLitige(Litige $litige): Client
  1086.     {
  1087.         $this->litiges[] = $litige;
  1088.         return $this;
  1089.     }
  1090.     public function removeLitige(Litige $litige)
  1091.     {
  1092.         $this->litiges->removeElement($litige);
  1093.     }
  1094.     public function getLitiges(): Collection
  1095.     {
  1096.         return $this->litiges;
  1097.     }
  1098.     public function setClassification(?Classification $classification): Client
  1099.     {
  1100.         $this->classification $classification;
  1101.         return $this;
  1102.     }
  1103.     public function getClassification(): ?Classification
  1104.     {
  1105.         return $this->classification;
  1106.     }
  1107.     public function setAccepteProduitAuto(?bool $accepteProduitAuto): Client
  1108.     {
  1109.         $this->accepteProduitAuto $accepteProduitAuto;
  1110.         return $this;
  1111.     }
  1112.     public function getAccepteProduitAuto(): ?bool
  1113.     {
  1114.         return $this->accepteProduitAuto;
  1115.     }
  1116.     public function setJoursLivraison(?string $joursLivraison): Client
  1117.     {
  1118.         $this->joursLivraison $joursLivraison;
  1119.         return $this;
  1120.     }
  1121.     public function getJoursLivraison(): ?array
  1122.     {
  1123.         return is_array($this->joursLivraison) ? unserialize($this->joursLivraison) : [];
  1124.     }    
  1125.     public function setOrigine(?Origine $origine): Client
  1126.     {
  1127.         $this->origine $origine;
  1128.         return $this;
  1129.     }
  1130.     public function getOrigine(): ?Origine
  1131.     {
  1132.         return $this->origine;
  1133.     }
  1134.     public function setFormeJuridique(?FormeJuridique $formeJuridique): Client
  1135.     {
  1136.         $this->formeJuridique $formeJuridique;
  1137.         return $this;
  1138.     }
  1139.     public function getFormeJuridique(): ?FormeJuridique
  1140.     {
  1141.         return $this->formeJuridique;
  1142.     }
  1143.     public function setSecteurGeographique(?SecteurGeographique $secteurGeographique): Client
  1144.     {
  1145.         $this->secteurGeographique $secteurGeographique;
  1146.         return $this;
  1147.     }
  1148.     public function getSecteurGeographique(): ?SecteurGeographique
  1149.     {
  1150.         return $this->secteurGeographique;
  1151.     }
  1152.     public function setArchive(?bool $archive): Client
  1153.     {
  1154.         $this->archive $archive;
  1155.         return $this;
  1156.     }
  1157.     public function getArchive(): ?bool
  1158.     {
  1159.         return $this->archive;
  1160.     }    
  1161.     public function setGroupe(?bool $groupe): Client
  1162.     {
  1163.         $this->groupe $groupe;
  1164.         return $this;
  1165.     }
  1166.     public function getGroupe(): ?bool
  1167.     {
  1168.         return $this->groupe;
  1169.     }
  1170.     public function setParent(?Client $parent): Client
  1171.     {
  1172.         $this->parent $parent;
  1173.         return $this;
  1174.     }
  1175.     public function getParent(): ?Client
  1176.     {
  1177.         return $this->parent;
  1178.     }
  1179.     public function setEmailFactureAuto(?bool $emailFactureAuto): Client
  1180.     {
  1181.         $this->emailFactureAuto $emailFactureAuto;
  1182.         return $this;
  1183.     }
  1184.     public function getEmailFactureAuto(): ?bool
  1185.     {
  1186.         return $this->emailFactureAuto;
  1187.     }
  1188.     public function setIdImport2(?string $idImport2): Client
  1189.     {
  1190.         $this->idImport2 $idImport2;
  1191.         return $this;
  1192.     }
  1193.     public function getIdImport2(): ?string
  1194.     {
  1195.         return $this->idImport2;
  1196.     }
  1197.     public function setNumeroReference(?int $numeroReference): Client
  1198.     {
  1199.         $this->numeroReference $numeroReference;
  1200.         return $this;
  1201.     }
  1202.     public function getNumeroReference(): ?int
  1203.     {
  1204.         return $this->numeroReference;
  1205.     }
  1206.     public function setCompteMarketPlace(?CompteMarketPlace $compteMarketPlace): Client
  1207.     {
  1208.         $this->compteMarketPlace $compteMarketPlace;
  1209.         return $this;
  1210.     }
  1211.     public function getCompteMarketPlace(): ?CompteMarketPlace
  1212.     {
  1213.         return $this->compteMarketPlace;
  1214.     }
  1215.     public function isGroupe(): ?bool
  1216.     {
  1217.         return $this->groupe;
  1218.     }
  1219.     public function isTva(): ?bool
  1220.     {
  1221.         return $this->tva;
  1222.     }
  1223.     public function getApe(): ?string
  1224.     {
  1225.         return $this->ape;
  1226.     }
  1227.     public function setApe(?string $ape): self
  1228.     {
  1229.         $this->ape $ape;
  1230.         return $this;
  1231.     }
  1232.     public function isReferenceClientObligatoire(): ?bool
  1233.     {
  1234.         return $this->referenceClientObligatoire;
  1235.     }
  1236.     public function isFacturationMultiBL(): ?bool
  1237.     {
  1238.         return $this->facturationMultiBL;
  1239.     }
  1240.     public function isDoublon(): ?bool
  1241.     {
  1242.         return $this->doublon;
  1243.     }
  1244.     public function isAccepteProduitAuto(): ?bool
  1245.     {
  1246.         return $this->accepteProduitAuto;
  1247.     }
  1248.     public function isArchive(): ?bool
  1249.     {
  1250.         return $this->archive;
  1251.     }
  1252.     public function isEmailFactureAuto(): ?bool
  1253.     {
  1254.         return $this->emailFactureAuto;
  1255.     }
  1256.     public function getMailerUser(): ?string
  1257.     {
  1258.         return $this->mailerUser;
  1259.     }
  1260.     public function setMailerUser(?string $mailerUser): self
  1261.     {
  1262.         $this->mailerUser $mailerUser;
  1263.         return $this;
  1264.     }
  1265.     public function getMailerPassword(): ?string
  1266.     {
  1267.         return $this->mailerPassword;
  1268.     }
  1269.     public function setMailerPassword(?string $mailerPassword): self
  1270.     {
  1271.         $this->mailerPassword $mailerPassword;
  1272.         return $this;
  1273.     }
  1274.     public function getMailerHost(): ?string
  1275.     {
  1276.         return $this->mailerHost;
  1277.     }
  1278.     public function setMailerHost(?string $mailerHost): self
  1279.     {
  1280.         $this->mailerHost $mailerHost;
  1281.         return $this;
  1282.     }
  1283.     public function getMailerPort(): ?string
  1284.     {
  1285.         return $this->mailerPort;
  1286.     }
  1287.     public function setMailerPort(?string $mailerPort): self
  1288.     {
  1289.         $this->mailerPort $mailerPort;
  1290.         return $this;
  1291.     }
  1292. }