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');
     }
 }