public function LogicaProgramacionSugeridaNormal(){
                    
        $connection=Yii::app()->db; 
        
        $query = 'CREATE TEMPORARY TABLE Temp_ProgramacionSugerida (IdProgramacionSugerida INT, 
		IdHorario INT, NroMensajero INT, NumeroPosicion INT, HoraInicio VARCHAR(5), 
		HoraFinal VARCHAR(5), Valor INT)';
        $command = $connection->createCommand($query);
        $command->execute();
        
        $query = 'CREATE TEMPORARY TABLE Temp_HorasMensajero 
		(IdProgramacionSugerida INT, Tmp_NroMensajero INT, Tmp_TotalHoras INT)';
        $command = $connection->createCommand($query);
        $command->execute();

        $query = 'CREATE TEMPORARY TABLE Temp_MensajerosHorario 
		(IdProgramacionSugerida INT, IdHorario INT, Promedio_Mensajeros_Hora INT,
                 Tmp_TotalMensajeros INT)';
        
        $command = $connection->createCommand($query);
        $command->execute();
        
        $Ln_NumeroHoras = 8;
        $Ln_IdProgramacionSugerida=0;
        
        while ($Ln_NumeroHoras <= 8) {
            
            $Ln_IdProgramacionSugerida ++;
            
            $this->inicializarTotalesMensajero($connection, $Ln_IdProgramacionSugerida);
                                    
            $necesidades_normal = ResumenClasificacionDias::getNecesidadesClasificacionDia($this->IdReportePedidosxPdv, 1);
            
            $Ln_TotalMensajerosHora = 0;
            if ($necesidades_normal){
                foreach($necesidades_normal as $reg){
                    
                    if ($Ln_TotalMensajerosHora < $reg->Promedio_Mensajeros_Hora_Normal){
                        
                        $Ln_Mensajero = 1;
                        while (($Ln_Mensajero <= $this->NumeroMensajerosProgramados) &&
                                ($Ln_TotalMensajerosHora < $reg->Promedio_Mensajeros_Hora_Normal)){
                            
                        }
                    }

                }
            } // Necesidades x Hora
            
            $Ln_NumeroHoras++;
        }
    }
        public function actionGeneratePdf() 
	{
           $session=new CHttpSession;
           $session->open();
		Yii::import('application.extensions.bootstrap.gii.*');
		require_once('bootstrap/tcpdf/tcpdf.php');
		require_once('bootstrap/tcpdf/config/lang/eng.php');

             if(isset($session['ResumenClasificacionDias_records']))
               {
                $model=$session['ResumenClasificacionDias_records'];
               }
               else
                 $model = ResumenClasificacionDias::model()->findAll();



		$html = $this->renderPartial('expenseGridtoReport', array(
			'model'=>$model
		), true);
		
		//die($html);
		
		$pdf = new TCPDF();
		$pdf->SetCreator(PDF_CREATOR);
		$pdf->SetAuthor(Yii::app()->name);
		$pdf->SetTitle('ResumenClasificacionDias Report');
		$pdf->SetSubject('ResumenClasificacionDias Report');
		//$pdf->SetKeywords('example, text, report');
		$pdf->SetHeaderData('', 0, "Report", '');
		$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, "Example Report by ".Yii::app()->name, "");
		$pdf->setHeaderFont(Array('helvetica', '', 8));
		$pdf->setFooterFont(Array('helvetica', '', 6));
		$pdf->SetMargins(15, 18, 15);
		$pdf->SetHeaderMargin(5);
		$pdf->SetFooterMargin(10);
		$pdf->SetAutoPageBreak(TRUE, 0);
		$pdf->SetFont('dejavusans', '', 7);
		$pdf->AddPage();
		$pdf->writeHTML($html, true, false, true, false, '');
		$pdf->LastPage();
		$pdf->Output("ResumenClasificacionDias_002.pdf", "I");
	}
       public static function getNecesidadesClasificacionDia ($P_IdReportePedidosxPdv, $P_IdClasificacionDia){

            $criteria=new CDbCriteria;
            $criteria->select='NumeroPosicion, IdHorario, HoraInicio, HoraFinal, '
                        . '(CASE IdClasificacionDia 
				WHEN 1 THEN Promedio_Mensajeros_Hora_Normal 
				WHEN 2 THEN Promedio_Mensajeros_Hora_Festivo 
				WHEN 3 THEN Promedio_Mensajeros_Hora_ClienteFiel
				ELSE 0 
			END ) Promedio_Mensajeros_Hora_Normal ';            
            $criteria->condition='IdReportePedidosxPdv = :IdReportePedidosxPdv AND IdClasificacionDia = :IdClasificacionDia';
            $criteria->params=array(':IdReportePedidosxPdv'=>$P_IdReportePedidosxPdv,
                                    ':IdClasificacionDia' => $P_IdClasificacionDia);
            $criteria->order = 'NumeroPosicion';
            
            $necesidades = ResumenClasificacionDias::model()->findAll($criteria); // $params no es necesario            
            
            return $necesidades;            
        }