public static function getTelefones() { $telefoneDao = new TelefoneDao(); $items = $telefoneDao->getTelefones($_GET); if ($items) { Flight::json($items); } else { Flight::halt(404, 'Nenhum telefone encontrado.'); } }
public function getFornecedores($offset, $limit, $busca = array()) { $offset = $offset == null ? 0 : $offset; $limit = $limit == null ? 0 : $limit; $sql = "SELECT DISTINCT frn.* FROM `tbl_fornecedores` AS frn "; if (array_key_exists('ped->id', $busca) && array_key_exists('ent->id', $busca)) { $sql .= "LEFT JOIN tbl_pedido_fornecedor AS ped ON frn.id = ped.id_fornecedor\n\t\t\t\t\tLEFT JOIN tbl_estoque_entrada AS ent ON ped.id = ent.id_pedido_fornecedor"; } if (array_key_exists('ped->id', $busca) && array_key_exists('ent->id', $busca)) { $sql .= " INNER JOIN tbl_produto_fornecedor AS rel ON rel.id_fornecedor = frn.id"; } if (is_array($busca) && count($busca) > 0) { $where = prepareWhere($busca); $sql .= " WHERE " . $where; } if ($limit > 0) { $pag = $offset / $limit + 1; $Paginacao = new PaginacaoController($sql); $Paginacao->num_paginas = 10; $Paginacao->resultados_pagina = $limit; $Paginacao->paginarResultado($pag); $links_paginacao = $Paginacao->paginasDisponiveis($pag); $sql = $Paginacao->_sql_paginacao; } $select = $this->conn->prepare($sql); if ($select->execute()) { if ($select->rowCount() > 0) { $EstadoDao = new EstadoDao(); $CidadeDao = new CidadeDao(); $telefoneDao = new TelefoneDao(); $saida['fornecedores'] = parse_arr_values($select->fetchAll(PDO::FETCH_ASSOC), 'all'); foreach ($saida['fornecedores'] as $key => $value) { $saida['fornecedores'][$key]['cidade'] = $CidadeDao->getCidade($value['cod_cidade']); $saida['fornecedores'][$key]['estado'] = $EstadoDao->getEstado($value['cod_estado']); $saida['fornecedores'][$key]['telefones'] = $telefoneDao->getTelefones(array('tbl_referencia' => 'tbl_fornecedores', 'id_referencia' => $value['id'], 'cplSql' => ' ORDER BY tt.id ASC')); } $saida['paginacao'] = isset($links_paginacao) ? $links_paginacao : null; return $saida; } else { return false; } } else { return false; } }
public static function saveFornecedor() { $dados = $_POST; $validator = new DataValidator(); $validator->set_msg('O campo nome é obrigatório')->set('nome_fornecedor', getKeyArr($dados, 'nome_fornecedor'))->is_required(); $validator->set_msg('O campo endereço é obrigatório')->set('nme_endereco', getKeyArr($dados, 'nme_endereco'))->is_required(); $validator->set_msg('O campo cidade é obrigatório')->set('nome_cidade', getKeyArr($dados, 'nome_cidade'))->is_required(); if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao(); $PrestaShopDao = new PrestaShopDao($dados['id_empreendimento']); if (isset($dados['cod_estado']) || is_numeric($dados['cod_estado'])) { $ReferenciaEstadoTO = new ReferenciaIntegracaoTO(); $ReferenciaEstadoTO->sistema_integrado = 'PrestaShop'; $ReferenciaEstadoTO->tabela = 'tb_estados'; $ReferenciaEstadoTO->id_item = $dados['cod_estado']; $ReferenciaEstadoTO->tipo = 'estado'; $referenciaEstado = $ReferenciaIntegracaoDao->refExists($ReferenciaEstadoTO); if (!$referenciaEstado) { Flight::response()->status(500)->header('Content-Type', 'application/json')->write(json_encode(array("message" => "ID de referencia do Estado não pode ser encontrado")))->send(); } } else { $referenciaEstado = array('id_item_referencia' => null); } $ReferenciaBrasilTO = new ReferenciaIntegracaoTO(); $ReferenciaBrasilTO->sistema_integrado = 'PrestaShop'; $ReferenciaBrasilTO->tipo = 'brasil'; $referenciaBrasil = $ReferenciaIntegracaoDao->refExists($ReferenciaBrasilTO); if (!$referenciaBrasil) { Flight::response()->status(500)->header('Content-Type', 'application/json')->write(json_encode(array("message" => "ID de referencia do Brasil não pode ser encontrado")))->send(); } $sendPrestaShop = new stdClass(); $sendPrestaShop->id = isset($dados['id']) && is_numeric($dados['id']) ? $dados['id'] : NULL; $sendPrestaShop->name = $dados['nome_fornecedor']; $sendPrestaShop->active = 1; $ReferenciaFornecedorTO = new ReferenciaIntegracaoTO(); $ReferenciaFornecedorTO->sistema_integrado = 'PrestaShop'; $ReferenciaFornecedorTO->tabela = 'tbl_fornecedores'; $ReferenciaFornecedorTO->id_item = $dados['id']; $ReferenciaFornecedorTO->tipo = 'fornecedor'; $ReferenciaFornecedorTO->id_empreendimento = $dados['id_empreendimento']; $referenciaFornecedor = $ReferenciaIntegracaoDao->refExists($ReferenciaFornecedorTO); if (!$referenciaFornecedor) { unset($sendPrestaShop->id); $result = $PrestaShopDao->newFornecedor($sendPrestaShop); if (!$result['status']) { $error = isset($result['errors']) ? $result['errors']->error : array(); Flight::response()->status(500)->header('Content-Type', 'application/json')->write(json_encode($error))->send(); } $ReferenciaFornecedorTO->id_item_referencia = $result['fornecedor']->id; $sendPrestaShop->id = $result['fornecedor']->id; $ReferenciaIntegracaoDao->save($ReferenciaFornecedorTO); $TelefoneDao = new TelefoneDao(); $telefones = $TelefoneDao->getTelefones(array('tt.id_referencia' => $dados['id'])); if (is_array($telefones)) { $ReferenciaTelefoneTO = new ReferenciaIntegracaoTO(); $ReferenciaTelefoneTO->sistema_integrado = 'PrestaShop'; $ReferenciaTelefoneTO->tabela = 'tbl_telefone'; $ReferenciaTelefoneTO->id_item = $telefones[0]['id']; $ReferenciaTelefoneTO->tipo = 'telefone_fornecedor'; $ReferenciaTelefoneTO->id_empreendimento = $dados['id_empreendimento']; $ReferenciaTelefoneTO->id_item_referencia = $result['fornecedor']->id; $referenciaTelefone = $ReferenciaIntegracaoDao->refExists($ReferenciaTelefoneTO); if (!$referenciaTelefone) { $ReferenciaIntegracaoDao->save($ReferenciaTelefoneTO); } } } else { $sendPrestaShop->id = $referenciaFornecedor['id_item_referencia']; $result = $PrestaShopDao->editFornecedor($sendPrestaShop); if (!$result['status']) { $error = isset($result['errors']) ? $result['errors']->error : array(); Flight::response()->status(500)->header('Content-Type', 'application/json')->write(json_encode($error))->send(); } $TelefoneDao = new TelefoneDao(); $telefones = $TelefoneDao->getTelefones(array('tt.id_referencia' => $dados['id'])); if (is_array($telefones)) { $ReferenciaTelefoneTO = new ReferenciaIntegracaoTO(); $ReferenciaTelefoneTO->sistema_integrado = 'PrestaShop'; $ReferenciaTelefoneTO->tabela = 'tbl_telefone'; $ReferenciaTelefoneTO->id_item = $telefones[0]['id']; $ReferenciaTelefoneTO->tipo = 'telefone_fornecedor'; $ReferenciaTelefoneTO->id_empreendimento = $dados['id_empreendimento']; $ReferenciaTelefoneTO->id_item_referencia = $referenciaFornecedor['id_item_referencia']; $referenciaTelefone = $ReferenciaIntegracaoDao->refExists($ReferenciaTelefoneTO); if (!$referenciaTelefone) { $ReferenciaIntegracaoDao->save($ReferenciaTelefoneTO); } } } if (isset($dados['num_cep']) && !empty($dados['num_cep'])) { $telefone = null; if (isset($dados['telefones']) && is_array($dados['telefones'])) { if (isset($dados['telefones'][0]) && !empty($dados['telefones'][0]['num_telefone'])) { $telefone = $dados['telefones'][0]['num_telefone']; } else { if (isset($dados['telefones'][1]) && !empty($dados['telefones'][1]['num_telefone'])) { $telefone = $dados['telefones'][1]['num_telefone']; } } } $ReferenciaEnderecoTO = new ReferenciaIntegracaoTO(); $ReferenciaEnderecoTO->sistema_integrado = 'PrestaShop'; $ReferenciaEnderecoTO->tabela = 'tbl_fornecedores'; $ReferenciaEnderecoTO->id_item = $dados['id']; $ReferenciaEnderecoTO->tipo = 'endereço'; $ReferenciaEnderecoTO->id_empreendimento = $dados['id_empreendimento']; $referenciaEndereco = $ReferenciaIntegracaoDao->refExists($ReferenciaEnderecoTO); $sendPrestaShopAddresses = new stdClass(); $sendPrestaShopAddresses->id_supplier = $sendPrestaShop->id; $sendPrestaShopAddresses->id_country = $referenciaBrasil['id_item_referencia']; $sendPrestaShopAddresses->id_state = $referenciaEstado['id_item_referencia']; $sendPrestaShopAddresses->alias = empty(getKeyArr($dados, 'nome_fornecedor')) ? '' : substr(getKeyArr($dados, 'nome_fornecedor'), 0, 32); $sendPrestaShopAddresses->company = getKeyArr($dados, 'nome_fornecedor'); $sendPrestaShopAddresses->lastname = 'lastname'; $sendPrestaShopAddresses->firstname = 'firstname'; $sendPrestaShopAddresses->address1 = getKeyArr($dados, 'nme_endereco'); $sendPrestaShopAddresses->address2 = getKeyArr($dados, 'nme_bairro'); $sendPrestaShopAddresses->postcode = getKeyArr($dados, 'num_cep'); $sendPrestaShopAddresses->city = getKeyArr($dados, 'nome_cidade'); $sendPrestaShopAddresses->other = getKeyArr($dados, 'end_complemento'); $sendPrestaShopAddresses->phone = $telefone; if (!$referenciaEndereco) { unset($sendPrestaShopAddresses->id); $resultEndereco = $PrestaShopDao->newEndereco($sendPrestaShopAddresses); if (!$resultEndereco['status']) { $error = isset($resultEndereco['errors']) ? $resultEndereco['errors']->error : array(); Flight::response()->status(500)->header('Content-Type', 'application/json')->write(json_encode($error))->send(); } $ReferenciaEnderecoTO->id_item_referencia = $resultEndereco['endereco']->id; $ReferenciaIntegracaoDao->save($ReferenciaEnderecoTO); } else { $sendPrestaShopAddresses->id = $referenciaEndereco['id_item_referencia']; $resultEndereco = $PrestaShopDao->editEndereco($sendPrestaShopAddresses); if (!$resultEndereco['status']) { $error = isset($resultEndereco['errors']) ? $resultEndereco['errors']->error : array(); Flight::response()->status(500)->header('Content-Type', 'application/json')->write(json_encode($error))->send(); } } } echo json_encode($result); }