public static function verificaEstoque() { $id_empreendimento = $_POST['id_empreendimento']; $ConfiguracaoDao = new ConfiguracaoDao(); $config = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); $configuracao = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); if (isset($configuracao['flg_controlar_estoque']) && (int) $configuracao['flg_controlar_estoque'] == 0) { Flight::halt(200); } $produtos = $_POST['produtos']; $id_deposito = $_POST['id_deposito']; $venda_confirmada = isset($_POST['venda_confirmada']) ? $_POST['venda_confirmada'] == 'true' ? true : false : false; $id_venda_ignore = isset($_POST['id_venda_ignore']) ? $_POST['id_venda_ignore'] : NULL; $id_vendedor = $_POST['id_vendedor']; $EstoqueDao = new EstoqueDao(); $out = array(); $out_desconto = array(); $UsuarioDao = new UsuarioDao(); $perfil_vendedor = $UsuarioDao->getUsuario($id_empreendimento, $id_vendedor); $perfil_vendedor = (int) $perfil_vendedor['id_perfil']; if ($perfil_vendedor != 1) { $FaixaDescontoPermitidoDao = new FaixaDescontoPermitidoDao(); $vlr_max_desconto = $FaixaDescontoPermitidoDao->getDesMaxUser($id_empreendimento, $id_vendedor); } $produtos_estoque = array(); foreach ($produtos as $key => $value) { if (!isset($produtos_estoque[$value['id_produto']])) { $produtos_estoque[$value['id_produto']]['qtd'] = 0; $produtos_estoque[$value['id_produto']]['id_produto'] = $value['id_produto']; } $produtos_estoque[$value['id_produto']]['qtd'] += (int) $value['qtd']; } foreach ($produtos_estoque as $key => $value) { $qtd = (int) $value['qtd']; $estoque = $EstoqueDao->getQtdProduto($id_empreendimento, $value['id_produto'], null, $id_deposito, $id_venda_ignore); if ($venda_confirmada) { $estoque_real = $estoque + $qtd - $qtd; } else { $estoque_real = $estoque - $qtd; } if ($estoque_real < 0) { $out[] = array((double) $value['id_produto']); } if ($perfil_vendedor != 1) { if (isset($value['valor_desconto']) && is_numeric($value['valor_desconto']) && (double) $value['valor_desconto'] > 0 && (double) $value['valor_desconto'] > $vlr_max_desconto) { $out_desconto[] = array('id_produto' => (double) $value['id_produto'], 'vlr_desconto' => (double) $value['valor_desconto']); } } } if (count($out) > 0 || count($out_desconto) > 0) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode(array('out_estoque' => $out, 'out_desconto' => $out_desconto)))->send(); return; } else { Flight::halt(200); } }
public static function getFaixaDescontoPermitido($offset, $limit) { $FaixaDescontoPermitidoDao = new FaixaDescontoPermitidoDao(); $faixas = $FaixaDescontoPermitidoDao->getFaixaDescontoPermitido($offset, $limit, $_GET); if ($faixas) { Flight::json($faixas); } else { Flight::halt(404, 'Não há resultado para a busca'); } }