
var reporteAmortPptoController = function($scope, $filter, repAmortPptoService){

$('#reporteTableDiv').hide();
$('#imgPrint').hide();
$scope.mes='';
$scope.reporte='';
$scope.rep='';
$scope.annio ='';
$scope.fecha ='';

var fecha = new Date();
var anioActual = fecha.getFullYear();
var mes = fecha.getMonth(); // numera los meses de 0 al 11
var fechaPicker = mes + "/" + anioActual;


$('#fecha').datepicker({ dateFormat: 'mm/yy' }).datepicker("setDate", "-1m");

$scope.julio = false;


	
	  $scope.reporteAmortizacion = function(){
		  
		  $scope.fecha=document.getElementById('fecha').value;
		  //console.log("se consultara año: "+$scope.fecha)
		      
		  if($scope.fecha != null && $scope.fecha != ''){
		    	  
		    	  var array_fechasol = $scope.fecha.split("/")  //para fecha en columnas
		    	  $scope.annio = parseInt(array_fechasol[1]);
		    	  $scope.mes = parseInt(array_fechasol[0]);	
		    	  
		    	  //console.log("año"+$scope.annio);
		    	  //console.log("mes"+$scope.mes);
		    	  
		    	  repAmortPptoService.repAmortizacionPpto($scope.fecha).then(
			    		     function(data) {	
			    		    		 reporteL=[];
			    		    		 diferencia=[];
			    		    		 pdiferencia=[];
			    				     console.log(data);
			    				     //$scope.reporte = data.reporteAmortPpto;
			    		    angular.forEach(data.reporteAmortPpto, function(item, $index){
			    		    	
			    		    	    if(item.p_utilizado != null && item.p_utilizado != 0){
			    		    	    	item.p_utilizado = item.p_utilizado + ' %';	
			    		    	    }
			    		    	    
			    		    	
			 	    			    	
			    				    if($scope.annio == anioActual){	
			    				    		
			    				    	if(item.estudio == 'TOTAL'){
			    				    			if(item.mes_1 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_1;  	  
				    				    			 });
				    				    			 //$('#jun').hide();
			    				    	    	 }
				    				    		if(item.mes_2 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_2;  	  
				    				    			 });
				    				    			 //$('#jun').hide();
			    				    	    	 }
				    				    		if(item.mes_3 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_3;  	  
				    				    			 });
				    				    			 //$('#jun').hide();
			    				    	    	 }
				    				    		if(item.mes_4 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_4;  	  
				    				    			 });
				    				    			 //$('#jun').hide();
			    				    	    	 }
			    				    			if(item.mes_5 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_5;  	  
				    				    			 });
				    				    			 //$('#jun').hide();
			    				    	    	 }
			    				    			if(item.mes_6 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_6;  	  
				    				    			 });
				    				    			 //$('#jun').hide();
			    				    	    	 } 
			    				    			if(item.mes_7 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_7;
				    				    				  //$('#jul'+$index).remove();
				    				    				  
				    				    			 });
				    				    			 //$(".ocultaRowClass").hide();
				    				    			 //$('#jul').hide();
				    				    			 //$('#tdjul').hide();
				    				    		     $scope.julio = true;
			    				    	    	 }
				    				    		 if(item.mes_8 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_8;        
				    				    			 });
				    				    			 //$('#ago').hide();
				    				    			 //$('#tdago').hide();
			    				    	    	 }
				    				    		 if(item.mes_9 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_9;        
				    				    			 });
				    				    			 //$('#sep').hide();
				    				    			 //$('#tdago').hide();
			    				    	    	 }
				    				    		 if(item.mes_10 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_10;        
				    				    			 });
				    				    			 //$('#oct').hide();
				    				    			 //$('#tdago').hide();
			    				    	    	 }
				    				    		 if(item.mes_11 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_11;        
				    				    			 });
				    				    			 //$('#nov').hide();
				    				    			 //$('#tdago').hide();
			    				    	    	 }
				    				    		 if(item.mes_12 == 0)
			    				    	    	 {
				    				    			 angular.forEach(data.reporteAmortPpto, function(item, $index)
				    				    			 {
				    				    				  delete item.mes_12;        
				    				    			 });
				    				    			 //$('#dic').hide();
				    				    			 //$('#tdago').hide();
			    				    	    	 }
				    				    	 }	
			    				    	}else{
			    				    		$('#ene').show();
			    				    		$('#feb').show();
			    				    		$('#mar').show();
			    				    		$('#abr').show();
			    				    		$('#may').show();
			    				    		$('#jun').show();
			    				    		$('#jul').show();
			    				    		$('#ago').show();
			    				    		$('#sep').show();
			    				    		$('#oct').show();
			    				    		$('#nov').show();
			    				    		$('#dic').show();
			    				    		console.log("no es año actual");
			    				    	}
			    				    	 
			    				    	 
			 	    			    	    reporteL.push(item);
			 	    			    	    
			 	    			     });//termina foreach
			    				   
			    				 //console.log(reporteL);
			    				 //debugger;
			    				     
			    				     // calcula filas "Diferencia y % ejercido"......................
			    				     for(var k=0; k < reporteL.length;k++){
			    				    	  if(reporteL[k].estudio=='TOTAL'){
			    				    		  for(var L=0; L < reporteL.length;L++){
			    				    			  if(reporteL[L].estudio=='SAP'){
			    				    			 
			    				    				  reporteL.push({
			    				    					            estudio:'Diferencia',
			    					    				     		//orden:"3",
			    				    					            mes_1: reporteL[k].mes_1 - reporteL[L].mes_1,
			    				    			                     mes_2: reporteL[k].mes_2 - reporteL[L].mes_2,
			    				    			                     mes_3: reporteL[k].mes_3 - reporteL[L].mes_3,
			    				    			                     mes_4: reporteL[k].mes_4 - reporteL[L].mes_4,
			    				    			                     mes_5: reporteL[k].mes_5 - reporteL[L].mes_5,
			    				    			                     mes_6: reporteL[k].mes_6 - reporteL[L].mes_6,
			    				    			                     mes_7: reporteL[k].mes_7 - reporteL[L].mes_7,
			    				    			                     mes_8: reporteL[k].mes_8 - reporteL[L].mes_8,
			    				    			                     mes_9: reporteL[k].mes_9 - reporteL[L].mes_9,
			    				    			                     mes_10: reporteL[k].mes_10 - reporteL[L].mes_10,
			    				    			                     mes_11: reporteL[k].mes_11 - reporteL[L].mes_11,
			    				    			                     mes_12: reporteL[k].mes_12 - reporteL[L].mes_12,
			    				    			                     ejercido: reporteL[k].ejercido - reporteL[L].ejercido });
			    				    		     }			    				    		  
			    				    		  }  
			    				    	  }
			    				     }
			    				     //reporteL.push(diferencia);
			    				     
			    				     for(var k=0; k < reporteL.length;k++){
			    				    	  if(reporteL[k].estudio=='TOTAL'){
			    				    		  for(var L=0; L < reporteL.length;L++){
			    				    			  if(reporteL[L].estudio=='Diferencia'){
			    				    				  reporteL.push({estudio:'% Diferencia',
			    				    					  			 //orden:"4",
			    				    					  			 mes_1: ((reporteL[L].mes_1 / reporteL[k].mes_1)*100).toFixed(2)+' %',
			    				    					  			 mes_2: ((reporteL[L].mes_2 / reporteL[k].mes_2)*100).toFixed(2)+' %',
			    				    					  			 mes_3: ((reporteL[L].mes_3 / reporteL[k].mes_3)*100).toFixed(2)+' %',
			    				    					  			 mes_4: ((reporteL[L].mes_4 / reporteL[k].mes_4)*100).toFixed(2)+' %',
			    				    					  			 mes_5: ((reporteL[L].mes_5 / reporteL[k].mes_5)*100).toFixed(2)+' %',
			    				    					  			 mes_6: ((reporteL[L].mes_6 / reporteL[k].mes_6)*100).toFixed(2)+' %',
			    				    					  			 mes_7: ((reporteL[L].mes_7 / reporteL[k].mes_7)*100).toFixed(2)+' %',
			    				    					  			 mes_8: ((reporteL[L].mes_8 / reporteL[k].mes_8)*100).toFixed(2)+' %',
			    				    					  			 mes_9: ((reporteL[L].mes_9 / reporteL[k].mes_9)*100).toFixed(2)+' %',
			    				    					  			 mes_10:((reporteL[L].mes_10 / reporteL[k].mes_10)*100).toFixed(2)+' %',
			    				    					  			 mes_11:((reporteL[L].mes_11 / reporteL[k].mes_11)*100).toFixed(2)+' %',
			    				    					  			 mes_12:((reporteL[L].mes_12 / reporteL[k].mes_12)*100).toFixed(2)+' %',
			    				    					  			 ejercido:((reporteL[L].ejercido / reporteL[k].ejercido)*100).toFixed(2)+' %' });
			    				    		     }			    				    		  
			    				    		  }  
			    				    	  }
			    				    	    if(reporteL[k].estudio == 'TOTAL'){
			    				    		  reporteL[k].estudio = 'Total General';
					    		    	    }
					    		    	    if(reporteL[k].estudio == 'SAP'){
					    		    	    	reporteL[k].estudio = 'Total SAP';
					    		    	    }
			    				     }
			    				     //reporteL.push(pdiferencia);
			    				     
			 	    			     $scope.reporte = reporteL;
			 	    			     $scope.rep= reporteL;
			 	    			     console.log($scope.reporte);
			 	    			 
			 	    			    $('#reporteTableDiv').show();
			 	    			        
			    				    	    		    		    	 
			    		     })
			    		     .catch(function(error) {
			    		     	    	console.log("ERROR. al recuperar reporte......" );
			    		     }
			        );
		      }else{
		    	  console.log("no selecciono año");
		      }
	  }
	  $scope.exportarReporte = function(){
			
          var dataIn2 = {"error":"from front front", "reporte": $scope.reporte}       		
		
          repAmortPptoService.descargarArchivoExcel(dataIn2).then(function(data) {
  		         
		  });
		
	 }
	 
	  /*
	   * 
	   * FUNCIONALES GENERALES
	   * 
	   * */
	    $scope.printReport = function(){
	    	    $('#reporteTableDiv').printThis({
	    	    	importCSS: true,          
	    	        importStyle: true,   
	    		    header:"<h3 style='width: 950px; font-weight:bold;'><img style='padding-right: 50px;' src='"+contextPath+"/design/img/common/Clarovideo.png'/>REPORTE DE SEGUIMIENTO AL PRESUPUESTO  "+ $scope.annio + "</h3>"

	    		});   
	    	    console.log(contextPath);
	    }
	  
	  	$scope.fmaFront =  function (fecha){
			
			return fecha != null ? fechaMesAnnio(fecha) : "";
	  	}	
	
		function fechaMesAnnio(fecha){
			var fsplited = fecha.split("/");
			if(fsplited.length == 3)
				return getMesStr(" " + fsplited[2]);
			else
				return fecha;
		}
		
		function getMesStr(mes){	
			var meses = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
			return meses[parseInt(mes) - 1];
		}
	
};

registraController("reporteAmortPptoController", reporteAmortPptoController);
/*
function imprSelec(nombre) {
	  var ficha = document.getElementById(nombre);
	  var ventimp = window.open(' ', 'popimpr');
	  ventimp.document.write( ficha.innerHTML );
	  ventimp.document.close();
	  
	  var css = ventimp.document.createElement("link");
	  css.setAttribute("href", "/css/print.css");
	  css.setAttribute("rel", "stylesheet");
	  css.setAttribute("type", "text/css");
	  ventimp.document.head.appendChild(css);
	  
	  ventimp.print( );
	  ventimp.close();
}

function printReport(annio){
//$('#imgPrint').show();
//$("#imgPrint").delay(250).hide(300);
//jQuery('#reporteTableDiv').print();

$('#reporteTableDiv').printThis({

header:"<h3 style='width: 990px; font-weight:bold;'><img style='padding-right: 50px;' src='/dla/design/img/common/Clarovideo.png'/>REPORTE DE SEGUIMIENTO AL PRESUPUESTO"+ annio + "</h3>"

});
}*/
