src/Repository/AlbComprasRepository.php line 94

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\AlbCompras;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use  App\Utils\CustomPaginator;
  7. /**
  8.  * @method AlbCompras|null find($id, $lockMode = null, $lockVersion = null)
  9.  * @method AlbCompras|null findOneBy(array $criteria, array $orderBy = null)
  10.  * @method AlbCompras[]    findAll()
  11.  * @method AlbCompras[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  12.  */
  13. class AlbComprasRepository extends ServiceEntityRepository
  14. {
  15.     public function __construct(ManagerRegistry $registry)
  16.     {
  17.         parent::__construct($registryAlbCompras::class);
  18.     }
  19.     // /**
  20.     //  * @return AlbCompras[] Returns an array of AlbCompras objects
  21.     //  */
  22.     /*
  23.     public function findByExampleField($value)
  24.     {
  25.         return $this->createQueryBuilder('a')
  26.             ->andWhere('a.exampleField = :val')
  27.             ->setParameter('val', $value)
  28.             ->orderBy('a.id', 'ASC')
  29.             ->setMaxResults(10)
  30.             ->getQuery()
  31.             ->getResult()
  32.         ;
  33.     }
  34.     */
  35.     /*
  36.     public function findOneBySomeField($value): ?AlbCompras
  37.     {
  38.         return $this->createQueryBuilder('a')
  39.             ->andWhere('a.exampleField = :val')
  40.             ->setParameter('val', $value)
  41.             ->getQuery()
  42.             ->getOneOrNullResult()
  43.         ;
  44.     }
  45.     */
  46.     public function getAllAlbCompras($data$currentPage 1$limit 12$sort$order)
  47.     {
  48.         $parameters = array();
  49.         $query $this->createQueryBuilder('AlbCompra');
  50.         //->leftJoin('AlbCompra.Articulo', 'articulo');
  51.         if (isset($data['value']) && $data['value'] != "") {
  52.             $query->andWhere('(
  53.                 AlbCompra.AlbCompraObservaciones like :where1
  54.             )');
  55.             $parameters[':where1'] = "%" $data['value'] . "%";
  56.         }
  57.         if (isset($data['observaciones']) && '' != $data['observaciones']) {
  58.             $query
  59.                 ->andWhere('AlbCompra.AlbCompraObservaciones like :observaciones');
  60.             $parameters[':observaciones'] = '%' $data['observaciones'] . '%';
  61.         }
  62.         if (isset($data['estado']) && '' != $data['estado']) {
  63.             $query
  64.                 ->andWhere('AlbCompra.AlbCompraEstado = :estado');
  65.             $parameters[':estado'] =  $data['estado'];
  66.         }
  67.         if (!empty($parameters)) {
  68.             $query->setParameters($parameters);
  69.         }
  70.         $query->addOrderBy($sort$order);
  71.         $query->getQuery();
  72.         //dd($query->getQuery()->getResult());
  73.         $paginator  = new CustomPaginator($query);
  74.         $result     $paginator->paginate($currentPage$limit);
  75.         if ($result['count'] > && $result['maxPages'] < $result['thisPage']) {
  76.             $result $paginator->paginate(1$limit);
  77.         }
  78.         return $result;
  79.     }
  80.     public function getComprasProveedor($data$currentPage 1$limit 12$sort$order$proveedor_id)
  81.     {
  82.         $parameters = array();
  83.         $query $this->createQueryBuilder('AlbCompra')
  84.             ->leftJoin('AlbCompra.AlbCompraProv''Proveedor')
  85.             ->andWhere('Proveedor.id = :proveedor_id');
  86.         $parameters[':proveedor_id'] =  $proveedor_id;
  87.         if (isset($data['value']) && $data['value'] != "") {
  88.             $query->andWhere('(
  89.                 AlbCompra.AlbCompraObservaciones like :where1
  90.             )');
  91.             $parameters[':where1'] = "%" $data['value'] . "%";
  92.         }
  93.         if (isset($data['observaciones']) && '' != $data['observaciones']) {
  94.             $query
  95.                 ->andWhere('AlbCompra.AlbCompraObservaciones like :observaciones');
  96.             $parameters[':observaciones'] = '%' $data['observaciones'] . '%';
  97.         }
  98.         if (isset($data['estado']) && '' != $data['estado']) {
  99.             $query
  100.                 ->andWhere('AlbCompra.AlbCompraEstado = :estado');
  101.             $parameters[':estado'] =  $data['estado'];
  102.         }
  103.         if (!empty($parameters)) {
  104.             $query->setParameters($parameters);
  105.         }
  106.         $query->addOrderBy($sort$order);
  107.         $query->getQuery();
  108.         //dd($query->getQuery()->getResult());
  109.         $paginator  = new CustomPaginator($query);
  110.         $result     $paginator->paginate($currentPage$limit);
  111.         if ($result['count'] > && $result['maxPages'] < $result['thisPage']) {
  112.             $result $paginator->paginate(1$limit);
  113.         }
  114.         return $result;
  115.     }
  116.     public function getLast()
  117.     {
  118.         $query $this->createQueryBuilder('AlbCompra');
  119.         $query->addOrderBy('AlbCompra.id''DESC');
  120.         $query->setMaxResults(1);
  121.         return $query->getQuery()->getOneOrNullResult();
  122.     }
  123. }