<?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'];

$grado = $academia->escapar($_GET['grado']);
$id_gr = $academia->escapar($_GET['id_gr']);
$sede = $academia->escapar($_GET['sede']);
$per_ini = $academia->escapar($_GET['pini'], 'int');
$per_fin = $academia->escapar($_GET['pfin'], 'int');
$jornada = $academia->escapar($_GET['jorn']);

error_reporting(0);


//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 promedio final de disiplina");
$hojaActiva->setCellValue('A5', 'Sede: ' . $sede . " Jornada: " . $jornada . " Grupo: " . $grado);
$hojaActiva->setCellValue('A6', "Promedio de notas del periodo " . $per_ini . " al periodo " . $per_fin);

/* 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 = 'SELECT
    view_pag_estudiantes_activos.cod_estudiante
    , view_pag_estudiantes_activos.numedocumento_est
    , view_pag_estudiantes_activos.estudiante
    , view_pag_estudiantes_activos.nom_grupo_let
    , view_pag_estudiantes_activos.nom_grupo_num
    , view_pag_estudiantes_activos.nom_grupo_rom
    , view_pag_estudiantes_activos.nom_sede
    , view_pag_estudiantes_activos.nom_jornada
    , view_pag_estudiantes_activos.seccion
    , aca_observaxest.periodo
    , AVG(aca_observaxest.nonu_per_dis) AS promedio
FROM
    aca_observaxest
    left JOIN view_pag_estudiantes_activos 
        ON (aca_observaxest.cod_estudiantes_grupos = view_pag_estudiantes_activos.cod_estudiantes_grupos)
     WHERE cod_grupo=' . $id_gr . ' and aca_observaxest.periodo BETWEEN ' . $per_ini . ' AND ' . $per_fin . ' GROUP BY cod_estudiante ';
//echo $sql;
//exit;
$academia->instruccion($sql);

$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, 'GRUPO');
$hojaActiva->setCellValue('D' . $fil, 'SECCION');
$hojaActiva->setCellValue('E' . $fil, 'ESTUDIANTES');
$hojaActiva->setCellValue('F' . $fil, 'PROMEDIO DISIPLINA');

//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_grupo_num']);
    $hojaActiva->setCellValue('D' . $fil, $row['seccion']);
    $hojaActiva->setCellValue('E' . $fil, formatoPalabras($row['estudiante'], $mayus_nom));
    $hojaActiva->setCellValue('F' . $fil, $row['promedio']);

    $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);


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

// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle('Sabana promedios Disiplina');

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

$nomdoc = "Sabana_promedio_disiplina_" . date('Y-m-d H:i:s') . ".xlsx";
//echo $sql;
//exit; 
// 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;
?>