Esempio n. 1
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;
     }
 }
Esempio n. 2
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;
 }
Esempio n. 3
0
 public function consultar(IUsuarios $iusuario, usuariosModel $usuario, $status)
 {
     $result = $iusuario->consultar($this->db, $usuario, $status);
     if ($result != null) {
         //niveis de acesso
         $nivelAcessoModel = new niveisAcessoModel();
         $nivelAcessoModel->setId($result['id_nivel_acesso']);
         //usuarios
         $usuariosModel = new usuariosModel();
         $usuariosModel->setId($result['id_usuario']);
         $usuariosModel->setNivelAcesso($nivelAcessoModel);
         $usuariosModel->setLogin($result['login_usuario']);
         $usuariosModel->setEmail($result['email_usuario']);
         $usuariosModel->setStatus(status::getAttribute($result['status_usuario']));
         $funcionariosModel = new funcionariosModel();
         $funcionariosModel->setId($result['id_funcionario']);
         $usuariosModel->setFuncionario($funcionariosModel);
         return $usuariosModel;
     } else {
         return null;
     }
 }
Esempio n. 4
0
 /**
  * Insere novos funcionários
  * @return boolean
  */
 public function inserir(funcionariosModel $funcionario)
 {
     $this->load->library('geracodigo');
     $geracodigo = new geracodigo();
     $codigoFuncionario = date('dmy') . '.' . $geracodigo->setTamanho(4)->gerar();
     $data = array('foto_funcionario' => $funcionario->getFoto(), 'nome_funcionario' => $funcionario->getNome(), 'sobrenome_funcionario' => $funcionario->getSobrenome(), 'data_nascimento_funcionario' => $funcionario->getDataNascimento(), 'sexo_funcionario' => $funcionario->getSexo(), 'rg_funcionario' => $funcionario->getRg(), 'cpf_funcionario' => $funcionario->getCpf(), 'estado_civil_funcionario' => $funcionario->getEstadoCivil(), 'escolaridade_funcionario' => $funcionario->getEscolaridade(), 'codigo_funcionario' => $codigoFuncionario, 'id_cargo' => $funcionario->getCargo()->getId(), 'data_admissao_funcionario' => $funcionario->getDataAdmissao(), 'data_demissao_funcionario' => $funcionario->getDataDemissao(), 'status_funcionario' => $funcionario->getStatus(), 'data_cadastro_funcionario' => $funcionario->getDataCadastro());
     $this->db->clear();
     $this->db->setTabela('funcionarios');
     try {
         if ($this->db->insert($data)) {
             $funcionario->setId($this->db->getUltimoId());
             //RETORNA O ID INSERIDO
             $this->atualizaEndereco($funcionario);
             //TELEFONES
             if (!empty($funcionario->getTelefones())) {
                 $this->atualizaTelefones($funcionario);
             }
             //EMAILS
             if (!empty($funcionario->getEmail())) {
                 $this->atualizaEmails($funcionario);
             }
             return true;
         } else {
             return $this->db->getError();
         }
     } catch (dbException $e) {
         return $e->getMessageError();
     }
 }
 /**
  * Ãção de atualizar status
  */
 public function atualizarStatus()
 {
     $idFuncionario = (int) $this->http->getRequest('id');
     $status = filter_var($this->http->getRequest('status'));
     //FUNCIONARIO MODEL
     $this->load->model('funcionarios/funcionariosModel');
     $funcionariosModel = new funcionariosModel();
     $funcionariosModel->setId($idFuncionario);
     if (status::getAttribute($status) == status::EXCLUIDO) {
         $funcionariosModel->excluir();
     } else {
         if (status::getAttribute($status) == status::INATIVO) {
             $funcionariosModel->inativar();
         } else {
             $funcionariosModel->ativar();
         }
     }
     //FUNCIONARIO DAO
     $this->load->dao('funcionarios/funcionariosDao');
     $funcionariosDao = new funcionariosDao();
     if (!$funcionariosDao->isFuncionarioAdministrador($funcionariosModel)) {
         $this->http->response($funcionariosDao->atualizarStatus($funcionariosModel));
     } else {
         $this->http->response("Alteração de status ou exclusão de funcionário administrador não permitida");
     }
 }
Esempio n. 6
0
 private function insertData(funcionariosModel $funcionario)
 {
     $data = array('foto_funcionario' => $this->nomeArquivoFoto, 'nome_funcionario' => $funcionario->getNome(), 'sobrenome_funcionario' => $funcionario->getSobrenome(), 'data_nascimento_funcionario' => $funcionario->getDataNascimento(), 'sexo_funcionario' => $funcionario->getSexo(), 'rg_funcionario' => $funcionario->getRg(), 'cpf_funcionario' => $funcionario->getCpf(), 'estado_civil_funcionario' => $funcionario->getEstadoCivil(), 'escolaridade_funcionario' => $funcionario->getEscolaridade(), 'codigo_funcionario' => $funcionario->getCodigo(), 'cargo_funcionario' => $funcionario->getCargo(), 'data_admissao_funcionario' => $funcionario->getDataAdmissao(), 'salario_funcionario' => $funcionario->getSalario(), 'status_funcionario' => $funcionario->getStatus(), 'data_cadastro_funcionario' => $funcionario->getDataCadastro());
     $this->db->clear();
     $this->db->setTabela('funcionarios');
     $this->db->insert($data);
     if ($this->db->rowCount() > 0) {
         $funcionario->setId($this->db->getUltimoId());
         //RETORNA O ID INSERIDO
         $this->atualizaEndereco($funcionario);
         //TELEFONES
         if (!empty($funcionario->getTelefones())) {
             $this->atualizaTelefones($funcionario);
         }
         //EMAILS
         if (!empty($funcionario->getEmail())) {
             $this->atualizaEmails($funcionario);
         }
         return true;
     } else {
         return json_encode(array('erro' => 'Erro ao inserir registro'));
     }
 }
 /**
  * Ãção de atualizar status
  */
 public function atualizarStatus()
 {
     $idFuncionario = (int) $this->http->getRequest('id');
     $status = filter_var($this->http->getRequest('status'));
     //FUNCIONARIO MODEL
     $funcionariosModel = new funcionariosModel();
     $funcionariosModel->setId($idFuncionario);
     if (status::getAttribute($status) == status::EXCLUIDO) {
         $funcionariosModel->excluir();
     } else {
         if (status::getAttribute($status) == status::INATIVO) {
             $funcionariosModel->inativar();
         } else {
             $funcionariosModel->ativar();
         }
     }
     //USUARIOS DAO -- consultando o usuario pelo funcionário
     $usuariosDao = new usuariosDao();
     $usuariosModel = $usuariosDao->consultar(new consultaUsuarioPorFuncionario($funcionariosModel), new usuariosModel(), array(status::ATIVO, status::INATIVO));
     //setando o usuario em funcionario caso tenha um usuario
     if ($usuariosModel != null) {
         $modulosDao = new modulosDao();
         $modulosModel = $modulosDao->listar();
         //obtendo os niveis de acesso
         $niveisAcessoDao = new niveisAcessoDao();
         $niveisAcessoModel = $niveisAcessoDao->getNivelAcesso($usuariosModel->getNivelAcesso(), $modulosModel);
         if ($niveisAcessoModel != null) {
             $usuariosModel->setNivelAcesso($niveisAcessoModel);
         }
         $funcionariosModel->setUsuario($usuariosModel);
     }
     //FUNCIONARIO DAO -- verificando se é permitido realizar ação ao funcionario
     $funcionariosDao = new funcionariosDao();
     if ($funcionariosModel->getUsuario() == null || $funcionariosModel->getUsuario()->getNivelAcesso()->getTipoPermissao() == tipopermissao::USUARIO) {
         $this->http->response($funcionariosDao->atualizarStatus($funcionariosModel));
     } else {
         $this->http->response("Alteração de status ou exclusão de funcionário administrador não é permitida");
     }
 }
 /**
  * Ação do cadastrar
  */
 public function inserir()
 {
     $nivel = (int) $this->http->getRequest('nivel');
     $funcionario = $this->http->getRequest('funcionario');
     $email = $this->http->getRequest('email');
     $login = $this->http->getRequest('login');
     $senha = $this->http->getRequest('senha');
     //validação dos dados
     $this->load->library('dataValidator', null, true);
     $this->load->dataValidator->set('Nível de acesso', $nivel, 'nivel')->is_required();
     $this->load->dataValidator->set('Funcionário', $funcionario, 'funcionario')->is_required();
     $this->load->dataValidator->set('Email', $email, 'email')->is_required()->is_email();
     $this->load->dataValidator->set('Login', $login, 'login')->is_required();
     $this->load->dataValidator->set('Senha', $senha, 'senha')->is_required();
     if ($this->load->dataValidator->validate()) {
         $this->load->model('funcionarios/funcionariosModel');
         $funcionariosModel = new funcionariosModel();
         $funcionariosModel->setId($funcionario);
         //USUARIO
         $this->load->model('funcionarios/usuariosModel');
         $usuariosModel = new usuariosModel();
         $usuariosModel->setNivelAcesso($nivel);
         $usuariosModel->setFuncionario($funcionariosModel);
         $usuariosModel->setEmail($email);
         $usuariosModel->setLogin($login);
         $usuariosModel->setSenha($senha);
         $usuariosModel->setDataCadastro(date('Y-m-d h:i:s'));
         $this->load->dao('funcionarios/usuariosDao');
         $usuariosDao = new usuariosDao();
         if ($usuariosDao->checkFuncionarioDuplicado($funcionariosModel)) {
             $this->http->response("Funcionário já possui um usuário cadastrado");
         } else {
             $this->http->response($usuariosDao->inserir($usuariosModel));
         }
     } else {
         $todos_erros = $this->load->dataValidator->get_errors();
         $this->http->response(json_encode($todos_erros));
     }
 }
Esempio n. 9
0
 /**
  * Ãçã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);
 }