<?php

require_once("../../includes/bootstrap2.php");
$sesion = new sesion();
$academia = bootstrap::initBd($sesion->get('anio'));
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', false);
ini_set('display_startup_errors', false);
date_default_timezone_set('Europe/London');

if (PHP_SAPI == 'cli')
    die('This example should only be run from a Web Browser');

/** 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("Sabana de desempeños")
    ->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'];

$grupo = $academia->escapar($_GET['grupo'], 'int');
$jornada = $academia->escapar($_GET['jorn']);
$cod_asixgru = $academia->escapar($_GET['cod_asixgru']);
$periodo = $academia->escapar($_GET['periodo']);
$sede = $academia->escapar(ucwords($_GET['sede']));

$area = $academia->escapar(ucwords($_GET['area']));
$docente = isset($_GET['nomdc']) ? $academia->escapar(ucwords($_GET['nomdc'])) :'';

//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('A5', 'Sede: ' . $sede . " Jornada: " . $jornada. " Grupo: ". $grupo);

$hojaActiva->setCellValue('A6', 'Asignatura: ' . $area . " Docente: " . $docente);


$sql = "call SP_DESEMPENIOSXESTUDIANTES('$cod_asixgru','$periodo','$iduser')";
//$sql = "call SP_DESEMPEÑOSXESTUDIANTES('$cod_asixgru','$periodo','$iduser')";
//echo $sql;
//exit;
$academia->instruccion($sql, 0, 1);

$mayus_nom = $sesion->getVar('configuracion.format_nom');
$mayus_mat = $sesion->getVar('configuracion.format_mat');

$row = $academia->extraer_registro();
$xy = 1;
$dtsEstNot = json_decode($row['datos'], true);
//var_dump($dtsEstNot);
$filOrg = 9;
$colOrg = 2;
$col = $colOrg;
$fil = $filOrg;
$hojaActiva->setCellValueByColumnAndRow(0, $fil, 'N°');
$hojaActiva->setCellValueByColumnAndRow(1, $fil, 'Nombres y apellidos');
if ($dtsEstNot !== NULL) {
    $periodo = 1;
    $contAux = 2;
    $contAux2 = 2;
    $hojaActiva->setCellValueByColumnAndRow($col, $fil - 1, 'Periodo ' . $periodo);
    foreach ($dtsEstNot['notas'] as $v) {
        if ($periodo != $v['PERIODO']) {
            $rango = $dtsLang['mod_forma_nom_cel'][$contAux] . ($fil - 1) . ':' . $dtsLang['mod_forma_nom_cel'][$col - 1] . ($fil - 1);
            $periodo = $v['PERIODO'];
            $hojaActiva->setCellValueByColumnAndRow($col, $fil - 1, 'Periodo ' . $periodo);
            $hojaActiva->mergeCells($rango);
            $contAux = $col;
        }
        $hojaActiva->setCellValueByColumnAndRow($col++, $fil, formatoPalabras($v['NOMBRE_SABER'], $mayus_mat) . ' N - ' . $v['NUM_NOTA']);
    }
    $rango = $dtsLang['mod_forma_nom_cel'][$contAux] . ($fil - 1) . ':' . $dtsLang['mod_forma_nom_cel'][$col - 1] . ($fil - 1);
    $hojaActiva->mergeCells($rango);
}
$hojaActiva->setCellValueByColumnAndRow($col++, $fil, 'T. Desempeños');
$hojaActiva->setCellValueByColumnAndRow($col++, $fil, 'T. Desem. Bajos');
$hojaActiva->setCellValueByColumnAndRow($col++, $fil, 'T. Desem. Basico');
$hojaActiva->setCellValueByColumnAndRow($col++, $fil, 'T. Desem. Alto');
$hojaActiva->setCellValueByColumnAndRow($col++, $fil, 'T. Desem. Superior');
$hojaActiva->setCellValueByColumnAndRow($col++, $fil, '%. Desem. Aprobados');
$hojaActiva->setCellValueByColumnAndRow($col++, $fil, 'FINAL');

//centro los encabezados de los periodos
$hojaActiva->getStyle('A'.($fil-1) .':'. $dtsLang['mod_forma_nom_cel'][$col] . ($fil-1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);


$fil++;

do {
//    $col = $colOrg;
    $dtsEst = json_decode($row['datos'], true);
    if (!isset($dtsEst['notas'])){
        #echo $row['datos'].'<br>';
        continue;
    }
    $dtsNotasEst = $dtsEst['notas'];


    $hojaActiva->setCellValue('A' . $fil, $xy);
    $hojaActiva->setCellValue('B' . $fil, formatoPalabras($dtsEst['ESTUDIANTE'], $mayus_nom));
    $colNotasDesem = 2;

    foreach ($dtsNotasEst as $v) {
        #$hojaActiva->setCellValueByColumnAndRow($colNotasDesem++, $fil, numberFormat($v['NOTA_NUMEROS'], 1, '.', ''));
        $hojaActiva->setCellValueByColumnAndRow($colNotasDesem++, $fil, $v['NOTA_LETRAS_LARGA']);
    }
    $hojaActiva->setCellValueByColumnAndRow($colNotasDesem++, $fil, numberFormat($dtsEst['total_desempenios'], 1, '.', ''));
    $hojaActiva->setCellValueByColumnAndRow($colNotasDesem++, $fil, numberFormat($dtsEst['Bajo'], 1, '.', ''));
    $hojaActiva->setCellValueByColumnAndRow($colNotasDesem++, $fil, numberFormat($dtsEst['Basico'], 1, '.', ''));
    $hojaActiva->setCellValueByColumnAndRow($colNotasDesem++, $fil, numberFormat($dtsEst['Alto'], 1, '.', ''));
    $hojaActiva->setCellValueByColumnAndRow($colNotasDesem++, $fil, numberFormat($dtsEst['Superior'], 1, '.', ''));
    $hojaActiva->setCellValueByColumnAndRow($colNotasDesem++, $fil, numberFormat($dtsEst['porcentaje'], 1, '.', ''));
    $hojaActiva->setCellValueByColumnAndRow($colNotasDesem++, $fil, @$dtsEst['definitiva']);
    $colNotasDesem++;
    $fil++;
    $xy++;
} while ($row = $academia->extraer_registro());


$styleArrayMat = array(
    'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
        'rotation' => 90,
    )
);
$styleArray1 = array(
    'borders' => array(
        'allborders' => array(
            'style' => PHPExcel_Style_Border:: BORDER_THIN,
            'color' => array('argb' => '0000'),
        ),
    ),
);
//$col = $colOrg;
//if (!empty($promMat)) {
//    foreach ($promMat as $pm) {
//        $hojaActiva->setCellValueByColumnAndRow($col++, $fil, numberFormat((($pm / ($xy - 1))), 1, '.', ''));
//        $rangoAB = $dtsLang['mod_forma_nom_cel'][$col];
//        $hojaActiva->getColumnDimension($rangoAB)->setWidth(5.7);
//    }
//}
//
///* FOrmateando encabezado */
$hojaActiva->mergeCells('A1:' . $dtsLang['mod_forma_nom_cel'][$col] . '1');
$hojaActiva->mergeCells('A2:' . $dtsLang['mod_forma_nom_cel'][$col] . '2');
$hojaActiva->mergeCells('A3:' . $dtsLang['mod_forma_nom_cel'][$col] . '3');
$hojaActiva->mergeCells('A5:' . $dtsLang['mod_forma_nom_cel'][$col] . '5');
//
//
$hojaActiva->getStyle('A1:' . $dtsLang['mod_forma_nom_cel'][$col] . '5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$hojaActiva->getStyle('A1:' . $dtsLang['mod_forma_nom_cel'][$col] . '5')->getFont()->setBold(true);
///* Formateo las notas */
$rango = $dtsLang['mod_forma_nom_cel'][$colOrg] . ($filOrg + 1) . ':' . $dtsLang['mod_forma_nom_cel'][$col - 1] . $fil;
$hojaActiva->getStyle($rango)->getNumberFormat()->setFormatCode('#,#0.0');
//encabezaod del reportes
$rango = $dtsLang['mod_forma_nom_cel'][0] . $filOrg . ':' . $dtsLang['mod_forma_nom_cel'][$col] . $filOrg;
$hojaActiva->getStyle($rango)->getFont()->setBold(true);
$hojaActiva->getStyle('A')->getFont()->setBold(true);
//
//$rango = $dtsLang['mod_forma_nom_cel'][$colOrg] . $filOrg . ':' . $dtsLang['mod_forma_nom_cel'][$col + 1] . $filOrg;
//$rangoAB = $dtsLang['mod_forma_nom_cel'][$colOrg] . ':' . $dtsLang['mod_forma_nom_cel'][$col];
//
$hojaActiva->getStyle($rango)->applyFromArray($styleArrayMat);
$hojaActiva->getStyle($rango)->getAlignment()->setWrapText(true);
$rango = $dtsLang['mod_forma_nom_cel'][$colOrg-2] . $filOrg . ':' . $dtsLang['mod_forma_nom_cel'][$col] . $fil;
$hojaActiva->getStyle($rango)->applyFromArray($styleArray1);
//
////formato para colocar en negrita ñlos promedios por materia
//$rango = $dtsLang['mod_forma_nom_cel'][$colOrg - 2] . $fil . ':' . $dtsLang['mod_forma_nom_cel'][$col] . $fil;
//#$hojaActiva->getStyle($rango)->getFont()->setBold(true);
//
//$rango = $dtsLang['mod_forma_nom_cel'][0] . $filOrg . ':' . $dtsLang['mod_forma_nom_cel'][$col - 1] . $fil;
//#$hojaActiva->getStyle($rango)->getFont()->setBold(true);
//
$hojaActiva->getRowDimension($filOrg)->setRowHeight(105);
$hojaActiva->getColumnDimension('B')->setAutoSize(true);

// 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.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($objPHPExcel);
unset($objWriter);
exit;
?>
