<?php
session_start(); 
$ruta = '../../';
require_once("../clases/covensol_fop_c_formulacion.php");
$objfop=new covensol_fop_c_formulacion($propiedades);
//$objscc->cargar_seguridad("SCC","covensol_scc_d_movimiento.php");
/* PHPExcel */
require_once ($ruta.'shared/PHPExcel/Classes/PHPExcel.php');

$fecha_actual = date("d/m/Y");

if(!$_GET['anopresup']){

		print "<script language=JavaScript>";
		echo "alert('ERROR: Faltan datos para generar el reporte');";
		print "close();";		
		print "</script>";
		exit();
}

if($_GET['tiporep']=='fases' and (!$_GET['anopresup'] or !$_GET['codplangob'] or !$_GET['nroh'])){

		print "<script language=JavaScript>";
		echo "alert('ERROR: Faltan datos para generar el reporte de fase');";
		print "close();";		
		print "</script>";
		exit();
}

$param = $_GET;	
$param['criterio']='por_codigo';

// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator($_SESSION["la_logusr"])
							 ->setLastModifiedBy($_SESSION["la_logusr"])
							 ->setTitle("RESUMEN DE CUENTAS")
							 ->setSubject("RESUMEN DE CUENTAS")
							 ->setDescription("RESUMEN DE CUENTAS DEL POA");

$datosenc = $objfop->FormatLonCodEstPro($param);
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('RESUMEN DE CUENTAS');
$ancho['B']=60;
$i=2;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i, 'AÑO:');
$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i,$datosenc['anopresup']);
$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getFont()->setBold(false);
$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth($ancho['B']);
$i++;

if($param['denhist']){
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i, 'FASE:');
		$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getFont()->setBold(true);
		$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
		$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
		
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i,'('.$param['abvrhist'].') - '.$param['denhist']);
		$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getFont()->setBold(false);
		$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
		$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
		$i++;
}

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i, 'Estructura (ep1):');
$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i,$datosenc['codestpro1'].' - '.utf8_encode($datosenc['denestpro1']));
$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getFont()->setBold(false);
$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth($ancho['B']);
$i++;

if($datosenc['codestpro2']){
	$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i, 'Estructura (ep2):');
	$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getFont()->setBold(true);
	$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
	$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
	
	$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i,$datosenc['codestpro2'].' - '.utf8_encode($datosenc['denestpro2']));
	$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getFont()->setBold(false);
	$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
	$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth($ancho['B']);
	$i++;
}

if($datosenc['codestpro3']){
	$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i, 'Estructura (ep3):');
	$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getFont()->setBold(true);
	$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
	$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
	
	$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i,$datosenc['codestpro3'].' - '.utf8_encode($datosenc['denestpro3']));
	$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getFont()->setBold(false);
	$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
	$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth($ancho['B']);
	$i++;
}

$i++;

$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getFill()->getStartColor()->setARGB('FFCCCCCC');
$objPHPExcel->getActiveSheet()->getStyle('A'.$i.':'.'F'.$i)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('FFCCCCCC');

//$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getFont()->getColor()->setARGB("FFFFFF66");
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i, 'PARTIDA');
$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i, 'DENOMINACIÓN');
$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth($ancho['B']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$i, 'TIPO');
$objPHPExcel->getActiveSheet()->getStyle('C'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('C'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D'.$i, 'MONTO REC. PROP');
$objPHPExcel->getActiveSheet()->getStyle('D'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('D'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('E'.$i, 'MONTO OTROS REC.');
$objPHPExcel->getActiveSheet()->getStyle('E'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('E'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setAutoSize(true);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('F'.$i, 'TOTAL');
$objPHPExcel->getActiveSheet()->getStyle('F'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('F'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setAutoSize(true);

$i++;

if($param['tiporep']=='fases'){$resp = $objfop->ResumenNivelesEp3Fases($param);}
else{$resp = $objfop->ResumenNivelesEp3($param);}

foreach($resp['rs'] as $datos){
	
	if($datos['tipo']=='Partida'){
		$total += $datos['totpartida'];
		$subtotrecprop += $datos['monto_recprop'];
		$subtototrorec += $datos['monto_otrorec'];
	}
	$datos['partida'] = str_pad($datos['partida'],9,'0',STR_PAD_RIGHT);
	
	$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i, $datos['partida']);
	$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
	
	$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i, $datos['denominacion']);
	$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
	
	$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$i, $datos['tipo']);
	$objPHPExcel->getActiveSheet()->getStyle('C'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
	
	$objPHPExcel->getActiveSheet()->getStyle('D'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1);
	$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D'.$i, $datos['monto_recprop']);
	
	$objPHPExcel->getActiveSheet()->getStyle('E'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1);
	$objPHPExcel->setActiveSheetIndex(0)->setCellValue('E'.$i, $datos['monto_otrorec']);
	
	$objPHPExcel->getActiveSheet()->getStyle('F'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1);
	$objPHPExcel->setActiveSheetIndex(0)->setCellValue('F'.$i, $datos['totpartida']);
	
	$i++;
}

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i, "TOTALES:");
$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);

$objPHPExcel->getActiveSheet()->getStyle('D'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D'.$i, $subtotrecprop);

$objPHPExcel->getActiveSheet()->getStyle('E'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('E'.$i, $subtototrorec);

$objPHPExcel->getActiveSheet()->getStyle('F'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('F'.$i, $total);

// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="resumen_partidas_'.date('d_m_Y').'.xls"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit();
