src/Repository/ArticulosRepository.php line 180

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\Articulos;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use  App\Utils\CustomPaginator;
  7. /**
  8.  * @method Articulos|null find($id, $lockMode = null, $lockVersion = null)
  9.  * @method Articulos|null findOneBy(array $criteria, array $orderBy = null)
  10.  * @method Articulos[]    findAll()
  11.  * @method Articulos[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  12.  */
  13. class ArticulosRepository extends ServiceEntityRepository
  14. {
  15.     public function __construct(ManagerRegistry $registry)
  16.     {
  17.         parent::__construct($registryArticulos::class);
  18.     }
  19.     // /**
  20.     //  * @return Articulos[] Returns an array of Articulos objects
  21.     //  */
  22.     /*
  23.     public function findByExampleField($value)
  24.     {
  25.         return $this->createQueryBuilder('m')
  26.             ->andWhere('m.exampleField = :val')
  27.             ->setParameter('val', $value)
  28.             ->orderBy('m.id', 'ASC')
  29.             ->setMaxResults(10)
  30.             ->getQuery()
  31.             ->getResult()
  32.         ;
  33.     }
  34.     */
  35.     /*
  36.     public function findOneBySomeField($value): ?Articulos
  37.     {
  38.         return $this->createQueryBuilder('m')
  39.             ->andWhere('m.exampleField = :val')
  40.             ->setParameter('val', $value)
  41.             ->getQuery()
  42.             ->getOneOrNullResult()
  43.         ;
  44.     }
  45.     */
  46.     public function getAllArticulos($data$currentPage 1$limit 12$sort$order)
  47.     {
  48.         $parameters = array();
  49.         $query $this->createQueryBuilder('Articulos')
  50.             ->leftJoin('Articulos.MatProveedor''Proveedor');
  51.         if (isset($data['value']) && $data['value'] != "") {
  52.             $query->andWhere('(
  53.                 Articulos.MatEstado like :where1 or
  54.                 Articulos.MatObservaciones like :where1 or
  55.                 Articulos.MatCodigo like :where1 or
  56.                 Articulos.MatNombre like :where1
  57.             )');
  58.             $parameters[':where1'] = "%" $data['value'] . "%";
  59.         }
  60.         if (isset($data['nombre']) && '' != $data['nombre']) {
  61.             $query->andWhere('(
  62.                 Articulos.MatNombre like :nombre
  63.             )');
  64.             $parameters[':nombre'] = '%' $data['nombre'] . '%';
  65.         }
  66.         if (isset($data['codigo']) && '' != $data['codigo']) {
  67.             $query->andWhere('(
  68.                 Articulos.MatCodigo like :codigo
  69.             )');
  70.             $parameters[':codigo'] = '%' $data['codigo'] . '%';
  71.         }
  72.         if (isset($data['observaciones']) && '' != $data['observaciones']) {
  73.             $query->andWhere('(
  74.                 Articulos.MatObservaciones like :observaciones
  75.             )');
  76.             $parameters[':observaciones'] = '%' $data['observaciones'] . '%';
  77.         }
  78.         if (isset($data['proveedor']) && '' != $data['proveedor']) {
  79.             $query->andWhere('(
  80.                 Proveedor.ProvNombreFiscal like :proveedor
  81.             )');
  82.             $parameters[':proveedor'] = '%' $data['proveedor'] . '%';
  83.         }
  84.         if (isset($data['precio_compra']) &&  $data['precio_compra'] > 0) {
  85.             $query->andWhere('(
  86.                 Articulos.MatPrecioCompra = :precio_compra
  87.             )');
  88.             $parameters[':precio_compra'] = $data['precio_compra'];
  89.         }
  90.         if (isset($data['precio_venta']) &&  $data['precio_venta'] > 0) {
  91.             $query->andWhere('(
  92.                 Articulos.MatPrecioVenta = :precio_venta
  93.             )');
  94.             $parameters[':precio_venta'] = $data['precio_venta'];
  95.         }
  96.         if (!empty($parameters)) {
  97.             $query->setParameters($parameters);
  98.         }
  99.         $query->addOrderBy($sort$order);
  100.         $query->getQuery();
  101.         //dd($query->getQuery()->getResult());
  102.         $paginator  = new CustomPaginator($query);
  103.         $result     $paginator->paginate($currentPage$limit);
  104.         if ($result['count'] > && $result['maxPages'] < $result['thisPage']) {
  105.             $result $paginator->paginate(1$limit);
  106.         }
  107.         return $result;
  108.     }
  109.     public function getAllArticulos_Select($data$currentPage 1$limit 12$sort$order "DESC")
  110.     {
  111.         $parameters = array();
  112.         $query $this->createQueryBuilder('Articulos');
  113.         if (isset($data['texto']) && $data['texto'] != "") {
  114.             $query->andWhere('(
  115.                 Articulos.MatEstado like :where1 or
  116.                 Articulos.MatObservaciones like :where1 or
  117.                 Articulos.MatCodigo like :where1 or
  118.                 Articulos.MatNombre like :where1
  119.             )');
  120.             $parameters[':where1'] = "%" $data['texto'] . "%";
  121.         }
  122.         $query->andWhere('(
  123.             Articulos.MatEstado = 1
  124.         )');
  125.         if (!empty($parameters)) {
  126.             $query->setParameters($parameters);
  127.         }
  128.         $query->addOrderBy($sort$order);
  129.         $query->getQuery();
  130.         //dd($query->getQuery()->getResult());
  131.         $paginator  = new CustomPaginator($query);
  132.         $result     $paginator->paginate($currentPage$limit);
  133.         if ($result['count'] > && $result['maxPages'] < $result['thisPage']) {
  134.             $result $paginator->paginate(1$limit);
  135.         }
  136.         return $result;
  137.     }
  138.     public function getAllArticulosNoArray()
  139.     {
  140.         $parameters = array();
  141.         $query $this->createQueryBuilder('Articulos');
  142.         if (isset($data['value']) && $data['value'] != "") {
  143.             $query->andWhere('(
  144.                 Articulos.MatEstado like :where1 or
  145.                 Articulos.MatObservaciones like :where1 or
  146.                 Articulos.MatCodigo like :where1 or
  147.                 Articulos.MatNombre like :where1
  148.             )');
  149.             $parameters[':where1'] = "'%" $data['value'] . "%'";
  150.         }
  151.         if (!empty($parameters)) {
  152.             $query->setParameters($parameters);
  153.         }
  154.         return $query;
  155.     }
  156.     public function getAllArticulosByProveedor($data$currentPage 1$limit 12$sort$order$idProveedor)
  157.     {
  158.         $parameters = array();
  159.         $query $this->createQueryBuilder('Articulos')
  160.             ->leftJoin('Articulos.MatProveedor'"proveedor");
  161.         if (isset($data['value']) && $data['value'] != "") {
  162.             $query->andWhere('(
  163.                 Articulos.MatEstado like :where1 or
  164.                 Articulos.MatObservaciones like :where1 or
  165.                 Articulos.MatCodigo like :where1 or
  166.                 Articulos.MatNombre like :where1
  167.             )');
  168.             $parameters[':where1'] = "'%" $data['value'] . "%'";
  169.         }
  170.         if (isset($idProveedor) && $idProveedor != "") {
  171.             $query->andWhere('(
  172.                 proveedor.id = :proveedor
  173.             )');
  174.             $parameters[':proveedor'] = $idProveedor;
  175.         }
  176.         if (!empty($parameters)) {
  177.             $query->setParameters($parameters);
  178.         }
  179.         $query->addOrderBy($sort$order);
  180.         $query->getQuery();
  181.         //dd($query->getQuery()->getResult());
  182.         $paginator  = new CustomPaginator($query);
  183.         $result     $paginator->paginate($currentPage$limit);
  184.         if ($result['count'] > && $result['maxPages'] < $result['thisPage']) {
  185.             $result $paginator->paginate(1$limit);
  186.         }
  187.         return $result;
  188.     }
  189.     public function getAllArticulosByProceso($data$currentPage 1$limit 12$sort$order$idProceso)
  190.     {
  191.         $parameters = array();
  192.         $query $this->createQueryBuilder('Articulos')
  193.             ->leftJoin('Articulos.ProcesoArticulos'"ProcesoArticulos");
  194.         if (isset($data['value']) && $data['value'] != "") {
  195.             $query->andWhere('(
  196.                 Articulos.MatEstado like :where1 or
  197.                 Articulos.MatObservaciones like :where1 or
  198.                 Articulos.MatCodigo like :where1 or
  199.                 Articulos.MatNombre like :where1
  200.             )');
  201.             $parameters[':where1'] = "'%" $data['value'] . "%'";
  202.         }
  203.         if (isset($idProceso) && $idProceso != "") {
  204.             $query->andWhere('(
  205.                 ProcesoArticulos.proceso = :proceso
  206.             )');
  207.             $parameters[':proceso'] = $idProceso;
  208.         }
  209.         if (!empty($parameters)) {
  210.             $query->setParameters($parameters);
  211.         }
  212.         $query->addOrderBy($sort$order);
  213.         $query->getQuery();
  214.         //dd($query->getQuery()->getResult());
  215.         $paginator  = new CustomPaginator($query);
  216.         $result     $paginator->paginate($currentPage$limit);
  217.         if ($result['count'] > && $result['maxPages'] < $result['thisPage']) {
  218.             $result $paginator->paginate(1$limit);
  219.         }
  220.         return $result;
  221.     }
  222.     public function getLast()
  223.     {
  224.         $query $this->createQueryBuilder('Articulos');
  225.         $query->addOrderBy('Articulos.id''DESC');
  226.         $query->setMaxResults(1);
  227.         return $query->getQuery()->getOneOrNullResult();
  228.     }
  229. }