public function cambiarInstancia(Tramite $tramite) { $repoInstancia = new InstanciaRepository(); $repoTramiteInstancia = new TramiteInstanciaRepository(); $repoTramiteInstanciaTarea = new TramiteInstanciaTareaRepository(); $repoTarea = new RelTipoTramiteinstanciaTareaRepository(); //siguiente instancia del tramite $nuevainstancia = $repoInstancia->getSiguienteInstancia($tramite->getIdTipoTramite(), $tramite->getidInstanciaActual()); //var_dump($nuevainstancia);die; //asocio la nueva instancia con el tramite $tramiteInstancia = new TramiteInstancia(); $tramiteInstancia->setIdTramite($tramite->getidTramite()); $tramiteInstancia->setIdInstancia($nuevainstancia->getIdInstancia()); $tramiteInstancia->setIdTramiteInstancia($repoTramiteInstancia->insert($tramiteInstancia)); //tareas propias de la nueva instancia $tareasPropias = $repoTarea->getTareasPropias($tramite->getIdTipoTramite(), $nuevainstancia->getIdInstancia()); //var_dump($tareasPropias);die; //agrego las tareas al tramite foreach ($tareasPropias as $tarea) { $tit = new TramiteInstanciaTarea(); $tit->setIdTramiteInstancia($tramiteInstancia->getIdTramiteInstancia()); $tit->setIdTarea($tarea->getIdTarea()); $tit->setOrden($tarea->getOrden()); $tit->setIdEstado(Estado::$TareaAbierta); //var_dump($tit);die; $repoTramiteInstanciaTarea->insert($tit); } //cambio la instancia actual del tramite $tramite->setIdInstanciaActual($nuevainstancia->getIdInstancia()); $this->update($tramite); return $tramite; }
use Stel\Repository\TramiteRepository; use Stel\Repository\TramiteInstanciaTareaRepository; use Stel\Repository\PersonaRepository; use Stel\Repository\InstitucionRepository; use Stel\Model\Usuario; use Stel\Model\Tramite; $user = Usuario::getSessionUser(); if (!$user) { Controller::redirect("login"); } if (!isset($_GET["idTramite"])) { Controller::render("error.php", array("errorMessage" => "No se encuentra el tramite solicitado.")); die; } $idTramite = $_GET["idTramite"]; $repo = new TramiteRepository(); $repoTarea = new TramiteInstanciaTareaRepository(); $repoPersona = new PersonaRepository(); $repoInstitucion = new InstitucionRepository(); $tramite = $repo->getOne($idTramite); if ($tramite->getIdPersona()) { $persona = $repoPersona->getOne($tramite->getIdPersona()); } else { $institucion = $repoInstitucion->getOne($tramite->getIdInstitucion()); } $tareas = $repoTarea->getForSintesisGlobal($idTramite); if (isset($persona)) { Controller::render("sintesisGlobal.php", array("tramite" => $tramite, "tareas" => $tareas, "persona" => $persona)); } else { Controller::render("sintesisGlobal.php", array("tramite" => $tramite, "tareas" => $tareas, "institucion" => $institucion)); }
<?php use Stel\Repository\TramiteInstanciaTareaRepository; use Stel\Repository\UsuarioRepository; use Stel\Model\Usuario; use Stel\Model\Estado; $tramite = isset($_GET["tramite"]) ? $_GET["tramite"] : null; $tipo = isset($_GET["tipo"]) ? $_GET["tipo"] : null; $instancia = isset($_GET["instancia"]) ? $_GET["instancia"] : null; $tareas = array(); $user = Usuario::getSessionUser(); if (!$user) { Controller::renderJson("ERROR", null, "relogin"); } else { $repo = new TramiteInstanciaTareaRepository(); $tareas = $repo->getForMisTareas($user["id"], $tipo, $instancia, $tramite); //var_dump($tareas);die; $repoUser = new UsuarioRepository(); foreach ($tareas as $tarea) { $usuario = $repoUser->getOne($tarea->idUsuario); //en el estado concateno el nombre de usuario que tomo la tarea if ($usuario) { $tarea->nombreEstado .= " - " . $usuario->getUsuario(); } // para que una tarea sea editable o finalizable tiene que estar Abierta // o EnCurso pero por el mismo usuario if ($tarea->idEstado == Estado::$TareaAbierta || $tarea->idEstado == Estado::$TareaEncurso && $tarea->idUsuario == $user["id"]) { $tarea->editable = true; } } }
use Stel\Model\Tramite; use Stel\Model\TramiteInstancia; use Stel\Model\Estado; use Stel\Repository\TramiteInstanciaRepository; use Stel\Repository\TramiteRepository; use Stel\Repository\TramiteInstanciaTareaRepository; try { $action = $_GET["action"]; $data = json_decode($_POST["object"]); $repo = new TramiteInstanciaRepository(); switch ($action) { case "new": Controller::renderJson("ERROR", "", "No implementado"); break; case "open": Controller::renderJson("ERROR", "", "No implementado"); break; case "end": $repoTramite = new TramiteRepository(); $t = $repoTramite->getOne($data->idTramite); //fuerzo la finalizacion de las tareas pendientes $repoTarea = new TramiteInstanciaTareaRepository(); $repoTarea->finalizarPendientes($t); //cambio la instancia $t = $repoTramite->cambiarInstancia($t); Controller::renderJson("OK", $t); break; } } catch (Exception $e) { Controller::renderJson("ERROR", "", $e->getMessage()); }
<?php use Stel\Model\TramiteInstanciaTarea; use Stel\Model\Estado; use Stel\Model\Usuario; use Stel\Repository\TramiteInstanciaTareaRepository; use Stel\Repository\TramiteInstanciaRepository; use Stel\Repository\TramiteRepository; try { $action = $_GET["action"]; $data = json_decode($_POST["object"]); $repo = new TramiteInstanciaTareaRepository(); switch ($action) { case "new": //busco el tramite $repoTramite = new TramiteRepository(); $t = $repoTramite->getOne($data->idTramite); if (!$t) { Controller::renderJson("ERROR", "", "Tramite no encontrado"); die; } //busco el tramiteinstancia $repoTi = new TramiteInstanciaRepository(); $ti = $repoTi->getByTramiteInstancia($t->getIdTramite(), $t->getIdInstanciaActual()); if (!$ti) { Controller::renderJson("ERROR", "", "Instancia incorrecta"); die; } //genero la nueva tarea $tit = new TramiteInstanciaTarea(); $tit->setIdTramiteInstancia($ti->getIdTramiteInstancia());
<?php use Stel\Repository\TramiteInstanciaTareaRepository; use Stel\Repository\TareaRepository; use Stel\Repository\ObservacionRepository; use Stel\Model\TramiteInstanciaTarea; use Stel\Model\Estado; use Stel\Model\Usuario; $idTarea = $_GET["idTarea"]; $repo = new TramiteInstanciaTareaRepository(); $user = Usuario::getSessionUser(); if (!$user) { Controller::redirect("./login"); } $tarea = null; $observacion = null; if ($idTarea) { $tareatramite = $repo->getOne($idTarea); //pongo la tarea como Encurso $tareatramite->setIdEstado(Estado::$TareaEncurso); $tareatramite->setIdUsuario($user["id"]); $repo->update($tareatramite); $repoTarea = new TareaRepository(); $tarea = $repoTarea->getOne($tareatramite->getIdTarea()); $repoObservacion = new ObservacionRepository(); $observacion = $repoObservacion->getByTarea($tareatramite->getIdTramiteInstanciaTarea()); } Controller::render("cargaObservacion.php", array("tareatramite" => $tareatramite, "tarea" => $tarea, "observacion" => $observacion));
<?php use Stel\Repository\TramiteInstanciaTareaRepository; use Stel\Repository\UsuarioRepository; use Stel\Model\Usuario; use Stel\Model\Estado; // $tramite = isset($_GET["tramite"])?$_GET["tramite"]:null; $tipo = isset($_GET["tipo"]) ? $_GET["tipo"] : null; $instancia = isset($_GET["instancia"]) ? $_GET["instancia"] : null; $filtro = isset($_GET["filtro"]) ? $_GET["filtro"] : null; $tareas = array(); $user = Usuario::getSessionUser(); if (!$user) { Controller::renderJson("ERROR", null, "relogin"); } else { $repo = new TramiteInstanciaTareaRepository(); $tareas = $repo->getForMisTareas($user["id"], $tipo, $instancia, $filtro); //var_dump($tareas);die; $repoUser = new UsuarioRepository(); foreach ($tareas as $tarea) { $usuario = $repoUser->getOne($tarea->idUsuario); //en el estado concateno el nombre de usuario que tomo la tarea if ($usuario) { $tarea->nombreEstado .= " - " . $usuario->getUsuario(); } // para que una tarea sea editable o finalizable tiene que estar Abierta // o EnCurso pero por el mismo usuario if ($tarea->idEstado == Estado::$TareaAbierta || $tarea->idEstado == Estado::$TareaEncurso && $tarea->idUsuario == $user["id"]) { $tarea->editable = true; } }