<?php
define( 'SF_ROOT_DIR', "../../" );
define( 'SF_APP',      'sys' );

require_once( SF_ROOT_DIR.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'configGlobal.php' );
?>
<?php $dir_url = Constantes::ROOT_DIR_APP ?>
<body>
<link rel="stylesheet" type="text/css" media="screen" href="<?php echo $dir_url ?>/web/css/jquery/default/main.css" />
<link rel="stylesheet" type="text/css" media="screen" href="<?php echo $dir_url ?>/web/css/jquery/default/grid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="<?php echo $dir_url ?>/web/css/jquery/default/tab.css" />
          
<script type="text/javascript" src="<?php echo $dir_url ?>/web/js/jquery/jquery-1.10.2.js"></script>
<script type="text/javascript" src="<?php echo $dir_url ?>/web/js/jquery/ui-1.10.3/jquery-ui.js"></script>

<style>
.grid
{
    border: 1px solid #77d5f7;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
}
.grid th 
{
    border-color: #77d5f7;
    background-color: #0a7db1;
    font-weight: normal;
    font-size: 11px;
    font-family: Verdana,Arial,sans-serif;
    height: 24px;
    padding: 0 2px;
    border-bottom: 1px solid #77d5f7;
}
.grid td 
{
    border-left: 0 none;
    border-right-color: #77d5f7;
    border-right-style: solid;
    border-right-width: 1px;
    border-bottom-color: #77d5f7;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    padding: 0 2px;
    /*white-space: pre;*/
    height: 22px;
    /*border: 1px solid #77d5f7;*/
}
</style>

<?php set_memory_max_time() ?>

<?php
$IdItemFnd = "";

$b_ControlDetalle = false;
if ( isset( $_POST['Control'] ) )
{
    $IdItemFnd   = isset( $_POST['IdItemFnd'] ) && $_POST['IdItemFnd'] != "" ? $_POST['IdItemFnd'] : null;
    $Tipo        = isset( $_POST['Tipo'] ) && $_POST['Tipo'] != "" ? $_POST['Tipo'] : null;
    $IdKardex    = isset( $_POST['IdKardex'] ) && $_POST['IdKardex'] != "" ? $_POST['IdKardex'] : null;
    $CantidadUpd = isset( $_POST['CantidadUpd'] ) && $_POST['CantidadUpd'] != "" ? $_POST['CantidadUpd'] : null;
    $PrecioCostoUpd = isset( $_POST['PrecioCostoUpd'] ) && $_POST['PrecioCostoUpd'] != "" ? $_POST['PrecioCostoUpd'] : null;

    if( $IdKardex && $Tipo )
    {
        $con = Conexion::getConexion();
        $con->begin();
        try 
        {
            $o_DBConnect = Conexion::getConexion();
            switch ( $Tipo )
            {
                case "ActCantidad":
                    $a_IdKardex = explode( "_", $IdKardex );
                    
                    $s_IdCompania                = $a_IdKardex[0];
                    $s_IdAlmacen                 = $a_IdKardex[1];
                    $s_IdItem                    = $a_IdKardex[2];
                    $s_IdFecha                   = $a_IdKardex[3];
                    $s_ReferenciaTipoDocumento   = $a_IdKardex[4];
                    $s_ReferenciaNumeroDocumento = $a_IdKardex[5];
                    $s_ReferenciaSecuencia       = $a_IdKardex[6];

                    $s_Sql = "
                                UPDATE ALM_Kardex SET 
                                    Cantidad=$CantidadUpd
                                WHERE 1=1
                                    AND IdCompania='$s_IdCompania'
                                    AND IdAlmacen='$s_IdAlmacen'
                                    AND IdItem='$s_IdItem'
                                    AND IdFecha='$s_IdFecha'
                                    AND ReferenciaTipoDocumento='$s_ReferenciaTipoDocumento'
                                    AND ReferenciaNumeroDocumento='$s_ReferenciaNumeroDocumento'
                                    AND ReferenciaSecuencia='$s_ReferenciaSecuencia';
                            ";
                    $o_SQLResult = mysql_query( $s_Sql, Conexion::getConexion()->getResource() );
                    pr( $s_Sql );
                    $s_Sql = "
                                UPDATE ALM_Kardex SET
                                PrecioCosto=0, CostoTotal=0, SaldoCantidad=0,
                                SaldoPrecioCosto=0, SaldoCostoTotal=0, ParentRef=''
                                WHERE 1=1 AND IdCompania='$s_IdCompania' AND IdItem='$s_IdItem';
                            ";
                    $o_SQLResult = mysql_query( $s_Sql, Conexion::getConexion()->getResource() );
                    
                    pr( $s_Sql );
                break;
                case "ActPrecioCosto":
                    $a_IdKardex = explode( "_", $IdKardex );
                    
                    $s_IdCompania                = $a_IdKardex[0];
                    $s_IdAlmacen                 = $a_IdKardex[1];
                    $s_IdItem                    = $a_IdKardex[2];
                    $s_IdFecha                   = $a_IdKardex[3];
                    $s_ReferenciaTipoDocumento   = $a_IdKardex[4];
                    $s_ReferenciaNumeroDocumento = $a_IdKardex[5];
                    $s_ReferenciaSecuencia       = $a_IdKardex[6];

                    $s_Sql = "
                                UPDATE ALM_Kardex SET 
                                    PrecioUnitario=$PrecioCostoUpd, PrecioCosto=$PrecioCostoUpd
                                WHERE 1=1
                                    AND IdCompania='$s_IdCompania'
                                    AND IdAlmacen='$s_IdAlmacen'
                                    AND IdItem='$s_IdItem'
                                    AND IdFecha='$s_IdFecha'
                                    AND ReferenciaTipoDocumento='$s_ReferenciaTipoDocumento'
                                    AND ReferenciaNumeroDocumento='$s_ReferenciaNumeroDocumento'
                                    AND ReferenciaSecuencia='$s_ReferenciaSecuencia';
                            ";
                    $o_SQLResult = mysql_query( $s_Sql, Conexion::getConexion()->getResource() );
                    pr( $s_Sql );
                    $s_Sql = "
                                UPDATE ALM_Kardex SET
                                PrecioCosto=0, CostoTotal=0, SaldoCantidad=0,
                                SaldoPrecioCosto=0, SaldoCostoTotal=0, ParentRef=''
                                WHERE 1=1 AND IdCompania='$s_IdCompania' AND IdItem='$s_IdItem';
                            ";
                    $o_SQLResult = mysql_query( $s_Sql, Conexion::getConexion()->getResource() );
                    
                    pr( $s_Sql );
                break;
            }
            
            $con->commit();
        } 
        catch ( Exception $o_Exception ) 
        {
            $con->rollback();
            pr( $o_Exception );
        }
    }
    
    $o_ALM_KardexFN = new ALM_KardexFN();
    $o_ALM_KardexFN->setIdCompania( "1" );
    $o_ALM_KardexFN->setIdAlmacen( "ALM00001" );
    $o_ALM_KardexFN->setIdItem( $IdItemFnd );
    $o_ALM_KardexFN->addCondition( "IdFecha", ">=", "2016-12-03 19:01:16" );
    $o_ALM_KardexFN->addOrderBy( "IdFecha" );
    $a_ALM_Kardex = $o_ALM_KardexFN->select();
    if( $a_ALM_Kardex )
    {
        $b_ControlDetalle = true;
    }
}
?>
<form id="form1" name="form1" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="Control" value="ok"/>
    <table cellpadding="0" cellspacing="0" border="0">
        <td>Ingrese Codigo de Item a Buscar :</td>
        <td>&nbsp;&nbsp;</td>
        <td>
            <input type="text" class="" name="IdItemFnd" id="IdItemFnd" style="text-align:center;" value="<?=$IdItemFnd?>" onfocus="this.select();">
        </td>
        <td>
            <input type="submit" value="Buscar">
        </td>
    </table>
    
    <?php if( $b_ControlDetalle ){ ?>
    <input type="hidden" name="IdKardex" id="IdKardex" value=""/>
    <input type="hidden" name="Tipo" id="Tipo" value=""/>
    <input type="hidden" name="CantidadUpd" id="CantidadUpd" value=""/>
    <input type="hidden" name="PrecioCostoUpd" id="PrecioCostoUpd" value=""/>
    
    <table class="grid" cellspacing="0" cellpadding="0" border="0" align="center" width="100%" style="border-bottom: 1px solid #999999;">
        <tr>
            <th width="2%"  align="center" class="header"><b>No</b></th>
            <th width="10%" align="center" class="header"><b>IdFecha</b></th>
            <th width="5%" align=""       class="header"><b>IdTransaccion</b></th>
    
            <th width="5%" align="center" class="header"><b>Ref Tipo Doc</b></th>
            <th width="5%" align="center" class="header"><b>Ref Num Doc</b></th>
            <th width="5%" align="center" class="header"><b>Ref Sec Doc</b></th>
            
            <th width="5%" align="center" class="header"><b>Doc Tipo Fisc</b></th>
            <th width="5%" align="center" class="header"><b>Doc Serie Fisc</b></th>
            <th width="5%" align="center" class="header"><b>Doc Num Fisc</b></th>
            
            <th width="5%" align="center" class="header"><b>Cantidad</b></th>
            <th width="5%" align="center" class="header"><b>PrecioUnit</b></th>
            <th width="5%" align="center" class="header"><b>PrecioCosto</b></th>
            <th width="5%" align="center" class="header">SaldoCantidad</th>
            <th width="5%" align="center" class="header">CostoTotal</th>
        </tr>
        <tbody id="content_nvo">
            <?php foreach ( $a_ALM_Kardex as $i_Key => $o_ALM_KardexBN ){ ?>
                <?php
                $f_CantidadRef = $o_ALM_KardexBN->getCantidad();
                $f_PrecioCostoRef = $o_ALM_KardexBN->getPrecioCosto();
                $s_Id = $o_ALM_KardexBN->getIdCompania()."_".$o_ALM_KardexBN->getIdAlmacen()."_".$o_ALM_KardexBN->getIdItem()."_".$o_ALM_KardexBN->getIdFecha()."_".$o_ALM_KardexBN->getReferenciaTipoDocumento()."_".$o_ALM_KardexBN->getReferenciaNumeroDocumento()."_".$o_ALM_KardexBN->getReferenciaSecuencia();
                ?>
            <tr>
                <td align="center"><?=( $i_Key + 1 )?></td>
                <td align="center" ><?=$o_ALM_KardexBN->getIdFecha()?></td>
                <td align="center" ><?=$o_ALM_KardexBN->getIdTransaccion()?></td>
                
                <td align="center" ><b><?=$o_ALM_KardexBN->getReferenciaTipoDocumento()?></b></td>
                <td align="center" ><?=$o_ALM_KardexBN->getReferenciaNumeroDocumento()?></td>
                <td align="center" ><?=$o_ALM_KardexBN->getReferenciaSecuencia()?></td>
                
                <td align="center" ><?=$o_ALM_KardexBN->getTipoDocumentoFiscal()?></td>
                <td align="center" ><?=$o_ALM_KardexBN->getSerieDocumentoFiscal()?></td>
                <td align="center" ><?=$o_ALM_KardexBN->getNumeroDocumentoFiscal()?></td>
                
                <td align="center" >
                    <input type="text" class="text" 
                            name="" 
                            id=""
                            value="<?=$o_ALM_KardexBN->getCantidad()?>"
                            style="width:70%; text-align:center;" 
                            onblur="actualizarCantidad( this, <?=$f_CantidadRef?>, '<?=$s_Id?>' );"
                            onfocus="this.select();" />
                    
                </td>
                <td align="center" ><?=$o_ALM_KardexBN->getPrecioUnitario()?></td>
                <td align="center" >
                    <input type="text" class="text" 
                            name="" 
                            id=""
                            value="<?=$o_ALM_KardexBN->getPrecioCosto()?>"
                            style="width:70%; text-align:center;" 
                            onblur="actualizarPrecioCosto( this, <?=$f_PrecioCostoRef?>, '<?=$s_Id?>' );"
                            onfocus="this.select();" />
                </td>
                <td align="center" ><?=$o_ALM_KardexBN->getSaldoCantidad()?></td>
                <td align="center" ><?=$o_ALM_KardexBN->getCostoTotal()?></td>
            </tr>
            <?php } ?>
        </tbody>
    </table>
    <?php } ?>
</form>
<script >
actualizarCantidad = function( elm, cantref, IdSecuencia )
{
    var cantidad = elm.value;
    cantref = parseFloat( cantref );
    
    if( cantidad == "" )
    {
        elm.value = cantref;
        return false;
    }
    
    cantidad = parseFloat( cantidad );
    
    if( isNaN( cantidad ) )
    {
        elm.value = cantref;
        alert( "Ingrese una cantidad valida.." );
        setTimeout(function () 
        {
            $( "#" + elm.id ).focus();
        }, 100);
        return false;
    }
    if( cantidad < 0 )
    {
        elm.value = cantref;
        alert( "Tiene que ser una cantidad valida." );
        setTimeout(function () 
        {
            $( "#" + elm.id ).focus();
        }, 100);
        return false;
    }
    if( cantidad == cantref )
    {
        elm.value = cantref;
        /*alert( "La cantidad ingresada no debe ser mayor a la cantidad recibida." );
        setTimeout(function () {
            $( "#" + elm.id ).focus();
        }, 100);*/
        return false;
    }
    
    $( "#Tipo" ).val( "ActCantidad" );
    $( "#IdKardex" ).val( IdSecuencia );
    $( "#CantidadUpd" ).val( cantidad );
    $( "#form1" ).submit();
}

actualizarPrecioCosto = function( elm, cantref, IdSecuencia )
{
    var cantidad = elm.value;
    cantref = parseFloat( cantref );
    
    if( cantidad == "" )
    {
        elm.value = cantref;
        return false;
    }
    
    cantidad = parseFloat( cantidad );
    
    if( isNaN( cantidad ) )
    {
        elm.value = cantref;
        alert( "Ingrese un Costo valido.." );
        setTimeout(function () 
        {
            $( "#" + elm.id ).focus();
        }, 100);
        return false;
    }
    if( cantidad < 0 )
    {
        elm.value = cantref;
        alert( "Tiene que ser un Costo valido." );
        setTimeout(function () 
        {
            $( "#" + elm.id ).focus();
        }, 100);
        return false;
    }
    if( cantidad == cantref )
    {
        elm.value = cantref;
        /*alert( "La cantidad ingresada no debe ser mayor a la cantidad recibida." );
        setTimeout(function () {
            $( "#" + elm.id ).focus();
        }, 100);*/
        return false;
    }
    
    $( "#Tipo" ).val( "ActPrecioCosto" );
    $( "#IdKardex" ).val( IdSecuencia );
    $( "#CantidadUpd" ).val( cantidad );
    $( "#form1" ).submit();
}
</script>
    
    
