/** * @param Entrega $entrega * @return mixed Devuelve las EntregaOperacion en el rango de fechas de la Entrega */ public function getByEntrega(Entrega $entrega, $servicio = null) { $qb = $this->createQueryBuilder('eo')->andWhere('eo.fechaEntrega >= :fechaInicio')->andWhere('eo.fechaEntrega <= :fechaCierre')->setParameter('fechaInicio', $entrega->getFechaInicio())->setParameter('fechaCierre', $entrega->getFechaCierre()); if ($servicio) { $qb->andWhere('eo.servicio = :servicio')->setParameter('servicio', $servicio); } $qb->getQuery()->execute(); }
/** * @param Entrega $entity * @param LifecycleEventArgs $args */ private function createEntregaAsignacion($entity, $args) { $em = $args->getEntityManager(); $servicios = []; foreach ($entity->getContrato()->getServicios() as $servicio) { $servicios[] = $servicio->getId(); } if (count($servicios) > 0) { /** @var ServicioContratado $servicio */ $asignaciones = $em->getRepository('SisesApplicationBundle:CoordinadorAsignacion')->findAll(array('servicio' => 'A,' . implode(';', $servicios))); /** @var CoordinadorAsignacion $Asignacion */ foreach ($asignaciones as $asignacion) { $eAsignacion = new EntregaAsignacion(); $eAsignacion->setEntrega($entity); $eAsignacion->setAsignacion($asignacion); $em->persist($eAsignacion); } } }
/** * Load data fixtures with the passed EntityManager * * @param ObjectManager $manager */ function load(ObjectManager $manager) { $contrato = $manager->getRepository('SisesApplicationBundle:Contrato')->findOneBy(array()); $start = clone $contrato->getFechaInicio(); $end = clone $contrato->getFechaInicio(); $end->add(new \DateInterval('P10D')); $entrega = new Entrega(); $entrega->setContrato($contrato); $entrega->setFechaInicio($start); $entrega->setFechaCierre($end); $entrega->setDiasGracia(5); $manager->persist($entrega); $manager->flush(); }
/** * @param Entrega $entrega * @param EntregaCierreServicio $servicio */ public function createOrUpdateDetalle($entrega, EntregaCierreServicio $servicio) { $servicioRepo = $this->getEm()->getRepository('SisesApplicationBundle:ServicioContratado'); $detalle = null; $servicioContratado = null; /** @var EntregaDetalle $entregaDetalle */ foreach ($entrega->getDetalles() as $entregaDetalle) { if ($entregaDetalle->getServicio()->getId() == $servicio->getServicio()) { $detalle = $entregaDetalle; $servicioContratado = $entregaDetalle->getServicio(); } } if (!$detalle) { $detalle = new EntregaDetalle(); $detalle->setEntrega($entrega); $servicioContratado = $servicioRepo->find($servicio->getServicio()); if (!$servicioContratado) { throw new NotFoundHttpException("El servicio '{$servicio->getServicio()}' no existe'"); } } $detalle->setServicio($servicioContratado); $detalle->setCantidad($servicio->getCantidad()); $this->getEm()->persist($detalle); }