src/Repository/stock/VilleRepository.php line 303

Open in your IDE?
  1. <?php
  2. namespace App\Repository\stock;
  3. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  4. use Doctrine\Persistence\ManagerRegistry;
  5. use App\Types\user\TypeEtat;
  6. use Doctrine\ORM\RepositoryRepository;
  7. use App\Entity\stock\Ville;
  8. use App\ControllerModel\user\paramUtilTrait;
  9. /**
  10.  * VilleRepository
  11.  *
  12.  * This class was generated by the Doctrine ORM. Add your own custom
  13.  * repository methods below.
  14.  */
  15. class VilleRepository extends ServiceEntityRepository
  16. {
  17.     use paramUtilTrait;
  18.     public function __construct(ManagerRegistry $registry)
  19.     {
  20.         parent::__construct($registryVille::class);
  21.     }
  22.     
  23.     
  24.             /**
  25.      * Retourne tous les profils.
  26.      *
  27.      * @return type
  28.      */
  29.     public function getAllVille($typeProdVille=1,$typeVille 3)
  30.     {
  31.         $qb $this->createQueryBuilder('r')
  32.                 ->where('r.etatVille != '.TypeEtat::SUPPRIME)
  33.                 //->andWhere('r.typeProdVille = '.$typeProdVille)
  34.                 //->andWhere('r.typeVille = '.$typeVille)
  35.                 ->orderBy('r.id''ASC');
  36.         return $qb->getQuery()->getResult();
  37.     }
  38.     /**
  39.      * Retourne un fournisseur.
  40.      *
  41.      * @return type
  42.      */
  43.     public function getAllVillePays($paysId)
  44.     {
  45.          $query $this->_em->createQuery(
  46.                        'SELECT  v
  47.                         FROM App\Entity\stock\Ville  v
  48.                         INNER JOIN v.pays p
  49.                         
  50.                         WHERE  p.id =:paysId'
  51.                             )                
  52.                  ->setParameters(["paysId"=>$paysId ]);
  53.        
  54.           return $query->getResult();;
  55.     }
  56.     /**
  57.      * Retourne un fournisseur.
  58.      *
  59.      * @return type
  60.      */
  61.     public function getAllIdActive($abonneId=0)
  62.     {
  63.          $query $this->_em->createQuery(
  64.                        'SELECT  av.id as idAv, v.id as id
  65.                         FROM App\Entity\user\AbonneVille  av
  66.                         INNER JOIN av.ville v
  67.                         INNER JOIN av.abonne a
  68.                         WHERE  a.id =:abonneId'
  69.                             )                
  70.                  ->setParameters(["abonneId"=>$abonneId]);
  71.         $transform = function($item){
  72.             return $item['id'];
  73.         };
  74.           return array_map($transform$query->getScalarResult());
  75.     }
  76.       /**
  77.      * Retourne un fournisseur.
  78.      *
  79.      * @return type
  80.      */
  81.     public function getAllAbonneActive($abonneId=0)
  82.     {
  83.          $query $this->_em->createQuery(
  84.                        'SELECT av
  85.                         FROM App\Entity\user\AbonneVille  av
  86.                         INNER JOIN av.ville v
  87.                         INNER JOIN av.abonne a
  88.                         WHERE  a.id =:abonneId'
  89.                             )                
  90.                  ->setParameters(["abonneId"=>$abonneId]);
  91.                  return $query->getResult();
  92.     }
  93.         /**
  94.      * Retourne un fournisseur.
  95.      *
  96.      * @return type
  97.      */
  98.     public function getZoneProducteur($abonneId=0)
  99.     {
  100.          $query $this->_em->createQuery(
  101.                        'SELECT  DISTINCT v.id , v.nomVille
  102.                         FROM App\Entity\stock\Ville  v
  103.                         INNER JOIN v.zoneproducteurs zp
  104.                         INNER JOIN zp.producteur p
  105.                         INNER JOIN p.abonne a
  106.                         WHERE  a.id =:abonneId'
  107.                             )                
  108.                  ->setParameters(["abonneId"=>$abonneId]);
  109.         $transform = function($item){
  110.             return $item['id'];
  111.         };
  112.           return array_map($transform$query->getScalarResult());
  113.     }
  114.             /**
  115.      * Retourne un fournisseur.
  116.      *
  117.      * @return type
  118.      */
  119.     public function getZoneInfoProducteur($producteurId=0)
  120.     {
  121.          $query $this->_em->createQuery(
  122.                        'SELECT  DISTINCT v.id , v.nomVille
  123.                         FROM App\Entity\stock\Ville  v
  124.                         INNER JOIN v.zoneproducteurs zp
  125.                         INNER JOIN zp.producteur p
  126.                         INNER JOIN p.abonne a
  127.                         WHERE  p.id =:producteurId'
  128.                             )                
  129.                  ->setParameters(["producteurId"=>$producteurId]);
  130.    
  131.           return $query->getResult();;
  132.     }
  133.     /**
  134.      * Retourne un fournisseur.
  135.      *
  136.      * @return type
  137.      */
  138.     public function getZoneAbonneProducteur($abonneId=0)
  139.     {
  140.          $query $this->_em->createQuery(
  141.                        'SELECT  DISTINCT v
  142.                         FROM App\Entity\stock\Ville  v
  143.                         INNER JOIN v.zoneabonnes p
  144.                         
  145.                         INNER JOIN p.abonne a
  146.                         WHERE  a.id =:abonneId'
  147.                             )                
  148.                  ->setParameters(["abonneId"=>$abonneId]);
  149.                  return $query->getResult();
  150.     }
  151.     
  152.             /**
  153.      * Retourne un fournisseur.
  154.      *
  155.      * @return type
  156.      */
  157.     public function getInfoZoneProducteur($abonneId=0)
  158.     {
  159.          $query $this->_em->createQuery(
  160.                        'SELECT  DISTINCT v.id , v.nomVille
  161.                         FROM App\Entity\stock\Ville  v
  162.                         INNER JOIN v.zoneproducteurs zp
  163.                         INNER JOIN zp.producteur p
  164.                         INNER JOIN p.abonne a
  165.                         WHERE  a.id =:abonneId'
  166.                             )                
  167.                  ->setParameters(["abonneId"=>$abonneId]);
  168.                  return $query->getResult();
  169.     }
  170.                 /**
  171.      * Retourne un fournisseur.
  172.      *
  173.      * @return type
  174.      */
  175.     public function getInfoZoneByVille($abonneId=0)
  176.     {
  177.          $query $this->_em->createQuery(
  178.                        'SELECT  DISTINCT v.id , v.nomVille
  179.                         FROM App\Entity\stock\Ville  v
  180.                         INNER JOIN v.abonnevilles av
  181.                         INNER JOIN av.abonne a
  182.                         WHERE  a.id =:abonneId AND av.typeAbonneVille = 5 '
  183.                 )                
  184.                  ->setParameters(["abonneId"=>$abonneId]);
  185.                  return $query->getResult();
  186.     }
  187.                 /**
  188.      * Retourne tous les profils.
  189.      *
  190.      * @return type
  191.      */
  192.     public function getAllVilleByProduit($typeProdVille=1)
  193.     {
  194.         $qb $this->createQueryBuilder('r')
  195.                 ->where('r.etatVille != '.TypeEtat::SUPPRIME)
  196.                 ->andWhere('r.typeVille = '.$typeProdVille)
  197.                 ->orderBy('r.id''ASC');
  198.         return $qb->getQuery()->getResult();
  199.     }
  200.             /**
  201.      * Retourne tous les profils.
  202.      *
  203.      * @return type
  204.      */
  205.     public function getAllActiveVille($typeProdVille=1,$typeVille 2)
  206.     {
  207.         $qb $this->createQueryBuilder('r')
  208.                 ->where('r.etatVille = '.TypeEtat::ACTIF)
  209.                
  210.                 ->andWhere('r.typeVille = '.$typeVille)
  211.                 ->orderBy('r.id''ASC');
  212.                // ->andWhere('r.typeProdVille = '.$typeProdVille)
  213.         //var_dump($typeProdVille);exit;
  214.         return $qb->getQuery()->getResult();
  215.     }
  216.     
  217.     /**
  218.      * Retourne un fournisseur.
  219.      *
  220.      * @return type
  221.      */
  222.     public function getPrixProducteur($id$idAnnee)
  223.     {
  224.          $query $this->_em->createQuery(
  225.                        'SELECT DISTINCT p.id, pr.infoPrixRigueur
  226.                         FROM App\Entity\stock\PrixZone p INNER JOIN p.prixrigueur pr INNER JOIN p.anneecampagne a INNER JOIN p.ville v
  227.                         INNER JOIN v.producteurs pd
  228.                         WHERE pd.id =:id and  a.id =:idAnnee'
  229.                             )                
  230.                  ->setParameters(array('id'=>$id,'idAnnee'=>$idAnnee));
  231.           return  $query->getResult();
  232.     }
  233.     
  234.     /**
  235.      * Retourne un fournisseur.
  236.      *
  237.      * @return type
  238.      */
  239.     public function getDistinctZoneProducteur($abonneId)
  240.     {
  241.          $query $this->_em->createQuery(
  242.                        'SELECT DISTINCT v.id, v.nomVille
  243.                         FROM App\Entity\stock\Ville v INNER JOIN v.zoneproducteurs  zp
  244.                         INNER JOIN zp.abonne a 
  245.                         WHERE  a.id =:abonneId'
  246.                         )                
  247.                  ->setParameters(array('abonneId'=>$abonneId));
  248.                //var_dump($query->getSql());exit;
  249.           return  $query->getResult();
  250.     }
  251.     public function getDistinctZone($abonneId$typeVille)
  252.     {
  253.          $query $this->_em->createQuery(
  254.                        'SELECT DISTINCT v.id, v.nomVille
  255.                         FROM App\Entity\stock\Ville v 
  256.                         INNER JOIN v.abonnevilles az
  257.                         INNER JOIN az.abonne a 
  258.                         WHERE  a.id =:abonneId and az.typeAbonneVille=:typeVille'
  259.                         )                
  260.                  ->setParameters(array('abonneId'=>$abonneId'typeVille'=>$typeVille));
  261.         if(count($query->getResult()) !=)
  262.             return $query->getResult();
  263.         $query2 $this->_em->createQuery(
  264.                     'SELECT DISTINCT v.id, v.nomVille 
  265.                      FROM App\Entity\stock\Ville v INNER JOIN v.zoneproducteurs zp
  266.                      INNER JOIN zp.abonne a 
  267.                      WHERE  a.id =:abonneId'
  268.                      )                
  269.               ->setParameters(array('abonneId'=>$abonneId));        
  270.                 //var_dump($query->getSql());exit;
  271.           $tabDistinctZone =  array_merge$query->getResult(),$query2->getResult());
  272.           
  273.           return $tabDistinctZone;
  274.     }
  275.     public function getVilleUtilisateur($niveau=4,$tabVille,$type=0) {
  276.         $param = array();
  277.         $datedebarray = array();
  278.         $datefinarray = array();
  279.         $nbTotal 10000;        
  280.        
  281.         $infoVille $this->getStringSqlVille($niveau);
  282.         if($tabVille==0){$p="v".$niveau;}else{$p="p";}
  283.         //var_dump($paramdeb,$paramfin);exit;     
  284.         $sql "SELECT DISTINCT(v".$niveau.".id ) as id,  v".$niveau.".nomVille    as nom               
  285.                 FROM   App\Entity\stock\Ville ".$p;                
  286.         $sql .= $infoVille[0];
  287.          
  288.         $sql .= " WHERE  1=1 ";
  289.         /**  debut critère recherche  * */
  290.         
  291.         $i 0;
  292.         ( $type == '0' || $type == '') ? $sql .= '' $sql .= " AND ".$p.".typeVille = :type";
  293.         
  294.         if($tabVille != 0){
  295.             foreach($tabVille as $uneVille){
  296.                 if($i == 0){
  297.                     $sql .= " AND ( v".$niveau.".id = :ville".$uneVille->getVille()->getId()."";
  298.                 }else{
  299.                     $sql .= " OR v".$niveau.".id = :ville".$uneVille->getVille()->getId()."";
  300.                 }
  301.                 $i++;
  302.                 //$tabProduitUser[] = $unInfoProduit->getId();               
  303.             }
  304.            // $sql .= ")";
  305.         }
  306.         // $sql .= " GROUP BY v".$niveau.".nomVille ";
  307.         $type == '0' || $type == '') ? $sql .= '' $param['type'] = $type;
  308.         if($tabVille != 0){
  309.             foreach($tabVille as $uneVille){
  310.                 //$tabProduitUser[] = $unInfoProduit->getId();
  311.                 $param["ville".$uneVille->getVille()->getId().""] = $uneVille->getVille()->getId();
  312.             } 
  313.         }
  314.         //var_dump($sql);exit;
  315.         $query $this->_em->createQuery($sql);
  316.         $query->setParameters($param);
  317.       // var_dump($query->getSQL());exit;
  318.         return $query->getResult();
  319.     }
  320.         /**
  321.      * Retourne un fournisseur.
  322.      *
  323.      * @return type
  324.      */
  325.     public function getVilleUtilisateurAPI($abonneId=0)
  326.     {
  327.             $query1 $this->_em->createQuery(
  328.                        'SELECT  v.id as id, v.nomVille as nom, av.typeAbonneVille as typeVille
  329.                         FROM App\Entity\user\AbonneVille  av
  330.                         INNER JOIN av.ville v
  331.                         INNER JOIN av.abonne a
  332.                         WHERE  a.id =:abonneId'
  333.                             )                
  334.                  ->setParameters(["abonneId"=>$abonneId]);
  335.                  
  336.             $query2 $this->_em->createQuery(
  337.                                'SELECT DISTINCT v.id, v.nomVille as nom, 5 as typeVille
  338.                                 FROM App\Entity\stock\Ville v INNER JOIN v.zoneproducteurs zp
  339.                                 INNER JOIN zp.abonne a 
  340.                                 WHERE  a.id =:abonneId'
  341.                                 )                
  342.                          ->setParameters(array('abonneId'=>$abonneId));
  343.                //  var_dump($query->getSql());exit;
  344.           //return  $query->getResult();
  345.         return  array_merge$query1->getResult(),$query2->getResult());
  346.     }
  347.     /**
  348.      * Retourne un fournisseur.
  349.      *
  350.      * @return type
  351.      */
  352.     public function getVilleUtilisateurAPIByZone($abonneId=0,$tabVille=array(), $partenaireId=0$typeAction=0)
  353.     {
  354.         $param= array();
  355.             $sql =" SELECT  v.id as id, v.nomVille as nom, 0  as typeVille
  356.                     FROM App\Entity\user\AbonneVille  av
  357.                     INNER JOIN av.ville v ";
  358.                     
  359.                     if($typeAction != 0){
  360.                         $sql .= " INNER JOIN av.abonne a ";
  361.                         if($typeAction == &&  $partenaireId != 0)
  362.                             $sql .= " INNER JOIN av.partenaire pt ";
  363.                     }else{
  364.                         $sql .= " INNER JOIN av.abonne a";   
  365.                     }
  366.                     $sql .=" WHERE  1 = 1  ";  
  367.                     if($typeAction == || $typeAction == 1)
  368.                         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  369.                     else
  370.                         ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $sql .= '  AND pt.id = :partenaireId ';
  371.                     
  372.                     if($typeAction == || $typeAction == 1)
  373.                         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  374.                     else
  375.                         ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $param['partenaireId'] = $partenaireId;
  376.                 $query1 $this->_em->createQuery($sql)    ; 
  377.                 $query1->setParameters($param);
  378.                  
  379.             $param= array();
  380.             $sql =" SELECT DISTINCT v.id, v.nomVille as nom, 5 as typeVille
  381.                         FROM App\Entity\stock\Ville v 
  382.                         INNER JOIN v.zoneproducteurs zp
  383.                         INNER JOIN zp.producteur p
  384.                         
  385.                          ";  
  386.                         
  387.                         if($typeAction != 0){
  388.                             $sql .= " INNER JOIN p.producteurabonnes pas ";
  389.                             $sql .= " INNER JOIN pas.abonne a ";
  390.                             if($typeAction == &&  $partenaireId != 0)
  391.                                 $sql .= " INNER JOIN pas.partenaire pt ";
  392.                         }else{
  393.                             $sql .= " INNER JOIN p.abonne a";
  394.                         }
  395.                         $sql .= " WHERE  1 = 1  ";
  396.                         if($tabVille !=0){    
  397.                             $i=0;
  398.                             foreach($tabVille as $uneVille){
  399.                                 if($i == 0){
  400.                                     $sql .= " AND v.id = :ville".$uneVille->getVille()->getId()."";
  401.                                     //var_dump($uneVille->getId());
  402.                                 }else{
  403.                                     $sql .= " OR v.id = :ville".$uneVille->getVille()->getId()."";
  404.                                 }
  405.                                 $i++;
  406.                                 //$tabProduitUser[] = $unInfoProduit->getId();            
  407.                             }    
  408.                                 //( $ville == '0' || $ville == '') ? $sql .= '' : $sql .= ' AND v3.id = :ville';
  409.                         }
  410.                         if($typeAction == || $typeAction == 1)
  411.                         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  412.                         else
  413.                             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $sql .= '  AND pt.id = :partenaireId ';
  414.                     
  415.                         if($tabVille !=0){    
  416.                             
  417.                                foreach($tabVille as $uneVille){
  418.                                    $param["ville".$uneVille->getVille()->getId().""] = $uneVille->getVille()->getId();            
  419.                                 }
  420.                            
  421.                         }
  422.                         if($typeAction == || $typeAction == 1)
  423.                             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  424.                         else
  425.                             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $param['partenaireId'] = $partenaireId;
  426.                     
  427.                         $query2 $this->_em->createQuery($sql)    ; 
  428.                         $query2->setParameters($param);
  429.         //var_dump($query1->getSql(), $query2->getSql(),$abonneId, $partenaireId );exit;
  430.         return  array_merge$query1->getResult(),$query2->getResult());
  431.     }
  432.        /**
  433.      * Retourne un fournisseur.
  434.      *
  435.      * @return type
  436.      */
  437.     public function getAPIZoneProducteur($abonneId=0,$tabVille=array(), $partenaireId=0$typeAction=0)
  438.     {
  439.      
  440.            
  441.                  
  442.             $param= array();
  443.                     $sql =" SELECT DISTINCT v.id, v.nomVille as nom, 5 as typeVille, a.nom as abonneNom
  444.                                 FROM App\Entity\stock\Ville v INNER JOIN v.zoneproducteurs zp
  445.                                 
  446.                                 INNER JOIN zp.producteur p
  447.                                 
  448.                                 ";  
  449.                     if($typeAction != 0){
  450.                         $sql .= " INNER JOIN p.producteurabonnes pas ";
  451.                         $sql .= " INNER JOIN pas.abonne a ";
  452.                         if($typeAction == &&  $partenaireId != 0)
  453.                             $sql .= " INNER JOIN pas.partenaire pt ";
  454.                     }else{
  455.                         $sql .= " INNER JOIN p.abonne a";
  456.                         
  457.                     }
  458.                     $sql .= " WHERE  1 = 1 ";  
  459.                     
  460.                         if($typeAction == || $typeAction == 1)
  461.                         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  462.                         else
  463.                             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $sql .= '  AND pt.id = :partenaireId ';
  464.                     
  465.                         
  466.                         if($tabVille !=0){    
  467.                             $i=0;
  468.                             foreach($tabVille as $uneVille){
  469.                                 if($i == 0){
  470.                                     $sql .= " AND v.id = :ville".$uneVille->getVille()->getId()."";
  471.                                     //var_dump($uneVille->getId());
  472.                                 }else{
  473.                                     $sql .= " OR v.id = :ville".$uneVille->getVille()->getId()."";
  474.                                 }
  475.                                 $i++;
  476.                                 //$tabProduitUser[] = $unInfoProduit->getId();            
  477.                             }    
  478.                                 //( $ville == '0' || $ville == '') ? $sql .= '' : $sql .= ' AND v3.id = :ville';
  479.                         }
  480.                         if($tabVille !=0){    
  481.                             
  482.                                foreach($tabVille as $uneVille){
  483.                                    $param["ville".$uneVille->getVille()->getId().""] = $uneVille->getVille()->getId();            
  484.                                 }
  485.                            
  486.                         }
  487.                     if($typeAction == || $typeAction == 1)
  488.                         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  489.                     else
  490.                         ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $param['partenaireId'] = $partenaireId;
  491.                   
  492.                                        $query2 $this->_em->createQuery($sql)    ; 
  493.                     $query2->setParameters($param);
  494.     
  495.         return $query2->getResult();
  496.     }
  497.     /**
  498.      * Retourne un fournisseur.
  499.      *
  500.      * @return type
  501.      */
  502.     public function getVilleProjet($abonneId=0,$tabVille=array(), $partenaireId=0$typeAction=0)
  503.     {
  504.         $param= array();
  505.         
  506.         $sql =" SELECT DISTINCT a.id, a.nom as nomProjet, v.id as villeId
  507.                     FROM App\Entity\stock\Ville v 
  508.                     INNER JOIN v.zoneproducteurs zp
  509.                     INNER JOIN zp.producteur p
  510.                 
  511.                     ";  
  512.                 
  513.                 if($typeAction != 0){
  514.                     $sql .= " INNER JOIN p.producteurabonnes pas ";
  515.                     $sql .= " INNER JOIN pas.abonne a ";
  516.                     if($typeAction == &&  $partenaireId != 0)
  517.                         $sql .= " INNER JOIN pas.partenaire pt ";
  518.                 }else{
  519.                     $sql .= " INNER JOIN p.abonne a";
  520.                 }
  521.                 $sql .= " WHERE  1 = 1  ";
  522.                 if($tabVille !=0){    
  523.                     $i=0;
  524.                     foreach($tabVille as $uneVille){
  525.                         if($i == 0){
  526.                             $sql .= " AND v.id = :ville".$uneVille->getVille()->getId()."";
  527.                             //var_dump($uneVille->getId());
  528.                         }else{
  529.                             $sql .= " OR v.id = :ville".$uneVille->getVille()->getId()."";
  530.                         }
  531.                         $i++;
  532.                         //$tabProduitUser[] = $unInfoProduit->getId();            
  533.                     }    
  534.                         //( $ville == '0' || $ville == '') ? $sql .= '' : $sql .= ' AND v3.id = :ville';
  535.                 }
  536.                 if($typeAction == || $typeAction == 1)
  537.                 ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  538.                 else
  539.                     ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $sql .= '  AND pt.id = :partenaireId ';
  540.             
  541.                 if($tabVille !=0){    
  542.                     
  543.                         foreach($tabVille as $uneVille){
  544.                             $param["ville".$uneVille->getVille()->getId().""] = $uneVille->getVille()->getId();            
  545.                         }
  546.                     
  547.                 }
  548.                 if($typeAction == || $typeAction == 1)
  549.                     ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  550.                 else
  551.                     ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $param['partenaireId'] = $partenaireId;
  552.             
  553.                 $query2 $this->_em->createQuery($sql)    ; 
  554.                 $query2->setParameters($param);
  555.         //var_dump($query1->getSql(), $query2->getSql(),$abonneId, $partenaireId );exit;
  556.         return  $query2->getResult();
  557.     }
  558.     /**
  559.      * Retourne un fournisseur.
  560.      *
  561.      * @return type
  562.      */
  563.     public function getCooperativeApi()
  564.     {
  565.          $query $this->_em->createQuery(
  566.                        'SELECT DISTINCT v.id, v.nomVille
  567.                         FROM App\Entity\stock\Ville v'
  568.                             )    ;
  569.           return  $query->getResult();
  570.     }
  571. }