/** * 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; } }
/** * 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); } }