src/Repository/ProcesoBloqFasesRepository.php line 112

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\ProcesoBloqFases;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use  App\Utils\CustomPaginator;
  7. /**
  8.  * @method ProcesoBloqFases|null find($id, $lockMode = null, $lockVersion = null)
  9.  * @method ProcesoBloqFases|null findOneBy(array $criteria, array $orderBy = null)
  10.  * @method ProcesoBloqFases[]    findAll()
  11.  * @method ProcesoBloqFases[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  12.  */
  13. class ProcesoBloqFasesRepository extends ServiceEntityRepository
  14. {
  15.     public function __construct(ManagerRegistry $registry)
  16.     {
  17.         parent::__construct($registryProcesoBloqFases::class);
  18.     }
  19.     // /**
  20.     //  * @return ProcesoBloqFases[] Returns an array of ProcesoBloqFases objects
  21.     //  */
  22.     /*
  23.     public function findByExampleField($value)
  24.     {
  25.         return $this->createQueryBuilder('p')
  26.             ->andWhere('p.exampleField = :val')
  27.             ->setParameter('val', $value)
  28.             ->orderBy('p.id', 'ASC')
  29.             ->setMaxResults(10)
  30.             ->getQuery()
  31.             ->getResult()
  32.         ;
  33.     }
  34.     */
  35.     /*
  36.     public function findOneBySomeField($value): ?ProcesoBloqFases
  37.     {
  38.         return $this->createQueryBuilder('p')
  39.             ->andWhere('p.exampleField = :val')
  40.             ->setParameter('val', $value)
  41.             ->getQuery()
  42.             ->getOneOrNullResult()
  43.         ;
  44.     }
  45.     */
  46.     public function getFaseByCodigo($codigo)
  47.     {
  48.         $parameters = array();
  49.         $query $this->createQueryBuilder('fase');
  50.         $query->andWhere('(
  51.             fase.ProcesoBloqFasBarcode like :where1
  52.         )');
  53.         $parameters[':where1'] = $codigo;
  54.         if (!empty($parameters)) {
  55.             $query->setParameters($parameters);
  56.         }
  57.         $results $query->getQuery()->getOneOrNullResult();
  58.         return $results;
  59.     }
  60.     public function getAllProcesos($data$currentPage 1$limit 12$sort$order$idProceso)
  61.     {
  62.         $parameters = array();
  63.         $query $this->createQueryBuilder('ProcFases')
  64.             ->leftJoin('ProcFases.Proceso'"proceso");
  65.         if (isset($data['value']) && $data['value'] != "") {
  66.             $query->andWhere('(
  67.                 ProcFases.id like :where1 or
  68.                 ProcFases.FasesLTotal like :where1 or
  69.                 ProcFases.ProcesoBloqFasCreated like :where1 or
  70.                 ProcFases.ProcesoBloqFasNombre like :where1
  71.             )');
  72.             $parameters[':where1'] = "'%" $data['value'] . "%'";
  73.         }
  74.         if (isset($idProceso) && $idProceso != "") {
  75.             $query->andWhere('(
  76.                 proceso.id = :proceso
  77.             )');
  78.             $parameters[':proceso'] = $idProceso;
  79.         }
  80.         if (!empty($parameters)) {
  81.             $query->setParameters($parameters);
  82.         }
  83.         $query->addOrderBy($sort$order);
  84.         $query->getQuery();
  85.         //dd($query->getQuery()->getResult());
  86.         $paginator  = new CustomPaginator($query);
  87.         $result     $paginator->paginate($currentPage$limit);
  88.         if ($result['count'] > && $result['maxPages'] < $result['thisPage']) {
  89.             $result $paginator->paginate(1$limit);
  90.         }
  91.         return $result;
  92.     }
  93.     public function getAllFaseSelect($data$currentPage 1$limit 30$sort$order "DESC"$barcode null)
  94.     {
  95.         $parameters = [];
  96.         $query $this->createQueryBuilder('ProcFases')
  97.             ->leftJoin('ProcFases.Proceso'"proceso")
  98.             ->leftJoin('proceso.procMolde''molde');
  99.         if (isset($data['texto']) && '' != $data['texto']) {
  100.             $query->andWhere('(
  101.                 ProcFases.ProcesoBloqFasNombre like :texto or
  102.                 molde.moldReferencia like :texto or
  103.                 proceso.ProcReferencia like :texto or
  104.                 proceso.ProcNombre like :texto or
  105.                 molde.moldDescripcion like :texto
  106.             )');
  107.             $parameters[':texto'] = '%' $data['texto'] . '%';
  108.         }
  109.         if (isset($data['idProceso']) && '' != $data['idProceso']) {
  110.             $query->andWhere('(
  111.                 proceso.id = :idProceso
  112.             )');
  113.             $parameters[':idProceso'] = $data['idProceso'];
  114.         }
  115.         if ($barcode) {
  116.             $query->andWhere('(
  117.                 ProcFases.ProcesoBloqFasBarcode is not null
  118.             )');
  119.         }
  120.         if (!empty($parameters)) {
  121.             $query->setParameters($parameters);
  122.         }
  123.         $query->addOrderBy($sort$order);
  124.         $query->getQuery();
  125.         $paginator  = new CustomPaginator($query);
  126.         $result     $paginator->paginate($currentPage$limit);
  127.         if ($result['count'] > && $result['maxPages'] < $result['thisPage']) {
  128.             $result $paginator->paginate(1$limit);
  129.         }
  130.         return $result;
  131.     }
  132.     public function getMinutosUtilizados(int $procesoId)
  133.     {
  134.         $parameters = [];
  135.         $query $this->createQueryBuilder('ProcFases');
  136.         $query
  137.             ->select('SUM(ProcFases.ProcesoHorasUtilizadas)')
  138.             ->andWhere('(
  139.             ProcFases.Proceso = :proceso
  140.         )')
  141.             ->groupBy('ProcFases.Proceso');
  142.         $parameters[':proceso'] = $procesoId;
  143.         if (!empty($parameters)) {
  144.             $query->setParameters($parameters);
  145.         }
  146.         $resultado $query->getQuery()->getOneOrNullResult();
  147.         $total 0;
  148.         if ($resultado) {
  149.             $total $resultado[1];
  150.         }
  151.         return $total;
  152.     }
  153.     public function getMinutosOfertados(int $procesoId)
  154.     {
  155.         $parameters = [];
  156.         $query $this->createQueryBuilder('ProcFases');
  157.         $query
  158.             ->select('SUM(ProcFases.FasesLTotal)')
  159.             ->andWhere('(
  160.             ProcFases.Proceso = :proceso
  161.         )')
  162.             ->groupBy('ProcFases.Proceso');
  163.         $parameters[':proceso'] = $procesoId;
  164.         if (!empty($parameters)) {
  165.             $query->setParameters($parameters);
  166.         }
  167.         $resultado $query->getQuery()->getOneOrNullResult();
  168.         $total 0;
  169.         if ($resultado) {
  170.             $total $resultado[1];
  171.         }
  172.         return $total;
  173.     }
  174. }