src/Repository/stock/FournisseurRepository.php line 453

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 App\Entity\stock\Fournisseur;
  7. use App\ControllerModel\user\paramUtilTrait;
  8. /**
  9.  * FournisseurRepository
  10.  *
  11.  * This class was generated by the Doctrine ORM. Add your own custom
  12.  * repository methods below.
  13.  */
  14. class FournisseurRepository extends ServiceEntityRepository
  15. {
  16.     use paramUtilTrait;
  17.     public function __construct(ManagerRegistry $registry)
  18.     {
  19.         parent::__construct($registryFournisseur::class);
  20.     }
  21.     /**
  22.      * Retourne tous les fournisseurs.
  23.      *
  24.      * @return type
  25.      */
  26.     public function getAllFournisseur($type$abonneId=0,$partenaireId=0$typeAction=0)
  27.     {
  28.        // var_dump($abonneId);exit;
  29.         $param = array();
  30.         $sql " SELECT  f
  31.                 FROM App\Entity\stock\Fournisseur f 
  32.                 
  33.                ";
  34.         if($typeAction != 0){
  35.             $sql .= " INNER JOIN f.fournisseurabonnes fas ";
  36.             $sql .= " INNER JOIN fas.abonne a ";
  37.             if($typeAction == &&  $partenaireId != 0)
  38.                 $sql .= " INNER JOIN fas.partenaire pt ";
  39.         }else{
  40.             $sql .= " INNER JOIN f.abonne a";
  41.             
  42.         }
  43.          $sql .= " WHERE  1=1 and f.etatFournisseur !=:etatFournisseur ";
  44.          $param['etatFournisseur'] = TypeEtat::SUPPRIME;
  45.         ( $type == '0' || $type == '') ? $sql .= '' $sql .= ' AND  f.typeFournisseur =:type';
  46.         if($typeAction == || $typeAction == 1)
  47.             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  48.         else
  49.             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $sql .= '  AND pt.id = :partenaireId ';
  50.         ( $type == '0' || $type == '') ? $sql .= '' $param['type'] = $type;
  51.         if($typeAction == || $typeAction == 1)
  52.             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  53.         else
  54.             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $param['partenaireId'] = $partenaireId;
  55.         
  56.         $query $this->_em->createQuery($sql)    ; 
  57.                     
  58.         $query->setParameters($param);
  59.         // var_dump($type,$query->getSQL());exit;    
  60.         return  $query->getResult();
  61.     }
  62.     /**
  63.      * Retourne tous les fournisseurs.
  64.      *
  65.      * @return type
  66.      */
  67.     public function getCountAndSimpleAllFournisseur($type$abonneId=0,$partenaireId=0$typeAction=0$modele=0)
  68.     {
  69.        // var_dump($abonneId);exit;
  70.         $param = array();
  71.         if($modele == 0)
  72.             $sql " SELECT  COUNT(f) as total";
  73.         else
  74.             $sql " SELECT  f.nomFournisseur, f.contactFournisseur, f.codeFournisseur, f.id, f.adresseFournisseur ";
  75.         $sql.= "         FROM App\Entity\stock\Fournisseur f 
  76.                 
  77.                ";
  78.         if($typeAction != 0){
  79.             $sql .= " INNER JOIN f.fournisseurabonnes fas ";
  80.             $sql .= " INNER JOIN fas.abonne a ";
  81.             if($typeAction == &&  $partenaireId != 0)
  82.                 $sql .= " INNER JOIN fas.partenaire pt ";
  83.         }else{
  84.             $sql .= " INNER JOIN f.abonne a";
  85.             
  86.         }
  87.          $sql .= " WHERE  1=1 and f.etatFournisseur !=:etatFournisseur ";
  88.          $param['etatFournisseur'] = TypeEtat::SUPPRIME;
  89.         ( $type == '0' || $type == '') ? $sql .= '' $sql .= ' AND  f.typeFournisseur =:type';
  90.         if($typeAction == || $typeAction == 1)
  91.             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  92.         else
  93.             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $sql .= '  AND pt.id = :partenaireId ';
  94.         ( $type == '0' || $type == '') ? $sql .= '' $param['type'] = $type;
  95.         if($typeAction == || $typeAction == 1)
  96.             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  97.         else
  98.             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $param['partenaireId'] = $partenaireId;
  99.         
  100.         $query $this->_em->createQuery($sql)    ; 
  101.                     
  102.         $query->setParameters($param);
  103.         // var_dump($type,$query->getSQL());exit;    
  104.         return  $query->getResult();
  105.     }
  106.       /**
  107.      * Retourne tous les fournisseurs.
  108.      *
  109.      * @return type
  110.      */
  111.     public function getAllFournisseurPointe($type$abonneId=0)
  112.     {
  113.        // var_dump($abonneId);exit;
  114.         $param = array();
  115.         $sql " SELECT  f
  116.                 FROM App\Entity\stock\Fournisseur f 
  117.                 INNER JOIN f.abonne a
  118.                ";
  119.          $sql .= " WHERE  1=1 and f.etatFournisseur =:etatFournisseur ";
  120.          $param['etatFournisseur'] = 4;
  121.         ( $type == '0' || $type == '') ? $sql .= '' $sql .= ' AND  f.typeFournisseur =:type';
  122.         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= ' AND  a.id =:abonneId';
  123.         ( $type == '0' || $type == '') ? $sql .= '' $param['type'] = $type;
  124.         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  125.         $query $this->_em->createQuery($sql)    ; 
  126.                     
  127.         $query->setParameters($param);
  128.         // var_dump($type,$query->getSQL());exit;    
  129.         return  $query->getResult();
  130.     }
  131.      /**
  132.      * Retourne tous les fournisseurs.
  133.      *
  134.      * @return type
  135.      */
  136.     public function getAllFournisseurAjax($type$abonneId=0)
  137.     {
  138.        // var_dump($abonneId);exit;
  139.         $param = array();
  140.         $sql " SELECT  f.id, f.nomFournisseur
  141.                 FROM App\Entity\stock\Fournisseur f 
  142.                 INNER JOIN f.abonne a
  143.                ";
  144.          $sql .= " WHERE  1=1 and f.etatFournisseur !=:etatFournisseur ";
  145.          $param['etatFournisseur'] = TypeEtat::SUPPRIME;
  146.         ( $type == '0' || $type == '') ? $sql .= '' $sql .= ' AND  f.typeFournisseur =:type';
  147.         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= ' AND  a.id =:abonneId';
  148.         ( $type == '0' || $type == '') ? $sql .= '' $param['type'] = $type;
  149.         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  150.         $query $this->_em->createQuery($sql)    ; 
  151.                     
  152.         $query->setParameters($param);
  153.         // var_dump($type,$query->getSQL());exit;    
  154.         return  $query->getResult();
  155.     }
  156.     
  157.         /**
  158.      * Retourne un fournisseur.
  159.      *
  160.      * @return type
  161.      */
  162.     public function getOneFournisseur($id)
  163.     {
  164.         $qb $this->createQueryBuilder('r')
  165.         ->select('r,i')         
  166.                 ->leftJoin('r.images''i')
  167.                 ->where('r.id = '.$id)
  168.                 ->orderBy('r.id''ASC');
  169.         return $qb->getQuery()->getResult();
  170.     }
  171.     
  172.         /**
  173.      * Retourne un fournisseur.
  174.      *
  175.      * @return type
  176.      */
  177.     public function getAllFournisseurByZone($id,$typefour=1$abonneId=0)
  178.     {
  179.         
  180.          $query $this->_em->createQuery(
  181.                        'SELECT f
  182.                         FROM App\Entity\stock\Fournisseur f 
  183.                         INNER JOIN f.abonne a
  184.                         WHERE   f.typeFournisseur =:typefour AND  f.etatFournisseur !=:etatFournisseur  AND a.id =:abonneId ORDER BY f.nomFournisseur ASC'
  185.                             )->setParameters(array('etatFournisseur'=>TypeEtat::SUPPRIME'typefour'=>$typefour'abonneId'=>$abonneId));
  186.                      //   var_dump($id,$typefour, $abonneId)    ;exit;
  187.           return  $query->getResult();
  188.     }    
  189.         /**
  190.      * Retourne un fournisseur.
  191.      *
  192.      * @return type
  193.      */
  194.     public function getSumSurplusByZone($id)
  195.     {
  196.          $query $this->_em->createQuery(
  197.                        'SELECT SUM(su.quantite) as quantite
  198.                         FROM App\Entity\stock\Surplus su INNER JOIN su.fournisseur f INNER JOIN f.setrouvers s INNER JOIN s.utilisateur u INNER JOIN s.ville v
  199.                         WHERE v.id = :id AND  f.etatFournisseur !=:etatFournisseur  '
  200.                             )->setParameters(array('id'=>$id,'etatFournisseur'=>TypeEtat::SUPPRIME));
  201.           return  $query->getResult();
  202.     }    
  203.     
  204.     
  205.     /**
  206.      * Retourne un fournisseur.
  207.      *
  208.      * @return type
  209.      */
  210.     public function getAllFournisseurByDate()
  211.     {
  212.          $query $this->_em->createQuery(
  213.                        'SELECT DISTINCT f.id, f.nomFournisseur, f.contactFournisseur ,c.dateCommande
  214.                         FROM App\Entity\stock\Fournisseur f INNER JOIN f.commandes c INNER JOIN c.lignecommandes l
  215.                         WHERE DATE_DIFF(CURRENT_DATE(),c.dateCommande)>=120  and c.etatCommande !=2 AND  f.etatFournisseur !=:etatFournisseur '
  216.                             )               
  217.                   ->setParameters(array('etatFournisseur'=>TypeEtat::SUPPRIME));
  218.           return  $query->getResult();
  219.     }    
  220.     /**
  221.      * Retourne un fournisseur.
  222.      *
  223.      * @return type
  224.      */
  225.     public function getAllFournisseurProducteur($id,$ville=0$niveau=4)
  226.     {
  227.         $param =array();
  228.         $infoVille $this->getStringSqlVille($niveau);
  229.         
  230.         $sql "SELECT DISTINCT p.id, f.nomFournisseur, u.nom ,u.prenoms, u.id as idutil,u.tel1 as telephone,  v3.nomVille as village,   p.siModification, p.siIntention, p.siSemence
  231.                         FROM App\Entity\stock\Fournisseur f INNER JOIN f.fournisseurproducteurs fp INNER JOIN fp.producteur p 
  232.                         
  233.                         INNER JOIN p.utilisateur u ";
  234.         $sql .= $infoVille[0];
  235.         
  236.         $sql .= " WHERE  1=1 and f.etatFournisseur !=:etatFournisseur ";
  237.          $param['etatFournisseur'] = TypeEtat::SUPPRIME;
  238.         ( $id == '0' || $id == '') ? $sql .= '' $sql .= ' AND f.id =:id ';
  239.         
  240.          $sql .= " ORDER BY u.nom ASC ";
  241.          
  242.         
  243.          ( $id == '0' || $id == '') ? $sql .= '' $param['id'] = $id;
  244.          
  245.         $query $this->_em->createQuery($sql)    ; 
  246.         //var_dump($query->getSql());exit;                    
  247.         $query->setParameters($param);
  248.         return  $query->getResult();
  249.     }
  250.     
  251.      /**
  252.      * Retourne un fournisseur.
  253.      *
  254.      * @return type
  255.      */
  256.     public function getAllFournisseurProducteurAPI($id,$tabVille=0$niveau=4,$prod='0',$type 0)
  257.     {
  258.         $param =array();
  259.         $infoVille $this->getStringSqlVille($niveau);
  260.         $prod=0;
  261.         $sql "SELECT  f.id,p.id, f.nomFournisseur, u.nom ,u.prenoms, u.id as idutil,u.tel1 as telephone,  v3.nomVille as village,  v3.id as idVille,
  262.                               p.siModification, p.siIntention, p.siSemence, an.id as idAnnee, i.nbreTotalLivre as quantiteReelle,  i.nbreTotalLivre*pr.infoPrixRigueur as montant,
  263.                             SUM(i.nbreTotalLivre ) as totalLivraison, l.quantite  as quantiteTotal,     l.quantite*pr.infoPrixRigueur  as montantAvance, sa.superficie as valSurface, p.typeProd as urlImage
  264.                         
  265.                         
  266.                         FROM App\Entity\stock\Fournisseur f 
  267.                         INNER JOIN f.lignecommandes l
  268.                         
  269.                         INNER JOIN l.producteur p
  270.                         INNER JOIN l.prixrigueur pr
  271.                         INNER JOIN p.surfaceannees sa
  272.                         
  273.                         INNER JOIN sa.anneecampagne an
  274.                         
  275.                         INNER JOIN p.utilisateur u ";
  276.                         $sql .= $infoVille[0];
  277.                         $sql.="LEFT JOIN l.livrers lv
  278.                             LEFT JOIN lv.infolivrer i";
  279.  
  280.                         //INNER JOIN f.fournisseurproducteurs fp INNER JOIN fp.producteur p 
  281.         //$sql .= $infoVille[0];
  282.         
  283.           
  284.         $sql .= " WHERE  1=1 and f.etatProd !=:etatProd ";
  285.          $param['etatProd'] = TypeEtat::SUPPRIME;        
  286.         ( $id == '0' || $id == '') ? $sql .= '' $sql .= ' AND f.id =:id ';
  287.         ( $prod == '0' || $prod == '') ? $prod .= '' $sql .= ' AND p.typeProd =:prod ';
  288.         ( $type == '0' || $type == '') ? $type .= '' $sql .= ' AND p.siModification =:type ';
  289.         if($tabVille !=0){    
  290.             
  291.             if($prod != 1){
  292.                  $i=0;
  293.                 foreach($tabVille as $uneVille){
  294.                     if($i == 0){
  295.                         $sql .= " AND v3.id = :ville".$uneVille->getVille()->getId()."";
  296.                         //var_dump($uneVille->getId());
  297.                     }else{
  298.                         $sql .= " OR v3.id = :ville".$uneVille->getVille()->getId()."";
  299.                     }
  300.                     $i++;
  301.                     //$tabProduitUser[] = $unInfoProduit->getId();            
  302.                }    
  303.                 //( $ville == '0' || $ville == '') ? $sql .= '' : $sql .= ' AND v3.id = :ville';
  304.             }else{
  305.                 ( $tabVille == '0' || $tabVille == '') ? $sql .= '' $sql .= ' AND v.id = :ville';
  306.             }    
  307.         }
  308.          $sql .= " GROUP BY f.id  ORDER BY u.nom ASC ";
  309.          
  310.         //var_dump($sql,$prod);exit;
  311.         $id == '0' || $id == '') ? $sql .= '' $param['id'] = $id;
  312.         ( $prod == '0' || $prod == '') ? $prod .= '' $param['prod'] = $prod;
  313.          //( $ville == '0' || $ville == '') ? $sql .= '' : $param['ville'] = $ville;
  314.          if($tabVille !=0){    
  315.              if($prod != 1){
  316.                 foreach($tabVille as $uneVille){
  317.                     $param["ville".$uneVille->getVille()->getId().""] = $uneVille->getVille()->getId();            
  318.                  }
  319.              }else{
  320.                  ( $tabVille == '0' || $tabVille == '') ? $sql .= '' $param['ville'] = $tabVille;
  321.              }
  322.          }
  323.          ( $type == '0' || $type == '') ? $sql .= '' $param['type'] = $type;
  324.          $query $this->_em->createQuery($sql)    ; 
  325.             
  326.         //var_dump($query->getSql());exit;
  327.         $query->setParameters($param);
  328.         return  $query->getResult();
  329.     }
  330.     
  331.     
  332.     /**
  333.      * Retourne un fournisseur.
  334.      *
  335.      * @return type
  336.      */
  337.     public function getAllFournisseurByType($typeFour 1,$abonneId =)
  338.     {
  339.         $param = array();
  340.         $sql "SELECT DISTINCT f.id, f.nomFournisseur,  0 as idutil,0 as telFournisseur, f.codeGenere as codeGenere, f.typeFournisseur as typeAgent
  341.                         FROM App\Entity\stock\Fournisseur f 
  342.                         INNER JOIN f.abonne a
  343.                         ";
  344.         $sql .= " WHERE  1=1 and f.etatFournisseur !=:etatFournisseur ";
  345.         $param['etatFournisseur'] = TypeEtat::SUPPRIME;
  346.         ( $typeFour == '0' || $typeFour == '') ? $sql .= '' $sql .= ' AND f.typeFournisseur =:typef ';
  347.         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= ' AND a.id =:abonneId ';
  348.         
  349.          $sql .= " ORDER BY f.nomFournisseur ASC ";
  350.          ( $typeFour == '0' || $typeFour == '') ? $sql .= '' $param['typef'] = $typeFour;
  351.          ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  352.          
  353.         $query $this->_em->createQuery($sql)    ; 
  354.                             
  355.         $query->setParameters($param);
  356.         return  $query->getResult();
  357.     }
  358.     
  359.     /**
  360.      * Retourne un fournisseur.
  361.      *
  362.      * @return type
  363.      */
  364.     public function getIntentionProducteurFournisseurAnneeCompage($idProd,$anneeCampagne,$niveau=4)
  365.     {
  366.         
  367.         $param = array();
  368.         $infoVille $this->getStringSqlVille($niveau);
  369.         $sql "SELECT DISTINCT u.id,u.nom as nomPrenom , 
  370.                 u.username,  u.email, sa.id as idsurface, s.superficie as valSurface, sa.datePublication as dateSaisie, a.infoAnneeCampagne as anneeCampagne, sa.etatSurfaceAnnee,sa.codeGenere
  371.                         FROM App\Entity\prod\Surfaceannee sa 
  372.                            
  373.                             INNER JOIN sa.producteur p 
  374.                             INNER JOIN p.utilisateur u
  375.                             INNER JOIN sa.anneecampagne a";
  376.                       // $sql .= $infoVille[0];
  377.                       $sql .= " WHERE  1=1 and f.etatFournisseur !=:etatFournisseur ";
  378.                       $param['etatFournisseur'] = TypeEtat::SUPPRIME;
  379.                             
  380.                             
  381.         ( $idProd == '0' || $idProd == '') ? $sql .= '' $sql .= ' AND p.id=:idProd ';
  382.         ( $anneeCampagne == '0' || $anneeCampagne == '') ? $sql .= '' $sql .= ' AND a.id=:idAnnee ';
  383.         //( $ville == '0' || $ville == '') ? $sql .= '' : $sql .= $infoVille[1];
  384.         
  385.          $sql .= " ORDER BY u.nom ASC ";
  386.          
  387.         ( $idProd == '0' || $idProd == '') ? $sql .= '' $param['idProd'] = $idProd;
  388.         ( $anneeCampagne == '0' || $anneeCampagne == '') ? $sql .= '' $param['idAnnee'] = $anneeCampagne;
  389.         //( $ville == '0' || $ville == '') ? $sql .= '' : $param['ville'] = $ville;
  390.          
  391.         $query $this->_em->createQuery($sql)    ; 
  392.                             
  393.         $query->setParameters($param);
  394.         return  $query->getResult();
  395.         
  396.     }    
  397.     
  398.     
  399.         /**
  400.      * Retourne un fournisseur.
  401.      *
  402.      * @return type
  403.      */
  404.     public function getIntentionProducteurByZoneAnneeCompage($ville$anneeCampagne,$niveau 5,$tabVille)
  405.     {
  406.         
  407.         
  408.         $param = array();
  409.         $infoVille $this->getStringSqlVille($niveau);
  410.         $sql "SELECT DISTINCT u.id,u.nom, u.prenoms, 
  411.                 u.username,  u.email, sa.id as idsurface, sa.superficie as valSurface, sa.datePublication as dateSaisie, a.infoAnneeCampagne as anneeCampagne, sa.etatSurfaceAnnee,sa.codeGenere
  412.                         FROM App\Entity\prod\Surfaceannee sa 
  413.                           
  414.                             INNER JOIN sa.producteur p 
  415.                             INNER JOIN p.utilisateur u
  416.                             INNER JOIN sa.anneecampagne a";
  417.                        $sql .= $infoVille[0];
  418.                        $sql .= " WHERE  1=1 and p.etatProd !=:etatProd ";
  419.                        $param['etatProd'] = TypeEtat::SUPPRIME;
  420.                             
  421.                             
  422.         //( $idProd == '0' || $idProd == '') ? $sql .= '' : $sql .= ' AND p.id=:idProd ';
  423.         $anneeCampagne == '0' || $anneeCampagne == '') ? $sql .= '' $sql .= ' AND a.id=:idAnnee ';
  424.         //( $ville == '0' || $ville == '') ? $sql .= '' : $sql .= $infoVille[1];
  425.         $i 0;
  426.        if($tabVille !=0){
  427.             foreach($tabVille as $uneVille){
  428.                 if($i == 0){
  429.                     $sql .= " AND (v".$niveau.".id = :ville".$uneVille->getVille()->getId()."";
  430.                 }else{
  431.                     $sql .= " OR v".$niveau.".id = :ville".$uneVille->getVille()->getId()."";
  432.                 }
  433.                 
  434.                 $i++;
  435.                 //$tabProduitUser[] = $unInfoProduit->getId();               
  436.             }
  437.         
  438.            // $sql .= ") ";
  439.         }
  440.          //$sql .= " ORDER BY p.id ASC ";
  441.          
  442.         //( $idProd == '0' || $idProd == '') ? $sql .= '' : $param['idProd'] = $idProd;
  443.         $anneeCampagne == '0' || $anneeCampagne == '') ? $sql .= '' $param['idAnnee'] = $anneeCampagne;
  444.         //( $ville == '0' || $ville == '') ? $sql .= '' : $param['ville'] = $ville;
  445.         //var_dump($sql);exit;
  446.        if($tabVille !=0){
  447.             foreach($tabVille as $uneVille){
  448.                 //$tabProduitUser[] = $unInfoProduit->getId();
  449.                 $param["ville".$uneVille->getVille()->getId().""] = $uneVille->getVille()->getId();
  450.             } 
  451.         }
  452.         $query $this->_em->createQuery($sql) ; 
  453.                         
  454.         $query->setParameters($param);
  455.         //    
  456.         
  457.         //var_dump($sql);exit;
  458.         return  $query->getResult();
  459.         
  460.         
  461.     }
  462.     
  463.         /**
  464.      * Retourne un fournisseur.
  465.      *
  466.      * @return type
  467.      */
  468.     public function getSumFournisseurByZone($typeFour 1,$ville 1$niveau=3)
  469.     {
  470.         $param = array();
  471.         $infoVille $this->getStringSqlVille($niveau);
  472.         $sql "SELECT count(p.id) as compte
  473.                         FROM App\Entity\stock\Fournisseur p 
  474.                          ";
  475.         $sql .= $infoVille[0];                
  476.         $sql .= " WHERE v1.typeVille = 2 AND  1=1  ";
  477.         ( $typeFour == '0' || $typeFour == '') ? $sql .= '' $sql .= ' AND p.typeFournisseur =:type ';
  478.         
  479.         ( $ville == '0' || $ville == '') ? $sql .= '' $sql .= $infoVille[1];
  480.         //$sql .= " ORDER BY u.nom ASC ";
  481.         //var_dump($sql);exit;
  482.         
  483.         $typeFour == '0' || $typeFour == '') ? $sql .= '' $param['type'] = $typeFour;
  484.         ( $ville == '0' || $ville == '') ? $sql .= '' $param['ville'] = $ville;
  485.         $query $this->_em->createQuery($sql)    ; 
  486.                             
  487.         $query->setParameters($param);
  488.         return  $query->getResult();
  489.         
  490.     }
  491.      /**
  492.      * Retourne un fournisseur.
  493.      *
  494.      * @return type
  495.      */
  496.     public function getAllFournisseurProducteurAPINew($id,$tabVille=0$niveau=4,$prod=2,$type 0,$abonneId=0$caisseId=0$prodId=0$groupement=0,
  497.                                                       $partenaireId=0$typeAction=)
  498.     {
  499.         $param =array();
  500.         $infoVille $this->getStringSqlVille($niveau);
  501.         
  502.         $sql "SELECT  p.id, 0 as nomFournisseur, u.nom ,u.prenoms, u.id as idutil,u.tel1 as telephone,
  503.                               p.siModification, p.siIntention, p.siSemence, 0 as idAnnee, 0 as quantiteReelle,  0 as montant,
  504.                             0  as totalLivraison, 0 as quantiteTotal,     0  as montantAvance, 0 as valSurface, p.typeProd as urlImage,  p.codeGenere as codeGenere,  p.etatProd as etat, v.id as idVille, v.nomVille,  g.id as groupement, g.nomGroupement, u.sexe,
  505.                             p.datePublication as dateSaisie
  506.                          ";
  507.         
  508.          $sql .= "
  509.                         FROM App\Entity\prod\Producteur p 
  510.                         
  511.                         INNER JOIN p.producteurgroupements pg
  512.                         INNER JOIN pg.groupement g ";
  513.                         /*if($id != 0){
  514.                                 $sql .= "    INNER JOIN p.fournisseurproducteurs fp
  515.                                                 
  516.                                             INNER JOIN p.fournisseur f
  517.                                             
  518.                                             ";
  519.                         }*/
  520.                         $sql .= "    INNER JOIN p.utilisateur u ";
  521.                         /*if ( $caisseId == '0' || $caisseId == '') {
  522.                             $sql .= "";
  523.                         }else{*/
  524.                         $sql .= " INNER JOIN p.zoneproducteurs zp 
  525.                                     INNER JOIN zp.ville v
  526.                                     ";
  527.                                     /**
  528.                                     
  529.                                     INNER JOIN v.setrouvers st 
  530.                                     
  531.                                     INNER JOIN st.fournisseur f
  532.                                     */
  533.                         //}
  534.                         
  535.                         if($typeAction != 0){
  536.                             $sql .= " INNER JOIN p.producteurabonnes pas ";
  537.                             $sql .= " INNER JOIN pas.abonne a ";
  538.                             if($typeAction == &&  $partenaireId != 0)
  539.                                 $sql .= " INNER JOIN pas.partenaire pt ";
  540.                         }else{
  541.                            // $sql .= " INNER JOIN p.abonne a";
  542.                             $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= ' INNER JOIN zp.abonne a ';
  543.                             
  544.                         }
  545.                         $sql .= $infoVille[0];
  546.                         /*$sql.="LEFT JOIN l.livrers lv
  547.                             LEFT JOIN lv.infolivrer i";*/
  548.                             
  549.                         //INNER JOIN l.prixrigueur pr
  550.                         //INNER JOIN f.fournisseurproducteurs fp INNER JOIN fp.producteur p 
  551.                         //$sql .= $infoVille[0];
  552.         
  553.           
  554.                         $sql .= " WHERE  1=1 and p.etatProd =:etatProd ";
  555.                         //var_dump($sql);exit;
  556.                         $param['etatProd'] = TypeEtat::ACTIF;    
  557.                         ( $groupement == '0' || $groupement == '') ? $sql .= '' $sql .= ' AND g.id =:groupement ';
  558.                         if($groupement == '0')
  559.                         ( $id == '0' || $id == '') ? $sql .= '' $sql .= ' AND u.id =:id ';
  560.                         ( $prod == '0' || $prod == '') ? $sql .= '' $sql .= ' AND p.typeProd =:prod ';
  561.                         ( $prodId == '0' || $prodId == '') ? $sql .= '' $sql .= ' AND p.id =:prodId ';
  562.                         ( $type == '0' || $type == '') ? $sql .= '' $sql .= ' AND p.siModification =:type ';
  563.                         ( $type == '0' || $type == '') ? $sql .= '' $sql .= ' AND p.siModification =:type ';
  564.                         if($typeAction == || $typeAction == 1)
  565.                             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  566.                         else
  567.                             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $sql .= '  AND pt.id = :partenaireId ';
  568.         
  569.                         
  570.                       if($groupement ==0){
  571.                          if(count($tabVille) !=0){    
  572.                             
  573.                             if($prod != 1){
  574.                                 $i=0;
  575.                                 foreach($tabVille as $uneVille){
  576.                                     if($i == 0){
  577.                                         $sql .= " AND ( v.id = :ville".$uneVille->getVille()->getId()."";
  578.                                         //var_dump($uneVille->getId());
  579.                                     }else{
  580.                                         $sql .= " OR v.id = :ville".$uneVille->getVille()->getId()."";
  581.                                     }
  582.                                     $i++;
  583.                                     //$tabProduitUser[] = $unInfoProduit->getId();            
  584.                                 }    
  585.                                 
  586.                                     $sql .= " ) ";
  587.                              
  588.                                 //( $ville == '0' || $ville == '') ? $sql .= '' : $sql .= ' AND v3.id = :ville';
  589.                             }else{
  590.                                 ( $tabVille == '0' || $tabVille == '') ? $sql .= '' $sql .= ' AND v.id = :ville';
  591.                             }    
  592.                         }
  593.                       }
  594.                         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= ' AND a.id =:abonneId ';
  595.                        
  596.                         $sql .= " ORDER BY u.nom ASC ";
  597.          
  598.         //var_dump($sql, $abonneId);exit;
  599.         if($groupement == '0')
  600.         ( $id == '0' || $id == '') ? $sql .= '' $param['id'] = $id;
  601.         ( $groupement == '0' || $groupement == '') ? $sql .= '' $param['groupement'] = $groupement;
  602.         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  603.         ( $prod == '0' || $prod == '') ? $prod .= '' $param['prod'] = $prod;
  604.         ( $prodId == '0' || $prodId == '') ? $prodId .= '' $param['prodId'] = $prodId;
  605.         if($typeAction == || $typeAction == 1)
  606.             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  607.         else
  608.             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $param['partenaireId'] = $partenaireId;
  609.          //( $ville == '0' || $ville == '') ? $sql .= '' : $param['ville'] = $ville;
  610.          if($groupement ==0){
  611.              if($tabVille !=0){    
  612.                  if($prod != 1){
  613.                     foreach($tabVille as $uneVille){
  614.                         $param["ville".$uneVille->getVille()->getId().""] = $uneVille->getVille()->getId();            
  615.                      }
  616.                  }else{
  617.                      ( $tabVille == '0' || $tabVille == '') ? $sql .= '' $param['ville'] = $tabVille;
  618.                  }
  619.              }
  620.          }
  621.         ($type == '0' || $type == '') ? $sql .= '' $param['type'] = $type;
  622.         $query $this->_em->createQuery($sql)    ; 
  623.         $query->setParameters($param);
  624.         return  $query->getResult();
  625.     }
  626.      /**
  627.      * Retourne un fournisseur.
  628.      *
  629.      * @return type
  630.      */
  631.     public function getAllFournisseurProducteurLocalisationAPINew($id,$tabVille=0$niveau=4,$prod=2,$type 0,$abonneId=0$caisseId=0$prodId=0$groupement=0,
  632.                                                       $partenaireId=0$typeAction=)
  633.     {
  634.         $param =array();
  635.         $infoVille $this->getStringSqlVille($niveau);
  636.         
  637.         $sql " SELECT   lo.id, sa.codeGenere as parCodeGenere,  lo.longitude, lo.latitude, lo.typeLocalisation, lo.codeGenere, 1 as utilisateurId, lo.tabPolygone as tabLocalisation
  638.                          ";
  639.          $sql .= "
  640.                         FROM App\Entity\prod\Producteur p 
  641.                         
  642.                         INNER JOIN p.producteurgroupements pg
  643.                         INNER JOIN pg.groupement g ";
  644.                         /*if($id != 0){
  645.                                 $sql .= "    INNER JOIN p.fournisseurproducteurs fp
  646.                                                 
  647.                                             INNER JOIN p.fournisseur f
  648.                                             
  649.                                             ";
  650.                         }*/
  651.                         $sql .= "    INNER JOIN p.utilisateur u ";
  652.                         /*if ( $caisseId == '0' || $caisseId == '') {
  653.                             $sql .= "";
  654.                         }else{*/
  655.                         $sql .= " INNER JOIN p.zoneproducteurs zp 
  656.                                     INNER JOIN zp.ville v
  657.                                     ";
  658.                                     /**
  659.                                     
  660.                                     INNER JOIN v.setrouvers st 
  661.                                     
  662.                                     INNER JOIN st.fournisseur f
  663.                                     */
  664.                         //}
  665.                         
  666.                         if($typeAction != 0){
  667.                             $sql .= " INNER JOIN p.producteurabonnes pas ";
  668.                             $sql .= " INNER JOIN pas.abonne a ";
  669.                             if($typeAction == &&  $partenaireId != 0)
  670.                                 $sql .= " INNER JOIN pas.partenaire pt ";
  671.                         }else{
  672.                            // $sql .= " INNER JOIN p.abonne a";
  673.                             $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= ' INNER JOIN zp.abonne a ';
  674.                             
  675.                         }
  676.                         $sql .= "
  677.                             INNER JOIN p.surfaceannees sa
  678.                             INNER JOIN sa.localisations lo 
  679.                         " ;
  680.                         $sql .= $infoVille[0];
  681.                         /*$sql.="LEFT JOIN l.livrers lv
  682.                             LEFT JOIN lv.infolivrer i";*/
  683.                             
  684.                         //INNER JOIN l.prixrigueur pr
  685.                         //INNER JOIN f.fournisseurproducteurs fp INNER JOIN fp.producteur p 
  686.                         //$sql .= $infoVille[0];
  687.         
  688.           
  689.                         $sql .= " WHERE  1=1 and p.etatProd !=:etatProd  and lo.typeLocalisation = 1 ";
  690.                         //var_dump($sql);exit;
  691.                         $param['etatProd'] = TypeEtat::SUPPRIME;    
  692.                         ( $groupement == '0' || $groupement == '') ? $sql .= '' $sql .= ' AND g.id =:groupement ';
  693.                         if($groupement == '0')
  694.                         ( $id == '0' || $id == '') ? $sql .= '' $sql .= ' AND u.id =:id ';
  695.                         ( $prod == '0' || $prod == '') ? $sql .= '' $sql .= ' AND p.typeProd =:prod ';
  696.                         ( $prodId == '0' || $prodId == '') ? $sql .= '' $sql .= ' AND p.id =:prodId ';
  697.                         ( $type == '0' || $type == '') ? $sql .= '' $sql .= ' AND p.siModification =:type ';
  698.                         ( $type == '0' || $type == '') ? $sql .= '' $sql .= ' AND p.siModification =:type ';
  699.                         if($typeAction == || $typeAction == 1)
  700.                             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  701.                         else
  702.                             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $sql .= '  AND pt.id = :partenaireId ';
  703.         
  704.                         
  705.                       if($groupement ==0){
  706.                          if(count($tabVille) !=0){    
  707.                             
  708.                             if($prod != 1){
  709.                                 $i=0;
  710.                                 foreach($tabVille as $uneVille){
  711.                                     if($i == 0){
  712.                                         $sql .= " AND ( v.id = :ville".$uneVille->getVille()->getId()."";
  713.                                         //var_dump($uneVille->getId());
  714.                                     }else{
  715.                                         $sql .= " OR v.id = :ville".$uneVille->getVille()->getId()."";
  716.                                     }
  717.                                     $i++;
  718.                                     //$tabProduitUser[] = $unInfoProduit->getId();            
  719.                                 }    
  720.                                 
  721.                                     $sql .= " ) ";
  722.                              
  723.                                 //( $ville == '0' || $ville == '') ? $sql .= '' : $sql .= ' AND v3.id = :ville';
  724.                             }else{
  725.                                 ( $tabVille == '0' || $tabVille == '') ? $sql .= '' $sql .= ' AND v.id = :ville';
  726.                             }    
  727.                         }
  728.                       }
  729.                         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= ' AND a.id =:abonneId ';
  730.                        
  731.                         $sql .= " ORDER BY u.nom ASC ";
  732.          
  733.         //var_dump($sql, $abonneId);exit;
  734.         if($groupement == '0')
  735.         ( $id == '0' || $id == '') ? $sql .= '' $param['id'] = $id;
  736.         ( $groupement == '0' || $groupement == '') ? $sql .= '' $param['groupement'] = $groupement;
  737.         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  738.         ( $prod == '0' || $prod == '') ? $prod .= '' $param['prod'] = $prod;
  739.         ( $prodId == '0' || $prodId == '') ? $prodId .= '' $param['prodId'] = $prodId;
  740.         if($typeAction == || $typeAction == 1)
  741.             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  742.         else
  743.             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $param['partenaireId'] = $partenaireId;
  744.          //( $ville == '0' || $ville == '') ? $sql .= '' : $param['ville'] = $ville;
  745.          if($groupement ==0){
  746.              if($tabVille !=0){    
  747.                  if($prod != 1){
  748.                     foreach($tabVille as $uneVille){
  749.                         $param["ville".$uneVille->getVille()->getId().""] = $uneVille->getVille()->getId();            
  750.                      }
  751.                  }else{
  752.                      ( $tabVille == '0' || $tabVille == '') ? $sql .= '' $param['ville'] = $tabVille;
  753.                  }
  754.              }
  755.          }
  756.         ($type == '0' || $type == '') ? $sql .= '' $param['type'] = $type;
  757.         $query $this->_em->createQuery($sql)    ; 
  758.         $query->setParameters($param);
  759.         return  $query->getResult();
  760.     }
  761.     /**
  762.      * Retourne un fournisseur.
  763.      *
  764.      * @return type
  765.      */
  766.     public function getAllFournisseurProducteurImageAPINew($id,$tabVille=0$niveau=4,$prod=2,$type 0,$abonneId=0$caisseId=0$prodId=0$groupement=0,
  767.                                                       $partenaireId=0$typeAction=)
  768.     {
  769.         $param =array();
  770.         $infoVille $this->getStringSqlVille($niveau);
  771.         
  772.         $sql " SELECT    p.codeGenere as prodCodeGenere,  lo.urlImage, lo.titreImage,  lo.codeGenere, 1 as utilisateurId
  773.                          ";
  774.         
  775.          $sql .= "
  776.                         FROM App\Entity\prod\Producteur p 
  777.                         
  778.                         INNER JOIN p.producteurgroupements pg
  779.                         INNER JOIN pg.groupement g ";
  780.                         /*if($id != 0){
  781.                                 $sql .= "    INNER JOIN p.fournisseurproducteurs fp
  782.                                                 
  783.                                             INNER JOIN p.fournisseur f
  784.                                             
  785.                                             ";
  786.                         }*/
  787.                         $sql .= "    INNER JOIN p.utilisateur u ";
  788.                         /*if ( $caisseId == '0' || $caisseId == '') {
  789.                             $sql .= "";
  790.                         }else{*/
  791.                         $sql .= " INNER JOIN p.zoneproducteurs zp 
  792.                                     INNER JOIN zp.ville v
  793.                                     ";
  794.                                     /**
  795.                                     
  796.                                     INNER JOIN v.setrouvers st 
  797.                                     
  798.                                     INNER JOIN st.fournisseur f
  799.                                     */
  800.                         //}
  801.                         
  802.                         if($typeAction != 0){
  803.                             $sql .= " INNER JOIN p.producteurabonnes pas ";
  804.                             $sql .= " INNER JOIN pas.abonne a ";
  805.                             if($typeAction == &&  $partenaireId != 0)
  806.                                 $sql .= " INNER JOIN pas.partenaire pt ";
  807.                         }else{
  808.                            // $sql .= " INNER JOIN p.abonne a";
  809.                             $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= ' INNER JOIN zp.abonne a ';
  810.                             
  811.                         }
  812.                         $sql .= "
  813.                             INNER JOIN p.images lo 
  814.                         " ;
  815.                         $sql .= $infoVille[0];
  816.                         /*$sql.="LEFT JOIN l.livrers lv
  817.                             LEFT JOIN lv.infolivrer i";*/
  818.                             
  819.                         //INNER JOIN l.prixrigueur pr
  820.                         //INNER JOIN f.fournisseurproducteurs fp INNER JOIN fp.producteur p 
  821.                         //$sql .= $infoVille[0];
  822.         
  823.           
  824.                         $sql .= " WHERE  1=1 and p.etatProd !=:etatProd  ";
  825.                         //var_dump($sql);exit;
  826.                         $param['etatProd'] = TypeEtat::SUPPRIME;    
  827.                         ( $groupement == '0' || $groupement == '') ? $sql .= '' $sql .= ' AND g.id =:groupement ';
  828.                         if($groupement == '0')
  829.                         ( $id == '0' || $id == '') ? $sql .= '' $sql .= ' AND u.id =:id ';
  830.                         ( $prod == '0' || $prod == '') ? $sql .= '' $sql .= ' AND p.typeProd =:prod ';
  831.                         ( $prodId == '0' || $prodId == '') ? $sql .= '' $sql .= ' AND p.id =:prodId ';
  832.                         ( $type == '0' || $type == '') ? $sql .= '' $sql .= ' AND p.siModification =:type ';
  833.                         ( $type == '0' || $type == '') ? $sql .= '' $sql .= ' AND p.siModification =:type ';
  834.                         if($typeAction == || $typeAction == 1)
  835.                             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  836.                         else
  837.                             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $sql .= '  AND pt.id = :partenaireId ';
  838.         
  839.                         
  840.                       if($groupement ==0){
  841.                          if(count($tabVille) !=0){    
  842.                             
  843.                             if($prod != 1){
  844.                                 $i=0;
  845.                                 foreach($tabVille as $uneVille){
  846.                                     if($i == 0){
  847.                                         $sql .= " AND ( v.id = :ville".$uneVille->getVille()->getId()."";
  848.                                         //var_dump($uneVille->getId());
  849.                                     }else{
  850.                                         $sql .= " OR v.id = :ville".$uneVille->getVille()->getId()."";
  851.                                     }
  852.                                     $i++;
  853.                                     //$tabProduitUser[] = $unInfoProduit->getId();            
  854.                                 }    
  855.                                 
  856.                                     $sql .= " ) ";
  857.                              
  858.                                 //( $ville == '0' || $ville == '') ? $sql .= '' : $sql .= ' AND v3.id = :ville';
  859.                             }else{
  860.                                 ( $tabVille == '0' || $tabVille == '') ? $sql .= '' $sql .= ' AND v.id = :ville';
  861.                             }    
  862.                         }
  863.                       }
  864.                         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $sql .= ' AND a.id =:abonneId ';
  865.                        
  866.                         $sql .= " ORDER BY u.nom ASC ";
  867.          
  868.         //var_dump($sql, $abonneId);exit;
  869.         if($groupement == '0')
  870.         ( $id == '0' || $id == '') ? $sql .= '' $param['id'] = $id;
  871.         ( $groupement == '0' || $groupement == '') ? $sql .= '' $param['groupement'] = $groupement;
  872.         ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  873.         ( $prod == '0' || $prod == '') ? $prod .= '' $param['prod'] = $prod;
  874.         ( $prodId == '0' || $prodId == '') ? $prodId .= '' $param['prodId'] = $prodId;
  875.         if($typeAction == || $typeAction == 1)
  876.             ( $abonneId == '0' || $abonneId == '') ? $sql .= '' $param['abonneId'] = $abonneId;
  877.         else
  878.             ( $partenaireId == '0' || $partenaireId == '') ? $sql .= '' $param['partenaireId'] = $partenaireId;
  879.          //( $ville == '0' || $ville == '') ? $sql .= '' : $param['ville'] = $ville;
  880.          if($groupement ==0){
  881.              if($tabVille !=0){    
  882.                  if($prod != 1){
  883.                     foreach($tabVille as $uneVille){
  884.                         $param["ville".$uneVille->getVille()->getId().""] = $uneVille->getVille()->getId();            
  885.                      }
  886.                  }else{
  887.                      ( $tabVille == '0' || $tabVille == '') ? $sql .= '' $param['ville'] = $tabVille;
  888.                  }
  889.              }
  890.          }
  891.         ($type == '0' || $type == '') ? $sql .= '' $param['type'] = $type;
  892.         $query $this->_em->createQuery($sql)    ; 
  893.         $query->setParameters($param);
  894.         return  $query->getResult();
  895.     }
  896.     
  897.      /**
  898.      * Retourne un fournisseur.
  899.      *
  900.      * @return type
  901.      */
  902.     public function getOneFournisseurAPI($id)
  903.     {
  904.         $param =array();
  905.        
  906.         $sql "SELECT  f.id, f.nomFournisseur, f.depassementFournisseur, f.creditFournisseur                       
  907.                         FROM App\Entity\stock\Fournisseur f  ";          
  908.         $sql .= " WHERE  1=1 and f.id =:id ";
  909.              
  910.         ( $id == '0' || $id == '') ? $sql .= '' $sql .= ' AND f.id =:id ';
  911.         
  912.         ( $id == '0' || $id == '') ? $sql .= '' $param['id'] = $id;
  913.         $query $this->_em->createQuery($sql)    ; 
  914.         $query->setParameters($param);
  915.         return  $query->getResult();
  916.     }
  917.     
  918.      /**
  919.      * Retourne un fournisseur.
  920.      *
  921.      * @return type
  922.      */
  923.     public function getFournisseurSeTrouverAPI($id)
  924.     {
  925.         $param =array();
  926.        
  927.         $sql "SELECT  v.id, v.nomVille                      
  928.                         FROM App\Entity\stock\Fournisseur f  ";    
  929.                         
  930.         $sql .= " INNER JOIN f.setrouvers st ";
  931.         $sql .= " INNER JOIN st.ville v ";
  932.         $sql .= " WHERE  1=1 and f.id =:id ";
  933.              
  934.         ( $id == '0' || $id == '') ? $sql .= '' $sql .= ' AND f.id =:id ';
  935.         
  936.         ( $id == '0' || $id == '') ? $sql .= '' $param['id'] = $id;
  937.         $query $this->_em->createQuery($sql)    ; 
  938.         $query->setParameters($param);
  939.         return  $query->getResult();
  940.     }
  941.     public function getAllPatient($id,$siDecede=0$etatPatient=0,$dateDebutVisite=0,$dateFinVisite=0,
  942.                                   $siAbandonne 0,$siPerduVue=0$typeService=0$manquantReunion=0
  943.                                   $districtId=0$dateDebutAjout=0,$dateFinAjout=)
  944.     {
  945.         $param =array();
  946.         
  947.         $sql " SELECT  * ";
  948.         $sql .= "   FROM App\Entity\Patient p 
  949.                     INNER JOIN p.typepatient tp ";
  950.         $sql .= "    INNER JOIN p.gender g  ";
  951.         $sql .= "    INNER JOIN p.regime r ";
  952.         $sql .= "    INNER JOIN p.visits v ";
  953.         $sql .= "    INNER JOIN p.hivType ht ";
  954.         $sql .= "    INNER JOIN p.patienthealthcenter phc ";
  955.         $sql .= "    INNER JOIN phc.healthcenter hc ";
  956.         $sql .= "    INNER JOIN hc.healthcenterstatus hcs ";
  957.         $sql .= "    INNER JOIN hc.healthcentertype hct ";
  958.             
  959.         $sql .= " WHERE  1=1 ";
  960.         ( $siDecede == '0' || $siDecede == '') ? $sql .= '' $sql .= ' AND u.id =:id ';
  961.         ( $etatPatient == '0' || $etatPatient == '') ? $sql .= '' $sql .= ' AND p.typeProd =:prod ';
  962.         ( $siAbandonne == '0' || $siPerduVue == '') ? $sql .= '' $sql .= ' AND p.id =:prodId ';
  963.         ( $typeService == '0' || $typeService == '') ? $sql .= '' $sql .= ' AND p.siModification =:type ';
  964.         ( $manquantReunion == '0' || $manquantReunion == '') ? $sql .= '' $sql .= ' AND p.siModification =:type ';
  965.        
  966.         ( $districtId == '0' || $districtId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  967.         ( $districtId == '0' || $districtId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  968.         ( $siDecede == '0' || $siDecede == '') ? $sql .= '' $param['siDecide'] = $siDecide;
  969.         ( $etatPatient == '0' || $etatPatient == '') ? $sql .= '' $param['etatPatient'] = $etatPatient;
  970.         ( $siAbandonne == '0' || $siAbandonne == '') ? $sql .= '' $param['siAbandonne'] = $siAbandonne;
  971.         ( $typeService == '0' || $typeService == '') ? $prod .= '' $param['typeService'] = $typeService;
  972.         ( $manquantReunion == '0' || $manquantReunion == '') ? $manquantReunion .= '' $param['manquantReunion'] = $manquantReunion;
  973.     
  974.         ($districtId == '0' || $districtId == '') ? $districtId .= '' $param['districtId'] = $districtId;
  975.         $query $this->_em->createQuery($sql)    ; 
  976.         $query->setParameters($param);
  977.         return  $query->getResult();
  978.     }
  979.     public function getAllStockDisponible($id,$siDecide=0$etatPatient=0,$dateDebutVisite=0,$dateFinVisite=0,
  980.                                   $siAbandonne 0,$siPerduVue=0$typeService=0$manquantReunion=0
  981.                                   $districtId=0$dateDebutAjout=0,$dateFinAjout=)
  982.     {
  983.         $param =array();
  984.         $sql " SELECT  * ";
  985.         $sql .= "   FROM App\Entity\Patient p 
  986.                     INNER JOIN p.typepatient tp ";
  987.         $sql .= "    INNER JOIN p.gender g  ";
  988.         $sql .= "    INNER JOIN p.regime r ";
  989.         $sql .= "    INNER JOIN p.visits v ";
  990.         $sql .= "    INNER JOIN p.hivType ht ";
  991.         $sql .= "    INNER JOIN p.patienthealthcenter phc ";
  992.         $sql .= "    INNER JOIN phc.healthcenter hc ";
  993.         $sql .= "    INNER JOIN hc.healthcenterstatus hcs ";
  994.         $sql .= "    INNER JOIN hc.healthcentertype hct ";
  995.         $sql .= " WHERE  1=1 ";
  996.         ( $siDecide == '0' || $siDecide == '') ? $sql .= '' $sql .= ' AND u.id =:id ';
  997.         ( $etatPatient == '0' || $etatPatient == '') ? $sql .= '' $sql .= ' AND p.typeProd =:prod ';
  998.         ( $siAbandonne == '0' || $siPerduVue == '') ? $sql .= '' $sql .= ' AND p.id =:prodId ';
  999.         ( $typeService == '0' || $typeService == '') ? $sql .= '' $sql .= ' AND p.siModification =:type ';
  1000.         ( $manquantReunion == '0' || $manquantReunion == '') ? $sql .= '' $sql .= ' AND p.siModification =:type ';
  1001.        
  1002.         ( $districtId == '0' || $districtId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  1003.         ( $districtId == '0' || $districtId == '') ? $sql .= '' $sql .= '  AND a.id = :abonneId ';
  1004.         ( $siDecide == '0' || $siDecide == '') ? $sql .= '' $param['siDecide'] = $siDecide;
  1005.         ( $etatPatient == '0' || $etatPatient == '') ? $sql .= '' $param['etatPatient'] = $etatPatient;
  1006.         ( $siAbandonne == '0' || $siAbandonne == '') ? $sql .= '' $param['siAbandonne'] = $siAbandonne;
  1007.         ( $typeService == '0' || $typeService == '') ? $prod .= '' $param['typeService'] = $typeService;
  1008.         ( $manquantReunion == '0' || $manquantReunion == '') ? $manquantReunion .= '' $param['manquantReunion'] = $manquantReunion;
  1009.     
  1010.         ($districtId == '0' || $districtId == '') ? $districtId .= '' $param['districtId'] = $districtId;
  1011.         $query $this->_em->createQuery($sql)    ; 
  1012.         $query->setParameters($param);
  1013.         return  $query->getResult();
  1014.     }
  1015.     
  1016. }