/** * @Route("terminar/") * @Template() */ public function terminarAction(Request $request) { $id = $this->ObtenerVariable($request, 'id'); $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository('Yacare' . $this->BundleName . 'Bundle:' . $this->EntityName)->find($id); if ($entity->getEstado() != 100) { $entity->setEstado(100); $entity->setFechaTerminado(new \DateTime()); $Comprob = $this->EmitirComprobante($entity); if ($Comprob) { $Comprob->setTramiteOrigen($entity); $Comprob->setNumero($this->ObtenerProximoNumeroComprobante($Comprob)); $em->persist($Comprob); $entity->setComprobante($Comprob); } $em->persist($entity); $em->flush(); $mensaje = null; } else { $mensaje = 'El trámite ya estaba terminado.'; $Comprob = $entity->getComprobante(); } if ($Comprob) { $RutaComprob = \Tapir\BaseBundle\Helper\StringHelper::ObtenerRutaBase($Comprob->getComprobanteTipo()->getClase()); } else { $RutaComprob = null; } return $this->ArrastrarVariables($request, array('entity' => $entity, 'mensaje' => $mensaje, 'comprob' => $Comprob, 'rutacomprob' => $RutaComprob, 'rutacomprob' => $RutaComprob)); }
public function testObtenerRutaBase() { $this->assertEquals('yacare_comercio_actividad', StringHelper::ObtenerRutaBase('\\Yacare\\ComercioBundle\\Controller\\ActividadController')); $this->assertEquals('yacare_comercio_actividad_editar', StringHelper::ObtenerRutaBase('\\Yacare\\ComercioBundle\\Controller\\ActividadController', 'editar')); }
/** * Termina un trámite, emitiendo un comprobante si es necesario. * * @param Tramite $tramite */ public function TerminarTramite($tramite) { $res = array(); if ($tramite->getEstado() != 100) { $tramite->setEstado(100); $tramite->setFechaTerminado(new \DateTime()); $Comprob = $this->EmitirComprobante($tramite); $res['comprobante'] = $Comprob; if ($Comprob) { $Comprob->setNumero($this->ObtenerProximoNumeroComprobante($Comprob)); $this->em->persist($Comprob); $tramite->setComprobante($Comprob); if ($tramite->getTramitePadre()) { // Este trámite es parte de un trámite de nivel superior. // Doy por aprobado el requisito correspondiente en el trámite padre $EstadoReqEnTramitePadre = $tramite->getTramitePadre()->ObtenerEstadoRequisitoPorSubTramite($tramite); if ($EstadoReqEnTramitePadre) { $EstadoReqEnTramitePadre->setEstado(100); $this->em->persist($EstadoReqEnTramitePadre); } } } // Poner requisito aprobado en trámite padre $this->em->persist($tramite); $this->em->flush(); $res['mensaje'] = null; } else { $res['mensaje'] = 'El trámite ya estaba terminado.'; $Comprob = $tramite->getComprobante(); $res['comprobante'] = $Comprob; } if ($Comprob) { $res['rutacomprobante'] = \Tapir\BaseBundle\Helper\StringHelper::ObtenerRutaBase($Comprob->getComprobanteTipo()->getClase()); } else { $res['rutacomprobante'] = null; } return $res; }
/** * Termina un trámite, emitiendo un comprobante si es necesario. * * @param Tramite $tramite */ public function TerminarTramite($tramite) { $res = array(); if ($tramite->getEstado() != 100) { $tramite->setEstado(100); $tramite->setFechaTerminado(new \DateTime()); $Comprob = $this->EmitirComprobante($tramite); $res['comprobante'] = $Comprob; if ($Comprob) { $Comprob->setNumero($this->ObtenerProximoNumeroComprobante($Comprob)); $this->em->persist($Comprob); $tramite->setComprobante($Comprob); } $this->em->persist($tramite); $this->em->flush(); $res['mensaje'] = null; } else { $res['mensaje'] = 'El trámite ya estaba terminado.'; $Comprob = $tramite->getComprobante(); $res['comprobante'] = $Comprob; } if ($Comprob) { $res['rutacomprobante'] = \Tapir\BaseBundle\Helper\StringHelper::ObtenerRutaBase($Comprob->getComprobanteTipo()->getClase()); } else { $res['rutacomprobante'] = null; } return $res; }