<?php
class DetailV2Action extends wtActions
{
    public function execute()
    {
        LayoutTemplate::getInstance()->setUseBootstrap();
        set_header_iso_8859_1();
    
        $this->block      = $this->getRequestParameter( 'block' );
        $this->i_Id       = $this->getRequestParameter( 'i_Id' );
        $this->s_TipoProc = $this->getRequestParameter( 's_TipoProc' );
        
        $this->s_Titulo = "Editar Lista de Precios";
        
        $a_Ids = explode( "_", $this->i_Id );
        $IdCompania = $a_Ids[0];
        $IdSucursal = $a_Ids[1];
        
        $this->IdCompania = $IdCompania;
        $this->IdSucursal = $IdSucursal;

        $this->IdMarca      = $this->getRequestParameter( 'IdMarca' );
        $this->IdLinea      = $this->getRequestParameter( 'IdLinea' );
        $this->IdFamilia    = $this->getRequestParameter( 'IdFamilia' );
        $this->CodigoBarras = $this->getRequestParameter( 'CodigoBarras' );
        $this->DescripcionCompleta = $this->getRequestParameter( 'DescripcionCompleta' );
        
        $o_ALM_MarcaFN = new ALM_MarcaFN();
        $o_ALM_MarcaFN->setEstado( "A" );
        $o_ALM_MarcaFN->addOrderBy( ALM_MarcaFN::DescripcionLocal );
        $this->a_ALM_Marca = $o_ALM_MarcaFN->select();

        $o_MST_ClaseLineaFN = new MST_ClaseLineaFN();
        $o_MST_ClaseLineaFN->addOrderBy( MST_ClaseLineaFN::Descripcion );
        $this->a_MST_ClaseLinea = $o_MST_ClaseLineaFN->select();
        
        $this->a_MST_ClaseFamilia = array();
        if( $this->IdLinea )
        {
            $o_MST_ClaseFamiliaFN = new MST_ClaseFamiliaFN();
            $o_MST_ClaseFamiliaFN->setIdLinea( $this->IdLinea );
            $this->a_MST_ClaseFamilia = $o_MST_ClaseFamiliaFN->select();
        }
        
        $b_Control = false;
        $o_DefaultFN = new MST_ListaPrecioCabeceraFN();
        $this->o_DefaultBN = $o_DefaultFN->selectByPK( $IdCompania, $IdSucursal );
        
        $this->a_ALM_ItemMast = array();
        $o_ALM_ItemMastFN = new ALM_ItemMastFN();
        //$o_ALM_ItemMastFN->setIdPersona( $IdPersona );
        $o_ALM_ItemMastFN->setEstado( "A" );
        $o_ALM_ItemMastFN->addCondition( "IdItem", "NOT IN", "('ZZDSCTO')", false );
        $o_ALM_ItemMastFN->addOrderBy( ALM_ItemMastFN::DescripcionCompleta );

        if( $this->IdMarca )
        {
            $b_Control = true;
            $o_ALM_ItemMastFN->setIdMarca( $this->IdMarca );
        }
        if( $this->IdLinea )
        {
            $b_Control = true;
            $o_ALM_ItemMastFN->setIdLinea( $this->IdLinea );
        }
        if( $this->IdFamilia )
        {
            $b_Control = true;
            $o_ALM_ItemMastFN->setIdFamilia( $this->IdFamilia );
        }
        if( $this->CodigoBarras )
        {
            $b_Control = true;
            //$o_ALM_ItemMastFN->setCodigoBarras( $this->CodigoBarras );
            $o_ALM_ItemMastFN->addCondition( "IdItem", "LIKE", "%".$this->CodigoBarras."%" );
        }
        if( $this->DescripcionCompleta )
        {
            $b_Control = true;
            $o_ALM_ItemMastFN->addCondition( "DescripcionCompleta", "LIKE", "%".$this->DescripcionCompleta."%" );
        }
        
        if( $b_Control )
        {
            $this->a_ALM_ItemMast = $o_ALM_ItemMastFN->select();
        }
        
        if( !$this->a_ALM_ItemMast )
        {
            $this->a_ALM_ItemMast = array();
        }
        
        //el tipo de precio:
        $o_MST_TipoPrecioFN = new MST_TipoPrecioFN();
        $o_MST_TipoPrecioFN->setEstado( "A" );
        $this->a_MST_TipoPrecio = $o_MST_TipoPrecioFN->select();

        if( $this->getRequestParameter( 'ExExcel' ) )
        {
            $this->a_DataItem = MST_ListaPrecioDetalleFN::buscarListaPreciosByObject( $this->a_ALM_ItemMast );

            header( 'Content-Type: application/vnd.ms-excel' );
            header( 'Content-Disposition: attachment;filename="LISTA_PRECIO_'.date( "Ymd" ).'.xls"' );
            header( 'Cache-Control: max-age=0' );
            
            
            Parameter::getInstance()->setActions( "exportExcel" );

            ViewResponse::getInstance()->setMethodAjax();
        }
    }
}