コード例 #1
0
 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());
     }
 }