public static function AtualizaEstoquePrestaShop() { $dados = $_POST; $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao(); $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $PrestaShopDao = new PrestaShopDao($dados['id_empreendimento']); $ProdutoCombinacaoDao = new ProdutoCombinacaoDao(); $saida = array(); foreach ($dados['produtos'] as $id_produto) { $referencia = $ReferenciaIntegracaoDao->get(array('sistema_integrado' => 'PrestaShop', 'tabela' => 'tbl_produtos', 'id_item' => $id_produto, 'tipo' => 'produto', 'id_empreendimento' => $dados['id_empreendimento'], 'flg_excluido' => 0)); if ($referencia) { $combinacoes = $ProdutoCombinacaoDao->get(null, null, array('tpc.id_produto' => $id_produto)); $combinacoes = $combinacoes ? $combinacoes : array(); foreach ($combinacoes as $combinacao) { $referenciaCombination = $ReferenciaIntegracaoDao->get(array('sistema_integrado' => 'PrestaShop', 'tabela' => 'tbl_produto_combinacao', 'id_item' => $combinacao['id_produto_combinacao'], 'tipo' => 'combinacao', 'id_empreendimento' => $dados['id_empreendimento'], 'flg_excluido' => 0)); $saida[] = $PrestaShopDao->atualizaEstoquePrestaShop($dados['id_empreendimento'], $combinacao['id_combinacao'], $referencia['id_item_referencia'], $referenciaCombination['id_item_referencia']); } if (count($combinacoes) == 0) { $saida[] = $PrestaShopDao->atualizaEstoquePrestaShop($dados['id_empreendimento'], $id_produto, $referencia['id_item_referencia'], 0); } } else { $combinacoes = $ProdutoCombinacaoDao->get(null, null, array('tpc.id_combinacao' => $id_produto)); $combinacoes = $combinacoes ? $combinacoes : array(); foreach ($combinacoes as $combinacao) { $referenciaCombination = $ReferenciaIntegracaoDao->get(array('sistema_integrado' => 'PrestaShop', 'tabela' => 'tbl_produto_combinacao', 'id_item' => $combinacao['id_produto_combinacao'], 'tipo' => 'combinacao', 'id_empreendimento' => $dados['id_empreendimento'], 'flg_excluido' => 0)); $referencia = $ReferenciaIntegracaoDao->get(array('sistema_integrado' => 'PrestaShop', 'tabela' => 'tbl_produtos', 'id_item' => $combinacao['id_produto'], 'tipo' => 'produto', 'id_empreendimento' => $dados['id_empreendimento'], 'flg_excluido' => 0)); $saida[] = $PrestaShopDao->atualizaEstoquePrestaShop($dados['id_empreendimento'], $combinacao['id_combinacao'], $referencia['id_item_referencia'], $referenciaCombination['id_item_referencia']); } } } Flight::response()->status(200)->header('Content-Type', 'application/json')->write(json_encode(array('status' => true)))->send(); }
public function requestsaveProdutoFornecedores($id_item, $id_item_referencia, $id_empreendimento, $arr) { $FornecedorDao = new FornecedorDao(); $ProdutoDao = new ProdutoDao(); $ProdutoFornecedorDao = new ProdutoFornecedorDao(); $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao(); $fornecedores = $FornecedorDao->getFornecedoresByProduto(array('prd.id' => $id_item)); $fornecedores = $fornecedores ? $fornecedores : array(); $ids = array(); $arr = is_array($arr) ? $arr : array(); foreach ($arr as $key => $value) { $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $ReferenciaIntegracaoTO->sistema_integrado = 'PrestaShop'; $ReferenciaIntegracaoTO->tabela = 'tbl_fornecedores'; $ReferenciaIntegracaoTO->id_item_referencia = $value; $ReferenciaIntegracaoTO->tipo = 'fornecedor'; $ReferenciaIntegracaoTO->id_empreendimento = $id_empreendimento; $referencia = $ReferenciaIntegracaoDao->refExists($ReferenciaIntegracaoTO, true); if ($referencia) { $ids[] = $referencia['id_item']; $find = getArrayINarray('id_fornecedor', $referencia['id_item'], $fornecedores); if ($find == false) { $ProdutoFornecedorTO = new ProdutoFornecedorTO(); $ProdutoFornecedorTO->id_produto = $id_item; $ProdutoFornecedorTO->id_fornecedor = $referencia['id_item']; if (!$ProdutoDao->fornecedorProduto($ProdutoFornecedorTO)) { throw new Exception('erro ao vincular fornecedoor ao enpreendimento ', 1); } } } } foreach ($fornecedores as $value) { if (!in_array($value['id_fornecedor'], $ids)) { $ProdutoFornecedorDao->deleteItem('id=' . $value['id_produto_fornecedor']); } } }