예제 #1
0
	public function recuperarProvaCorrecaoDAO($id_prova){

		$banco				= $this->getBancoDados();
		$sessionFacade		= new SessionFacade($banco);

		$prova				= $sessionFacade->recuperarProva($id_prova);

		if ($prova == NULL){
			throw new Exception("Prova não encontrada."); 
		}

		$prova_correcao = new ProvaCorrecao();
		$prova_correcao->setProva($prova);

		$query ="SELECT tbl_prova_aluno.aluno
				FROM tbl_prova_aluno
				JOIN tbl_prova USING(prova)
				WHERE tbl_prova_aluno.prova = ".$prova->getId();
		$retorno = $banco->executaSQL($query); 

		if($retorno == NULL) {
			throw new Exception("Erro ao recuperar Prova do Aluno (SQL: $query)"); 
		}

		while($linha = $banco->fetchArray($retorno)) {

			$obj_prova_resp	= $sessionFacade->recuperarProvaRespondida($prova->getId(), $linha["aluno"]);

			if ($obj_prova_resp != NULL){
				$prova_correcao->addProvaRespondida($obj_prova_resp);
			}
		}
		return $prova_correcao; 
	}
	public function recuperarProvaRespondidaDAO($id_prova,$id_aluno){

		$banco				= $this->getBancoDados();
		$sessionFacade		= new SessionFacade($banco);
		$obj_prova			= $sessionFacade->recuperarProva($id_prova);
		$prova_respondida	= NULL;

		$query ="SELECT DATE_FORMAT(tbl_prova_aluno.data_inicio , '%d/%m/%Y %H:%i')  AS data_inicio,
						DATE_FORMAT(tbl_prova_aluno.data_termino , '%d/%m/%Y %H:%i') AS data_termino,
						tbl_prova_aluno.qtde_perguntas                               AS qtde_perguntas,
						tbl_prova_aluno.qtde_acertos                                 AS qtde_acertos,
						tbl_prova_aluno.nota                                         AS nota,
						tbl_prova_aluno.professor                                    AS professor,
						tbl_prova_aluno.nota_liberada                                AS nota_liberada
				FROM tbl_prova_aluno
				WHERE tbl_prova_aluno.prova = $id_prova 
				AND   tbl_prova_aluno.aluno = $id_aluno";

		$retorno = $banco->executaSQL($query); 
		if($retorno == NULL) {
			throw new Exception("Erro ao recuperar Prova do Aluno $id_aluno (SQL: $query)"); 
		}

		if ($banco->numRows($retorno) == 0){
			throw new Exception("Nenhuma prova encontrada.",0);
		}

		while($linha = $banco->fetchArray($retorno)) {

			$obj_professor	= $sessionFacade->recuperarProfessor($linha["professor"]);
			$obj_aluno		= $sessionFacade->recuperarAluno($id_aluno);

			$prova_respondida = new ProvaRespondida(); 
			$prova_respondida->setProva($obj_prova);
			$prova_respondida->setAluno($obj_aluno);
			$prova_respondida->setProfessor($obj_professor);
			$prova_respondida->setDataInicio($linha["data_inicio"]);
			$prova_respondida->setDataTermino($linha["data_termino"]);
			$prova_respondida->setQtdePerguntas($linha["qtde_perguntas"]);
			$prova_respondida->setQtdeAcertos($linha["qtde_acertos"]);
			$prova_respondida->setNota($linha["nota"]);
			$prova_respondida->setNotaLiberada($linha["nota_liberada"]);

			$query="SELECT	tbl_prova_aluno_pergunta.prova_aluno_pergunta AS prova_aluno_pergunta,
							tbl_prova_aluno_pergunta.prova_pergunta       AS prova_pergunta,
							tbl_prova_aluno_pergunta.valor_corrigido      AS valor_corrigido,
							tbl_prova_pergunta.tipo_pergunta              AS tipo_pergunta
					FROM tbl_prova_aluno_pergunta
					JOIN tbl_prova_pergunta USING(prova_pergunta)
					WHERE tbl_prova_aluno_pergunta.prova = ".$prova_respondida->getProva()->getId()."
					AND   tbl_prova_aluno_pergunta.aluno = ".$prova_respondida->getAluno()->getId();
			#echo nl2br($query);
			#echo "<hr>"; 
			$retorno_pergunta = $banco->executaSQL($query); 
			if($retorno_pergunta == NULL) {
				throw new Exception("Erro ao recuperar prova corrigida (SQL: $query)"); 
			}
			while($linha_pergunta = $banco->fetchArray($retorno_pergunta)) {

				$prova_respondida->addPerguntaRespondida(	$linha_pergunta["prova_aluno_pergunta"],
															$linha_pergunta["prova_pergunta"],
															$linha_pergunta["valor_corrigido"] );

				$query="SELECT	tbl_prova_aluno_resposta.prova_aluno_resposta AS prova_aluno_resposta,
								tbl_prova_aluno_resposta.prova_aluno_pergunta AS prova_aluno_pergunta,
								tbl_prova_aluno_resposta.prova_resposta       AS prova_resposta,
								tbl_prova_aluno_resposta.resposta_texto       AS resposta_texto,
								tbl_prova_aluno_pergunta.prova_pergunta       AS prova_pergunta,
								tbl_prova_aluno_resposta.resposta_correta     AS resposta_correta,
								tbl_prova_aluno_resposta.valor                AS valor
						FROM tbl_prova_aluno_resposta
						JOIN tbl_prova_aluno_pergunta ON tbl_prova_aluno_pergunta.prova_aluno_pergunta = tbl_prova_aluno_resposta.prova_aluno_pergunta 
						WHERE tbl_prova_aluno_resposta.prova_aluno_pergunta = ".$linha_pergunta["prova_aluno_pergunta"];
				#echo nl2br($query);
				#echo "<hr>";
				$retorno_item = $banco->executaSQL($query); 
				if($retorno_item == NULL) {
					throw new Exception("Erro ao recuperar prova corrigida (SQL: $query)"); 
				}
				while($linha_item = $banco->fetchArray($retorno_item)) {

					$prova_respondida->addResposta(	$linha_item["prova_aluno_resposta"],
													/*$linha_item["prova_aluno_pergunta"],*/
													$linha_item["prova_pergunta"],
													$linha_item["prova_resposta"],
													$linha_item["resposta_texto"],
													$linha_item["resposta_correta"],
													$linha_item["valor"] );
				}
			}
		}
		return $prova_respondida; 
	}
예제 #3
0
	public function recuperarDivulgacaDAO($divulgacao){

		$banco = $this->getBancoDados(); 

		$query = "	SELECT tbl_divulgacao.aluno, tbl_divulgacao.professor, tbl_divulgacao.nome, tbl_divulgacao.email
					FROM tbl_divulgacao
					ORDER BY tbl_divulgacao.ultimo_email ASC ";
		$disciplina = NULL; 
		$retorno = $banco->executaSQL($query); 
		if($retorno != NULL) {

			$sessionFacade = new SessionFacade($banco); 
			$resultado     = array();

			while($linha = $banco->fetchArray($retorno)) { 

				if (strlen($linha["aluno"])>0){
					$obj_aluno     = $sessionFacade->recuperarAluno($linha["aluno"]);
				}

				$obj_prova     = $sessionFacade->recuperarProva($linha["prova"]);
				$prova         = $obj_prova->getId();
				$data          = $obj_prova->getDataInicio();
				$disciplina    = $obj_prova->getDisciplina()->getNome();
				$curso         = $obj_prova->getDisciplina()->getCurso()->getNome();

				$obj_prov_resp = $sessionFacade->recuperarProvaRespondida($prova,$aluno);
			}

			return $resultado; 
		} else {
			throw new Exception("Erro ao recuperar Relatório de Acessos ($query)"); 
		}
	}