<?php

require_once("../../includes/bootstrap2.php");
$sesion = new sesion();
$academia = bootstrap::initBd($sesion->get('anio'));
if (!headers_sent())
    ob_start("ob_gzhandler");
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
date_default_timezone_set('America/Bogota');
//echo ini_get("memory_limit");
ini_set('memory_limit', '1024M');
ini_set('max_execution_time', 60 * 6);

if (PHP_SAPI == 'cli')
    die('Esta aplicación no corre en este navegador');

/** Include PHPExcel */
require_once("../../includes/phpExcel/PHPExcel.php");
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

// Set document properties
$objPHPExcel->getProperties()->setCreator("Academia Web")
        ->setLastModifiedBy(date('Y-m-d H:m:s'))
        ->setDescription("Desempeño de materias por estudiantes")
        ->setKeywords("Academia 2013")
        ->setCategory("Reportes Academia");
// Add some data
$iduser = $sesion->get('ac_userid');

$iduser = $sesion->get('ac_userid');
$configuracion = $sesion->get('configuracion');
$nombre_grupo = $configuracion['nombres_grupos'];

$sede = $academia->escapar($_GET['sede']);
$grupo = $academia->escapar($_GET['grupo']);
$periodon = $academia->escapar($_GET['peri']);
$informacion = $academia->escapar($_GET['info']);
$materias = $academia->escapar($_GET['mate']);
if ($informacion == 3) {
    $sede = -1;
}
if ($informacion == 2) {
    $grupo = -1;
}
if ($informacion == 1) {
    $grupo = -1;
    $sede = -1;
}

switch ($periodon) {
    case 1:
        $periodo = "Primero";
        break;
    case 2:
        $periodo = "Segundo";
        break;
    case 3:
        $periodo = "Tercero";
        break;
    case 4:
        $periodo = "Cuarto";
        break;
    case 5:
        $periodo = "Quinto";
        break;
    case 6:
        $periodo = "Sexto";
        break;
    case 7:
        $periodo = "Séptimo";
        break;
    case 8:
        $periodo = "Octavo";
        break;
    case 9:
        $periodo = "Noveno";
        break;
    case 10:
        $periodo = "Décimo";
        break;
    case 11:
        $periodo = "Décimo Primero";
        break;
    case 12:
        $periodo = "Décimo Segundo";
        break;
}


//echo $sql;
$i = 0;
$cmps = "";
//$idSede=$_GET['id'];

$hojaActiva = $objPHPExcel->getActiveSheet();
//$hojaActiva->getDefaultColumnDimension()->setWidth(4);

$dtsColegio = $sesion->get('info_colegio');
$hojaActiva->setCellValue('A1', $dtsColegio['nombre']);
$hojaActiva->setCellValue('A2', "NIT. " . $dtsColegio['nit']);
$hojaActiva->setCellValue('A3', empty($dtsColegio['resolucion']) ? $dtsColegio['decreto'] : $dtsColegio['resolucion'] );
$hojaActiva->setCellValue('A4', "Listado de estudiantes y desempeños finales por periodo");
$hojaActiva->setCellValue('A5', " Periodo: " . $periodo);

/* FOrmateando encabezado */
$hojaActiva->mergeCells('A1:I1');
$hojaActiva->mergeCells('A2:I2');
$hojaActiva->mergeCells('A3:I3');
$hojaActiva->mergeCells('A4:I4');
$hojaActiva->mergeCells('A5:I5');

$hojaActiva->getStyle('A1:I6')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$hojaActiva->getStyle('A1:I6')->getFont()->setBold(true);

$sql = "CALL SP_REP_DES_MATERIAS($periodon,$grupo,$sede,$materias,'$nombre_grupo',$iduser)";
echo $sql;
exit;
$academia->instruccion($sql, 0, 1);

$mayus_nom = $sesion->getVar('configuracion.format_nom');
$mayus_mat = $sesion->getVar('configuracion.format_mat');
$filOrg = 6;
$colOrg = 3;
$col = $colOrg;
$fil = $filOrg;
$hojaActiva->setCellValue('A' . $fil, 'SEDE');
$hojaActiva->setCellValue('B' . $fil, 'JORNADA');
$hojaActiva->setCellValue('C' . $fil, 'GRADO');
$hojaActiva->setCellValue('D' . $fil, 'GRUPO');
$hojaActiva->setCellValue('E' . $fil, 'ESTUDIANTES');
$hojaActiva->setCellValue('F' . $fil, 'ASIGNATURAS');
$hojaActiva->setCellValue('G' . $fil, 'DEFINITIVA');
$hojaActiva->setCellValue('H' . $fil, 'DESEMPEÑO');
$hojaActiva->setCellValue('I' . $fil, 'APRUEBA');
//AÑADO LOS FILTROS
$hojaActiva->setAutoFilter("A" . $fil . ":I" . $fil);

$fil++;
while ($row = $academia->extraer_registro()) {
    $col = $colOrg;
    $hojaActiva->setCellValue('A' . $fil, $row['nom_sede']);
    $hojaActiva->setCellValue('B' . $fil, $row['nom_jornada']);
    $hojaActiva->setCellValue('C' . $fil, $row['nom_grado']);
    $hojaActiva->setCellValue('D' . $fil, $row['nom_grupo']);
    $hojaActiva->setCellValue('E' . $fil, formatoPalabras($row['estudiante'], $mayus_nom));
    $hojaActiva->setCellValue('F' . $fil, formatoPalabras($row['nom_asi'], $mayus_mat));
    $hojaActiva->setCellValue('G' . $fil, $row['nota_def']);
    $hojaActiva->setCellValue('H' . $fil, $row['desempenio']);
    $hojaActiva->setCellValue('I' . $fil, $row['aprueba']);
    $fil++;
};


//AJUSTO EL ANCHO D ELAS COLUMNAS
$hojaActiva->getColumnDimension('A')->setAutoSize(true);
$hojaActiva->getColumnDimension('B')->setAutoSize(true);
$hojaActiva->getColumnDimension('C')->setAutoSize(true);
$hojaActiva->getColumnDimension('D')->setAutoSize(true);
$hojaActiva->getColumnDimension('E')->setAutoSize(true);
$hojaActiva->getColumnDimension('F')->setAutoSize(true);
$hojaActiva->getColumnDimension('G')->setAutoSize(true);
$hojaActiva->getColumnDimension('H')->setAutoSize(true);
$hojaActiva->getColumnDimension('I')->setAutoSize(true);

/* Formateo las notas */
$rango = "G" . ($filOrg + 1) . ':' . "G" . $fil;
$hojaActiva->getStyle($rango)->getNumberFormat()->setFormatCode('#,#0.0');

// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle('Sabana de desempeños');

// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);

$nomdoc = "Sabana_desempeños_" . date('Y-m-d H:i:s') . ".xlsx";
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="' . $nomdoc . '"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
unset($hojaActiva);
unset($objPHPExcel);
unset($objWriter);
exit;
?>