public function findAllQueryBuilder(array $parameters)
 {
     $qb = parent::findAllQueryBuilder($parameters);
     // Se asegura de solo mostrar las asignaciones abiertas
     $alias = $this->findJoinAlias($qb, 'entrega');
     $qb->where("{$alias}.estado = :estado")->setParameter('estado', Entrega::OPEN);
     // Se asegura que no se vean entregas despues de la fecha de cierre + dias de gracia
     $qb->andWhere(":now <= DATE_ADD({$alias}.fechaCierre, {$alias}.diasGracia, 'day')");
     // Se asegura que no se vean entregas antes de la fecha para que fueron creadas
     $qb->andWhere("{$alias}.fechaInicio <= :now");
     $qb->setParameter('now', new \DateTime());
     return $qb;
 }
 public function findAllQueryBuilder(array $parameters)
 {
     $restricted = false;
     if (isset($parameters[self::ONLY_OPEN])) {
         $restricted = true;
         unset($parameters[self::ONLY_OPEN]);
     }
     $qb = parent::findAllQueryBuilder($parameters);
     $alias = $qb->getRootAliases()[0];
     if ($restricted) {
         // Se asegura de solo mostrar las asignaciones abiertas
         $qb->where("{$alias}.estado = :estado")->setParameter('estado', Entrega::OPEN);
         // Se asegura que no se vean entregas despues de la fecha de cierre + dias de gracia
         $qb->andWhere(":now <= DATE_ADD({$alias}.fechaCierre, {$alias}.diasGracia, 'day')");
         // Se asegura que no se vean entregas antes de la fecha para que fueron creadas
         $qb->andWhere("{$alias}.fechaInicio <= :now");
         $qb->setParameter('now', new \DateTime());
     }
     return $qb;
 }