<?php

//FUN��ES PARA BUSCA DE PRODUTOS

function MostraDetProduto($p_codigo, $p_descricao, $p_preco, $p_ipi, $p_grupo, $p_subgrupo, $p_codbarra, $p_caixamaster, $p_inner, $p_qtdeparavnd, $p_ncm, $p_pesoliq, $p_pesobruto, $p_obs) {

    include '../idiomas/config.inc';

    echo "<table class = 'tabhisvnd' width=100%>
                        <tr>
                          <td class='linhahistvnd'>$coluna_codigo</td>
                          <td>$p_codigo</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_descricao</td>
                          <td>$p_descricao</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_preco</td>
                          <td>R$" . number_format($p_preco, 2, ',', '.') . "</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_IPI</td>
                          <td>$p_ipi%</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_grupo</td>
                          <td>$p_grupo</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_sub_grupo</td>
                          <td>$p_subgrupo</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_cod_barras</td>
                          <td>$p_codbarra</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_caixa_master</td>
                          <td>$p_caixamaster</td>
                        </tr>
                        <tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_inner</td>
                          <td>$p_inner</td>
                        </tr>
                        <tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_multiplo_de_Vendas</td>
                          <td>$p_qtdeparavnd</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_NCM</td>
                          <td>$p_ncm</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_peso_liq</td>
                          <td>$p_pesoliq</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_peso_bruto</td>
                          <td>$p_pesobruto</td>
                        </tr>
                        <tr>
                          <td class='linhahistvnd'>$coluna_obs</td>
                          <td>$p_obs</td>
                        </tr>
                        </table> ";
}

function MostraProduto($apenasconsulta, $l_descricao, $l_codigo, $indice, $l_codpro, $l_precotab5, $l_precotab, $l_fotopqnome, $m_codigo, 
                        $m_descricao, $m_codos, $path, $ipi, $unitario, $qtdepvnd, $p_descvenda, $p_precounit, $unidade, 
                        $habilitaDescontoPorQuantidade, $fotogr, $bloqueiaPrecoMarca) 
{
    include '../auxiliar/parametros.inc';
    include '../idiomas/config.inc';

    $codprodtabela = $p_tbpconspro;

    if (!$apenasconsulta)
    {
        $codprodtabela = TrazValorCampo('os', 'npreco', 'codos', $m_codos);
    }

    $precosPorQtd = array();
    if($habilitaDescontoPorQuantidade) {
        $precosPorQtd = getPrecosPorQuantidade($l_codpro, $codprodtabela);
    }

    $vi = ($indice - 1);

    $p_ispalm = lecookie("ispalm");
    $permite_editar_preco = (lecookie("osmudaprecoprod") == "1");


    $p_qtdefisico = GetQtdeEstoqueFisico($l_codpro);
    if ($p_qtdefisico == 'null') {
        $p_qtdefisico = 0;
    }

    $p_qtdecompras = GetQtdeCompra($l_codpro);
    if ($p_qtdecompras == 'null') {
        $p_qtdecompras = 0;
    }
    
    //esse parametro é apenas para preecher automaticamente o campo qtde com a qtdeparaVenda do cadastro de produto. Nao serve para validar multiplos nem para alterar incremento automatico dos botoes + e -
    $qtdepvndp = "";
    if ($p_usaqtdepvenda == 1) {
        $qtdepvndp = $qtdepvnd;
    }
    
    //se nao tiver o parametro habilitado, altera a variavel que irá definir o incremento do sinal + e - dos botoes na inclusao do produto
    if ($p_multiplaqtdepvenda != 1 ){
       $qtdepvnd = 1;
    }

    $width = lecookie("width");
    $isMobileDevice = ($p_desabilita_layout_mobile <> 1) && isset($width) ? intval($width) <= 768 : null;

    if ( (!$isMobileDevice) ) {
            echo "<p class='item'> <tr> ";

        if (!$apenasconsulta) {
            echo "
            <td>
            <div class='input-group input-group-sm' style='width:100px'>
            <span class='input-group-btn'>
            <input class='btn btn-primary btn-flat btn-remove-item' style='font-size: 20px;line-height: 10px;font-weight: 600;' type='button' name='Enviar' value='-' 
                    alt='Incluir' codpro='$l_codpro' qtdepvnd='$qtdepvnd' />    
            </span>
                <input name='qtde$vi' type='text' class='form-control qtd-items'  value='$qtdepvndp' codpro='$l_codpro' />           
                <span class='input-group-btn'>
                <input class='btn btn-primary btn-flat btn-add-item' type='button' style='font-size: 18px;line-height: 10px;font-weight: 600;' name='Enviar' value='+' 
                        alt='Incluir' codpro='$l_codpro' qtdepvnd='$qtdepvnd' />
                        </span>
                </div>
                </td>
            ";
        }

        if($p_mostra_foto_produtos == 1) {
            $srcImgProd = getImgProdSource($fotogr);
            if($srcImgProd == "")
                echo '<td><button style="width: 64px; height: 64px;margin:0" class="btn btn-app"><i class="fa fa-ban"></i>' . $msg_sem_imagem . '</button></td>';
            else
                echo "<td><img style='width: 64px; height: 64px' src='" . $srcImgProd . "'/></td>";
        }

        echo "<td>$l_codigo 
                            <input name='codpro$vi' type='hidden'  value ='" . $l_codpro . "' />
                            <input name='unitario$vi' type='hidden'  value ='" . $unitario . "' />
                            </td>"; 

        if($p_ocultar_estoque == 0) {
            echo "<td>" . GetQtdeEstoqueTotal($l_codpro) . " </td>";
        }

        if ($bloqueiaPrecoMarca == 1) {
        $p_disablepreco = "readonly";     
        }else{
        $p_disablepreco = ""; 
        }     


        if (($permite_editar_preco) && (!$apenasconsulta) ) {
            echo "<td>
                <input class='form-control input-preco input-preco-$l_codpro' style='width: 90px; margin-right: 0' " . $p_disablepreco ." name='vlrnn$vi' type='text' value=" . $l_precotab . " />";
            if($habilitaDescontoPorQuantidade) {
                echo "<input class='form-control preco-por-qtde-$l_codpro' qtde-base=true name='preco-por-qtde-base' type='hidden' value=" . $l_precotab . " />";
                foreach ($precosPorQtd as $index => $ppq) {
                    $precoAlternativoPorQtde = number_format($ppq["valor"], 2);
                    $qtdeini = $ppq["qtdeini"];
                    $qtdefim = $ppq["qtdefim"];
                    echo "<input class='form-control preco-por-qtde-$l_codpro' name='preco-por-qtde-$index' type='hidden' qtd-from=$qtdeini qtd-to=$qtdefim value=" . $precoAlternativoPorQtde . " />";
                }
            }        
            echo "</td>";
        }
        
    
        echo "<td class='preco-fixo-$l_codpro'>R$ " . $l_precotab . "</td>";
        
        if ($p_mostraprecomin == 1) {
            echo "<td>R$ " . $l_precotab5 . "</td>";
        }


        if (($p_abre_desconto_na_consulta == 1) && (!$apenasconsulta)) {
            echo" <td><input class='form-control input-desconto'  style='width: 70px; margin-right: 0' name='descontors$vi' type='text' value='0' /></td>";
            echo" <td><input class='form-control input-desconto-percentual' style='width: 70px; margin-right: 0' name='descontopercentual$vi' type='text' value='0' /></td>";
        }
        
        if (($p_abre_obs_item_na_consulta == 1) && (!$apenasconsulta)) {
            echo"<th><input class='form-control' style='width: 180px; margin-right: 0' name='obs_item$vi' type='text' value='' placeholder='$placeholder_obs' /></th>";
        }

        echo "<td> <span class='item'>$l_descricao</span></td>";

        if($p_usa_embalagem_produtos == 1) {
            $embalagens = getEmbalagensProduto($l_codpro);

            echo"<td>
                <select class='form-control select-embalagem' codpro='$l_codpro' name='cod_embalagem_produto$vi' style='width:100%'>
            ";
            foreach ($embalagens as $emb) {
                $selected = "";
                if($emb['ispadrao'] == 1)
                    $selected = "selected";
                echo "<option $selected value='" . $emb['codprodemb'] . "' preco-unit-emb='" . $emb['preco'] . "'>" . $emb['un'] . " - " . $emb['qtde'] . " - R$" . number_format($emb['precoemb'], 2, ',', '.') . "</option>";
            }
            echo"</select></td>";
        } else {
            echo "<td> <span class='item'>$unidade</span></td>";
        }

        if($p_descvenda == 100) {
            $p_descvenda = 0;
        }
        if (!$apenasconsulta) {
            if($p_nao_aplicar_desconto_de_cliente_automaticamente != 1){
                echo"<td> $p_precounit </td>";
                echo"<td> $p_descvenda  % </td>";
            }
            echo"<td> 
                <a href='#' data-toggle='modal' data-target='#modal-historico-produto'
                onclick='loadHistoryProd($l_codpro, \"$l_codigo\")'
                class='btn btn-primary'><i class='fa fa-clipboard'></i></a>
            </td>";
            if($p_habilita_estoque_na_busca == 1){
                echo"<td> 
                <a href='#' data-toggle='modal' data-target='#modal-estoque-produto'
                onclick='carregaEstoqueProd($l_codpro, \"$l_codigo\")'
                class='btn btn-primary'><i class='glyphicon glyphicon-paperclip'></i></a>
                </td>";
            }
            if($p_mostra_desconto_progressivo == 1){
                echo"<td> 
                    <a href='#' data-toggle='modal' data-target='#modal-desconto-produto'
                    onclick='carregaDescontoProd($l_codpro, \"$l_codigo\", $codprodtabela)'
                    class='btn btn-primary'><i class='glyphicon glyphicon-usd'></i></a>
                    </td>";
            }

        };

        echo " </tr>"; echo "</p>";
    } else {
        echo "
            <div class='produto__item'>
                <div class='produto__item__wrapper'>";

        if($p_mostra_foto_produtos == 1) {
            $srcImgProd = getImgProdSource($fotogr);

            if($srcImgProd == "")
                echo '<button style="width: 64px; height: 64px;margin:0" class="btn btn-app"><i class="fa fa-ban"></i>' . $msg_sem_imagem . '</button>';
            else
                echo "<img style='width: 64px; height: 64px' src='" . $srcImgProd . "'/>";
        }

        echo "<div class='produto__item__details'>";
        echo "<strong class='produto__item__description'>$l_descricao</strong>";
        echo "$l_codigo
            <input name='codpro$vi' type='hidden'  value ='" . $l_codpro . "' />
            <input name='unitario$vi' type='hidden'  value ='" . $unitario . "' />
        ";
        echo "</div>"; // Close produto__item__details

       
        echo "</div>";

        echo "<div class='produto__item__wrapper'>";

        if($p_ocultar_estoque == 0) {
            echo "<span class='produto__item__estoque'>
                <strong>Qtd. Disp.</strong>
            <span>" . GetQtdeEstoqueTotal($l_codpro) . "</span></span>";
        }

        if (($permite_editar_preco) && (!$apenasconsulta) ) {
            echo "<div class='produto__item__preco__quantidade'>
                <strong>Preço venda</strong>
                <input class='form-control input-preco input-preco-$l_codpro' style='width: 90px; margin-right: 0' " . $p_disablepreco ." name='vlrnn$vi' type='text' value=" . $l_precotab . " />";
            if($habilitaDescontoPorQuantidade) {
                echo "<input class='form-control preco-por-qtde-$l_codpro' qtde-base=true name='preco-por-qtde-base' type='hidden' value=" . $l_precotab . " />";
                foreach ($precosPorQtd as $index => $ppq) {
                    $precoAlternativoPorQtde = number_format($ppq["vtemp"], 2);
                    $qtdeini = $ppq["qtdeini"];
                    $qtdefim = $ppq["qtdefim"];
                    echo "<input class='form-control preco-por-qtde-$l_codpro' name='preco-por-qtde-$index' type='hidden' qtd-from=$qtdeini qtd-to=$qtdefim value=" . $precoAlternativoPorQtde . " />";
                }
            }
            echo "</div>";
        }

        if (($p_abre_desconto_na_consulta == 1) && (!$apenasconsulta)) {
            echo" <span>
                <strong>Desc. R$</strong>
                <input class='form-control input-desconto'  style='width: 70px; margin-right: 0' name='descontors$vi' type='text' value='0' />
            </span>";
            echo" <span>
                <strong>Desc. %</strong>
                <input class='form-control input-desconto-percentual' style='width: 70px; margin-right: 0' name='descontopercentual$vi' type='text' value='0' />
            </span>";
        }

        if (($p_abre_obs_item_na_consulta == 1) && (!$apenasconsulta)) {
            echo"<span><input class='form-control' style='width: 180px; margin-right: 0' name='obs_item$vi' type='text' value='' placeholder='$placeholder_obs' /></span>";
        }

        if($p_usa_embalagem_produtos == 1) {
            $embalagens = getEmbalagensProduto($l_codpro);

            echo"<span class='produto__item__unidade'>
                <strong>UN</strong>
                <select class='form-control select-embalagem' codpro='$l_codpro' name='cod_embalagem_produto$vi' style='width:100%'>
            ";
            foreach ($embalagens as $emb) {
                $selected = "";
                if($emb['ispadrao'] == 1)
                    $selected = "selected";
                echo "<option $selected value='" . $emb['codprodemb'] . "' preco-unit-emb='" . $emb['preco'] . "'>" . $emb['un'] . " - " . $emb['qtde'] . " - R$" . number_format($emb['precoemb'], 2, ',', '.') . "</option>";
            }
            echo"</select></span>";
        } else {
            echo "<span class='produto__item__estoque'><strong>UN </strong><span>$unidade</span></span>";
        }

       
        

        if($p_descvenda == 100) {
            $p_descvenda = 0;
        }
        if (!$apenasconsulta) {
            echo "<span class='produto__item__consulta__options'>";
            if($p_nao_aplicar_desconto_de_cliente_automaticamente != 1){
                echo"<span> $p_precounit </span>";
                echo"<span> $p_descvenda  % </span>";
            }
            echo"<span> 
                <a href='#' data-toggle='modal' data-target='#modal-historico-produto'
                onclick='loadHistoryProd($l_codpro, \"$l_codigo\")'
                class='btn btn-primary'><i class='fa fa-clipboard'></i></a>
            </span>";
            if($p_habilita_estoque_na_busca == 1){
                echo"<span> 
                <a href='#' data-toggle='modal' data-target='#modal-estoque-produto'
                onclick='carregaEstoqueProd($l_codpro, \"$l_codigo\")'
                class='btn btn-primary'><i class='glyphicon glyphicon-paperclip'></i></a>
                </span>";
            }
            if($p_mostra_desconto_progressivo == 1){
                echo"<span> 
                    <a href='#' data-toggle='modal' data-target='#modal-desconto-produto'
                    onclick='carregaDescontoProd($l_codpro, \"$l_codigo\", $codprodtabela)'
                    class='btn btn-primary'><i class='glyphicon glyphicon-usd'></i></a>
                    </span>";
            }
            
            echo "</span>";
            
        };

        echo "</div>"; // Close produto__item__wrapper
        echo "<footer class='produto__item__footer'>";
        echo "<span>
            <strong>Preço:</strong>
            <span class='preco-fixo-$l_codpro'><p>R$ $l_precotab</p></span>
        </span>";

        if ($bloqueiaPrecoMarca == 1) {
            $p_disablepreco = "readonly";     
        } else {
            $p_disablepreco = ""; 
        }

        if ($p_mostraprecomin == 1) {
            echo "<span>
                <strong>Preço Min:</strong>
                <p>R$ " . $l_precotab5 . " </p>
            </span>";
        }

        if (!$apenasconsulta) {
            echo "
                <div class='input-group input-group-sm' style='width:100px'>
                    <span class='input-group-btn'>
                        <input class='btn btn-primary btn-flat btn-remove-item' style='font-size: 20px;line-height: 10px;font-weight: 600;' type='button' name='Enviar' value='-' 
                            alt='Incluir' codpro='$l_codpro' qtdepvnd='$qtdepvnd' />    
                    </span>
                    <input name='qtde$vi' type='text' class='form-control qtd-items'  value='$qtdepvndp' codpro='$l_codpro' style='width:45px' />           
                    <span class='input-group-btn'>
                        <input class='btn btn-primary btn-flat btn-add-item' type='button' style='font-size: 18px;line-height: 10px;font-weight: 600;' name='Enviar' value='+' 
                            alt='Incluir' codpro='$l_codpro' qtdepvnd='$qtdepvnd' />
                    </span>
                </div>
            ";
        }

        echo "</footer></div>";
    }
}

function GetLimiteDescontoIt() {
    include 'conecta.inc.php';

    $con = ibase_connect($banco, $usuario, $senha, '');

     $p_codusu = lecookie("codusu");


    $l_selectnumitem = "SELECT COALESCE(OSMAXDESCITEM,-1) AS OS FROM SENHAS WHERE CODUSU = $p_codusu";
    $l_res = ibase_query($con, $l_selectnumitem); //cria o id q recebe o select
    $l_lin = ibase_fetch_row($l_res); //pega a unica linha que o select retorna
    return $l_lin[0]; //pega o campo pelo unico indice que o select retornou
}

function BuscaProdutos($codigo,$descricao,$filtro, $marca, $p_codos, $pathvolta, $describ, $apenasconsulta = false) {
    include '../auxiliar/parametros.inc';
    include './bd_config_interno.php';
    include '../idiomas/config.inc';

    $habilitaDescontoPorQuantidade = habilitaDescontoPorQuantidade();

    if ($apenasconsulta) 
    {
        $p_codprodtabela = lecookie('tabelaDePrecos');

        if ($p_codprodtabela == '')
        {
            $p_codprodtabela = $p_tbpconspro;
        }
    } 
    else 
    {
        $p_codprodtabela = TrazValorCampo('os', 'npreco', 'codos', $p_codos);
        $p_codcli = TrazValorCampo('os', 'codcli', 'codos', $p_codos);
        $p_descvenda = TrazValorCampo('clientes','descvenda','codcli', $p_codcli); 
    }
       
    $joinRede = "";
    $colPrecoTab = "cast((coalesce(pti.preco,0)) as numeric(10,2)) as precotab";

    if($usa_redes == 1) {
        $codrede = TrazValorCampo('clientes','codrede','codcli', $p_codcli); 
        if($codrede) {
            $joinRede = "LEFT JOIN redes r ON r.codrede = '$codrede' AND r.cadinativo is null
                        LEFT JOIN REDEPRO rp ON rp.codrede = r.codrede AND rp.codpro = p.codpro
            ";

            $colPrecoTab = "cast((coalesce( rp.preco, coalesce(pti.preco,0))) as numeric(10,2)) as precotab";
            $colPrecoTab = "cast((coalesce( rp.preco, coalesce(pti.preco,0))) as numeric(10,2)) as precotab";
        }
    }

    if ($p_descvenda == 0) {
        $p_descvenda = 100;
    }
	
    $filtroMarca = '';
    if(isset($marca) && $marca != "") {
        $filtroMarca = " AND m.codmar = $marca";
    }
    $cdu = lecookie('codusu');
    
		
    $l_selectprod = "select
                        p.qtdeparavnd 
                        , p.codigo
                        , p.codpro
                        , p.ipi
                        , cast((coalesce(pti.preco,0)) as numeric(10,2)) as unitario
                        , cast((pti.preco - (pti.preco * ($p_descvenda / 100.00))) as numeric(10,2)) as unitcdesc
                        , (pti.preco * p.ipi / 100) as vlripi
                        , $colPrecoTab
                        , cast((coalesce(pti.precomin,0)) as numeric(10,2)) as precotab5
                        , cast((coalesce(pti.preco,0)) as numeric(10,2)) as unitario
                        , p.descricao as descricao 
                        , p.fotopqnome
                        , u.un as un
                        , p.fotogr
                        , coalesce(m.naoalteraprecoafv,0) as bloqueiaprecomarca

		from  produtos p
            join prodtabelasitens pti on pti.codpro = p.codpro and pti.codprodtabela = $p_codprodtabela
            $joinRede
            left join marcas m ON m.codmar = p.codmar
            left join UNIDADES u ON u.codun = p.codun

            where  (coalesce(p.cadinativo,0)=0) and (coalesce(p.AFV_OCULTARPRODUTO,0)=0) and (coalesce(p.ativo,0)=1)  AND coalesce(p.usagrade, 0) != 1 AND coalesce(m.NAOMOSTRAAFV, 0) != 1 $filtroMarca  ";
   
    if($p_consultaApenasCodigoOuDescricao == 0){
        if ($filtro) {
            $l_selectprod .= " and (upper(p.codigo) like upper('%$filtro%') OR  upper(p.descricao) like upper('%$filtro%')) ";
        }    
    }else{
        if($codigo){
            if($p_consultaApenasCodigoOuDescricao == 2){
                $l_selectprod .= " and (upper(p.codigo) like upper('%$codigo%'))";
            }
            else{
                $l_selectprod .= " and (upper(p.codigo) like upper('$codigo'))";
            }
        }
        else{
            $l_selectprod .= " and (upper(p.descricao) like upper('%$descricao%'))";  
        }

    }
    
    if($p_so_vende_produtos_de_marca == 1) {
        $l_selectprod .= " AND p.codmar in (select codmar from USU_MARCAS where codusu = $cdu)";
    }
    
    $max_qtd_prod = isset($p_maxqtdeprodcons) ? $p_maxqtdeprodcons : 100;
    

    $l_selectprod .= " order by $p_cpordbuscaprod rows 1 to $max_qtd_prod ";
	
    $width = lecookie("width");
    $isMobileDevice = ($p_desabilita_layout_mobile <> 1) && isset($width) ? intval($width) <= 768 : null;
	
	//echo $l_selectprod;die;
	//exit;
	
    //MONTA MATRIZ QUE VAI TRAZER OS PRODUTOS
    //cria id do select
    $a_reg = qry($con, $l_selectprod, $a_campos);
    
    if (cria_matriz_campos($a_reg, $a_campos, $l_a_prod)) {
        //se tiver resultado do select - quando encontra pelo menos um cliente
        //include "../auxiliar/validaitem.php";
      
        echo "
        <form action='../php/lancaitens.php' method='post' name='selprodutos' id='productSelectionForm' >
        <input name='path$indice' type='hidden'  value ='" . $pathvolta . "' />    
        <div class='box-body table-responsive no-padding'>";

        if( (!$isMobileDevice)) {
            echo "<table class='table table-bordered table-hover'><thead><tr>";

            if (!$apenasconsulta) {
                    echo "                
                            <th>
                            <input type='submit' class='btn btn-success btn-adicionar-produtos' name='EnviarProd' value='$bt_adicionar' />
                            </th>
                        ";
            }
                
            if($p_mostra_foto_produtos == 1) {
                echo"<th>$pesq_coluna_foto</th>";
            }

            echo"<th>$pesq_coluna_codigo</th>";
            
            
            if($p_ocultar_estoque == 0) {
                echo "<th>$pesq_coluna_qtd_disp</td> </th>";
            }

            $permite_editar_preco = (lecookie("osmudaprecoprod") == "1");
            
            if (($permite_editar_preco) && (!$apenasconsulta)) {
                echo"<th>$pesq_coluna_preco_venda</th>";
            }

            echo "<th>$pesq_coluna_preco</th>";
            
            if ($p_mostraprecomin == 1) {
                echo "<th>$pesq_coluna_preco_minimo</th>";
            }
            
            if($p_abre_desconto_na_consulta == 1 && (!$apenasconsulta)) {
                echo "<th>$pesq_coluna_desc_rs</th>";
                echo "<th>$pesq_coluna_desc_porc</th>";
            }

            
            if (($p_abre_obs_item_na_consulta == 1) && (!$apenasconsulta)) {
                echo"<th>$pesq_coluna_obs_item</th>";
            }

            echo "<th>$pesq_coluna_descricao</th>";
            echo "<th>$pesq_coluna_UN</th>";

            if(!$apenasconsulta) {
                if($p_nao_aplicar_desconto_de_cliente_automaticamente != 1) {
                    echo "<th>$pesq_coluna_unit_com_desc</th>";

                    echo "<th>$pesq_coluna_Desc_cliente</th>";
                }
                echo "<th>$pesq_coluna_historico</th>";
                if($p_habilita_estoque_na_busca == 1){
                echo "<th>$pesq_coluna_estoque</th>";
                }
                if($p_mostra_desconto_progressivo == 1){
                    echo "<th>$pesq_coluna_descprog</th>";
                }
            }

            $qtditens = 0;
                echo "</thead> <tbody>";
            
            for ($i = 0; $i <= (sizeof($l_a_prod) - 1); $i++) {
                MostraProduto($apenasconsulta, $l_a_prod[$i][descricao], $l_a_prod[$i][codigo], $i + 1, $l_a_prod[$i][codpro], 
                number_format($l_a_prod[$i][precotab5], 2), number_format($l_a_prod[$i][precotab], 2), $l_a_prod[$i][fotopqnome], 
                $p_codigo, $p_descricao, $p_codos, $pathvolta, $l_a_prod[$i][ipi], $l_a_prod[$i][unitario],$l_a_prod[$i][qtdeparavnd], 
                $p_descvenda, $l_a_prod[$i][unitcdesc], $l_a_prod[$i][un], $habilitaDescontoPorQuantidade, $l_a_prod[$i][fotogr],
                $l_a_prod[$i][bloqueiaprecomarca] );
            
                $qtditens = $i + 1;
            }
        

                echo " </tbody> <tfoot> <tr> ";

            if (!$apenasconsulta) {
                echo "<th>
                        <input type='submit' class='btn btn-success btn-adicionar-produtos' name='EnviarProd' value='$bt_adicionar' />
                    </th>";
                };
                
            
            echo " <input name='qtditens' type='hidden' value ='" . $qtditens . "' /> ";

            if($p_mostra_foto_produtos == 1) {
                echo"<th>$pesq_coluna_foto</th>";
            }

            if($p_ocultar_estoque == 0) {
                echo "<th>$pesq_coluna_codigo</th>";
            }
            
            echo"<th>$pesq_coluna_qtd_disp</th>";

            if (($permite_editar_preco) && (!$apenasconsulta)) {
                echo"<th>$pesq_coluna_preco_venda</th>";
            }
            
            echo "<th>$pesq_coluna_preco</th>";
            
            if ($p_mostraprecomin == 1) {
                echo "<th>$pesq_coluna_preco_minimo</th>";
            }

            if($p_abre_desconto_na_consulta == 1 && (!$apenasconsulta)) {
                echo "<th>$pesq_coluna_desc_rs</th>";
                echo "<th>$pesq_coluna_desc_porc</th>";
            }

            
            if (($p_abre_obs_item_na_consulta == 1) && (!$apenasconsulta)) {
                echo"<th>$pesq_coluna_obs_item</th>";
            }

            echo "<th>$pesq_coluna_descricao</th>";
            echo "<th>$pesq_coluna_UN</th>";

                if(!$apenasconsulta) {
                    if($p_nao_aplicar_desconto_de_cliente_automaticamente != 1) {
                        echo "<th>$pesq_coluna_unit_com_desc</th>";
                        echo "<th>$pesq_coluna_Desc_cliente</th>";
                    }
                    echo "<th>$pesq_coluna_historico</th>";
                    if($p_habilita_estoque_na_busca == 1){
                        echo "<th>$pesq_coluna_estoque</th>";
                    }
                    if($p_mostra_desconto_progressivo == 1){
                        echo "<th>$pesq_coluna_descprog</th>";
                    }
                    
                }
            echo "</tr></tfoot></table>";
        }else {
            if (!$apenasconsulta) {
                echo "<input type='submit' class='btn btn-success btn-adicionar-produtos btn-adicionar-produtos-mobile' name='EnviarProd' value='$bt_adicionar' />";
            }
            
            

            $qtditens = 0;
            for ($i = 0; $i <= (sizeof($l_a_prod) - 1); $i++) {
                MostraProduto($apenasconsulta, $l_a_prod[$i][descricao], $l_a_prod[$i][codigo], $i + 1, $l_a_prod[$i][codpro], 
                number_format($l_a_prod[$i][precotab5], 2), number_format($l_a_prod[$i][precotab], 2), $l_a_prod[$i][fotopqnome], 
                $p_codigo, $p_descricao, $p_codos, $pathvolta, $l_a_prod[$i][ipi], $l_a_prod[$i][unitario],$l_a_prod[$i][qtdeparavnd], 
                $p_descvenda, $l_a_prod[$i][unitcdesc], $l_a_prod[$i][un], $habilitaDescontoPorQuantidade, $l_a_prod[$i][fotogr],
                $l_a_prod[$i][bloqueiaprecomarca]  );
            
                $qtditens = $i + 1;
            }


            echo " <input name='qtditens' type='hidden' value ='" . $qtditens . "' /> ";
        }

       echo "<div></form> ";
        
        return true;
    } else {
       echo $msg_erro_buscaprod;
       die; 
       return false;
   }
}

function BuscaDadosAdicProd($p_codpro, &$p_custo) {

    $l_selectprod = "select
		coalesce(p.custo,0)as custo from produtos p where p.codpro = $p_codpro  ";


    //MONTA MATRIZ QUE VAI TRAZER OS PRODUTOS
    //cria id do select
    $a_reg = qry($con, $l_selectprod, $a_campos);

    if (cria_matriz_campos($a_reg, $a_campos, $l_a_prod)) {
        //se tiver resultado do select - quando encontra pelo menos um cliente

        $p_custo = $l_a_prod[0][custo];
        return true;
    } else {
        return false;
    }
}

function GetQtdeCompra($p_codpro) {
    include '../idiomas/config.inc';

    // $l_codloja = TrazValorCampo("senhas", "codloja", "codusu", lecookie('codusu'));
    $l_codloja = lecookie('codloja');
    
    if (!$l_codloja) {
        echo "$msg_erro_usuario_nao_tem_loja_associada";
        exit;
    }

    $l_selectprod = " Select  coalesce(sum(  I.QtdeNaoEntr ),0) as total
                              From PedidosComp P join PedidosCompItens I on P.CodPedComp = I.CodPedComp
                              Where i.codlojai = $l_codloja and I.codpro = $p_codpro and P.Previsao is not null
                              Having  sum(  I.QtdeNaoEntr )  >  0 "; //
    //MONTA MATRIZ QUE VAI TRAZER OS PRODUTOS
    //cria id do select
    $a_reg = qry($con, $l_selectprod, $a_campos);

    (cria_matriz_campos($a_reg, $a_campos, $l_a_prod));

    return tratacamponulo($l_a_prod[0][total]);
}


function getLojaDistribuidoraFromConfig() {
    include '../idiomas/config.inc';

    $select = "select DISTRICODLOJA as codigo from config";
    $qry = qry($con, $select, $a_campos);
    (cria_matriz_campos($qry, $a_campos, $result));

    if(is_null($result[0]) || is_null($result[0]["codigo"]) || $result[0]["codigo"] == "" ) {
        echo "$msg_erro_config_DISTRICODLOJA_nao_esta_definida";
        exit;
    }
    return $result[0]["codigo"];
}




function getPrecosPorQuantidade($codpro, $codprodtabela, $qtde = 0) {
    
    if ($qtde == 0) {
        $select = "select cast(coalesce(p.vtemp,0) as numeric(10,2)) as valor , p.* from PRODTABDESCQTDEPROG p where p.codpro = $codpro AND p.codprodtabela = $codprodtabela";
    }else{
        $select = "select cast(coalesce(p.vtemp,0) as numeric(10,2)) as valor , p.* from PRODTABDESCQTDEPROG p 
        where p.codpro = $codpro AND p.codprodtabela = $codprodtabela and p.qtdeini <= $qtde and p.qtdefim >= $qtde ";
    }
   
    $qry = qry($con, $select, $a_campos);
   
    //echo $select; die;
   
    if (cria_matriz_campos($qry, $a_campos, $results)) {
        return $results;
    } else {
        return array();
    }

}

function getLojaDeEstoque () {
    include '../auxiliar/parametros.inc';
    include '../idiomas/config.inc';
    if($p_usa_estoque_da_loja_padrao == 1) {
        return getLojaDistribuidoraFromConfig();
    } else {
        $codLoja = lecookie('codloja');
    
        if (!$codLoja) {
            echo "$msg_erro_usuario_nao_tem_loja_associada";
            exit;
        }
        return $codLoja;
    }
}

function GetQtdeEstoqueFisico($p_codpro) {

    $l_codloja = getLojaDeEstoque();
    
    $l_selectprod = "select coalesce(sum(coalesce(qtdeestoque,0)),0) as qtdeestoque from estoque where codpro = $p_codpro and codloja = $l_codloja";


    //MONTA MATRIZ QUE VAI TRAZER OS PRODUTOS
    //cria id do select
    $a_reg = qry($con, $l_selectprod, $a_campos);

    (cria_matriz_campos($a_reg, $a_campos, $l_a_prod));

    return tratacamponulo($l_a_prod[0][qtdeestoque]);
}

function GetQtdeEstoqueTotal($p_codpro) {
    include '../auxiliar/parametros.inc';

    $qtdeEstoque = GetQtdeCompra($p_codpro) + GetQtdeEstoqueFisico($p_codpro);
    $limiteEstoque = TrazValorCampo('config', 'limiteestoque', '1', '1');

    // Estoque: se tiver menos que X, mostra a qtde disponível. Se tiver mas de X, mostrar X e bloquear a vender X (X = criar campo no config)
    if ($qtdeEstoque > $limiteEstoque) {
        $estdisp = $limiteEstoque;
    } else {
        $estdisp = $qtdeEstoque;
    }

    if($estoque_com_casas_decimais == 1)
        return number_format($estdisp, 2, ',', '.');

    return $estdisp;
}

function BuscaDetProdutos($p_codpro) {

    $p_codos = lecookie('codos');
    if (!$p_codos) {
        $p_codprodtabela = 5;
    } else {
        $p_codprodtabela = TrazValorCampo('os', 'npreco', 'codos', $p_codos);
    }

    $l_selectprod = "select
                  p.codigo, p.descricao, p.ipi, g.grupo, sg.subgrupo,
                  p.codbarras, p.caixamaster, p.qtdeinner, p.qtdeparavnd, p.ncm, p.pesoliq, p.pesobruto, p.obs,
                  cast(coalesce(pti.preco,0) as numeric(10,2)) as preco
                  from produtos p
                  join prodtabelasitens pti on pti.codpro = p.codpro and pti.codprodtabela = $p_codprodtabela
                  left join grupos g on g.codgru = p.codgru
                  left join subgrupos sg on sg.codsubgru = p.codsubgru
                  where (coalesce(p.cadinativo,0)=0) and (coalesce(p.ativo,0)=1) and p.codpro = $p_codpro ";

    //echo $l_selectprod;

    $a_reg = qry($con, $l_selectprod, $a_campos);

    if (cria_matriz_campos($a_reg, $a_campos, $l_a_prod)) {
        //se tiver resultado do select - quando encontra pelo menos um cliente
        //include "../auxiliar/validaitem.php";

        for ($i = 0; $i <= (sizeof($l_a_prod) - 1); $i++) {
            MostraDetProduto($l_a_prod[$i][codigo], $l_a_prod[$i][descricao], $l_a_prod[$i][preco], $l_a_prod[$i][ipi], $l_a_prod[$i][grupo], $l_a_prod[$i][subgrupo], $l_a_prod[$i][codbarras], $l_a_prod[$i][caixamaster], $l_a_prod[$i][qtdeinner], $l_a_prod[$i][qtdeparavnd], $l_a_prod[$i][ncm], $l_a_prod[$i][pesoliq], $l_a_prod[$i][pesobruto], $l_a_prod[$i][obs]);
        }


        return true;
    } else {
        return false;
    }
}


function BuscaLastVnd($p_codos , $pathvolta) {
    include '../auxiliar/parametros.inc';
    
    $l_selectprod = "select distinct 
		p.qtdeparavnd ,p.codigo,  p.codpro, p.ipi,
		pti.preco as unitario,
		(pti.preco * p.ipi / 100) as vlripi,
		(coalesce(pti.preco,0) ) as precotab,
		(coalesce(pti.precomin,0)) as precotab5,
                coalesce(max(oi.unitario),0) as unitario,
                p.descricao as descricao ,p.fotopqnome,
                (Extract (day from max(o.dataos)) || '/' || extract(month from max(o.dataos))
        || '/' || Extract (year from max(o.dataos) ))
                as dataosfin, max(o.os)
		from  produtos p
                join prodtabelasitens pti on pti.codpro = p.codpro and pti.codprodtabela = 4
                join ositenspro oi on oi.codpro = p.codpro
                join os o on o.codos = oi.codos 
                where  (coalesce(p.cadinativo,0)=0) and (o.tipo = 2) and (o.codcli = (select o2.codcli from os o2 where o2.codos = $p_codos) )
                group by p.qtdeparavnd ,p.codigo,  p.codpro, p.ipi,
		pti.preco, pti.precomin, p.descricao ,p.fotopqnome ";
    
    $max_qtd_prod = isset($p_maxqtdeprodcons) ? $p_maxqtdeprodcons : 100;
    
    $l_selectprod .= " order by $p_cpordbuscaprod rows 1 to $max_qtd_prod ";

    //MONTA MATRIZ QUE VAI TRAZER OS PRODUTOS
    //cria id do select
    $a_reg = qry($con, $l_selectprod, $a_campos);

    if (cria_matriz_campos($a_reg, $a_campos, $l_a_prod)) {
        //se tiver resultado do select - quando encontra pelo menos um cliente
        //include "../auxiliar/validaitem.php";


        echo "<form action='../php/lancaitens.php' method='post' name='selprodutos' >
            <input name='path$indice' type='hidden'  value ='" . $pathvolta . "' />";
        $qtditens = 0;

        for ($i = 0; $i <= (sizeof($l_a_prod) - 1); $i++) {
            MostraProdutoChist($l_a_prod[$i][descricao], $l_a_prod[$i][codigo], $i + 1, $l_a_prod[$i][codpro], $l_a_prod[$i][unitario], $l_a_prod[$i][os], $l_a_prod[$i][dataosfin]);
            
            $qtditens = $i + 1;
        }
        echo "<td colspan=1>
                  <input type='submit' class='btn btn-primary' name='Enviar' value='+'  alt='Incluir'  />
                </td>";
        echo "<input name='qtditens' type='hidden'  value ='" . $qtditens . "' />";
        echo "</form>";


        return true;
    } else {
        return false;
    }
}


function MostraProdutoChist($l_descricao, $l_codigo, $indice, $l_codpro, $unitario, $l_os , $l_dataos) {
    include '../auxiliar/parametros.inc';

    $vi = ($indice - 1);
    
    
    echo "<td><input name='qtde$vi' type='text'  size='4'/>
            <input type='image' name='Enviar' value='+' src='../layout/prod_incluir.jpg' alt='Incluir' width='30' height='25' />
          </td>";
                         
    echo "<td>$l_codigo
          <input name='codpro$vi' type='hidden'  value ='" . $l_codpro . "' />
          <input name='unitario$vi' type='hidden'  value ='" . $unitario . "' />";   
    echo "<td> <span class='item'>$l_descricao</span></td>";
    echo "<td>". $l_dataos ."</td>";
    echo "<td>R$ ". number_format($unitario, 2, ',', '.') . "</td>";
    echo " <td>" . $l_os . " </td>";

    echo " </tr>       ";
    if ($indice == 1) {
        echo"";
    };

    echo "</p>";
}






function verificaSeEstourouCredito($valorVenda, $codcli){
    include '../idiomas/config.inc';

    $limite = getLimitCreditCliente($codcli);
    if(is_null($limite))
        return false;
    $valorDeParcelasEmAberto = getValorDeParcelasEmAberto($codcli);
    return ($valorVenda + $valorDeParcelasEmAberto) > $limite ?
                "$msg_limite_de_credito_excedido " . number_format(-1*($limite - ($valorVenda + $valorDeParcelasEmAberto)), 2, ",", ".") . "!" 
                : false;
}


function getTotalVenda($codos){

    include 'conecta.inc.php';
      
    $sql = "SELECT SUM(totalprd) AS total FROM ositenspro WHERE codos = $codos";
    $result = qry($con, $sql, $a_campos);

    if (cria_matriz_campos($result, $a_campos, $total)) {
        if(!isset($total[0]))
            return 0;
        return $total[0]["total"];
    }
}



function searchProdutos($search, $codprodtabela) {
    
    $sql = "SELECT p.* 
    , cast(coalesce(pti.preco,0) as numeric(10,2)), as unitario
    , cast(coalesce(pti.precomin,0) as numeric (10,2)) as precomin
    FROM produtos p
    JOIN prodtabelasitens pti on pti.codpro = p.codpro and pti.codprodtabela = $codprodtabela
    WHERE p.codigo like '%$search%' OR upper(p.descricao) like '%" . strtoupper($search) . "%' ";
    $result = qry($con, $sql, $a_campos);

    if (cria_matriz_campos($result, $a_campos, $r)) {
        if(is_null($r))
            return array();
        return $r;
    }
    return array();
}


function getPrecoMinimo($codpro, $codprodtabela) {
    
    $sql = "SELECT cast(precomin as numeric(10,2)) as precomin  FROM prodtabelasitens WHERE codpro = $codpro AND codprodtabela = $codprodtabela";
    
    $result = qry($con, $sql, $a_campos);

    if (cria_matriz_campos($result, $a_campos, $precomin)) {
        if(!isset($precomin[0]))
            return 0;
            return floatval($precomin[0]["precomin"]);
    }
}

function getMarcaByCodpro($codpro) {
    
    $sql = "SELECT m.* FROM marcas m join produtos p on p.codmar = m.codmar WHERE codpro = $codpro";
    
    $result = qry($con, $sql, $a_campos);

    if (cria_matriz_campos($result, $a_campos, $precomin)) {
        if(!isset($precomin[0]))
            return 0;
        return $precomin[0];
    }
}

function getPreco($codpro, $codprodtabela) {
    
    $sql = "SELECT cast(coalesce(preco,0) as numeric(10,2)) as preco FROM prodtabelasitens WHERE codpro = $codpro AND codprodtabela = $codprodtabela";
    
    $result = qry($con, $sql, $a_campos);

    if (cria_matriz_campos($result, $a_campos, $precomin)) {
        if(!isset($precomin[0]))
            return 0;
        return $precomin[0]["preco"];
    }
}


function getPrecoRede($codpro, $codrede) {
    
    $sql = "SELECT cast(coalesce(rp.preco,0) as numeric(10,2)) as preco FROM REDEPRO rp
    JOIN redes r ON r.codrede = rp.codrede
    WHERE rp.codrede = $codrede
    AND r.cadinativo is null
    AND rp.codpro = $codpro";
    
    $result = qry($con, $sql, $a_campos);

    if (cria_matriz_campos($result, $a_campos, $precomin)) {
        if(!isset($precomin[0]))
            return 0;
        return $precomin[0]["preco"];
    }
}

function getTabelasDePreco($codusu) {
    
    $sql = "SELECT pt.codprodtabela, pt.descricao
            FROM prodtabelas pt 
            JOIN senhasprecos sp ON sp.codprodtabela = pt.codprodtabela
            WHERE sp.codusu = $codusu";
    
    $result = qry($con, $sql, $a_campos);

    if (cria_matriz_campos($result, $a_campos, $tabelas)) {
        if(!isset($tabelas[0]))
            return 0;
        return $tabelas;
    }
}

function getImgProdSource($fotogr) {
    //include '../auxiliar/parametros.inc';
    if(is_null($fotogr) || $fotogr == "") return "";

    $nomeImg = "";
    $chunkPath = explode("\\", $fotogr);
    if(count($chunkPath) == 0) return "";

    $chunkPath = array_reverse($chunkPath);
    $nomeImg = $chunkPath[0];
    return "../fotos/$nomeImg";

}


function getMarcas($search) {
 
    include 'conecta.inc.php';
    include 'funcoes.inc';
    $sql = "SELECT codmar, MARCA as descricao FROM marcas WHERE  upper(MARCA) like '%" . strtoupper($search) . "%'";
    $result = qry($con, $sql, $a_campos);

    if (cria_matriz_campos($result, $a_campos, $r)) {
        if(is_null($r))
            return array();
        return $r;
    }
    return array();
}


function getEmbalagensProduto($codpro) {
    
    $sql = "SELECT un.codun, un.un, un.descricao, pEmb.codprodemb, pEmb.codpro, pEmb.codprodtabela, pEmb.qtde, pEmb.reducaomargem, 
    cast(coalesce(pEmb.precounitario,0) as numeric(10,2)) as preco, cast(coalesce(pEmb.precoemb,0) as numeric(10,2)) as precoemb, coalesce(pEmb.ispadrao ,0) as ispadrao
    from UNIDADES UN
    JOIN produtosemb pEmb ON pEmb.codemb = UN.CODUN
    WHERE pEmb.codpro = $codpro";
    
    $result = qry($con, $sql, $a_campos);

    if (cria_matriz_campos($result, $a_campos, $embalagens)) {
        return $embalagens;
    }
}


function getEmbalagemProdutoById($codprodemb) {
    
    $sql = "SELECT un.codun, un.un, un.descricao, pEmb.codprodemb, pEmb.codpro, pEmb.codprodtabela, pEmb.qtde, pEmb.reducaomargem, 
    cast(coalesce(pEmb.precounitario,0) as numeric(10,2)) as preco, cast(coalesce(pEmb.precoemb,0) as numeric(10,2)) as precoemb
    from unidades un
    JOIN produtosemb pEmb ON pEmb.codemb = UN.CODUN
    WHERE pEmb.codprodemb = $codprodemb";
   // echo $sql; die;
    $result = qry($con, $sql, $a_campos);

    if (cria_matriz_campos($result, $a_campos, $embalagens)) {
        return $embalagens[0];
    }
}




function empenhaLoteMP_FEFO($qtde, $codpro, $codsai, $numitem){

  $qtdependente = 0;
  $qtdeaux = 0;
  $sql = "select * from estoquelotes where qtdeestoque > 0 and codpro = $codpro and codloja = (select codloja from os where codos =  $codsai ) 
          and (cast(validade as date) >= current_date ) order by validade ";

    
    //echo $sql ; die;

  $a_reg = qry($con, $sql, $a_campos);

  if (cria_matriz_campos($a_reg, $a_campos, $l_a_prod)) {
    
    $qtdependente = $qtde;
    
    for ($i = 0; $i <= (sizeof($l_a_prod) - 1); $i++) {
        
        if ($qtdependente > 0) {
            
            //se a qtde do lote nao for suficiente, aponta o que tiver no lote (depois vai pro proximo). Se for suficiente aponta tudo que precisa
            if ( $qtdependente > $l_a_prod[$i][qtdeestoque] ) {
                $qtdeaux = $l_a_prod[$i][qtdeestoque]; 
            }else{
                $qtdeaux = $qtdependente;
            }
            

            if ($qtdeaux > 0) {
                insereLoteMP($qtdeaux, $codpro, $l_a_prod[$i][codfor], $l_a_prod[$i][codloja],
                    $codsai, $numitem, $l_a_prod[$i][codlote], $l_a_prod[$i][validade],
                    $l_a_prod[$i][fabricacao] );
            }
            $qtdependente = $qtdependente - $l_a_prod[$i][qtdeestoque];
                      
        }
      }
   
  }
  
  return  $qtdependente;

}

function insereLoteMP($qtde, $codpro, $codfor, $codloja, $codsai, $numitem, $codlote, $validade, $fabricacao){

    $l_insere = "insert into saidalotes (codpro, qtde, codfor, codsai, numitem, codlote, codlojai, validade, datacria, fabricacao, numlanc, codtelaorigem,codtiposai) 
    values($codpro, $qtde, $codfor, $codsai, $numitem, '$codlote', $codloja, '$validade', current_timestamp, '$fabricacao',
    (select os from os where codos = $codsai), 10, (select codtiposai from os where codos = $codsai) ) ";

   //echo $l_insere  ; die;//mostra o insert que executou - so para testes

    exec_sql_simples($con, $l_insere) ;
}

function ExcluiSaidaLote($codpro, $codsai, $numitem){

    $l_exclui = "delete from saidalotes where codpro = $codpro and codsai = $codsai and numitem = $numitem ";

    // echo $l_exclui; die;//mostra o insert que executou - so para testes

    exec_sql_simples($con, $l_exclui) ;
}



function GetDescontoAFV($p_codpro) {

    $l_selectprod = "select
		coalesce(descontoafv,0) as descontoafv from produtos where codpro = $p_codpro  ";

    $a_reg = qry($con, $l_selectprod, $a_campos);
   //echo $l_selectprod; die;
    if (cria_matriz_campos($a_reg, $a_campos, $l_a_prod)) {
        return $l_a_prod[0][descontoafv];;
    } else {
        return 0;
    }
}