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.      * @ORM\Column(type="boolean", nullable=true)
  405.      */
  406.     private $societe;
  407.     /**
  408.      * @ORM\Column(type="datetime", nullable=true)
  409.      */
  410.     private $dateSynchroDocumentsErp;
  411.     /**
  412.      * @ORM\Column(type="boolean", nullable=true, options={"default":false})
  413.      */
  414.     private $statutApi;
  415.     public function __construct()
  416.                                                                 {
  417.                                                                     $this->prenom                      '';
  418.                                                                     $this->date                        = new Datetime();
  419.                                                                     $this->nom                         '';
  420.                                                                     $this->facturationMultiBL          true;
  421.                                                                     $this->archive                     false;
  422.                                                                     $this->emailFactureAuto            false;
  423.                                                                     $this->litiges                     = new ArrayCollection();
  424.                                                                     $this->prixPromo                   = new ArrayCollection();
  425.                                                                     $this->notes                       = new ArrayCollection();
  426.                                                                     $this->categorieRemiseClientClient = new ArrayCollection();
  427.                                                                     $this->clientCategorie             = new ArrayCollection();
  428.                                                                     $this->commandes                   = new ArrayCollection();
  429.                                                                     $this->adresses                    = new ArrayCollection();
  430.                                                                     $this->contacts                    = new ArrayCollection();
  431.                                                                     $this->vehiculesClient             = new ArrayCollection();
  432.                                                                     $this->documents                   = new ArrayCollection();
  433.                                                                     $this->devis                       = new ArrayCollection();
  434.                                                                     $this->lcrs                        = new ArrayCollection();
  435.                                                                     $this->reglements                  = new ArrayCollection();
  436.                                                                     $this->mouvementsCaisse            = new ArrayCollection();
  437.                                                                 }
  438.     public function getId(): int
  439.     {
  440.         return $this->id;
  441.     }
  442.     public function setDate(DateTime $date): Client
  443.     {
  444.         $this->date $date;
  445.         return $this;
  446.     }
  447.     public function getDate(): DateTime
  448.     {
  449.         return $this->date;
  450.     }
  451.     public function setPrenom(?string $prenom): Client
  452.     {
  453.         $this->prenom $prenom;
  454.         return $this;
  455.     }
  456.     public function getPrenom(): ?string
  457.     {
  458.         return $this->prenom;
  459.     }
  460.     public function setNom(?string $nom): Client
  461.     {
  462.         $this->nom $nom;
  463.         return $this;
  464.     }
  465.     public function getNom(): ?string
  466.     {
  467.         return $this->nom;
  468.     }
  469.     
  470.     
  471.     public function getNomAvecAdresse(): string
  472.     {
  473.         $libelle_adresse="";
  474.         if(count($this->getAdresses())>0) {
  475.             foreach($this->getAdresses() as $adresse) {
  476.                 if($adresse->getFacturationDefaut()) {
  477.                     if(is_object($adresse->getCodePostal())) {
  478.                         $libelle_adresse .= " ".$adresse->getCodePostal()->getCodePostal();
  479.                     }
  480.                     if(is_object($adresse->getVille())) {
  481.                         $libelle_adresse .= " ".$adresse->getVille()->getTitre();
  482.                     }
  483.                     break;
  484.                 }
  485.             }
  486.             
  487.             if($libelle_adresse=="") {
  488.                 foreach($this->getAdresses() as $adresse) {
  489.                     if(is_object($adresse->getCodePostal())) {
  490.                         $libelle_adresse .= trim($adresse->getCodePostal()->getCodePostal());
  491.                     }
  492.                     if(is_object($adresse->getVille())) {
  493.                         $libelle_adresse .= " ".trim($adresse->getVille()->getTitre());
  494.                     }
  495.                     break;
  496.                 }
  497.             }
  498.             
  499.         }
  500.         $libelle_adresse trim("(".$this->reference." ".$libelle_adresse.")");
  501.         return trim($this->nom." ".trim($libelle_adresse));
  502.     }
  503.     public function setTelephone(?string $telephone): Client
  504.     {
  505.         $this->telephone $telephone;
  506.         return $this;
  507.     }
  508.     public function getTelephone(): ?string
  509.     {
  510.         return $this->telephone;
  511.     }
  512.     public function setTelephone2(?string $telephone2): Client
  513.     {
  514.         $this->telephone2 $telephone2;
  515.         return $this;
  516.     }
  517.     public function getTelephone2(): ?string
  518.     {
  519.         return $this->telephone2;
  520.     }
  521.     public function setEmail(?string $email): Client
  522.     {
  523.         $this->email $email;
  524.         return $this;
  525.     }
  526.     public function getEmail(): ?string
  527.     {
  528.         return $this->email;
  529.     }
  530.     public function setNumTva(?string $numTva): Client
  531.     {
  532.         $this->numTva $numTva;
  533.         return $this;
  534.     }
  535.     public function getNumTva(): ?string
  536.     {
  537.         return $this->numTva;
  538.     }
  539.     public function setDateMaj(?DateTime $dateMaj): Client
  540.     {
  541.         $this->dateMaj $dateMaj;
  542.         return $this;
  543.     }
  544.     public function getDateMaj(): ?DateTime
  545.     {
  546.         return $this->dateMaj;
  547.     }
  548.     public function setReference(?string $reference): Client
  549.     {
  550.         $this->reference $reference;
  551.         return $this;
  552.     }
  553.     public function getReference(): ?string
  554.     {
  555.         return $this->reference;
  556.     }
  557.     public function setDateSuppression(?DateTime $dateSuppression): Client
  558.     {
  559.         $this->dateSuppression $dateSuppression;
  560.         return $this;
  561.     }
  562.     public function getDateSuppression(): ?DateTime
  563.     {
  564.         return $this->dateSuppression;
  565.     }
  566.     public function setCommentaire(?string $commentaire): Client
  567.     {
  568.         $this->commentaire $commentaire;
  569.         return $this;
  570.     }
  571.     public function getCommentaire(): ?string
  572.     {
  573.         return $this->commentaire;
  574.     }
  575.     public function setUtilisateur(?Utilisateur $utilisateur): Client
  576.     {
  577.         $this->utilisateur $utilisateur;
  578.         return $this;
  579.     }
  580.     public function getUtilisateur(): ?Utilisateur
  581.     {
  582.         return $this->utilisateur;
  583.     }
  584.     public function addVehiculesClient(VehiculeClient $vehiculesClient): Client
  585.     {
  586.         $this->vehiculesClient[] = $vehiculesClient;
  587.         return $this;
  588.     }
  589.     public function removeVehiculesClient(VehiculeClient $vehiculesClient)
  590.     {
  591.         $this->vehiculesClient->removeElement($vehiculesClient);
  592.     }
  593.     public function getVehiculesClient(): Collection
  594.     {
  595.         return $this->vehiculesClient;
  596.     }
  597.     public function setLogo(?string $logo): Client
  598.     {
  599.         $this->logo $logo;
  600.         return $this;
  601.     }
  602.     public function getLogo(): ?string
  603.     {
  604.         return $this->logo;
  605.     }
  606.     
  607.     public function getLogoDir(): string
  608.     {
  609.         return 'uploads/logos/client';
  610.     }
  611.     public function addContact(contact $contacts): Client
  612.     {
  613.         $this->contacts[] = $contacts;
  614.         return $this;
  615.     }
  616.     public function removeContact(contact $contacts)
  617.     {
  618.         $this->contacts->removeElement($contacts);
  619.     }
  620.     public function getContacts(): Collection
  621.     {
  622.         return $this->contacts;
  623.     }
  624.     public function setPays(?Zone $pays): Client
  625.     {
  626.         $this->pays $pays;
  627.         return $this;
  628.     }
  629.     public function getPays(): ?Zone
  630.     {
  631.         return $this->pays;
  632.     }
  633.     public function setVille(?Zone $ville): Client
  634.     {
  635.         $this->ville $ville;
  636.         return $this;
  637.     }
  638.     public function getVille(): ?Zone
  639.     {
  640.         return $this->ville;
  641.     }
  642.     public function setCodePostal(?Zone $codePostal): Client
  643.     {
  644.         $this->codePostal $codePostal;
  645.         return $this;
  646.     }
  647.     public function getCodePostal(): ?Zone
  648.     {
  649.         return $this->codePostal;
  650.     }
  651.     public function addAdress(Adresse $adresses): Client
  652.     {
  653.         $this->adresses[] = $adresses;
  654.         $adresses->setClient($this);
  655.         return $this;
  656.     }
  657.     public function removeAdress(Adresse $adresses)
  658.     {
  659.         $this->adresses->removeElement($adresses);
  660.     }
  661.     public function getAdresses(): Collection
  662.     {
  663.         return $this->adresses;
  664.     }
  665.     public function addCommande(Commande $commandes): Client
  666.     {
  667.         $this->commandes[] = $commandes;
  668.         return $this;
  669.     }
  670.     public function removeCommande(Commande $commandes)
  671.     {
  672.         $this->commandes->removeElement($commandes);
  673.     }
  674.     public function getCommandes(): Collection
  675.     {
  676.         return $this->commandes;
  677.     }
  678.     
  679.     public function __toString()
  680.                                                                 {
  681.                                                                     return $this->prenom." ".$this->nom;
  682.                                                                 }
  683.     public function addDevi(Devis $devis): Client
  684.     {
  685.         $this->devis[] = $devis;
  686.         return $this;
  687.     }
  688.     public function removeDevi(Devis $devis)
  689.     {
  690.         $this->devis->removeElement($devis);
  691.     }
  692.     public function getDevis(): Collection
  693.     {
  694.         return $this->devis;
  695.     }
  696.     public function setTypeClient(?Type $typeClient): Client
  697.     {
  698.         $this->typeClient $typeClient;
  699.         return $this;
  700.     }
  701.     public function getTypeClient(): ?Type
  702.     {
  703.         return $this->typeClient;
  704.     }
  705.     public function setDelaiPaiement(?DelaiPaiement $delaiPaiement): Client
  706.     {
  707.         $this->delaiPaiement $delaiPaiement;
  708.         return $this;
  709.     }
  710.     public function getDelaiPaiement(): ?DelaiPaiement
  711.     {
  712.         return $this->delaiPaiement;
  713.     }
  714.     public function setModeReglement(?ModeReglement $modereglement): Client
  715.     {
  716.         $this->modereglement $modereglement;
  717.         return $this;
  718.     }
  719.     public function getModeReglement(): ?ModeReglement
  720.     {
  721.         return $this->modereglement;
  722.     }
  723.     public function addClientCategorie(ClientCategorie $clientCategorie): Client
  724.     {
  725.         $this->clientCategorie[] = $clientCategorie;
  726.         return $this;
  727.     }
  728.     public function removeClientCategorie(ClientCategorie $clientCategorie)
  729.     {
  730.         $this->clientCategorie->removeElement($clientCategorie);
  731.     }
  732.     public function getClientCategorie(): Collection
  733.     {
  734.         return $this->clientCategorie;
  735.     }
  736.     public function addDocument(Document $documents): Client
  737.     {
  738.         $this->documents[] = $documents;
  739.         return $this;
  740.     }
  741.     public function removeDocument(Document $documents)
  742.     {
  743.         $this->documents->removeElement($documents);
  744.     }
  745.     public function getDocuments(): Collection
  746.     {
  747.         return $this->documents;
  748.     }
  749.     public function setReferenceClientObligatoire($referenceClientObligatoire): Client
  750.     {
  751.         $this->referenceClientObligatoire $referenceClientObligatoire;
  752.         return $this;
  753.     }
  754.     public function getReferenceClientObligatoire(): ?bool
  755.     {
  756.         return $this->referenceClientObligatoire;
  757.     }
  758.     public function setIdImport(?string $idImport): Client
  759.     {
  760.         $this->idImport $idImport;
  761.         return $this;
  762.     }
  763.     public function getIdImport(): ?string
  764.     {
  765.         return $this->idImport;
  766.     }
  767.     public function setSiren(string $siren): Client
  768.     {
  769.         $this->siren $siren;
  770.         return $this;
  771.     }
  772.     public function getSiren(): ?string
  773.     {
  774.         return $this->siren;
  775.     }
  776.     public function setSiret(?string $siret): Client
  777.     {
  778.         $this->siret $siret;
  779.         return $this;
  780.     }
  781.     public function getSiret(): ?string
  782.     {
  783.         return $this->siret;
  784.     }
  785.     public function setFax(?string $fax): Client
  786.     {
  787.         $this->fax $fax;
  788.         return $this;
  789.     }
  790.     public function getFax(): ?string
  791.     {
  792.         return $this->fax;
  793.     }
  794.     public function setDonnesImport(?string $donnesImport): Client
  795.     {
  796.         $this->donnesImport $donnesImport;
  797.         return $this;
  798.     }
  799.     public function getDonnesImport(): ?string
  800.     {
  801.         return $this->donnesImport;
  802.     }
  803.     public function addPrixPromo(PrixPromo $prixPromo): Client
  804.     {
  805.         $this->prixPromo[] = $prixPromo;
  806.         return $this;
  807.     }
  808.     public function removePrixPromo(PrixPromo $prixPromo)
  809.     {
  810.         $this->prixPromo->removeElement($prixPromo);
  811.     }
  812.     public function getPrixPromo(): Collection
  813.     {
  814.         return $this->prixPromo;
  815.     }
  816.     public function setIban(?string $iban): Client
  817.     {
  818.         $this->iban $iban;
  819.         return $this;
  820.     }
  821.     public function getIban(): ?string
  822.     {
  823.         return $this->iban;
  824.     }
  825.     public function setBic(?string $bic): Client
  826.     {
  827.         $this->bic $bic;
  828.         return $this;
  829.     }
  830.     public function getBic(): ?string
  831.     {
  832.         return $this->bic;
  833.     }
  834.     public function setBanque(?string $banque): Client
  835.     {
  836.         $this->banque $banque;
  837.         return $this;
  838.     }
  839.     public function getBanque(): ?string
  840.     {
  841.         return $this->banque;
  842.     }
  843.     public function setGuichet(?string $guichet): Client
  844.     {
  845.         $this->guichet $guichet;
  846.         return $this;
  847.     }
  848.     public function getGuichet(): ?string
  849.     {
  850.         return $this->guichet;
  851.     }
  852.     public function setNCpteBanque(?string $nCpteBanque): Client
  853.     {
  854.         $this->n_cpte_banque $nCpteBanque;
  855.         return $this;
  856.     }
  857.     public function getNCpteBanque(): ?string
  858.     {
  859.         return $this->n_cpte_banque;
  860.     }
  861.     public function addCategorieRemiseClientClient(CategorieRemiseClientClient $categorieRemiseClientClient): Client
  862.     {
  863.         $this->categorieRemiseClientClient[] = $categorieRemiseClientClient;
  864.         $categorieRemiseClientClient->setClient($this);
  865.         return $this;
  866.     }
  867.     public function removeCategorieRemiseClientClient(CategorieRemiseClientClient $categorieRemiseClientClient)
  868.     {
  869.         $this->categorieRemiseClientClient->removeElement($categorieRemiseClientClient);
  870.     }
  871.     public function getCategorieRemiseClientClient(): Collection
  872.     {
  873.         return $this->categorieRemiseClientClient;
  874.     }
  875.     public function setPaiementTraite(?bool $paiementTraite)
  876.     {
  877.         $this->paiementTraite $paiementTraite;
  878.         return $this;
  879.     }
  880.     public function getPaiementTraite(): ?bool
  881.     {
  882.         return $this->paiementTraite;
  883.     }
  884.     public function setCleBanque(?string $cleBanque): Client
  885.     {
  886.         $this->cleBanque $cleBanque;
  887.         return $this;
  888.     }
  889.     public function getCleBanque(): ?string
  890.     {
  891.         return $this->cleBanque;
  892.     }
  893.     public function setDomiciliation1(?string $domiciliation1): Client
  894.     {
  895.         $this->domiciliation1 $domiciliation1;
  896.         return $this;
  897.     }
  898.     public function getDomiciliation1(): ?string
  899.     {
  900.         return $this->domiciliation1;
  901.     }
  902.     public function setDomiciliation2(?string $domiciliation2): Client
  903.     {
  904.         $this->domiciliation2 $domiciliation2;
  905.         return $this;
  906.     }
  907.     public function getDomiciliation2(): ?string
  908.     {
  909.         return $this->domiciliation2;
  910.     }
  911.     public function addLcr(LCR $lcr): Client
  912.     {
  913.         $this->lcrs[] = $lcr;
  914.         return $this;
  915.     }
  916.     public function removeLcr(LCR $lcr)
  917.     {
  918.         $this->lcrs->removeElement($lcr);
  919.     }
  920.     public function getLcrs(): Collection
  921.     {
  922.         return $this->lcrs;
  923.     }
  924.     public function setCodeComptable(?string $codeComptable): Client
  925.     {
  926.         $this->codeComptable $codeComptable;
  927.         return $this;
  928.     }
  929.     public function getCodeComptable(): ?string
  930.     {
  931.         return $this->codeComptable;
  932.     }
  933.     public function setFacturationMultiBL(?bool $facturationMultiBL): Client
  934.     {
  935.         $this->facturationMultiBL $facturationMultiBL;
  936.         return $this;
  937.     }
  938.     public function getFacturationMultiBL(): ?bool
  939.     {
  940.         return $this->facturationMultiBL;
  941.     }
  942.     public function addReglement(Acompte $reglement): Client
  943.     {
  944.         $this->reglements[] = $reglement;
  945.         return $this;
  946.     }
  947.     public function removeReglement(Acompte $reglement)
  948.     {
  949.         $this->reglements->removeElement($reglement);
  950.     }
  951.     public function getReglements(): Collection
  952.     {
  953.         return $this->reglements;
  954.     }
  955.     public function setCompta(?Compta $compta): Client
  956.     {
  957.         $this->compta $compta;
  958.         return $this;
  959.     }
  960.     public function getCompta(): ?Compta
  961.     {
  962.         return $this->compta;
  963.     }
  964.     public function setCommentaireSupplementaire(?string $commentaireSupplementaire): Client
  965.     {
  966.         $this->commentaireSupplementaire $commentaireSupplementaire;
  967.         return $this;
  968.     }
  969.     public function getCommentaireSupplementaire(): ?string
  970.     {
  971.         return $this->commentaireSupplementaire;
  972.     }
  973.     public function addNote(Note $note): Client
  974.     {
  975.         $this->notes[] = $note;
  976.         return $this;
  977.     }
  978.     public function removeNote(Note $note)
  979.     {
  980.         $this->notes->removeElement($note);
  981.     }
  982.     public function getNotes(): Collection
  983.     {
  984.         return $this->notes;
  985.     }
  986.     public function setCommentaireFacture(?string $commentaireFacture): Client
  987.     {
  988.         $this->commentaireFacture $commentaireFacture;
  989.         return $this;
  990.     }
  991.     public function getCommentaireFacture(): ?string
  992.     {
  993.         return $this->commentaireFacture;
  994.     }
  995.     public function setLangue(?Langue $langue): Client
  996.     {
  997.         $this->langue $langue;
  998.         return $this;
  999.     }
  1000.     public function getLangue(): ?Langue
  1001.     {
  1002.         return $this->langue;
  1003.     }
  1004.     public function addMouvementsCaisse(MouvementCaisse $mouvementsCaisse): Client
  1005.     {
  1006.         $this->mouvementsCaisse[] = $mouvementsCaisse;
  1007.         return $this;
  1008.     }
  1009.     public function removeMouvementsCaisse(MouvementCaisse $mouvementsCaisse)
  1010.     {
  1011.         $this->mouvementsCaisse->removeElement($mouvementsCaisse);
  1012.     }
  1013.     public function getMouvementsCaisse(): Collection
  1014.     {
  1015.         return $this->mouvementsCaisse;
  1016.     }
  1017.     public function setTva(?bool $tva): Client
  1018.     {
  1019.         $this->tva $tva;
  1020.         return $this;
  1021.     
  1022.     }
  1023.     public function setCivilite(?string $civilite): Client
  1024.     {
  1025.         $this->civilite $civilite;
  1026.         return $this;
  1027.     }
  1028.     public function getTva(): ?bool
  1029.     {
  1030.         return $this->tva;
  1031.     }
  1032.     public function getCivilite(): ?string
  1033.     {
  1034.         return $this->civilite;
  1035.     }
  1036.     public function setTransporteur(?Transporteur $transporteur): Client
  1037.     {
  1038.         $this->transporteur $transporteur;
  1039.         return $this;
  1040.     }
  1041.     public function getTransporteur(): ?Transporteur
  1042.     {
  1043.         return $this->transporteur;
  1044.     }
  1045.     public function setIdPrestashop(?string $idPrestashop): Client
  1046.     {
  1047.         $this->id_prestashop $idPrestashop;
  1048.         return $this;
  1049.     }
  1050.     public function getIdPrestashop(): ?string
  1051.     {
  1052.         return $this->id_prestashop;
  1053.     }
  1054.     public function setDoublon(?bool $doublon): Client
  1055.     {
  1056.         $this->doublon $doublon;
  1057.         return $this;
  1058.     }
  1059.     public function getDoublon(): ?bool
  1060.     {
  1061.         return $this->doublon;
  1062.     }
  1063.     public function setCiviliteObj(?Civilite $civiliteObj): Client
  1064.     {
  1065.         $this->civiliteObj $civiliteObj;
  1066.         return $this;
  1067.     }
  1068.     public function getCiviliteObj(): ?Civilite
  1069.     {
  1070.         return $this->civiliteObj;
  1071.     }
  1072.     public function addLitige(Litige $litige): Client
  1073.     {
  1074.         $this->litiges[] = $litige;
  1075.         return $this;
  1076.     }
  1077.     public function removeLitige(Litige $litige)
  1078.     {
  1079.         $this->litiges->removeElement($litige);
  1080.     }
  1081.     public function getLitiges(): Collection
  1082.     {
  1083.         return $this->litiges;
  1084.     }
  1085.     public function setClassification(?Classification $classification): Client
  1086.     {
  1087.         $this->classification $classification;
  1088.         return $this;
  1089.     }
  1090.     public function getClassification(): ?Classification
  1091.     {
  1092.         return $this->classification;
  1093.     }
  1094.     public function setAccepteProduitAuto(?bool $accepteProduitAuto): Client
  1095.     {
  1096.         $this->accepteProduitAuto $accepteProduitAuto;
  1097.         return $this;
  1098.     }
  1099.     public function getAccepteProduitAuto(): ?bool
  1100.     {
  1101.         return $this->accepteProduitAuto;
  1102.     }
  1103.     public function setJoursLivraison(?string $joursLivraison): Client
  1104.     {
  1105.         $this->joursLivraison $joursLivraison;
  1106.         return $this;
  1107.     }
  1108.     public function getJoursLivraison(): ?array
  1109.     {
  1110.         return is_array($this->joursLivraison) ? unserialize($this->joursLivraison) : [];
  1111.     }    
  1112.     public function setOrigine(?Origine $origine): Client
  1113.     {
  1114.         $this->origine $origine;
  1115.         return $this;
  1116.     }
  1117.     public function getOrigine(): ?Origine
  1118.     {
  1119.         return $this->origine;
  1120.     }
  1121.     public function setFormeJuridique(?FormeJuridique $formeJuridique): Client
  1122.     {
  1123.         $this->formeJuridique $formeJuridique;
  1124.         return $this;
  1125.     }
  1126.     public function getFormeJuridique(): ?FormeJuridique
  1127.     {
  1128.         return $this->formeJuridique;
  1129.     }
  1130.     public function setSecteurGeographique(?SecteurGeographique $secteurGeographique): Client
  1131.     {
  1132.         $this->secteurGeographique $secteurGeographique;
  1133.         return $this;
  1134.     }
  1135.     public function getSecteurGeographique(): ?SecteurGeographique
  1136.     {
  1137.         return $this->secteurGeographique;
  1138.     }
  1139.     public function setArchive(?bool $archive): Client
  1140.     {
  1141.         $this->archive $archive;
  1142.         return $this;
  1143.     }
  1144.     public function getArchive(): ?bool
  1145.     {
  1146.         return $this->archive;
  1147.     }    
  1148.     public function setGroupe(?bool $groupe): Client
  1149.     {
  1150.         $this->groupe $groupe;
  1151.         return $this;
  1152.     }
  1153.     public function getGroupe(): ?bool
  1154.     {
  1155.         return $this->groupe;
  1156.     }
  1157.     public function setParent(?Client $parent): Client
  1158.     {
  1159.         $this->parent $parent;
  1160.         return $this;
  1161.     }
  1162.     public function getParent(): ?Client
  1163.     {
  1164.         return $this->parent;
  1165.     }
  1166.     public function setEmailFactureAuto(?bool $emailFactureAuto): Client
  1167.     {
  1168.         $this->emailFactureAuto $emailFactureAuto;
  1169.         return $this;
  1170.     }
  1171.     public function getEmailFactureAuto(): ?bool
  1172.     {
  1173.         return $this->emailFactureAuto;
  1174.     }
  1175.     public function setIdImport2(?string $idImport2): Client
  1176.     {
  1177.         $this->idImport2 $idImport2;
  1178.         return $this;
  1179.     }
  1180.     public function getIdImport2(): ?string
  1181.     {
  1182.         return $this->idImport2;
  1183.     }
  1184.     public function setNumeroReference(?int $numeroReference): Client
  1185.     {
  1186.         $this->numeroReference $numeroReference;
  1187.         return $this;
  1188.     }
  1189.     public function getNumeroReference(): ?int
  1190.     {
  1191.         return $this->numeroReference;
  1192.     }
  1193.     public function setCompteMarketPlace(?CompteMarketPlace $compteMarketPlace): Client
  1194.     {
  1195.         $this->compteMarketPlace $compteMarketPlace;
  1196.         return $this;
  1197.     }
  1198.     public function getCompteMarketPlace(): ?CompteMarketPlace
  1199.     {
  1200.         return $this->compteMarketPlace;
  1201.     }
  1202.     public function isGroupe(): ?bool
  1203.     {
  1204.         return $this->groupe;
  1205.     }
  1206.     public function isTva(): ?bool
  1207.     {
  1208.         return $this->tva;
  1209.     }
  1210.     public function getApe(): ?string
  1211.     {
  1212.         return $this->ape;
  1213.     }
  1214.     public function setApe(?string $ape): self
  1215.     {
  1216.         $this->ape $ape;
  1217.         return $this;
  1218.     }
  1219.     public function isReferenceClientObligatoire(): ?bool
  1220.     {
  1221.         return $this->referenceClientObligatoire;
  1222.     }
  1223.     public function isFacturationMultiBL(): ?bool
  1224.     {
  1225.         return $this->facturationMultiBL;
  1226.     }
  1227.     public function isDoublon(): ?bool
  1228.     {
  1229.         return $this->doublon;
  1230.     }
  1231.     public function isAccepteProduitAuto(): ?bool
  1232.     {
  1233.         return $this->accepteProduitAuto;
  1234.     }
  1235.     public function isArchive(): ?bool
  1236.     {
  1237.         return $this->archive;
  1238.     }
  1239.     public function isEmailFactureAuto(): ?bool
  1240.     {
  1241.         return $this->emailFactureAuto;
  1242.     }
  1243.     public function isSociete(): ?bool
  1244.     {
  1245.         return $this->societe;
  1246.     }
  1247.     public function setSociete(?bool $societe): self
  1248.     {
  1249.         $this->societe $societe;
  1250.         return $this;
  1251.     }
  1252.     public function getDateSynchroDocumentsErp(): ?\DateTimeInterface
  1253.     {
  1254.         return $this->dateSynchroDocumentsErp;
  1255.     }
  1256.     public function setDateSynchroDocumentsErp(?\DateTimeInterface $dateSynchroDocumentsErp): self
  1257.     {
  1258.         $this->dateSynchroDocumentsErp $dateSynchroDocumentsErp;
  1259.         return $this;
  1260.     }
  1261.     public function isStatutApi(): ?bool
  1262.     {
  1263.         return $this->statutApi;
  1264.     }
  1265.     public function setStatutApi(?bool $statutApi): self
  1266.     {
  1267.         $this->statutApi $statutApi;
  1268.         return $this;
  1269.     }
  1270. }