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