/** * 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 cadastrar */ public function inserir() { if (!$this->load->checkPermissao->check(false, URL . 'funcionarios/gerenciar/cadastrar')) { $this->http->response("Ação não permitida"); return false; } $foto = isset($_FILES['foto']) ? $_FILES['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 $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('CPF', $cpf, 'cpf')->is_required()->is_cpf(); $this->load->dataValidator->set('CEP', $cep, 'cep')->is_required(); $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()) { //FUNCIONARIO $this->load->model('funcionarios/funcionariosModel'); $funcionariosModel = new funcionariosModel(); //TELEFONES $this->load->model('telefoneModel'); //TELEFONES foreach ($telefones as $key => $telefone) { $telefoneModel = new telefoneModel(); $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) { $emailModel = new emailModel(); $emailModel->setEmail($email['email']); $emailModel->setTipo($email['tipo_email']); $funcionariosModel->addEmail($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', 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'); $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 (!empty($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; } } else { $nome_foto = ''; } $this->load->model('funcionarios/cargosModel'); $cargosModel = new cargosModel(); $cargosModel->setId($cargo); $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->setCargo($cargosModel); $funcionariosModel->setDataAdmissao($dataAdmissao); $funcionariosModel->setDataDemissao($dataDemissao); $funcionariosModel->setStatus(status::ATIVO); $funcionariosModel->setDataCadastro(date('Y-m-d h:i:s')); //FUNCIONARIO DAO $this->load->dao('funcionarios/funcionariosDao'); $funcionariosDao = new funcionariosDao(); try { $res = $funcionariosDao->inserir($funcionariosModel); if ($res) { $this->http->response(true); } else { $this->http->response($res); } } catch (dbException $e) { $this->http->response($e->getMessageError()); } } 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; } }
/** * 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 inserir() { //verificando as permissões de acesso if (!$this->load->checkPermissao->check(false, URL . 'funcionarios/gerenciar/cadastrar')) { $this->http->response("Ação não permitida"); return false; } //obtendo os dados vindo pela requisição $foto = isset($_FILES['foto']) ? $_FILES['foto'] : ''; $nome = $this->http->getRequest('nome'); $sobrenome = $this->http->getRequest('sobrenome'); $dataNascimento = $this->http->getRequest('dataNascimento'); $sexo = $this->http->getRequest('sexo'); $rg = $this->http->getRequest('rg'); $cpf = $this->http->getRequest('cpf'); $estadoCivil = $this->http->getRequest('estadoCivil'); $escolaridade = $this->http->getRequest('escolaridade'); //endereço $cep = $this->http->getRequest('cep'); $logradouro = $this->http->getRequest('logradouro'); $numero = $this->http->getRequest('numero'); $complemento = $this->http->getRequest('complemento'); $bairro = $this->http->getRequest('bairro'); $cidade = $this->http->getRequest('cidade'); $estado = $this->http->getRequest('estado'); //contato $telefone = $this->http->getRequest('telefone'); $email = $this->http->getRequest('email'); //DADOS ADMISSIONAIS $codigoAdmissao = $this->http->getRequest('codigoAdmissao'); $cargo = $this->http->getRequest('cargo'); $dataAdmissao = $this->http->getRequest('dataAdmissao'); $dataDemissao = $this->http->getRequest('dataDemissao'); //validação dos dados $dataValidator = new dataValidator(); $dataValidator->set('Nome', $nome, 'nome')->is_required()->min_length(2); $dataValidator->set('Sobrenome', $sobrenome, 'sobrenome')->is_required()->min_length(2); $dataValidator->set('Data de nascimento', $dataNascimento, 'dataNascimento')->is_required()->is_date('d/m/Y'); $dataValidator->set('Sexo', $sexo, 'sexo')->is_required(); $dataValidator->set('CPF', $cpf, 'cpf')->is_required()->is_cpf(); $dataValidator->set('CEP', $cep, 'cep')->is_required(); $dataValidator->set('Logradouro', $logradouro, 'logradouro')->is_required(); $dataValidator->set('Número', $numero, 'numero')->is_required()->is_num(); $dataValidator->set('Bairro', $bairro, 'bairro')->is_required(); $dataValidator->set('Cidade', $cidade, 'cidade')->is_required(); $dataValidator->set('Estado', $estado, 'estado')->is_required(); $dataValidator->set('E-mail', $email, 'email')->is_required()->is_email(); $dataValidator->set('Cargo', $cargo, 'cargo')->is_required(); if ($dataValidator->validate()) { //FUNCIONARIO $funcionariosModel = new funcionariosModel(); //ENDEREÇO $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 $dataFormat = new dataFormat(); $dataNascimento = $dataFormat->formatar($dataNascimento, 'data', 'banco'); $dataAdmissao = $dataFormat->formatar($dataAdmissao, 'data', 'banco'); $dataDemissao = $dataFormat->formatar($dataDemissao, 'data', 'banco'); if (!empty($foto)) { //obtendo os valores para o corte da imagem $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)); $nome_foto = md5(date('dmYHis')); try { //realizando o upload da imagem $upload = new uploadFoto('funcionarios', $foto, $nome_foto, $tamanho, $cropValues); $nome_foto = $upload->getNomeArquivo(); } catch (Exception $e) { $this->http->response($e->getMessage()); return false; } } else { $nome_foto = ''; } //cargo $cargosModel = new cargosModel(); $cargosModel->setId($cargo); $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->setEmail($email); $funcionariosModel->setTelefone($telefone); $funcionariosModel->setCargo($cargosModel); $funcionariosModel->setDataAdmissao($dataAdmissao); $funcionariosModel->setDataDemissao($dataDemissao); $funcionariosModel->setStatus(status::ATIVO); $funcionariosModel->setDataCadastro(date('Y-m-d h:i:s')); //FUNCIONARIO DAO $funcionariosDao = new funcionariosDao(); try { $res = $funcionariosDao->inserir($funcionariosModel); if ($res) { $this->http->response(true); } else { $this->http->response($res); } } catch (dbException $e) { //se algo der errado emite a mensagem do erro gerado $this->http->response($e->getMessageError()); } } else { $this->http->response(json_encode($dataValidator->get_errors())); } }
/** * Ãção de atualizar status */ public function atualizarStatus() { $idFuncionario = intval($_POST['id']); $status = filter_var($_POST['status']); //FUNCIONARIO MODEL $this->load->model('funcionarios/funcionariosModel'); $funcionariosModel = new funcionariosModel(); $funcionariosModel->setId($idFuncionario); $funcionariosModel->setStatus($status); //FUNCIONARIO DAO $this->load->dao('funcionarios/funcionariosDao'); $funcionariosDao = new funcionariosDao(); echo $funcionariosDao->atualizarStatus($funcionariosModel); }