示例#1
0
 /**
  * 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;
 }
示例#2
0
 /**
  * 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;
 }