%PDF- %PDF-
Direktori : /home/emtnaeewxm/www/src/EEM/ArticleBundle/Repository/ |
Current File : /home/emtnaeewxm/www/src/EEM/ArticleBundle/Repository/ArticleRepository.php |
<?php namespace EEM\ArticleBundle\Repository; use Doctrine\ORM\QueryBuilder; /** * ArticleRepository * * This class was generated by the Doctrine ORM. Add your own custom * repository methods below. */ class ArticleRepository extends \Doctrine\ORM\EntityRepository { public function recherchePieceRechange() { $queryBuilder = $this->createQueryBuilder('a'); $queryBuilder->andWhere('a.archiver is null or a.archiver = :archiv') ->setParameter('archiv', false); $queryBuilder ->leftJoin('a.famille', 'famille') ->andWhere('famille.pieceRechange = :type') ->setParameter('type', true); $query = $queryBuilder->getQuery(); $results = $query->getResult(); return $results; } public function MyFindAll($data) { $queryBuilder = $this->createQueryBuilder('a'); $this->search($queryBuilder, $data); $queryBuilder->andWhere('a.archiver is null or a.archiver = :archiv') ->setParameter('archiv', false); /* $query = $queryBuilder->getQuery(); $results = $query->getResult(); */ return $queryBuilder; } public function articleDisponible() { $queryBuilder = $this->createQueryBuilder('a'); $queryBuilder->andWhere('a.archiver is null or a.archiver = :archiv') ->setParameter('archiv', false); $query = $queryBuilder->getQuery(); $results = $query->getResult(); return $results; } public function MyFindAllArchive($data) { $queryBuilder = $this->createQueryBuilder('a'); $queryBuilder->andWhere('a.archiver = :archiv') ->setParameter('archiv', true); $this->search($queryBuilder, $data); /* $query = $queryBuilder->getQuery(); $results = $query->getResult(); */ return $queryBuilder; } public function chiffreArticle($data) { $queryBuilder = $this->createQueryBuilder('a'); $queryBuilder->andWhere('a.archiver is null or a.archiver = :archiv') ->setParameter('archiv', false); $this->search($queryBuilder, $data); $query = $queryBuilder->getQuery(); $results = $query->getResult(); return $results; } public function chiffreArticleArchive($data) { $queryBuilder = $this->createQueryBuilder('a'); $queryBuilder->andWhere('a.archiver = :archiv') ->setParameter('archiv', true); $this->search($queryBuilder, $data); $query = $queryBuilder->getQuery(); $results = $query->getResult(); return $results; } public function chiffreArticleMagasin($data, $array_article_magasin) { $queryBuilder = $this->createQueryBuilder('a'); $queryBuilder->andWhere('a.archiver is null or a.archiver = :archiv') ->andWhere('a.qteMagasin > 0') ->setParameter('archiv', false); $this->search($queryBuilder, $data); $queryBuilder->andWhere('a.id IN (:array_article_magasin)') ->setParameter('array_article_magasin', $array_article_magasin); $query = $queryBuilder->getQuery(); $results = $query->getResult(); return $results; } public function chiffreArticleGros($data, $array_article_achat) { $queryBuilder = $this->createQueryBuilder('a'); $queryBuilder->andWhere('a.archiver is null or a.archiver = :archiv') ->setParameter('archiv', false); $this->searchMagasin($queryBuilder, $data); $queryBuilder->andWhere('a.id IN (:array_article_achat)') ->setParameter('array_article_achat', $array_article_achat); $query = $queryBuilder->getQuery(); $results = $query->getResult(); return $results; } private function search(QueryBuilder $qb, $data) { if (isset($data['type']) && $data['type'] == 'gros') { if (isset($data['stock']) && !empty($data['stock'])) { if ($data['stock'] == 'oui') { $qb->andWhere('a.qteGros > :qte') ->setParameter('qte', 0); } else { $qb->andWhere('a.qteGros <= :qte') ->setParameter('qte', 0); } } } else { if (isset($data['stock']) && !empty($data['stock'])) { if ($data['stock'] == 'oui') { $qb->andWhere('a.qte > :qte') ->setParameter('qte', 0); } else { $qb->andWhere('a.qte <= :qte') ->setParameter('qte', 0); } } } if (isset($data['barcode']) && !empty($data['barcode'])) { $qb->andWhere('a.codeABarre = :barcode') ->setParameter('barcode', $data['barcode']); } if (isset($data['famille']) && !empty($data['famille'])) { $qb->andWhere('a.famille = :famille') ->setParameter('famille', $data['famille']); } if (isset($data['marque']) && !empty($data['marque'])) { $qb->andWhere('a.marque = :marque') ->setParameter('marque', $data['marque']); } if (isset($data['modele']) && !empty($data['modele'])) { $qb->andWhere('a.modele = :modele') ->setParameter('modele', $data['modele']); } } private function searchMagasin(QueryBuilder $qb, $data) { if (isset($data['stock']) && !empty($data['stock'])) { if ($data['stock'] == 'oui') { $qb->andWhere('a.qte > :qte') ->setParameter('qte', 0); } else { $qb->andWhere('a.qte <= :qte') ->setParameter('qte', 0); } } if (isset($data['barcode']) && !empty($data['barcode'])) { $qb->andWhere('a.codeABarre = :barcode') ->setParameter('barcode', $data['barcode']); } if (isset($data['famille']) && !empty($data['famille'])) { $qb->andWhere('a.famille = :famille') ->setParameter('famille', $data['famille']); } if (isset($data['marque']) && !empty($data['marque'])) { $qb->andWhere('a.marque = :marque') ->setParameter('marque', $data['marque']); } if (isset($data['modele']) && !empty($data['modele'])) { $qb->andWhere('a.modele = :modele') ->setParameter('modele', $data['modele']); } } }