/** * 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; }
/** * 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; }
/** * Devuelve nombres de estado normalizados. * * @param integer $estado * @return string */ public static function NombreEstado($estado) { return Tramite::NombresEstados()[$estado]; }
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(); }