
<div class="table-responsive">
    <table class="table table-sm table-bordered table-hover">
        <thead class="thead-light">
            <tr>
                <th width="2%"  style="text-align: center;" scope="col"><b>No</b></th>
                <th width="8%"  style="text-align: center;" scope="col"><b>C&oacute;digo</b></th>
                <th width="25%" align="" scope="col"><b>Descripci&oacute;n</b></th>
                <!--<th width="14%" align="center" scope="col" id="td_lote_head" style="display: none;"><b>F.Vencimiento - Lote</b></th>-->
                <th width="6%"  style="text-align: center;" scope="col"><b>Stock</b></th>
                <th width="8%"  style="text-align: center;" scope="col"><b>Cant</b></th>

                <th width="8%"  style="text-align: center;" scope="col"><b>Precio</b></th>
                <!-- <th width="6%"  style="text-align: center;" scope="col"><b>IGV</b></th> -->
                <th width="8%"  style="text-align: center;" scope="col" nowrap=""><b>Sub Total</b></th>
                <th width="8%"  style="text-align: center;" scope="col" nowrap=""><b>Total IGV</b></th>

                <?php if( $b_MostrarMargen ){ ?>
                <th width="5%"  align="center" scope="col" nowrap=""><b>Costo Alm</b></th>
                <th width="5%" style="text-align: center;" scope="col"><b>Utilidad</b></th>
                <?php } ?>

                <th width="4%"  align="center" scope="col">&nbsp;</th>
            </tr>
        </thead>
        
        <tbody id="content_detail">
            <?php
            $f_SumaMargenVenta  = 0;
            $f_SumaCostoAlmacen = 0;
            $f_TotalPeso        = 0;
            ?>
            <?php foreach ( $a_VTA_OrdenDetalle as $i_Key => $o_VTA_OrdenDetalleBN ){ ?>
                <?php 
                if( $o_VTA_OrdenDetalleBN->getItemTipo() == "F" ) continue;
                
                $o_ALM_ItemMastBN = $o_VTA_OrdenDetalleBN->getObjectItem();
                
                $b_ControlEdit = $o_VTA_OrdenDetalleBN->getItemTipo()=="P" || $o_VTA_OrdenDetalleBN->getItemTipo()=="S" ? true : false;
                
                //CALCULAR LA UTILIDAD
                $f_CostoAlmacen  = 0;
                $f_UtilidadResta = 0;
                $f_Utilidad      = 0;
                if( $b_MostrarMargen )
                {
                    $f_Cantidad     = $o_VTA_OrdenDetalleBN->getOrdenDetalleCantidad();
                    $f_CostoAlmacen = round( $o_VTA_OrdenDetalleBN->getCostoUnidadIncImpuestoMN(), 2 );

                    if( $f_CostoAlmacen > $o_VTA_OrdenDetalleBN->getOrdenDetallePrecioUnidadMN() )
                    {
                        $f_Resta = $o_VTA_OrdenDetalleBN->getOrdenDetallePrecioUnidadMN() - $f_CostoAlmacen;

                        $o_MST_ListaPrecioDetalleBN = MST_ListaPrecioDetalleFN::buscarPrecioGeneral( $o_VTA_OrdenDetalleBN->getItemCod() );
                        $f_CostoAlmacen             = $o_MST_ListaPrecioDetalleBN->getPrecioCosto();
                        if( $f_CostoAlmacen > $o_VTA_OrdenDetalleBN->getOrdenDetallePrecioUnidadMN() )
                        {
                            $f_CostoAlmacen = ( $o_VTA_OrdenDetalleBN->getOrdenDetallePrecioUnidadMN() - 0.01 );
                        }
                    }

                    $f_SumaCostoAlmacen   = $f_SumaCostoAlmacen + ( $f_CostoAlmacen * $f_Cantidad );
                    $f_OrdenSubTotalFinal = $o_VTA_OrdenDetalleBN->getOrdenDetalleSubTotalVentaMN();

                    if( $f_SumaCostoAlmacen )
                    {
                        $f_UtilidadResta   = utilMath::fnround( $f_OrdenSubTotalFinal - ( $f_CostoAlmacen * $f_Cantidad ), 2 );
                        $f_SumaMargenVenta = $f_SumaMargenVenta + $f_UtilidadResta;
                        $f_Utilidad        = utilMath::fnround( ( ( $f_OrdenSubTotalFinal - ( $f_CostoAlmacen * $f_Cantidad ) ) / $f_OrdenSubTotalFinal ) * 100, 2 );
                    }
                }

                if( $b_ControlEdit )
                {
                    $f_TotalPeso = $f_TotalPeso + ( $o_ALM_ItemMastBN->getPesoGramos() * $o_VTA_OrdenDetalleBN->getOrdenDetalleCantidad() );
                }
                ?>
            <tr>
                <th style="text-align: center;" scope="row"><?=( $i_Key + 1 )?></th>
                <td align="center" <?php if( $o_VTA_OrdenDetalleBN->getItemTipo() == "P" ){ ?> style="cursor:pointer; color:#2743B2; text-decoration:underline;" onclick="buscarResumenStock( '<?=$o_VTA_OrdenDetalleBN->getItemCod()?>' );" <?php } ?> >
                    <?php if( $o_VTA_OrdenDetalleBN->getItemTipo()=="P" ){ ?>
                        <?=$o_VTA_OrdenDetalleBN->getItemCod()?>
                    <?php }elseif ( $o_VTA_OrdenDetalleBN->getItemTipo()=="C" ){ ?>
                        /C
                    <?php }else{ ?>
                        &nbsp;
                    <?php } ?>
                </td>

                <td align="" id="">
                    <span style='color:blue;text-decoration: underline;cursor:pointer;' onclick="mostrarImagenItem('<?=$o_VTA_OrdenDetalleBN->getItemCod()?>');"><?=$o_VTA_OrdenDetalleBN->getOrdenDetalleDescripcion()?></span>
                </td>

                <td align="center">
                    <?php if( $b_ControlEdit ){ ?>
                        <?php //$o_VTA_OrdenDetalleBN->getObjectItemAlmacen()->getStockDisponible()?>
                        <?=$o_VTA_OrdenDetalleBN->getResumenStockPorAlmacen()?> <!--<?=$o_VTA_OrdenDetalleBN->getObjectUnidad()->getDescripcionExtranjera()?>-->
                    <?php } ?>&nbsp;
                </td>
                
                <td align="center">
                	<?php $o_ALM_ItemTipoBN = $o_ALM_ItemMastBN->getObjectTipoItem() ?>
                	<?php if( !$o_ALM_ItemTipoBN->getTransacciondelSistemaFlag() ){ ?>
                		<?=$o_ALM_ItemTipoBN->getDescripcionIngles()?>
                	<?php }else{ ?>
                        <?php if( $o_VTA_OrdenBN->getOrdenEstado() == "O" ){ ?>
                        <input type="hidden" name="IdItem[]" id="" value="<?=$o_VTA_OrdenDetalleBN->getItemCod()?>">
                        <input type="hidden" name="Secuencia[]" id="" value="<?=$o_VTA_OrdenDetalleBN->getOrdenDetalleNum()?>">
                        <input type="text" class="form-control form-control-sm" name="Cantidad[]" 
                                style="text-align: center;" 
                                onkeypress="return NumCheckDecimal( event, this );"
                                cantref="<?=$o_VTA_OrdenDetalleBN->getOrdenDetalleCantidad()?>"
                                value="<?=$o_VTA_OrdenDetalleBN->getOrdenDetalleCantidad()?>"
                                onfocus="this.select()" autocomplete="off"
                                onblur="actualizarCantidadxLinea( this );"
                                />
                        <?php }else{ ?>
                        	<?=$o_VTA_OrdenDetalleBN->getOrdenDetalleCantidad()?>
                        <?php } ?>
                    <?php } ?>
                </td>
                <td align="center" 
                    <?php if( $o_VTA_OrdenBN->getOrdenEstado() == "O" && $b_ControlEdit ){ ?> 
                        style="cursor:pointer; color:#2743B2; text-decoration:underline;" onclick="abrirListaPrecios('<?=$o_VTA_OrdenDetalleBN->getItemCod()?>','<?=$o_VTA_OrdenDetalleBN->getOrdenDetalleNum()?>');" 
                    <?php } ?>
                    >
                    <?php if( $o_VTA_OrdenDetalleBN->getItemTipo()=="P" || $o_VTA_OrdenDetalleBN->getItemTipo()=="S" ){ ?>
                        <?=number_format( $o_VTA_OrdenDetalleBN->getOrdenDetallePrecioUnidad(), 2 )?>
                    <?php }else{ ?>
                    <?php } ?>
                </td>
                <td align="center">
                    <?php if( $o_VTA_OrdenDetalleBN->getItemTipo()=="P" || $o_VTA_OrdenDetalleBN->getItemTipo()=="S" ){ ?>
                        <?=number_format( $o_VTA_OrdenDetalleBN->getOrdenDetalleSubTotalVenta(), 2 )?>
                    <?php }else{ ?>
                    <?php } ?>
                </td>
                <td align="center">
                    <?php if( $o_VTA_OrdenDetalleBN->getItemTipo()=="P" || $o_VTA_OrdenDetalleBN->getItemTipo()=="S" ){ ?>
                        <?=number_format( $o_VTA_OrdenDetalleBN->getOrdenDetalleSubTotalNeto(), 2 )?>
                    <?php }else{ ?>
                    <?php } ?>
                </td>

                <?php if( $b_MostrarMargen ){ ?>
                <td align="center" style="background-color: #FFFFDD;"> <?=number_format( $f_CostoAlmacen,2)?> </td>
                <td align="center" style="background-color: #FFFFDD;" nowrap="nowrap"> <?=$f_UtilidadResta?> [<?=$f_Utilidad?>%] </td>
                <?php } ?>
                
                <td align="center">
                    <?php if( $o_VTA_OrdenBN->getOrdenEstado() == "O" ){ ?>
                        <?php if( is_null( $noedit ) ){ ?>
                            <?=addImgButton( "btnDelete.gif", array( "title"=>"Eliminar", "onclick"=>"executeDeleteDetail('".$o_VTA_OrdenDetalleBN->getIdConcat()."')", "style"=>"cursor:pointer" ) );?>
                        <?php } ?>
                    <?php } ?>
                </td>
            </tr>
            <?php } ?>
            
    <?php 
    $i_Colspan1 = 2; 
    $i_Colspan2 = 6 ;
    
    $f_TotalUtil = 0;
    if( $o_VTA_OrdenBN->getTotalOrdenUtil() )
    {
        //$f_TotalUtil = utilMath::fnround( ( ( $o_VTA_OrdenBN->getTotalOrdenUtil() - $f_SumaCostoAlmacen ) / $o_VTA_OrdenBN->getTotalOrdenUtil() ) * 100, 2 );
        $f_TotalUtil = utilMath::fnround( ( ( $o_VTA_OrdenBN->getOrdenBaseImponible() - $f_SumaCostoAlmacen ) / $o_VTA_OrdenBN->getOrdenBaseImponible() ) * 100, 2 );
    }
    ?>
            <?php if( $o_VTA_OrdenBN->getMontoAnticipo() ){ ?>
            <tr>
                <td align="right" colspan="<?=$i_Colspan2?>">Anticipo: <?=GSS_MonedaMastFN::getSiglaxId( $o_VTA_OrdenBN->getMonedaCod() )?></td>
                <td align="center"><?=number_format( $o_VTA_OrdenBN->getMontoAnticipo(), 2 )?></td>
                <td align="center">&nbsp;</td>
                <td align="center">&nbsp;</td>
                <?php if( $b_MostrarMargen ){ ?> <td align="center">&nbsp;</td><td align="center">&nbsp;</td><?php } ?>
            </tr>
            <?php } ?>
            <?php if( $o_VTA_OrdenBN->getMontoExonerado() ){ ?>
            <tr>
                <td align="right" colspan="<?=$i_Colspan2?>">Exonerada: <?=GSS_MonedaMastFN::getSiglaxId( $o_VTA_OrdenBN->getMonedaCod() )?></td>
                <td align="center"><?=number_format( ( $o_VTA_OrdenBN->getMontoExonerado() ), 2 )?></td>
                <td align="center">&nbsp;</td>
                <td align="center">&nbsp;</td>
                <?php if( $b_MostrarMargen ){ ?> <td align="center">&nbsp;</td><td align="center">&nbsp;</td><?php } ?>
            </tr>
            <?php } ?>
            <?php if( $o_VTA_OrdenBN->getOrdenInafecto() ){ ?>
            <tr>
                <td align="right" colspan="<?=$i_Colspan2?>">Inafecta: <?=GSS_MonedaMastFN::getSiglaxId( $o_VTA_OrdenBN->getMonedaCod() )?></td>
                <td align="center"><?=number_format( ( $o_VTA_OrdenBN->getOrdenInafecto() ), 2 )?></td>
                <td align="center">&nbsp;</td>
                <td align="center">&nbsp;</td>
                <?php if( $b_MostrarMargen ){ ?> <td align="center">&nbsp;</td><td align="center">&nbsp;</td><?php } ?>
            </tr>
            <?php } ?>
            <!--
            <tr>
                <td align="right" colspan="<?=$i_Colspan2?>">Gravada: <?=GSS_MonedaMastFN::getSiglaxId( $o_VTA_OrdenBN->getMonedaCod() )?></td>
                <td align="center"><?=number_format( ( $o_VTA_OrdenBN->getOrdenAfecto() ), 2 )?></td>
                <td align="center">&nbsp;</td>
                <td align="center">&nbsp;</td>
                <?php if( $b_MostrarMargen ){ ?> <td align="center">&nbsp;</td><td align="center">&nbsp;</td><?php } ?>
            </tr>
            -->
            <!--
            <tr>
                <td align="right" colspan="<?=$i_Colspan2?>">Descuento Total: <?=GSS_MonedaMastFN::getSiglaxId( $o_VTA_OrdenBN->getMonedaCod() )?></td>
                <td align="center">
                    <div
                        <?php if( $o_VTA_OrdenBN->getOrdenEstado() == VTA_OrdenBN::ESTADO_ABIERTO ){ ?> 
                        style="cursor:pointer; color:#2743B2; text-decoration:underline; display: inline-block;" onclick="abrirPopupDescuento();"
                        <?php }else{ ?>
                        style="display: inline-block;"
                        <?php } ?>
                        >
                    <?=number_format( $o_VTA_OrdenBN->getOrdenDscto(), 2 )?>
                    </div>
    
                    <?php if( $o_VTA_OrdenBN->getOrdenDscto() > 0 ){ ?>
                    <div style="display: inline-block;">( <?=$o_VTA_OrdenBN->getDsctoCod() ?>% )</div>
                    <?php } ?>
                </td>
                <td align="center">&nbsp;</td>
                <td align="center">&nbsp;</td>
                <?php if( $b_MostrarMargen ){ ?> <td align="center">&nbsp;</td><td align="center">&nbsp;</td><?php } ?>
            </tr>
            -->
            <tr>
                <td align="right" colspan="<?=$i_Colspan2?>">Sub Total: <?=GSS_MonedaMastFN::getSiglaxId( $o_VTA_OrdenBN->getMonedaCod() )?></td>
                <td align="center"><?=number_format( $o_VTA_OrdenBN->getOrdenBaseImponible(), 2 )?></td>
                <td align="center">&nbsp;</td>
                <td align="center">&nbsp;</td>
                <?php if( $b_MostrarMargen ){ ?> <td align="center">&nbsp;</td><td align="center">&nbsp;</td><?php } ?>
            </tr>
            <tr>
                <td align="right" colspan="<?=$i_Colspan2?>">IGV <?=GSS_ParametroMastFN::getTextoIgvActual()?> : <?=GSS_MonedaMastFN::getSiglaxId( $o_VTA_OrdenBN->getMonedaCod() )?></td>
                <td align="center"><?=number_format( $o_VTA_OrdenBN->getOrdenImpuestoConDscto(), 2 )?></td>
                <td align="center">&nbsp;</td>
                <td align="center">&nbsp;</td>
                <?php if( $b_MostrarMargen ){ ?> <td align="center">&nbsp;</td><td align="center">&nbsp;</td><?php } ?>
            </tr>
            <tr>
                <td align="right" colspan="<?=$i_Colspan2?>">Total a Pagar: <?=GSS_MonedaMastFN::getSiglaxId( $o_VTA_OrdenBN->getMonedaCod() )?></td>
                <td align="center"><?=number_format( ( $o_VTA_OrdenBN->getOrdenTotalaPagar() ), 2 )?></td>
                <td align="center">&nbsp;</td>
                <?php if( $b_MostrarMargen ){ ?> <td align="center" style="background-color: #FFFFDD;" colspan="2">Util. <?=$f_SumaMargenVenta?> [<?=$f_TotalUtil?> %]</td><?php } ?>
                <td align="center">&nbsp;</td>
            </tr>
            <tr>
                <td align="right" colspan="<?=$i_Colspan2?>">Total Peso ( KG ):</td>
                <td align="center"><?=number_format( $f_TotalPeso, 2 )?></td>
                <td align="center">&nbsp;</td>
                <td align="center">&nbsp;</td>
                <?php if( $b_MostrarMargen ){ ?> <td align="center">&nbsp;</td><td align="center">&nbsp;</td><?php } ?>
            </tr>
        </tbody>
    </table>
</div>

<script>
    MontoTotalaPagarDocu = <?=$o_VTA_OrdenBN->getOrdenTotalaPagar() ? $o_VTA_OrdenBN->getOrdenTotalaPagar() : 0?>;
    SaldoTotalDocumento = <?=$o_VTA_OrdenBN->getSaldoTotalComprobante()?>;
    if ( typeof calcularMontoFinal === 'function' )
    {
        //calcularMontoFinal(); // Llama a la función si existe
    }
    else
    {
        console.log("La función no existe.");
    }
</script>

<!--
                <td align="center" id="td_lote_detail" style="display: none;">
                    <?php if( $b_ControlEdit ){ ?>
                            <?php if( $o_VTA_OrdenBN->getOrdenEstado() == "C" ){ ?>
                                <?=$o_VTA_OrdenDetalleBN->getLoteNum()?>
                            <?php }else{ ?>
                                <?php $a_ALM_ItemAlmacenStock = ALM_ItemAlmacenStockFN::recuperarLotes( $o_VTA_OrdenBN->getCiaCod(), $o_VTA_OrdenDetalleBN->getAlmacenCod(), $o_VTA_OrdenDetalleBN->getItemCod() ); ?>
                    <select class="combo" name="IdLote[]" onchange="buscarStockActualxLinea( this );" style="width: 90%;">
                        <?php if( count( $a_ALM_ItemAlmacenStock ) > 1 ){ ?>
                        <option value=""> - Seleccione - </option>
                        <?php } ?>
                        <?php foreach ( $a_ALM_ItemAlmacenStock as $i_Key => $o_ALM_ItemAlmacenStockBN ){ ?>
                        <option value="<?=$o_ALM_ItemAlmacenStockBN->getIdLote()?>" <?php if( $o_VTA_OrdenDetalleBN->getLoteNum()==$o_ALM_ItemAlmacenStockBN->getIdLote() ){ echo "SELECTED"; } ?>> <?=substr( $o_ALM_ItemAlmacenStockBN->getFechaVencimiento(), 0, 10 )?> - <?=$o_ALM_ItemAlmacenStockBN->getIdLote()?>  </option>
                        <?php } ?>
                    </select>
                            <?php } ?>
                    <?php } ?>&nbsp;
                </td>
-->