Example #1
0
 /**
  * Método que gera uma consulta basica para ser usada pela classe.
  *
  * @return Select Objeto contendo as consultas básicas
  */
 public function select()
 {
     $responsavel = new Responsavel();
     $tabela = $responsavel->getPerfil()->getTabela();
     $select = parent::select();
     return $select->columns(array("{$responsavel->getColunaBase()}status" => "{$tabela}.status", "pk_usuario_responsavel"))->join($tabela, array('fk_usuario' => 'pk_usuario'));
 }
Example #2
0
 /**
  * Método que retorna todas as unidades associadas ao responsável informado
  * @param \Kernel\Modelo\Perfis\Responsavel $responsavel
  * @return ResultSetHydrator Um objeto contendo a resposta da consulta
  */
 public function deResponsavel(\Kernel\Modelo\Perfis\Responsavel $responsavel)
 {
     $query = "select distinct on(pk_unidade) * " . "from {$this->tableGatway->getTabela()} " . "inner join public.turma on pk_unidade=fk_unidade " . "inner join public.usuario_aluno on fk_turma=pk_turma " . "inner join public.usuario_responsavel_vin on pk_usuario_aluno=fk_usuario_aluno " . "inner join public.usuario_responsavel on pk_usuario_responsavel=fk_usuario_responsavel " . "where public.usuario_responsavel.fk_usuario={$responsavel->getId()} " . "public.turma.status=" . Status::ATIVO . " " . "and public.usuario_aluno.status=" . Status::ATIVO . " " . "and ano=" . Loader::data("config", "site", "ano_letivo");
     return $this->tableGatway->querySelect($query);
 }
Example #3
0
 /**
  * Método que retorna todas as unidades associadas ao responsável informado.
  *
  * @param Responsavel $responsavel
  *
  * @return ResultSetHydrator Um objeto contendo a resposta da consulta
  */
 public function deResponsavel(Responsavel $responsavel)
 {
     return $this->tg->selectObj($this->select()->join('public.turma', array('fk_unidade' => 'pk_unidade'))->join('public.usuario_aluno', array('fk_turma' => 'pk_turma'))->join('public.usuario_responsavel_vin', array('fk_usuario_aluno' => 'pk_usuario_aluno'))->join('public.usuario_responsavel', array('pk_usuario_responsavel' => 'fk_usuario_responsavel'))->where("fk_usuario={$responsavel->getId()} " . ' and public.turma.status=' . Status::ATIVO . ' and public.usuario_aluno.status=' . Status::ATIVO . ' and ano=' . $this->anoLetivo)->distinct('pk_unidade'));
 }