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; }
//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()); $tit->setIdTarea($data->idTarea); $tit->setOrden(0); $tit->setIdEstado(Estado::$TareaAbierta); $tit->setIdTramiteInstanciaTarea($repo->insert($tit)); Controller::renderJson("OK", $tit); break; case "open": $user = Usuario::getSessionUser(); if ($user) { $tit = $repo->getOne($data->id); $tit->setIdEstado(Estado::$TareaEncurso); $tit->setIdUsuario($user["id"]); $repo->update($tit); Controller::renderJson("OK", $tit);
public function update(TramiteInstanciaTarea $tramiteInstanciaTarea) { DB::update($this->nombreTabla, $this->nombreId, $tramiteInstanciaTarea->getIdTramiteInstanciaTarea(), array("idTramiteInstancia" => $tramiteInstanciaTarea->getIdTramiteInstancia(), "idTarea" => $tramiteInstanciaTarea->getIdTarea(), "orden" => $tramiteInstanciaTarea->getOrden(), "idEstado" => $tramiteInstanciaTarea->getIdEstado(), "idUsuario" => $tramiteInstanciaTarea->getIdUsuario(), "finalizacion" => $tramiteInstanciaTarea->getFinalizacion())); return true; }