<?php

class Estatisticas extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('Auditoria_Model');
        $this->load->model('Estatistica_Model');
        $this->load->database();
        $this->load->library('Criptografia');
        $this->load->library('Sanitize');
    }

    public function estatisticas() {

        if (isset($_SESSION['admin']) == TRUE) {
            
            $admin = $this->Auditoria_Model->getLoginAdminporID();
            if ($admin['id_grupo'] == 2) {
            $pagas = $this->Estatistica_Model->transacaopagas();
            $pendentes = $this->Estatistica_Model->getTransacaoPendente();
            $cancelada = $this->Estatistica_Model->getTransacaoCancelada();
            $matriculados = $this->Estatistica_Model->alunosmatriculados();
            $jubilado = $this->Estatistica_Model->alunojubilado();
            $alunosmatriculados = $this->Estatistica_Model->alunoscomatricula();  
            $matriculacanceladaporaluno = $this->Estatistica_Model->matriculacanceladaporaluno();
            
            $dados = array('jubilado' => $jubilado,'canceladaporaluno' => $matriculacanceladaporaluno,'novasmatriculas' => $alunosmatriculados,'admin' => $this->Auditoria_Model->getLoginAdminporID(), 'totalpagas' => $pagas, 'totalpendentes' => $pendentes, 'totalcanceladas' => $cancelada, 'totalmatriculados' => $matriculados, 'matriculacancelada' => $this->Estatistica_Model->matriculacancelada());
            $this->load->view('estatisticas', $dados);
            } else {
            redirect('inicial');    
            }   
        } else {
            redirect();
        }
    }

    public function financeiros() {
        
        $paga = $this->Estatistica_Model->transacaopaga();
        
        
        $dados['tarefas'] = array(
            "labels" => array(),
            "datasets" => array(
                array(
                    "data" => array(),
                    "borderWidth" => 2
                )
            )
        ); 
        
        $dados['opcoes'] = array(
            "scales" => array("yAxes" => array("ticks" => array("min" => 0, "beginAtZero" => true))),
            "legend" => array("display" => false),
            "responsive" => true,
            "title" => array(
                "display" => true,
                "text" => "Transações Pagas",
                "fontSize" => 18
            )
        );
      
        foreach ($paga as $pago) {
            
            array_push($dados['tarefas']['labels'], date("d/m/Y", strtotime($pago->data_transacao)));
            array_push($dados['tarefas']['datasets'][0]['data'], $pago->quantidade);
            
        }
        echo json_encode($dados);
    
         
    }
    
    public function academicos() {
        
        $paga = $this->Estatistica_Model->alunosmatriculados();
      
        
        $dados['tarefas'] = array(
            "labels" => array(),
            "datasets" => array(
                array(
                    "data" => array(),
                    "borderWidth" => 2
                )
            )
        ); 
        
      
        foreach ($paga as $pago) {
           
            array_push($dados['tarefas']['labels'], date("d/m/Y", strtotime($pago->primeiro_dia)));
            array_push($dados['tarefas']['datasets'][0]['data'], $pago->quantidade);
            
        }
        echo json_encode($dados);
    
         
    }
    
    public function estatisticas_curso() {
        $dados = [
            'admin' => $this->Auditoria_Model->getLoginAdminporID()
        ];
        $this->load->view('estatisticas_curso', $dados);
    }
    
     public function lista() {
        $colunas = array(
            '0' => 'a.id_aluno',
            '1' => 'a.nome',
            '4' => 'acr.situacao'
        );

        $requestData = $_REQUEST;

        $ordem = $colunas[$requestData['order'][0]['column']] . ' ' . $requestData['order'][0]['dir'];
        $limit = $requestData['start'] . " ," . $requestData['length'];
        $pesquisa = $requestData['search']['value'];

        $lista_relatorio = $this->Estatistica_Model->getListaCursoRepetido($ordem, $limit, $pesquisa);

        $dados = array();

        foreach ($lista_relatorio as $lista) {
            $curso_aluno = $this->Estatistica_Model->verificado($lista->id_aluno);
            $dado = array();
            $dado[] = $lista->id_aluno;
            $dado[] = $lista->nome;
            $dado[] = $lista->nome_curso;
            $dado[] = $lista->quantidade;
            $dado[] = (empty($curso_aluno)) ? 'NÃO VERIFICADO' : 'VERIFICADO';
            $dado[] = (empty($curso_aluno)) ? '<button class="btn btn-success btn-verifica" data-id_aluno="' . $lista->id_aluno . '">Marcar Verificado</button>' : '';
            $dados[] = $dado;
        }
        
        $tot = count($this->Estatistica_Model->total_listaCursoRepetido($pesquisa));

        $json_data = array(
            "draw" => intval($requestData['draw']),
            "recordsTotal" => intval($tot),
            "recordsFiltered" => intval($tot),
            "data" => $dados,
        );

        echo json_encode($json_data);
    }
    
    public function verifica() {
        $id_aluno = $this->input->post('id_aluno');

        $this->db->insert('aluno_curso_repetido', array(
            'id_aluno' => $id_aluno,
            'situacao' => 1 // VERIFICADO
        ));

        echo json_encode(array('situacao' => 'sucesso'));
    }

}
