public static function requestUpdateProduto() { try { $id_empreendimento = $_POST['id_empreendimento']; $produto = $_POST['produto']; $suppliers = isset($_POST['suppliers']) && is_array($_POST['suppliers']) ? $_POST['suppliers'] : array(); $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao(); $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $PrestaShopDao = new PrestaShopDao($id_empreendimento); $ProdutoDao = new ProdutoDao(); $ProdutoTO = new StdClass(); $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $ReferenciaIntegracaoTO->sistema_integrado = 'PrestaShop'; $ReferenciaIntegracaoTO->tabela = 'tbl_produtos'; $ReferenciaIntegracaoTO->id_item_referencia = $produto['id']; $ReferenciaIntegracaoTO->tipo = 'produto'; $ReferenciaIntegracaoTO->id_empreendimento = $id_empreendimento; $referenciaProduto = $ReferenciaIntegracaoDao->refExists($ReferenciaIntegracaoTO, true); if (!$referenciaProduto) { self::requestSaveProduto(); return; } $PrestaShopDao->requestsaveProdutoFornecedores($dados['id_empreendimento'], $referenciaProduto['id_item'], $produto['id'], $id_empreendimento, $suppliers); $ProdutoTO->nome = $produto['name'][1]; $ProdutoTO->descricao = $produto['description'][1]; $ProdutoTO->descricao_curta = $produto['description_short'][1]; $ProdutoTO->codigo_barra = $produto['ean13']; if (!$ProdutoDao->produtoUpdate($ProdutoTO, 'id=' . $referenciaProduto['id_item'])) { throw new Exception('Erro ao atualizar produto', 1); } if ((double) $produto['price'] > (double) $produto['wholesale_price'] && (double) $produto['wholesale_price'] > 0) { $ex = (double) $produto['price'] - $produto['wholesale_price']; $perc_venda_varejo = $ex * 100 / (double) $produto['wholesale_price']; } else { $perc_venda_varejo = 0; } $PrecoProdutoDao = new PrecoProdutoDao(); $PrecoProdutoTO = new PrecoProdutoTO(); $PrecoProdutoTO->id_produto = $referenciaProduto['id_item']; $PrecoProdutoTO->id_empreendimento = $id_empreendimento; $PrecoProdutoTO->vlr_custo = $produto['wholesale_price']; $PrecoProdutoTO->perc_imposto_compra = 0; $PrecoProdutoTO->perc_desconto_compra = 0; $PrecoProdutoTO->perc_venda_atacado = 0; $PrecoProdutoTO->perc_venda_intermediario = 0; $PrecoProdutoTO->perc_venda_varejo = $perc_venda_varejo / 100; if (!$PrecoProdutoDao->atualizaPreco($PrecoProdutoTO)) { throw new Exception('erro ao cadastrar preço'); } /*if(!$referencia){ $self::requestSaveUsuario(); return ; //throw new Exception('Referencia não encontrada', 1); }*/ } catch (Exception $e) { $log = new KLogger("logs/logErrorPrestaShop.txt", KLogger::DEBUG); $log->LogError($e->getMessage() . '- file:' . $e->getFile() . ' - line:' . $e->getLine()); $log->LogDebug(json_encode($_POST)); $log->LogJunp(); Flight::halt(500, $e->getMessage()); } }