/**
  * Ação do cadastrar
  */
 public function inserir()
 {
     if (!$this->load->checkPermissao->check(false, URL . 'fornecedores/gerenciar/cadastrar')) {
         echo "Ação não permitida";
         return false;
     }
     $foto = isset($_FILES['foto']) ? $_FILES['foto'] : '';
     $razaoSocial = isset($_POST['razao_social']) ? filter_var($_POST['razao_social']) : '';
     $nomeFantasia = isset($_POST['nome_fantasia']) ? filter_var($_POST['nome_fantasia']) : '';
     $cnpj = isset($_POST['cnpj']) ? filter_var(trim($_POST['cnpj'])) : '';
     $cpf = isset($_POST['cpf']) ? filter_var($_POST['cpf']) : '';
     $pessoa = isset($_POST['pessoa']) ? filter_var($_POST['pessoa']) : '';
     $site = isset($_POST['site']) ? filter_var($_POST['site']) : '';
     $observacoes = isset($_POST['observacoes']) ? filter_var($_POST['observacoes']) : '';
     //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'])) : '';
     $cidade = isset($_POST['cidade']) ? filter_var(trim($_POST['cidade'])) : '';
     $bairro = isset($_POST['bairro']) ? filter_var(trim($_POST['bairro'])) : '';
     $estado = isset($_POST['estado']) ? filter_var(trim($_POST['estado'])) : '';
     //contato
     $nomeContato = isset($_POST['nomeContato']) ? filter_var($_POST['nomeContato']) : '';
     $telefones = isset($_POST['telefones']) ? filter_var_array($_POST['telefones']) : array();
     $emails = isset($_POST['emails']) ? filter_var_array($_POST['emails']) : array();
     $data_visita = isset($_POST['data_visita']) ? filter_var(trim($_POST['data_visita'])) : '';
     $retorno = isset($_POST['retorno']) ? filter_var(trim($_POST['retorno'])) : '';
     //validação dos dados
     $this->load->library('dataValidator', null, true);
     $this->load->dataValidator->set('Razao Social', $razaoSocial, 'razao_social')->is_required()->min_length(2);
     $this->load->dataValidator->set('Nome Fantasia', $nomeFantasia, 'nome_fantasia')->is_required()->min_length(2);
     $this->load->dataValidator->set('CNPJ', $cnpj, 'cnpj')->is_required();
     $this->load->dataValidator->set('CPF', $cpf, 'cpf')->is_required();
     $this->load->dataValidator->set('Pessoa', $pessoa, 'pessoa')->is_required();
     $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();
     if ($this->load->dataValidator->validate()) {
         //FORNECEDOR
         $this->load->model('fornecedores/fornecedoresModel');
         $fornecedoresModel = new fornecedoresModel();
         //FORMATAÇÃO DOS DADOS
         $this->load->library('dataFormat', null, true);
         $data_visita = $this->load->dataFormat->formatar($data_visita, 'data', 'banco');
         $cropValues = array('w' => $_POST['w'], 'h' => $_POST['h'], 'x1' => $_POST['x1'], 'y1' => $_POST['y1']);
         $tamanho = array('p' => array('w' => 404, 'h' => 158));
         if (!empty($foto)) {
             $nome_foto = md5(date('dmYHis'));
         }
         $nome_foto = '';
         try {
             $this->load->library('uploadFoto');
             $upload = new uploadFoto('fornecedores', $foto, $nome_foto, $tamanho, $cropValues);
             $nome_foto = $upload->getNomeArquivo();
         } catch (Exception $e) {
             echo $e->getMessage();
             return false;
         }
         $fornecedoresModel->setFoto($nome_foto);
         $fornecedoresModel->setRazaoSocial($razaoSocial);
         $fornecedoresModel->setNomeFantasia($nomeFantasia);
         $fornecedoresModel->setCnpj($cnpj);
         $fornecedoresModel->setCpf($cpf);
         $fornecedoresModel->setPessoa($pessoa);
         $fornecedoresModel->setSite($site);
         $fornecedoresModel->setObservacoes($observacoes);
         $fornecedoresModel->setNomeContato($nomeContato);
         $fornecedoresModel->setDataVisita($data_visita);
         $fornecedoresModel->setRetorno($retorno);
         $fornecedoresModel->setStatus(status::ATIVO);
         $fornecedoresModel->setDataCadastro(date('Y-m-d h:i:s'));
         //TELEFONES
         $this->load->model('telefoneModel');
         foreach ($telefones as $telefone) {
             $telefoneModel = new telefoneModel();
             $telefoneModel->setCategoria($telefone['categoria']);
             $telefoneModel->setNumero($telefone['telefone']);
             $telefoneModel->setOperadora($telefone['operadora']);
             $telefoneModel->setTipo($telefone['tipo_telefone']);
             $fornecedoresModel->addTelefone($telefoneModel);
         }
         //EMAILS
         $this->load->model('emailModel');
         foreach ($emails as $email) {
             $emailModel = new emailModel();
             $emailModel->setEmail($email['email']);
             $fornecedoresModel->addEmail($emailModel);
         }
         //endereço
         $this->load->model('enderecoModel');
         $enderecoModel = new enderecoModel();
         $enderecoModel->setCep($cep);
         $enderecoModel->setLogradouro($logradouro);
         $enderecoModel->setNumero($numero);
         $enderecoModel->setComplemento($complemento);
         $enderecoModel->setCidade($cidade);
         $enderecoModel->setBairro($bairro);
         $enderecoModel->setEstado($estado);
         $fornecedoresModel->setEndereco($enderecoModel);
         //FORNECEDOR DAO
         $this->load->dao('fornecedores/fornecedoresDao');
         $fornecedoresDao = new fornecedoresDao();
         echo $fornecedoresDao->inserir($fornecedoresModel);
     } else {
         $todos_erros = $this->load->dataValidator->get_errors();
         echo json_encode($todos_erros);
     }
 }
示例#2
0
 /**
  * Retorna a consulta de um fornecedores pelo id
  * @return object [fornecedoresModel]
  */
 public function consultar(fornecedoresModel $fornecedor)
 {
     $this->db->clear();
     $this->db->setTabela('fornecedores');
     $this->db->setCondicao("id_fornecedor = '" . $fornecedor->getId() . "'");
     $this->db->select();
     //fornecedor
     if ($this->db->rowCount() > 0) {
         $result = $this->db->result();
         //TELEFONES
         $this->db->clear();
         $this->db->setTabela('telefones AS A, telefones_fornecedores AS B');
         $this->db->setCondicao("B.id_fornecedor = '" . $fornecedor->getId() . "' AND A.id_telefone = B.id_telefone");
         $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 as A, emails_fornecedores AS B');
         $this->db->setCondicao("B.id_fornecedor = '" . $fornecedor->getId() . "' AND B.id_email = A.id_email");
         $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 as A, enderecos_fornecedores AS B');
         $this->db->setCondicao("B.id_fornecedor = '" . $fornecedor->getId() . "' AND A.id_endereco = B.id_endereco ");
         $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']);
         }
         $fornecedor->setFoto($result['foto_fornecedor']);
         $fornecedor->setRazaoSocial($result['razao_social_fornecedor']);
         $fornecedor->setNomeFantasia($result['nome_fantasia_fornecedor']);
         $fornecedor->setCnpj($result['cnpj_fornecedor']);
         $fornecedor->setCpf($result['cpf_fornecedor']);
         $fornecedor->setPessoa($result['pessoa_fornecedor']);
         $fornecedor->setSite($result['site_fornecedor']);
         $fornecedor->setObservacoes($result['observacoes_fornecedor']);
         $fornecedor->setNomeContato($result['nome_contato_fornecedor']);
         $fornecedor->setEndereco($endereco);
         $fornecedor->setTelefones($telefonesList);
         $fornecedor->setEmails($emailsList);
         $fornecedor->setDataVisita($result['data_visita_fornecedor']);
         $fornecedor->setRetorno($result['retorno_fornecedor']);
         $fornecedor->setStatus(status::getAttribute($result['status_fornecedor']));
         return $fornecedor;
     } else {
         return $fornecedoresModel;
     }
 }