<?php

class Certificado_Model extends CI_Model {

    function __construct() {
        parent::__construct();
    }
    
    public function obtemcertificadonovos() {
        $this->db->select('c.id_certificado, c.data_registro,c.endereco as endc,c.situacao,a.nome as nomealuno, a.endereco,a.numero,a.complemento,a.cep,a.bairro,a.cidade,a.estado, d.nome as nomecurso, c.id_tipo as tipoc, t.tipo as tipot');
        $this->db->join('historico h', 'h.id_historico = c.id_historico');
        $this->db->join('aluno a', 'a.id_aluno = h.id_aluno');
        $this->db->join('curso d', 'd.id_curso = h.id_curso');
        $this->db->join('transacao t', 't.id_transacao = c.transacao');
        $this->db->where('h.certificado', 1);
        $this->db->where('h.concluido', 1);
        $this->db->where('c.id_tipo', 5);
        $this->db->where('c.situacao', 0);
        $this->db->order_by('a.nome asc');
        $query = $this->db->get('certificado c');

        return $query->result();
        
    }
    
    public function obtemcertificadonovos_old() {
        $this->db->select('c.id_certificado, c.data_registro,c.endereco as endc,c.situacao,a.nome as nomealuno, a.endereco,a.numero,a.complemento,a.cep,a.bairro,a.cidade,a.estado, d.nome as nomecurso, c.id_tipo as tipoc, t.tipo as tipot');
        $this->db->join('historico h', 'h.id_historico = c.id_historico');
        $this->db->join('aluno a', 'a.id_aluno = h.id_aluno');
        $this->db->join('curso d', 'd.id_curso = h.id_curso');
        $this->db->join('transacao t', 't.id_transacao = c.transacao');
        $this->db->where('h.certificado', 1);
        $this->db->where('c.id_tipo', 5);
        $this->db->where('h.concluido', 1);
        $this->db->order_by('a.nome asc');
        $query = $this->db->get('certificado c');
        
        return $query->result();
        
    }
    public function get_data($historico) {
        
        $this->db->select('c.id_certificado,c.endereco,c.situacao,c.transacao,c.data_registro,a.id_aluno,a.nome as nomealuno,d.nome as nomecurso,h.cod_autenticacao');
        $this->db->join('historico h', 'h.id_historico = c.id_historico');
        $this->db->join('aluno a', 'a.id_aluno = h.id_aluno');
        $this->db->join('curso d', 'd.id_curso = h.id_curso');
        $this->db->join('transacao t', 't.id_transacao = c.transacao');
        $this->db->where('c.id_historico', $historico);
        $this->db->where('c.endereco != "" ');
        $this->db->where('h.certificado', 1);
        $this->db->where('c.id_tipo', 5);
        $this->db->where('h.concluido', 1);
        $query = $this->db->get('certificado c');
        
        return $query->result();
    }
    public function getAllCertificados() {
        
        $this->db->select('c.id_certificado,a.id_aluno,a.nome as nomealuno,a.endereco,a.numero,a.complemento,a.cep,a.bairro,a.cidade,a.estado,d.nome as nomecurso, h.id_historico,h.carga_horaria, h.nota, h.primeiro_dia, h.ultimo_dia, h.nota, h.concluido,h.cod_autenticacao, d.ementa');
        $this->db->join('historico h', 'h.id_historico = c.id_historico');
        $this->db->join('aluno a', 'a.id_aluno = h.id_aluno');
        $this->db->join('curso d', 'd.id_curso = h.id_curso');
        $this->db->join('transacao t', 't.id_transacao = c.transacao');
        $this->db->where('h.certificado', 1);
        $this->db->where('c.id_tipo', 5);
        $this->db->where('c.situacao', 0);
        $this->db->where('h.concluido', 1);
        $this->db->order_by('a.nome asc');
        $query = $this->db->get('certificado c');
        
        return $query->result();
        
        
    }
    
      public function getAllCertificadosPorAluno() {
        
        $this->db->select('c.id_certificado,a.id_aluno,a.nome as nomealuno,a.endereco,a.numero,a.complemento,a.cep,a.bairro,a.cidade,a.estado,d.nome as nomecurso, h.id_historico,h.carga_horaria, h.nota, h.primeiro_dia, h.ultimo_dia, h.nota, h.concluido,h.cod_autenticacao, d.ementa');
        $this->db->join('historico h', 'h.id_historico = c.id_historico');
        $this->db->join('aluno a', 'a.id_aluno = h.id_aluno');
        $this->db->join('curso d', 'd.id_curso = h.id_curso');
        $this->db->join('transacao t', 't.id_transacao = c.transacao');
        $this->db->where('h.certificado', 1);
        $this->db->where('c.id_tipo', 5);
        $this->db->where('c.situacao', 0);
        $this->db->where('h.concluido', 1);
        $this->db->group_by('a.id_aluno'); 
        $this->db->order_by('a.nome asc');
        $query = $this->db->get('certificado c');
        
        return $query->result();
        
        
    }
    public function obtemcertificadoporperiodo($inicio, $fim) {
        
        $this->db->select('b.cod_autenticacao as autenticacao, b.concluido as concluido, b.id_curso as id_curso, b.id_historico as id_historico,  b.nota as nota, b.carga_horaria,b.primeiro_dia,b.ultimo_dia,c.nome as nome_aluno, c.id_aluno ,d.nome as nome_curso, d.ementa, b.cod_autenticacao');
        $this->db->join('curso d', 'b.id_curso = d.id_curso');
        $this->db->join('aluno c', 'b.id_aluno = c.id_aluno');
        $this->db->where('b.concluido != 0');
        $this->db->where('b.ultimo_dia BETWEEN "'. preg_replace('/^(\d{2})\/(\d{2})\/(\d{4})$/', '$3-$2-$1', $inicio). '" and "'. preg_replace('/^(\d{2})\/(\d{2})\/(\d{4})$/', '$3-$2-$1', $fim).'"');
        $query = $this->db->get('historico b');
        
        return $query->result();
    }

    public function getAssinaturaAtual($id_aluno) {
        
        $this->db->where('id_aluno', $id_aluno);
        $this->db->order_by('id_doc_aluno', 'DESC');
        $query = $this->db->get('documentacao_aluno');
        return $query->row_array();
        
    } 
   
    public function getHistorico($id_historico) {

        $this->db->where('id_historico', $id_historico);
        $query = $this->db->get('historico');

        return $query->row_array();
    }
    public function getAluno($id) {
        $this->db->where("id_aluno", $id);
        $query = $this->db->get('aluno');

        if ($query->num_rows() > 0) {
            return $query->row_array();
        } else {
            return FALSE;
        }
    }
    public function getCurso($id) {

        $this->db->group_start();
        $this->db->where("liberado", 1);
        $this->db->or_where("liberado", 3);
        $this->db->group_end();
        $this->db->where('id_curso', $id);
        $query = $this->db->get('curso');

        return $query->row_array();
    }
    
    
    public function envia($id,$endereco, $historico, $transacao, $tipo) {
        
        $data = date('Y-m-d H:i:s', time());
        $this->db->set('situacao', 1);
        $this->db->where('id_certificado', $id);
        $this->db->update('certificado'); 
        
        $dados = array('id_historico' => $historico, 'codigo_programa' => '008', 'data_registro' => $data, 'situacao' => 1, 'rastreamento' => 0, 'transacao' => $transacao, 'id_tipo' => $tipo, 'endereco' => $endereco);
        $this->db->insert('certificado', $dados);
    }
    public function obtemenderecoenvio($id) {
        
        $this->db->select('c.id_certificado,a.id_aluno,a.nome as nomealuno,a.endereco,a.numero,a.complemento,a.cep,a.bairro,a.cidade,a.estado ,d.nome as nomecurso, h.id_historico,h.carga_horaria, h.nota, h.primeiro_dia, h.ultimo_dia, h.nota, h.concluido,h.cod_autenticacao, d.ementa');
        $this->db->join('historico h', 'h.id_historico = c.id_historico');
        $this->db->join('aluno a', 'a.id_aluno = h.id_aluno');
        $this->db->join('curso d', 'd.id_curso = h.id_curso');
        $this->db->join('transacao t', 't.id_transacao = c.transacao');
        $this->db->where('c.id_certificado', $id);
        $this->db->where('h.certificado', 1);
        $this->db->where('c.id_tipo', 5);
        $this->db->where('h.concluido', 1);
        $query = $this->db->get('certificado c');
        
        if ($query->num_rows() > 0) {
            return $query->row_array();
        } else {
            return FALSE;
        }
        
    }
    public function certificadoenviado($id) {
        
        $this->db->where('id_certificado', $id);
        $query = $this->db->get('certificado');
        
        return $query->row_array();
    }
     
}
