<?php

class Inspecao extends CI_Controller {
    private $modelPagina = 'inspecao_model';
    private $tabela = 'tbl_008_inspecao';

    function __construct() {
        parent::__construct();
        $this->load->helper(get_helpers_paginas());
        ValidacaoUtils::verificarLoginUtils($this->session);
        ValidacaoUtils::nivelTemAcessoPermitido($this->session->userdata('nivel'), $this->router->class);
        ValidacaoUtils::carregarModelsPagina($this->modelPagina, $this);
    }

    function index() {
        $this->data['view'] = 'sistema/inspecao/listarInspecao';
        $this->data['inspecao'] = $this->inspecao_model->get($this->tabela,'*');
        $this->load->view(DadosPaginas::PG_TOPO_SISTEMA, $this->data);
    }

    public function adicionarChecklist() {

        $this->load->library(DadosPaginas::FORM_VALIDATION);
        $this->data['custom_error'] = '';
        $ajax = $this->input->get('ajax');
        if ($this->form_validation->run('checklist') == false) {
            $this->data['custom_error'] = (validation_errors() ? true : false);

        } else {

            $data = array(
                'DS_DESCRICAO' => $this->input->post('descricaoChecklist'),
                'DS_CRITICIDADE' => $this->input->post('criticidadeChecklist'),
                'DS_VEICULOS' => $this->input->post('modelosOnibus')
            );

            if ($id = $this->checklist_model->add($this->tabela, $data, true)) {
                $this->session->set_flashdata('success', 'Check cadastrado com sucesso.');

            } else {
                $this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro.</p></div>';
            }
        }
        redirect('checklists/');
    }

    public function adicionarItensChecklist() {
        $data = array(
            'CHECKLIST_ID' => $this->input->post('idCheckList'),
            'DESCRICAO_ITEM' => $this->input->post('descricaoChecklist'),
            'DS_CRITICIDADE' => $this->input->post('criticidadeItemChecklist'),
            'DS_PRIORIADE_ITEM' => $this->input->post('prioridadeItemCheckList')
        );

        if ($id = $this->checklist_model->add($this->tabelaItens, $data, true)) {
            $this->session->set_flashdata('success', 'Item do Check List Adicionado com sucesso!');
        } else {
            $this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro.</p></div>';
        }
        redirect('checklists/');
    }

    public function adicionar() {
        $this->load->library(DadosPaginas::FORM_VALIDATION);
        $this->data['custom_error'] = '';

        if ($this->form_validation->run('veiculos') == false) {
            $this->data['custom_error'] = (validation_errors() ? true : false);
        } else {
            $this->load->library('encrypt');
            $cpfSemMascara = $cpf = preg_replace("/\D+/", "", $this->input->post('cpfFuncionario'));
            $data = array(
                'dataEntrada' => ValidacaoUtils::validarData($this->input->post('dataEntrada')),
                'dataNascimento' => ValidacaoUtils::validarData($this->input->post('dataNascimento')),
                'dataProximaFerias' => ValidacaoUtils::validarData($this->input->post('dataProximaFerias')),
                'nomeFuncionario' => $this->input->post('nomeFuncionario'),
                'sobreNome' => $this->input->post('sobreNome'),
                'cpfFuncionario' => $cpfSemMascara,
                'rgFuncionario' => $this->input->post('rgFuncionario'),
                'orgaoEmissorRgFuncionario' => $this->input->post('orgaoEmissorRgFuncionario'),
                'matricula' => $this->input->post('matricula'),
                'funcao' => $this->input->post('funcao'),
                'endereco' => $this->input->post('endereco'),
                'bairro' => $this->input->post('bairro'),
                'cidade' => $this->input->post('cidade'),
                'uf' => $this->input->post('uf'),
                'cep' => $this->input->post('cep'),
                'telCelular' => $this->input->post('telCelular'),
                'telResidencial' => $this->input->post('telResidencial'),
                'telRecados' => $this->input->post('telRecados'),
                'jornada' => $this->input->post('jornada'),
                'situacao' => $this->input->post('situacao'),
                'grauInstrucao' => $this->input->post('grauInstrucao'),
                'sexo' => $this->input->post('sexo'),

                // Dados de Login
                'email' => $this->input->post('email'),
                'senha' => $this->encrypt->sha1($this->input->post('senha')),

                'estadoCivil' => $this->input->post('estadoCivil')

            );

            if (is_numeric($id = $this->funcionario_model->add('funcionario', $data, true))) {
                $this->adicionarImagem($id, 'imagemFuncionario', $this->input->post('funcao'));
                $this->session->set_flashdata('success', 'Funcionario cadastrada com sucesso.');

            } else {
                $this->data['custom_error'] = '<div class="form_error"><p>Ocorreu um erro.</p></div>';
            }
            redirect('funcionario/gerenciar');
        }

        $this->data['view'] = 'sistema/veiculos/adicionarVeiculo';
        $this->load->view(DadosPaginas::PG_TOPO_SISTEMA, $this->data);
    }

    function excluirCheckList() {
        $id = $this->input->post('id');
        if ($id == null) {
            $this->session->set_flashdata('error', 'Erro ao tentar excluir reserva.');
        } else {
            $this->db->where('ID_CHECKLIST', $id);
            $this->db->delete($this->tabela);
            $this->session->set_flashdata('success', 'Item do Check List excluído com sucesso!');
        }
        redirect('checklists/');
    }

    function excluirItem() {
        $id = $this->input->post('id');
        if ($id == null) {
            $this->session->set_flashdata('error', 'Erro ao tentar excluir reserva.');
        } else {
            $this->db->where('ID_ITEM_CHECKLIST', $id);
            $this->db->delete($this->tabelaItens);
            $this->session->set_flashdata('success', 'Item do Check List excluído com sucesso!');
        }
        redirect('checklists/');
    }
}