src/Repository/Articles/ArticleComposantRepository.php line 74

Open in your IDE?
  1. <?php
  2. namespace App\Repository\Articles;
  3. use App\Entity\Articles\ArticleComposant;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. /**
  7.  * ArticleComposantRepository
  8.  *
  9.  * This class was generated by the Doctrine ORM. Add your own custom
  10.  * repository methods below.
  11.  */
  12. class ArticleComposantRepository extends ServiceEntityRepository
  13. {
  14.     public function __construct(ManagerRegistry $registry)
  15.     {
  16.         parent::__construct($registryArticleComposant::class);
  17.     }
  18.     public function findArticlesComposesDtc($article_id ''){
  19.         //344667
  20.         $where 'acmp.produitInterne = 1 and f.reference = :fournisseur_id';
  21.         $parameters = ["fournisseur_id" =>12000];
  22.         
  23.         if($article_id != '') {
  24.             $parameters['article_id'] = $article_id;
  25.             $where .= 'and acmp.id = :article_id';
  26.         }
  27.             
  28.         $query $this->createQueryBuilder('p')
  29.             ->select('p')
  30.             ->leftJoin('p.articleCompose''acmp')
  31.             ->leftJoin('acmp.conditionsAchat''condHa')
  32.             ->leftJoin('condHa.fournisseur''f')
  33.             ->where($where)
  34.             ->setParameters($parameters)
  35.             ->groupBy('acmp.id');
  36.         return $query;
  37.     }
  38.     
  39.     
  40.     public function findArticlesComposes(){
  41.         $query $this->createQueryBuilder('p')
  42.             ->select('p')
  43.             ->leftJoin('p.articleCompose''acmp')
  44.             ->where('acmp.produitInterne = 1')
  45.             ->groupBy('acmp.id');
  46.     return $query;
  47.     }
  48.     
  49.     public function getComposantsComposeVirtuel($article){
  50.         $query $this->createQueryBuilder('p')
  51.             ->select('p')
  52.             ->leftJoin('p.articleCompose''acmp')
  53.             ->where('acmp.virtuel = 1 AND p.article = :article')
  54.             ->groupBy('acmp.id')
  55.             ->setParameters(['article' => $article])
  56.                 ;
  57.         return $query;
  58.     }
  59.     
  60.     public function findArticlesComposesId(){
  61.         $query $this->createQueryBuilder('p')
  62.             ->select('acmp.id')
  63.             ->leftJoin('p.articleCompose''acmp')
  64.             ->where('acmp.produitInterne = 1')
  65.             ->groupBy('acmp.id');
  66.     return $query->getQuery()->getResult();
  67.     }
  68.     public function findComposantsByParentAndStatus(int $parentIdint $status 1,$client_id)
  69.     {
  70.         return $this->createQueryBuilder('a')
  71.         ->innerJoin('a.articleCompose''p')
  72.         ->innerJoin('a.article''e')
  73.         ->leftJoin('e.marque''m')
  74.         ->leftJoin('App\Entity\Clients\ClientMarque''ccm',\Doctrine\ORM\Query\Expr\Join::WITH,'ccm.marque = e.marque AND ccm.client = :clientId')
  75.         ->where('p.id = :parentId')
  76.         ->andWhere('ccm.id IS NULL')
  77.         ->setParameter('parentId'$parentId)
  78.         ->setParameter('clientId'$client_id)
  79.         //->andWhere('e.statut = :status')
  80.         //->setParameter('status', $status)
  81.         ->getQuery()
  82.         ->getResult();
  83.     }
  84. }