/application/controllers/resultados.php

https://bitbucket.org/glaucomunsberg/kenobi · PHP · 141 lines · 105 code · 20 blank · 16 comment · 2 complexity · f606c6e2b24f9522e26a2b43e03b90c5 MD5 · raw file

  1. <?php
  2. if (!defined('BASEPATH'))
  3. exit('No direct script access allowed');
  4. class Resultados extends CI_Controller{
  5. function __construct() {
  6. parent::__construct();
  7. $this->load->model('sistema/loginmodel', 'loginModel');
  8. $this->load->model('turmasmodel','turmasModel');
  9. $this->load->model('alunosmodel','alunosModel');
  10. $this->load->model('turmaalunosmodel','turmaAlunosModel');
  11. $this->load->model('testesmodel','testesModel');
  12. $this->load->model('instituicaoModel','instituicaomodel');
  13. $this->load->model('quintilmodel', 'quintilModel');
  14. $this->loginModel->logged();
  15. }
  16. /**
  17. * Método que retorna os valores dos testes da turma
  18. */
  19. function resultadoPorTurma(){
  20. $data['testes'] = array();
  21. $linhas = array();
  22. $avalicoes = $this->testesModel->getAvaliacoesByTurma($_POST['cnpj'],$_POST['cpf'],$_POST['nome_turma'],$_POST['turma_ano']);
  23. $data['turmas']= $this->turmasModel->getTurmaByProfessor($_POST['cpf']);
  24. foreach ($avalicoes as $avalicao){
  25. $testes = $this->testesModel->getTestesAlunosByAvaliacao($avalicao['cnpj'],$avalicao['cpf'],$avalicao['nome_turma'], $avalicao['ano'],$avalicao['dt_ocorrencia']);
  26. // log_message('info', array_);
  27. foreach ($testes as $teste){
  28. $idade = $this->quintilModel->calc_idade($teste['dt_nascimento'],$avalicao['dt_ocorrencia']);
  29. // echo $idade;
  30. $aux= $this->quintilModel-> getQuintilAbdominaisByGenero($teste['genero'], $idade ,$teste['num_abdominais']);
  31. // log_message('info', $aux);
  32. $valoresLinha= array('nome'=>$teste['nome'], 'genero'=> $this->alunosModel->converteGenero($teste['genero']),'quitilabdminal' => $aux, 'imc' => $teste['imc'], 'corrida_vinte_metros' => $this->quintilModel->getQuintilVelocidadeDeslocamentoByGenero($teste['genero'], $idade ,$teste['corrida_vinte_metros']),'salto_horizontal'=> $this->quintilModel->getQuintilForcaExplosivaInferiorByGenero($teste['genero'], $idade ,$teste['salto_em_distancia']),
  33. 'medicinebal' => $this->quintilModel->getQuintilForcaExplosivaSuperiorByGenero($teste['genero'], $idade ,$teste['arremesso_medicineball']),
  34. 'quadrado'=> $this->quintilModel->getQuintilAgilidadeByGenero($teste['genero'], $idade ,$teste['quadrado']),
  35. 'sentar_alcancar'=> $this->quintilModel-> getQuintilFlexibilidadeByGenero($teste['genero'], $idade ,$teste['sentar_alcancar']));
  36. array_push($linhas, $valoresLinha);
  37. }
  38. array_push($data['testes'], array('ocorrencia'=>$avalicao['dt_ocorrencia'], 'testes'=> $linhas));
  39. $linhas = array();
  40. }
  41. $data['turma'] = array('nome_turma'=>$_POST['nome_turma'], 'instituicao_nome'=>$_POST['cnpj']);
  42. $this->load->view('sistema/menuVerResultadosPorTurmaView',$data);
  43. }
  44. /**
  45. * função da tela de resultado por aluno, os dados do aluno é passado por POST.
  46. */
  47. function resultadoPorAluno(){
  48. // por post : cnpj, cpf, nome, nome_mae, dt_nascimento
  49. // $data['quintil'] = $this->getQuintilByAluno($_POST['cnpj'],$_POST['cpf'],$_POST['nome_turma'],$_POST['turma_ano']);
  50. // $data['alunos'] = $this->turmaAlunosModel->getAlunosByTurma($_POST['cnpj'],$_POST['cpf'],$_POST['turma_nome'],$_POST['turma_ano']);
  51. $testes = $this->testesModel->getTestesByAluno($_POST['cpf'], $_POST['nome'], $_POST['nome_mae'], $_POST['dt_nascimento']);
  52. $resultados = array();
  53. $aluno = array();
  54. $data['testes'] = array() ;
  55. if(!empty($testes)){
  56. foreach ($testes as $teste){
  57. $aluno = $this->alunosModel->getAluno($teste['nome'], $teste['nome_mae'], $teste['dt_nascimento']);
  58. log_message('ERROR','Nome'.$aluno[0]['nome']);
  59. log_message('ERROR','nome_mae'.$aluno[0]['nome_mae']);
  60. log_message('ERROR','dt_nascimento'.$aluno[0]['dt_nascimento']);
  61. $idade = $this->quintilModel->calc_idade($teste['dt_nascimento'],$teste['dt_ocorrencia']);
  62. $quintil['forcaAbdominal']= $this->quintilModel->mudaQuintil($this->quintilModel->getQuintilAbdominaisByGenero($aluno[0]['genero'],$idade,$teste['num_abdominais']));
  63. // array_push($resultados, $quintil);
  64. $quintil['mebroSuperior']= $this->quintilModel->mudaQuintil($this->quintilModel->getQuintilForcaExplosivaSuperiorByGenero($aluno[0]['genero'], $idade ,$teste['arremesso_medicineball']));
  65. $quintil['salto_horizontal']= $this->quintilModel->mudaQuintil($this->quintilModel->getQuintilForcaExplosivaInferiorByGenero($aluno[0]['genero'], $idade ,$teste['salto_em_distancia']));
  66. $quintil['quadrado']= $this->quintilModel->mudaQuintil($this->quintilModel->getQuintilAgilidadeByGenero($aluno[0]['genero'], $idade ,$teste['quadrado']));
  67. $quintil['corrida_vinte_metros']=$this->quintilModel->mudaQuintil($this->quintilModel->getQuintilVelocidadeDeslocamentoByGenero($aluno[0]['genero'], $idade ,$teste['corrida_vinte_metros']));
  68. $quintil['sentar_alcancar']= $this->quintilModel->mudaQuintil($this->quintilModel-> getQuintilFlexibilidadeByGenero($aluno[0]['genero'], $idade ,$teste['sentar_alcancar']));
  69. $quintil['dt_ocorrencia']= $teste['dt_ocorrencia'];
  70. array_push($data['testes'],array('nome'=>$teste['nome'],'dt_nascimento'=>$teste['dt_nascimento'] ,'nome_mae'=>$teste['nome_mae'] , 'dt_ocorrencia'=>$quintil['dt_ocorrencia'], 'forcaAbdominal'=>$quintil['forcaAbdominal'],
  71. 'membroSuperior'=>$quintil['mebroSuperior'],'corrida_vinte_metros'=>$quintil['corrida_vinte_metros'],
  72. 'salto_horizontal'=>$quintil['salto_horizontal'],
  73. 'quadrado'=>$quintil['quadrado'],
  74. 'sentar_alcancar'=>$quintil['sentar_alcancar']));
  75. }
  76. }else{
  77. $quintil['forcaAbdominal']=0;
  78. $quintil['dt_ocorrencia']= 'Teste não realizado';
  79. $quintil['sentar_alcancar']=0;
  80. $quintil['corrida_vinte_metros']=0;
  81. $quintil['salto_horizontal']=0;
  82. $quintil['quadrado']= 0;
  83. $quintil['mebroSuperior']= 0;
  84. array_push($data['testes'],array('nome'=>$_POST['nome'],'dt_nascimento'=>$_POST['dt_nascimento'] ,'nome_mae'=>$_POST['nome_mae'] , 'dt_ocorrencia'=>$quintil['dt_ocorrencia'], 'forcaAbdominal'=>$quintil['forcaAbdominal'],
  85. 'membroSuperior'=>$quintil['mebroSuperior'],'corrida_vinte_metros'=>$quintil['corrida_vinte_metros'],
  86. 'salto_horizontal'=>$quintil['salto_horizontal'],
  87. 'quadrado'=>$quintil['quadrado'],
  88. 'sentar_alcancar'=>$quintil['sentar_alcancar']));
  89. }
  90. $data['nome']=$_POST['nome'];
  91. $data['alunos']= $this->alunosModel->getAlunosByEducador($_POST['cpf']);
  92. $this->load->view('sistema/menuVerResultadosPorAlunoView',$data);
  93. }
  94. function getQuintilTurma($cnpj,$cpf,$turma_nome,$turma_ano){
  95. //pegar todos os aluno de uma turma
  96. $alunos = $this->turmaAlunosModel->getAlunosByTurma($cnpj,$cpf, $turma_nome,$turma_ano);
  97. $quintilByTurmas = array();
  98. foreach ($alunos as $aluno) {
  99. //pegar todos os testes que o aluno fez e calcular o seu quintil
  100. $testes = $this->testesModel->getTeste($cnpj,$cpf, $turma_nome, $aluno['nome'], $aluno['nome_mae'], $aluno['dt_nascimento']);
  101. foreach ($testes as $teste) {
  102. $nroAbdominais = $teste['num_abdominais'];
  103. $testeQuintil = $this->getResultadoAbdominal($aluno['genero'],$this->quintilModel->calc_idade( $aluno['dt_nascimento'], $teste['dt_ocorrencia']),$nroAbdominais);
  104. array_push($quintilByTurmas, array('teste'=>$teste['nome'], 'nome'=> $aluno['nome'], 'forcaAbdominal'=>$testeQuintil));
  105. }
  106. }
  107. return $quintilByTurmas;
  108. }
  109. //função que retorna todos os quintis de um aluno
  110. function getQuintilByAluno($cnpj,$cpf, $turma_nome,$aluno){
  111. $quintilByaluno = array();
  112. $testes = $this->testesModel->getTeste($cnpj,$cpf, $turma_nome, $aluno['nome'], $aluno['nome_mae'], $aluno['dt_nascimento']);
  113. foreach ($testes as $teste) {
  114. $nroAbdominais = $teste['num_abdominais'];
  115. $testeQuintil = $this->testesModel->getResultadoAbdominal($aluno['genero'],$this->quintilModel->calc_idade( $aluno['dt_nascimento'], $teste['dt_ocorrencia']),$nroAbdominais);
  116. array_push($quintilByAluno, array('teste'=>$teste['nome'], 'nome'=> $aluno['nome'], 'forcaAbdominal'=>$testeQuintil));
  117. }
  118. return $quintilByAluno;
  119. }
  120. }
  121. ?>