/** * 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; }
/** * 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; }