Exemple #1
0
 /**
  * Crear (en cero) un estado para cada uno de los requisitos asociados a este trámite.
  *
  * @param \Yacare\TramitesBundle\Entity\Tramite             $entity
  * @param \Yacare\TramitesBundle\Entity\EstadoRequisito     $EstadoRequisitoPadre
  * @param \Yacare\TramitesBundle\Entity\AsociacionRequisito $Asociaciones
  */
 protected function AsociarEstadosRequisitos($entity, $EstadoRequisitoPadre, $Asociaciones)
 {
     foreach ($Asociaciones as $AsociacionRequisito) {
         // Primero busco para ver si ya existe
         $EstadoRequisito = null;
         if ($entity->getEstadosRequisitos()) {
             foreach ($entity->getEstadosRequisitos() as $EstReq) {
                 if ($EstReq->getAsociacionRequisito() === $AsociacionRequisito) {
                     // Ya existe, por lo tanto no lo agrego
                     $EstadoRequisito = $EstReq;
                     break;
                 }
             }
         }
         if ($EstadoRequisito == null) {
             // No existe, así que la creo
             $EstadoRequisito = new \Yacare\TramitesBundle\Entity\EstadoRequisito();
             $EstadoRequisito->setTramite($entity);
         }
         $EstadoRequisito->setAsociacionRequisito($AsociacionRequisito);
         $EstadoRequisito->setEstadoRequisitoPadre($EstadoRequisitoPadre);
         if (!$EstadoRequisito->getId()) {
             $entity->AgregarEstadoRequisito($EstadoRequisito);
         }
         if ($AsociacionRequisito->getRequisito()->getTipo() == 'tra') {
             // Es un trámite... asocio los sub-requisitos
             $SubTramiteTipo = $AsociacionRequisito->getRequisito()->getTramiteTipoEspejo();
             if ($SubTramiteTipo) {
                 $this->AsociarEstadosRequisitos($entity, $EstadoRequisito, $SubTramiteTipo->getAsociacionRequisitos());
             }
         }
     }
 }
 /**
  * Devuelve una lista de razones por las que no se puede terminar.
  * @return string[] La lista.
  */
 public function QueImpideTerminar()
 {
     $res = parent::QueImpideTerminar();
     if ($this->getUsoSuelo() > 4) {
         $res[] = 'El uso de suelo no es admisible.';
     }
     return $res;
 }
Exemple #3
0
 /**
  * Crear (en cero) un estado para cada uno de los requisitos asociados a este trámite.
  *
  * @param \Yacare\TramitesBundle\Entity\Tramite             $entity
  * @param \Yacare\TramitesBundle\Entity\EstadoRequisito     $EstadoRequisitoPadre
  * @param \Yacare\TramitesBundle\Entity\AsociacionRequisito $Asociaciones
  */
 protected function AsociarEstadosRequisitos($entity, $EstadoRequisitoPadre, $Asociaciones)
 {
     foreach ($Asociaciones as $AsociacionRequisito) {
         // Primero busco para ver si ya existe
         $EstadoRequisito = null;
         if ($entity->getEstadosRequisitos()) {
             foreach ($entity->getEstadosRequisitos() as $EstReq) {
                 if ($EstReq->getAsociacionRequisito() === $AsociacionRequisito) {
                     // Ya existe, por lo tanto no lo agrego
                     $EstadoRequisito = $EstReq;
                     break;
                 }
             }
         }
         if ($EstadoRequisito == null) {
             // No existe, así que la creo
             $EstadoRequisito = new \Yacare\TramitesBundle\Entity\EstadoRequisito();
             $EstadoRequisito->setTramite($entity);
             if ($AsociacionRequisito->getRequisito()->getTipo() == 'tra') {
                 // El requisito es un subtrámite... tengo que iniciarlo
                 $SubTramiteTipo = $AsociacionRequisito->getRequisito()->getTramiteTipoEspejo();
                 if ($SubTramiteTipo && $SubTramiteTipo->getClase() && $SubTramiteTipo->getClase() != '\\Yacare\\TramitesBundle\\Entity\\TramiteSimple') {
                     $ClaseSubTramite = $SubTramiteTipo->getClase();
                     $NuevoSubTram = new $ClaseSubTramite();
                     $NuevoSubTram->setTramitePadre($entity);
                     $NuevoSubTram->setTitular($entity->getTitular());
                     //Le aviso al EstadoRequisito quién es su subtrámite asociado
                     $EstadoRequisito->setSubtramite($NuevoSubTram);
                     $this->em->persist($NuevoSubTram);
                     $this->AgregarEntidadAlConjuntoDeCambios($NuevoSubTram);
                 }
             }
         }
         $EstadoRequisito->setAsociacionRequisito($AsociacionRequisito);
         $EstadoRequisito->setEstadoRequisitoPadre($EstadoRequisitoPadre);
         if (!$EstadoRequisito->getId()) {
             $entity->AgregarEstadoRequisito($EstadoRequisito);
         }
     }
 }
 /**
  * @Route("listar/")
  * @Template()
  */
 public function listarAction(Request $request)
 {
     $filtro_buscar = $this->ObtenerVariable($request, 'filtro_buscar');
     $filtro_estado = $this->ObtenerVariable($request, 'filtro_estado');
     if ($filtro_estado) {
         if ($filtro_estado == -1) {
             // El -1 tiene el valor especial de Estado=0
             $this->Where .= " AND r.Estado=0";
         } else {
             $this->Where .= " AND r.Estado={$filtro_estado}";
         }
     }
     if ($filtro_buscar) {
         $this->Joins[] = " LEFT JOIN r.Titular t";
         $this->Joins[] = " LEFT JOIN r.Comercio c";
         $this->Joins[] = " LEFT JOIN c.Local l";
         $this->BuscarPor = 'c.Nombre, c.ExpedienteNumero, l.Nombre, t.NombreVisible, t.RazonSocial, t.DocumentoNumero, t.Cuilt';
     }
     $RestuladoListar = parent::listarAction($request);
     $res = $RestuladoListar['res'];
     $res->Estados = \Yacare\TramitesBundle\Entity\Tramite::NombresEstados();
     return $RestuladoListar;
 }
Exemple #5
0
 /**
  * Devuelve nombres de estado normalizados.
  *
  * @param  integer $estado
  * @return string
  */
 public static function NombreEstado($estado)
 {
     return Tramite::NombresEstados()[$estado];
 }
Exemple #6
0
 public function __construct()
 {
     parent::__construct();
     $this->Titular = new \Yacare\BaseBundle\Entity\Persona();
 }
 /**
  * Devuelve true si el trámite está listo para ser terminado (es decir,
  * todos los requisitos están cumplidos).
  *
  * @return boolean
  *
  * @see \Yacare\TramitesBundle\Entity\Tramite::EstaListoParaTerminar() Tramite::EstaListoParaTerminar()
  */
 public function EstaListoParaTerminar()
 {
     return $this->getUsoSuelo() <= 3 && parent::EstaListoParaTerminar();
 }