Beispiel #1
0
 /**
  * Lista os registros dos Usuarios
  * @return Array
  */
 public function listar()
 {
     $usuarios = array();
     $this->db->clear();
     $sql = "select * from sys_usuarios as a inner join nivel_acesso as b on a.id_nivel_acesso = b.id_nivel_acesso inner join funcionarios as c on a.id_funcionario = c.id_funcionario where a.status_usuario <> '" . status::EXCLUIDO . "'";
     $this->db->query($sql);
     if ($this->db->rowCount() > 0) {
         $result = $this->db->resultAll();
         foreach ($result as $value) {
             //niveis de acesso
             $nivelAcessoModel = new niveisAcessoModel();
             $nivelAcessoModel->setId($value['id_nivel_acesso']);
             //funcionario
             $funcionariosModel = new funcionariosModel();
             $funcionariosModel->setId($value['id_funcionario']);
             $funcionariosModel->setNome($value['nome_funcionario']);
             $funcionariosModel->setSobrenome($value['sobrenome_funcionario']);
             //usuario
             $usuariosModel = new usuariosModel();
             $usuariosModel->setId($value['id_usuario']);
             $usuariosModel->setNivelAcesso($nivelAcessoModel);
             $usuariosModel->setFuncionario($funcionariosModel);
             $usuariosModel->setLogin($value['login_usuario']);
             $usuariosModel->setEmail($value['email_usuario']);
             $usuariosModel->setStatus(status::getAttribute($value['status_usuario']));
             array_push($usuarios, $usuariosModel);
             unset($usuariosModel);
         }
         return $usuarios;
     } else {
         return $usuarios;
     }
 }
Beispiel #2
0
 /**
  *validLogin
  *@return boolean | string
  * Validação do login e senha
  */
 public function validLogin(usuariosModel $usuariosModel)
 {
     $this->db->clear();
     $this->db->setTabela('sys_usuarios as A, funcionarios as B, nivel_acesso AS C');
     $this->db->setCondicao('A.login_usuario = "' . $usuariosModel->getLogin() . '" AND A.status_usuario = "' . status::ATIVO . '"  AND B.status_funcionario = "' . status::ATIVO . '" AND A.id_nivel_acesso = C.id_nivel_acesso AND A.id_funcionario = B.id_funcionario');
     if ($this->db->select()) {
         $res = $this->db->result();
         if (Bcrypt::check($usuariosModel->getSenha(), $res['senha_usuario'])) {
             $this->load->model('funcionarios/funcionariosModel');
             $this->load->model('configuracoes/niveis_acesso/niveisAcessoModel');
             //funcionario
             $funcionarios = new funcionariosModel();
             $funcionarios->setId($res['id_funcionario']);
             $funcionarios->setNome($res['nome_funcionario']);
             $funcionarios->setSobrenome($res['sobrenome_funcionario']);
             $funcionarios->setFoto($res['foto_funcionario']);
             //nivel de acesso
             $nivelAcesso = new niveisAcessoModel();
             $nivelAcesso->setId($res['id_nivel_acesso']);
             // $nivelAcesso->setPermissoes($res['permissoes']);
             $nivelAcesso->setIndice($res['index_access_db_name']);
             $usuariosModel->setId($res['id_usuario']);
             $usuariosModel->setEmail($res['email_usuario']);
             $usuariosModel->setId($res['id_usuario']);
             $usuariosModel->setFuncionario($funcionarios);
             $usuariosModel->setNivelAcesso($nivelAcesso);
             $usuariosModel->setHash($this->updateHashAcesso($usuariosModel));
             return $usuariosModel;
         } else {
             return null;
         }
     } else {
         return null;
     }
 }
Beispiel #3
0
 /**
  * Lista os registros das Requisicoes
  * @return Array
  */
 public function listar()
 {
     $this->load->model('suprimentos/requisicoes/requisicoesModel');
     $this->load->model('funcionarios/funcionariosModel');
     $this->load->model('funcionarios/usuariosModel');
     $requisicoes = array();
     $this->db->clear();
     $this->db->setTabela('requisicoes');
     $this->db->setCondicao(" status_requisicao in('" . statusRequisicoes::NOVO . "','" . statusRequisicoes::PENDENTE . "','" . statusRequisicoes::APROVADO . "','" . statusRequisicoes::REPROVADO . "','" . statusRequisicoes::APROVADO . "', '" . statusRequisicoes::CANCELADO . "') ");
     $this->db->select();
     if ($this->db->rowCount() > 0) {
         $result = $this->db->resultAll();
         foreach ($result as $value) {
             $requisicoesModel = new requisicoesModel();
             $requisicoesModel->setId($value['id_requisicao']);
             $requisicoesModel->setCodigo($value['codigo_requisicao']);
             $requisicoesModel->setTitulo($value['titulo_requisicao']);
             $requisicoesModel->setObservacoes($value['observacoes_requisicao']);
             $requisicoesModel->setData($value['data_requisicao']);
             $requisicoesModel->setStatus(statusRequisicoes::getAttribute($value['status_requisicao']));
             $this->db->clear();
             $this->db->setTabela('sys_usuarios as a , requisicao_usuario as b, funcionarios as c');
             $this->db->setCondicao("a.id_usuario = b.id_usuario and a.id_funcionario = c.id_funcionario and b.id_requisicao = ?");
             $this->db->setParameter(1, $requisicoesModel->getId());
             $usuariosModel = new usuariosModel();
             $funcionariosModel = new funcionariosModel();
             if ($this->db->select()) {
                 $user = $this->db->result();
                 $funcionariosModel->setId($user['id_funcionario']);
                 $funcionariosModel->setNome($user['nome_funcionario']);
                 $funcionariosModel->setSobrenome($user['sobrenome_funcionario']);
                 $usuariosModel->setId($user['id_usuario']);
             }
             $usuariosModel->setFuncionario($funcionariosModel);
             $requisicoesModel->setUsuarioCadastrado($usuariosModel);
             array_push($requisicoes, $requisicoesModel);
             unset($requisicoesModel);
         }
     }
     return $requisicoes;
 }
 /**
  * Retorna a consulta de um funcionário pelo id
  * @return object [funcionariosModel]
  */
 public function consultar(funcionariosModel $func)
 {
     $funcionario = new funcionariosModel();
     $this->db->clear();
     $this->db->setTabela('funcionarios');
     $this->db->setCondicao("id_funcionario = ?");
     $this->db->setParameter(1, $func->getId());
     //FUNCIONARIO
     if ($this->db->select()) {
         $result = $this->db->result();
         //TELEFONES
         $this->db->clear();
         $this->db->setTabela('telefones AS A, telefones_funcionarios AS B');
         $this->db->setCondicao("B.id_funcionario = ? AND A.id_telefone = B.id_telefone");
         $this->db->setParameter(1, $func->getId());
         if ($this->db->select()) {
             $resultTel = $this->db->resultAll();
             $this->load->model('telefoneModel');
             foreach ($resultTel as $telefone) {
                 $telefoneModel = new telefoneModel();
                 $telefoneModel->setId($telefone['id_telefone']);
                 $telefoneModel->setCategoria($telefone['categoria_telefone']);
                 $telefoneModel->setNumero($telefone['numero_telefone']);
                 $telefoneModel->setOperadora($telefone['operadora_telefone']);
                 $telefoneModel->setTipo($telefone['tipo_telefone']);
                 $funcionario->addTelefone($telefoneModel);
             }
         }
         //EMAILS
         $this->db->clear();
         $this->db->setTabela('emails as A, emails_funcionarios AS B');
         $this->db->setCondicao("B.id_funcionario = ? AND B.id_email = A.id_email");
         $this->db->setParameter(1, $func->getId());
         $this->db->select();
         if ($this->db->rowCount() > 0) {
             $resultEmail = $this->db->resultAll();
             $this->load->model('emailModel');
             foreach ($resultEmail as $email) {
                 $emailModel = new emailModel();
                 $emailModel->setId($email['id_email']);
                 $emailModel->setEmail($email['endereco_email']);
                 $emailModel->setTipo($email['tipo_email']);
                 $funcionario->addEmail($emailModel);
             }
         }
         //ENDERECO
         $this->db->clear();
         $this->db->setTabela('enderecos as A, enderecos_funcionarios AS B');
         $this->db->setCondicao("B.id_funcionario = ? AND A.id_endereco = B.id_endereco ");
         $this->db->setParameter(1, $func->getId());
         $this->db->select();
         $this->load->model('enderecoModel');
         $endereco = new enderecoModel();
         if ($this->db->rowCount() > 0) {
             $resultEnd = $this->db->result();
             $endereco->setId($resultEnd['id_endereco']);
             $endereco->setCep($resultEnd['cep_endereco']);
             $endereco->setNumero($resultEnd['numero_endereco']);
             $endereco->setComplemento($resultEnd['complemento_endereco']);
             $endereco->setLogradouro($resultEnd['rua_endereco']);
             $endereco->setBairro($resultEnd['bairro_endereco']);
             $endereco->setCidade($resultEnd['cidade_endereco']);
             $endereco->setEstado($resultEnd['estado_endereco']);
         }
         $funcionario->setId($result['id_funcionario']);
         $funcionario->setFoto($result['foto_funcionario']);
         $funcionario->setNome($result['nome_funcionario']);
         $funcionario->setSobrenome($result['sobrenome_funcionario']);
         $funcionario->setDataNascimento($result['data_nascimento_funcionario']);
         $funcionario->setSexo($result['sexo_funcionario']);
         $funcionario->setRg($result['rg_funcionario']);
         $funcionario->setCpf($result['cpf_funcionario']);
         $funcionario->setEstadoCivil($result['estado_civil_funcionario']);
         $funcionario->setEscolaridade($result['escolaridade_funcionario']);
         $funcionario->setEndereco($endereco);
         $this->load->model('funcionarios/cargosModel');
         $cargosModel = new cargosModel();
         $cargosModel->setId($result['id_cargo']);
         $funcionario->setCargo($cargosModel);
         $funcionario->setDataAdmissao($result['data_admissao_funcionario']);
         $funcionario->setDataDemissao($result['data_demissao_funcionario']);
         $funcionario->setStatus(status::getAttribute($result['status_funcionario']));
         return $funcionario;
     } else {
         return $funcionario;
     }
 }
 /**
  * Ação do atualizar
  */
 public function atualizar()
 {
     if (!$this->load->checkPermissao->check(false, URL . 'funcionarios/gerenciar/editar')) {
         $this->http->response("Ação não permitida");
         return false;
     }
     $idFuncionario = filter_var((int) $this->http->getRequest('id_funcionario'));
     $foto = isset($_FILES['foto']) ? $_FILES['foto'] : '';
     $nome_foto = filter_var($this->http->getRequest('nome_foto'));
     $nome = filter_var($this->http->getRequest('nome'));
     $sobrenome = filter_var($this->http->getRequest('sobrenome'));
     $dataNascimento = filter_var($this->http->getRequest('dataNascimento'));
     $sexo = filter_var($this->http->getRequest('sexo'));
     $rg = filter_var($this->http->getRequest('rg'));
     $cpf = filter_var($this->http->getRequest('cpf'));
     $estadoCivil = filter_var($this->http->getRequest('estadoCivil'));
     $escolaridade = filter_var($this->http->getRequest('escolaridade'));
     //endereço
     $id_endereco = filter_var((int) $this->http->getRequest('id_endereco'));
     $cep = filter_var($this->http->getRequest('cep'));
     $logradouro = filter_var($this->http->getRequest('logradouro'));
     $numero = filter_var($this->http->getRequest('numero'));
     $complemento = filter_var($this->http->getRequest('complemento'));
     $bairro = filter_var($this->http->getRequest('bairro'));
     $cidade = filter_var($this->http->getRequest('cidade'));
     $estado = filter_var($this->http->getRequest('estado'));
     //contato
     $telefones = filter_var_array((array) $this->http->getRequest('telefones'));
     $emails = filter_var_array((array) $this->http->getRequest('emails'));
     //DADOS ADMISSIONAIS
     $codigoAdmissao = filter_var($this->http->getRequest('codigoAdmissao'));
     $cargo = filter_var($this->http->getRequest('cargo'));
     $dataAdmissao = filter_var($this->http->getRequest('dataAdmissao'));
     $dataDemissao = filter_var($this->http->getRequest('dataDemissao'));
     //validação dos dados
     $this->load->library('dataValidator', null, true);
     $this->load->dataValidator->set('Nome', $nome, 'nome')->is_required()->min_length(2);
     $this->load->dataValidator->set('Sobrenome', $sobrenome, 'sobrenome')->is_required()->min_length(2);
     $this->load->dataValidator->set('Data de nascimento', $dataNascimento, 'dataNascimento')->is_required()->is_date('d/m/Y');
     $this->load->dataValidator->set('Sexo', $sexo, 'sexo')->is_required();
     $this->load->dataValidator->set('CEP', $cep, 'cep')->is_required();
     $this->load->dataValidator->set('CPF', $cpf, 'cpf')->is_required()->is_cpf();
     $this->load->dataValidator->set('Logradouro', $logradouro, 'logradouro')->is_required();
     $this->load->dataValidator->set('Número', $numero, 'numero')->is_required()->is_num();
     $this->load->dataValidator->set('Bairro', $bairro, 'bairro')->is_required();
     $this->load->dataValidator->set('Cidade', $cidade, 'cidade')->is_required();
     $this->load->dataValidator->set('Estado', $estado, 'estado')->is_required();
     $this->load->dataValidator->set('Cargo', $cargo, 'cargo')->is_required();
     if ($this->load->dataValidator->validate()) {
         $this->load->model('funcionarios/funcionariosModel');
         $this->load->model('emailModel');
         $this->load->model('telefoneModel');
         $this->load->model('funcionarios/cargosModel');
         //FUNCIONARIO
         $funcionariosModel = new funcionariosModel();
         //TELEFONES
         foreach ($telefones as $key => $telefone) {
             $telefone['idtelefone'] = isset($telefone['idtelefone']) ? $telefone['idtelefone'] : '';
             $telefoneModel = new telefoneModel();
             $telefoneModel->setId($telefone['idtelefone']);
             $telefoneModel->setCategoria($telefone['categoria']);
             $telefoneModel->setNumero($telefone['telefone']);
             $telefoneModel->setOperadora($telefone['operadora']);
             $telefoneModel->setTipo($telefone['tipo_telefone']);
             $funcionariosModel->addTelefone($telefoneModel);
         }
         //EMAILS
         foreach ($emails as $email) {
             $email['idemail'] = isset($email['idemail']) ? $email['idemail'] : '';
             $emailModel = new emailModel();
             $emailModel->setId($email['idemail']);
             $emailModel->setEmail($email['email']);
             $emailModel->setTipo($email['tipo_email']);
             $funcionariosModel->addEmail($emailModel);
         }
         //ENDEREÇO
         $this->load->model('enderecoModel');
         $enderecoModel = new enderecoModel();
         $enderecoModel->setId($id_endereco);
         $enderecoModel->setCep($cep);
         $enderecoModel->setNumero($numero);
         $enderecoModel->setComplemento($complemento);
         $enderecoModel->setLogradouro($logradouro);
         $enderecoModel->setBairro($bairro);
         $enderecoModel->setCidade($cidade);
         $enderecoModel->setEstado($estado);
         //FORMATAÇÃO DOS DADOS
         $this->load->library('dataFormat', null, true);
         $dataNascimento = $this->load->dataFormat->formatar($dataNascimento, 'data', 'banco');
         $dataAdmissao = $this->load->dataFormat->formatar($dataAdmissao, 'data', 'banco');
         $dataDemissao = $this->load->dataFormat->formatar($dataDemissao, 'data', 'banco');
         if (!empty($foto)) {
             $cropValues = array('w' => $this->http->getRequest('w'), 'h' => $this->http->getRequest('h'), 'x1' => $this->http->getRequest('x1'), 'y1' => $this->http->getRequest('y1'));
             $tamanho = array('p' => array('w' => 404, 'h' => 158));
             if ($nome_foto == '') {
                 $nome_foto = md5(date('dmYHis'));
             }
             try {
                 $this->load->library('uploadFoto');
                 $upload = new uploadFoto('funcionarios', $foto, $nome_foto, $tamanho, $cropValues);
                 $nome_foto = $upload->getNomeArquivo();
             } catch (Exception $e) {
                 $this->http->response($e->getMessage());
                 return false;
             }
         }
         $funcionariosModel->setId($idFuncionario);
         $funcionariosModel->setFoto($nome_foto);
         $funcionariosModel->setNome($nome);
         $funcionariosModel->setSobrenome($sobrenome);
         $funcionariosModel->setDataNascimento($dataNascimento);
         $funcionariosModel->setSexo($sexo);
         $funcionariosModel->setRg($rg);
         $funcionariosModel->setCpf($cpf);
         $funcionariosModel->setEstadoCivil($estadoCivil);
         $funcionariosModel->setEscolaridade($escolaridade);
         $funcionariosModel->setEndereco($enderecoModel);
         $funcionariosModel->setCodigo($codigoAdmissao);
         $cargosModel = new cargosModel();
         $cargosModel->setId($cargo);
         $funcionariosModel->setCargo($cargosModel);
         $funcionariosModel->setDataAdmissao($dataAdmissao);
         $funcionariosModel->setDataDemissao($dataDemissao);
         //FUNCIONARIO DAO
         $this->load->dao('funcionarios/funcionariosDao');
         $funcionariosDao = new funcionariosDao();
         try {
             $this->http->response($funcionariosDao->atualizar($funcionariosModel));
         } catch (dbException $e) {
             $this->http->response($e->getMessageError());
             exit;
         }
     } else {
         $todos_erros = $this->load->dataValidator->get_errors();
         $this->http->response(json_encode($todos_erros));
     }
 }
 /**
  * Retorna a consulta de um funcionário pelo id
  * @return object [funcionariosModel]
  */
 public function consultar(IlistagemFuncionarios $ifuncionario, funcionariosModel $func, $status)
 {
     $funcionario = new funcionariosModel();
     $result = $ifuncionario->consultar($this->db, $func, $status);
     //FUNCIONARIO
     if ($result != null) {
         //ENDERECO
         $this->db->clear();
         $this->db->setTabela('enderecos as A, enderecos_funcionarios AS B');
         $this->db->setCondicao("B.id_funcionario = ? AND A.id_endereco = B.id_endereco ");
         $this->db->setParameter(1, $func->getId());
         $this->db->select();
         $this->load->model('enderecoModel');
         $endereco = new enderecoModel();
         if ($this->db->rowCount() > 0) {
             $resultEnd = $this->db->result();
             $endereco->setId($resultEnd['id_endereco']);
             $endereco->setCep($resultEnd['cep_endereco']);
             $endereco->setNumero($resultEnd['numero_endereco']);
             $endereco->setComplemento($resultEnd['complemento_endereco']);
             $endereco->setLogradouro($resultEnd['rua_endereco']);
             $endereco->setBairro($resultEnd['bairro_endereco']);
             $endereco->setCidade($resultEnd['cidade_endereco']);
             $endereco->setEstado($resultEnd['estado_endereco']);
         }
         //setando os dados do funcionario
         $funcionario->setId($result['id_funcionario']);
         $funcionario->setFoto($result['foto_funcionario']);
         $funcionario->setNome($result['nome_funcionario']);
         $funcionario->setSobrenome($result['sobrenome_funcionario']);
         $funcionario->setDataNascimento($result['data_nascimento_funcionario']);
         $funcionario->setSexo($result['sexo_funcionario']);
         $funcionario->setRg($result['rg_funcionario']);
         $funcionario->setCpf($result['cpf_funcionario']);
         $funcionario->setEstadoCivil($result['estado_civil_funcionario']);
         $funcionario->setEscolaridade($result['escolaridade_funcionario']);
         $funcionario->setEndereco($endereco);
         $funcionario->setEmail($result['email_funcionario']);
         $funcionario->setTelefone($result['telefone_funcionario']);
         //setando os dados do cargo
         $this->load->model('funcionarios/cargosModel');
         $cargosModel = new cargosModel();
         $cargosModel->setId($result['id_cargo']);
         $funcionario->setCargo($cargosModel);
         $funcionario->setDataAdmissao($result['data_admissao_funcionario']);
         $funcionario->setDataDemissao($result['data_demissao_funcionario']);
         $funcionario->setStatus(status::getAttribute($result['status_funcionario']));
         return $funcionario;
     } else {
         return $funcionario;
     }
 }
Beispiel #7
0
 /**
  * Retorna a consulta de um funcionário pelo id
  * @return object [funcionariosModel]
  */
 public function consultar(funcionariosModel $funcionario)
 {
     $this->db->clear();
     $this->db->setTabela('funcionarios');
     $this->db->setCondicao("id_funcionario = '" . $funcionario->getId() . "'");
     $this->db->select();
     //FUNCIONARIO
     if ($this->db->rowCount() > 0) {
         $result = $this->db->result();
         //TELEFONES
         $this->db->clear();
         $this->db->setTabela('telefones');
         $this->db->setCondicao("id_funcionario = '" . $funcionario->getId() . "'");
         $this->db->select();
         $telefonesList = array();
         if ($this->db->rowCount() > 0) {
             $resultTel = $this->db->resultAll();
             $this->load->model('telefoneModel');
             foreach ($resultTel as $telefone) {
                 $telefoneModel = new telefoneModel();
                 $telefoneModel->setId($telefone['id_telefone']);
                 $telefoneModel->setCategoria($telefone['categoria_telefone']);
                 $telefoneModel->setNumero($telefone['numero_telefone']);
                 $telefoneModel->setOperadora($telefone['operadora_telefone']);
                 $telefoneModel->setTipo($telefone['tipo_telefone']);
                 array_push($telefonesList, $telefoneModel);
                 unset($telefoneModel);
             }
         }
         //EMAILS
         $this->db->clear();
         $this->db->setTabela('emails');
         $this->db->setCondicao("id_funcionario = '" . $funcionario->getId() . "'");
         $this->db->select();
         $emailsList = array();
         if ($this->db->rowCount() > 0) {
             $resultEmail = $this->db->resultAll();
             $this->load->model('emailModel');
             foreach ($resultEmail as $email) {
                 $emailModel = new emailModel();
                 $emailModel->setId($email['id_email']);
                 $emailModel->setEmail($email['endereco_email']);
                 $emailModel->setTipo($email['tipo_email']);
                 array_push($emailsList, $emailModel);
                 unset($emailModel);
             }
         }
         //ENDERECO
         $this->db->clear();
         $this->db->setTabela('enderecos');
         $this->db->setCondicao("id_funcionario = '" . $funcionario->getId() . "'");
         $this->db->select();
         $this->load->model('enderecoModel');
         $endereco = new enderecoModel();
         if ($this->db->rowCount() > 0) {
             $resultEnd = $this->db->result();
             $endereco->setId($resultEnd['id_endereco']);
             $endereco->setCep($resultEnd['cep_endereco']);
             $endereco->setNumero($resultEnd['numero_endereco']);
             $endereco->setComplemento($resultEnd['complemento_endereco']);
             $endereco->setLogradouro($resultEnd['rua_endereco']);
             $endereco->setBairro($resultEnd['bairro_endereco']);
             $endereco->setCidade($resultEnd['cidade_endereco']);
             $endereco->setEstado($resultEnd['estado_endereco']);
         }
         $funcionario->setFoto($result['foto_funcionario']);
         $funcionario->setNome($result['nome_funcionario']);
         $funcionario->setSobrenome($result['sobrenome_funcionario']);
         $funcionario->setDataNascimento($result['data_nascimento_funcionario']);
         $funcionario->setSexo($result['sexo_funcionario']);
         $funcionario->setRg($result['rg_funcionario']);
         $funcionario->setCpf($result['cpf_funcionario']);
         $funcionario->setEstadoCivil($result['estado_civil_funcionario']);
         $funcionario->setEscolaridade($result['escolaridade_funcionario']);
         $funcionario->setEndereco($endereco);
         $funcionario->setTelefones($telefonesList);
         $funcionario->setEmail($emailsList);
         $funcionario->setCodigo($result['codigo_funcionario']);
         $funcionario->setCargo($result['cargo_funcionario']);
         $funcionario->setDataAdmissao($result['data_admissao_funcionario']);
         $funcionario->setSalario($result['salario_funcionario']);
         $funcionario->setStatus(status::getAttribute($result['status_funcionario']));
         return $funcionario;
     } else {
         echo 'nada';
         return $funcionariosModel;
     }
 }
Beispiel #8
0
 /**
  * Ação do cadastrar
  */
 public function atualizar()
 {
     $idFuncionario = isset($_POST['id_funcionario']) ? filter_var($_POST['id_funcionario']) : '';
     $foto = isset($_FILES['foto']) ? $_FILES['foto'] : '';
     $nome = isset($_POST['nome']) ? filter_var($_POST['nome']) : '';
     $sobrenome = isset($_POST['sobrenome']) ? filter_var($_POST['sobrenome']) : '';
     $dataNascimento = isset($_POST['dataNascimento']) ? filter_var(trim($_POST['dataNascimento'])) : '';
     $sexo = isset($_POST['sexo']) ? filter_var($_POST['sexo']) : '';
     $rg = isset($_POST['rg']) ? filter_var($_POST['rg']) : '';
     $cpf = isset($_POST['cpf']) ? filter_var($_POST['cpf']) : '';
     $estadoCivil = isset($_POST['estadoCivil']) ? filter_var($_POST['estadoCivil']) : '';
     $escolaridade = isset($_POST['escolaridade']) ? filter_var($_POST['escolaridade']) : '';
     //endereço
     $cep = isset($_POST['cep']) ? filter_var(trim($_POST['cep'])) : '';
     $logradouro = isset($_POST['logradouro']) ? filter_var(trim($_POST['logradouro'])) : '';
     $numero = isset($_POST['numero']) ? filter_var(trim($_POST['numero'])) : '';
     $complemento = isset($_POST['complemento']) ? filter_var(trim($_POST['complemento'])) : '';
     $bairro = isset($_POST['bairro']) ? filter_var(trim($_POST['bairro'])) : '';
     $cidade = isset($_POST['cidade']) ? filter_var(trim($_POST['cidade'])) : '';
     $estado = isset($_POST['estado']) ? filter_var(trim($_POST['estado'])) : '';
     //contato
     $telefones = isset($_POST['telefones']) ? filter_var_array($_POST['telefones']) : array();
     $emails = isset($_POST['emails']) ? filter_var_array($_POST['emails']) : array();
     //DADOS ADMISSIONAIS
     $codigoAdmissao = isset($_POST['codigoAdmissao']) ? filter_var(trim($_POST['codigoAdmissao'])) : '';
     $cargo = isset($_POST['cargo']) ? filter_var(trim($_POST['cargo'])) : '';
     $dataAdmissao = isset($_POST['dataAdmissao']) ? filter_var(trim($_POST['dataAdmissao'])) : '';
     $salario = isset($_POST['salario']) ? filter_var(trim($_POST['salario'])) : '';
     //validação dos dados
     $this->load->library('dataValidator');
     $this->dataValidator->set('Nome', $nome, 'nome')->is_required()->min_length(2);
     $this->dataValidator->set('Sobrenome', $sobrenome, 'sobrenome')->is_required()->min_length(2);
     $this->dataValidator->set('Data de nascimento', $dataNascimento, 'dataNascimento')->is_required()->is_date('d/m/Y');
     $this->dataValidator->set('Sexo', $sexo, 'sexo')->is_required();
     $this->dataValidator->set('CEP', $cep, 'cep')->is_required();
     $this->dataValidator->set('Logradouro', $logradouro, 'logradouro')->is_required();
     $this->dataValidator->set('Número', $numero, 'numero')->is_required()->is_num();
     $this->dataValidator->set('Bairro', $bairro, 'bairro')->is_required();
     $this->dataValidator->set('Cidade', $cidade, 'cidade')->is_required();
     $this->dataValidator->set('Estado', $estado, 'estado')->is_required();
     if ($this->dataValidator->validate()) {
         //TELEFONES
         $telefonesList = array();
         $this->load->model('telefoneModel');
         foreach ($telefones as $key => $telefone) {
             $telefone['idtelefone'] = isset($telefone['idtelefone']) ? $telefone['idtelefone'] : '';
             $telefoneModel = new telefoneModel();
             $telefoneModel->setId($telefone['idtelefone']);
             $telefoneModel->setCategoria($telefone['categoria']);
             $telefoneModel->setNumero($telefone['telefone']);
             $telefoneModel->setOperadora($telefone['operadora']);
             $telefoneModel->setTipo($telefone['tipo_telefone']);
             array_push($telefonesList, $telefoneModel);
             unset($telefoneModel);
         }
         //EMAILS
         $emailList = array();
         $this->load->model('emailModel');
         foreach ($emails as $email) {
             $email['idemail'] = isset($email['idemail']) ? $email['idemail'] : '';
             $emailModel = new emailModel();
             $emailModel->setId($email['idemail']);
             $emailModel->setEmail($email['email']);
             $emailModel->setTipo($email['tipo_email']);
             array_push($emailList, $emailModel);
             unset($emailModel);
         }
         //ENDEREÇO
         $this->load->model('enderecoModel');
         $enderecoModel = new enderecoModel();
         $enderecoModel->setCep($cep);
         $enderecoModel->setNumero($numero);
         $enderecoModel->setComplemento($complemento);
         $enderecoModel->setLogradouro($logradouro);
         $enderecoModel->setBairro($bairro);
         $enderecoModel->setCidade($cidade);
         $enderecoModel->setEstado($estado);
         //FORMATAÇÃO DOS DADOS
         $this->load->library('dataFormat');
         $dataNascimento = $this->dataFormat->formatar($dataNascimento, 'data', 'banco');
         $dataAdmissao = $this->dataFormat->formatar($dataAdmissao, 'data', 'banco');
         $salario = $this->dataFormat->formatar($salario, 'decimal', 'banco');
         //FUNCIONARIO
         $this->load->model('funcionarios/funcionariosModel');
         $funcionariosModel = new funcionariosModel();
         $funcionariosModel->setId($idFuncionario);
         $funcionariosModel->setFoto($foto);
         $funcionariosModel->setNome($nome);
         $funcionariosModel->setSobrenome($sobrenome);
         $funcionariosModel->setDataNascimento($dataNascimento);
         $funcionariosModel->setSexo($sexo);
         $funcionariosModel->setRg($rg);
         $funcionariosModel->setCpf($cpf);
         $funcionariosModel->setEstadoCivil($estadoCivil);
         $funcionariosModel->setEscolaridade($escolaridade);
         $funcionariosModel->setEndereco($enderecoModel);
         $funcionariosModel->setTelefones($telefonesList);
         $funcionariosModel->setEmail($emailList);
         $funcionariosModel->setCodigo($codigoAdmissao);
         $funcionariosModel->setCargo($cargo);
         $funcionariosModel->setDataAdmissao($dataAdmissao);
         $funcionariosModel->setSalario($salario);
         $funcionariosModel->setStatus(status::ATIVO);
         $funcionariosModel->setDataCadastro(date('Y-m-d h:i:s'));
         //FUNCIONARIO DAO
         $this->load->dao('funcionarios/funcionariosDao');
         $funcionariosDao = new funcionariosDao();
         echo $funcionariosDao->atualizar($funcionariosModel);
     } else {
         $todos_erros = $this->dataValidator->get_errors();
         echo json_encode($todos_erros);
     }
 }