<!DOCTYPE html>
<html lang="es-ES">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Pantalla Reporte Activos Fijos</title>
<link href="../../maincss.css" rel="stylesheet" type="text/css" />
<link href="../../printcss.css" rel="stylesheet" type="text/css" media="print" />

</head>
<?php
include "../../conn.php";
include "../../general.php";
include "../../token.php";

$rep=$_GET["rep"];
$tipo=$_GET["tipo"];

$mostrarsuc=$_POST["mostrarsuc"];
$consolidado=$_POST["consolidado"];
$afijo=$_POST["afijo"];
$sucursal=$_POST["sucursal"];
$empleado=$_POST["empleado"];
$marca=$_POST["marca"];
$modelo=$_POST["modelo"];
$familia=$_POST["familia"];
$subfamilia=$_POST["subfamilia"];
$grupo=$_POST["grupo"];
$subgrupo=$_POST["subgrupo"];
$orden=$_POST["orden"];
//$usuario=$_POST["usuario"];
//$mesini=$_POST["mesini"];
$mesfin=$_POST["mesfin"];
//$anoini=$_POST["anoini"];
$anofin=$_POST["anofin"];
$anual=$_POST["anual"];
$fechaing_ver=$_POST["fechaing_ver"];
$valoring_ver=$_POST["valoring_ver"];
$acumulada_ver=$_POST["acumulada_ver"];
$gestion_ver=$_POST["gestion_ver"];
$cod_contexto=$_POST["contexto"];

$afijo_det=$_GET["afijo_det"];
$fechafin_det=$_GET["fechafin_det"];
//$usuario_det=$_GET["usuario_det"];
//$cod_contexto_det=$_GET["contexto_det"]; //no se incluye en el detalle porque actualizacion y depreciacion se hacen en conjunto
$varias_fam=$_POST["varias_fam"]; //0 = solo una o todas, 1 = varias
//para seleccion familias
if(!empty($_POST['familia_seleccion'])) {
	$seleccion_mat = array ();
	// Contar numero de checkboxes seleccionados.
	$contar_seleccion = count($_POST['familia_seleccion']);
	$txt_seleccion = 'Seleccionadas '.$contar_seleccion.' familias';
	// Bucle para vaciar los checkboxes seleccionados.
	$i = 1;
	foreach($_POST['familia_seleccion'] as $seleccion) {
		$seleccion_mat[$i] = $seleccion;
		$i++;
	}
	$fin_selec = $i - 1;
} else {
	$fin_selec = 0;
	$txt_seleccion = '';
}
//si seleccionó varias familias, hay que poner en 0 
if($varias_fam == 1) { 
	$familia = 0;
	$subfamilia = 0;
	$grupo = 0;
	$subgrupo = 0;
}

if($familia == '') { $familia = 0;}
if($subfamilia == '') { $subfamilia = 0;}
if($grupo == '') { $grupo = 0;}
if($subgrupo == '') { $subgrupo = 0;}

if($marca == '') { $marca = 0;}
if($modelo == '') { $modelo = 0;}

$n_decimales = 2;

$nro_col = 3;
$nro_col2 = 5;
$nro_col3 = 14;

if($acumulada_ver == 1) { $nro_col++; $nro_col3++; }
if($gestion_ver == 1) { $nro_col++; $nro_col3++; }
if($fechaing_ver == 1) { $nro_col2++; $nro_col3++; }
if($valoring_ver == 1) { $nro_col2++; $nro_col3++; }


?>
<body>
<?php


//Inicio reporte activos fijos

if($rep == 9 && $tipo == 1) { // if 2
	
	if($afijo == 0) { 
		$nom_afijo = 'Todos';
		$valor_afijo = ' ';
	} else {
		$resultaf = mysqli_query($link, "select pkyFixedAsset as cod, fldName as item, fldFactoryKey as cod_fabrica, fldAlternativeKey as cod_alt
							from 
							fasFixedAsset
							where
							pkyFixedAsset = '$afijo';");
		while ($row = mysqli_fetch_array($resultaf)) {
			$nom_afijo = $row['cod'].' - '.$row['cod_fabrica'].' - '.$row['cod_alt'].' - '.$row['item'];
		}
		mysqli_free_result($resultaf);
		$valor_afijo = ' a.pkyFixedAsset = ' .$afijo. ' and ';
	}
	
	
	if($sucursal == 0) { 
		$nom_sucursal = 'Todos';
		$valor_sucursal = ' ';
	} else {
		$resultsuc = mysqli_query($link, "select pkyCompanyBranch as cod_sucursal, fldName as sucursal
							from 
							agnCompanyBranch
							where
							pkyCompanyBranch = '$sucursal' and 
							sysEnabled = 1 and sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($resultsuc)) {
			$nom_sucursal = $row['sucursal'];
		}
		mysqli_free_result($resultsuc);
		$valor_sucursal = ' a.codCompanyBranch = ' .$sucursal. ' and ';
	}
	
	
	if($empleado == 0) { 
		$nom_empleado = 'Todos';
		$valor_empleado = ' ';
	} else {
		$resultemp = mysqli_query($link, "select pkyPerson as codigo, case when fldMiddleName is NULL then 		concat(fldLastName,', ',fldFirstName) else concat(fldLastName,' ',fldMiddleName,', ',fldFirstName) end as empleado
							from 
							agnPerson 
							where
							pkyPerson = '$empleado' and 
							sysEnabled = 1 and sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($resultemp)) {
			$nom_empleado = $row['codigo'].' - '.$row['empleado'];
		}
		mysqli_free_result($resultemp);
		$valor_empleado = ' a.codEmployeeResponsible = ' .$empleado. ' and ';
	}
	
	//seleccionar varias familias
	if($varias_fam == 0) {
		$nom_varias_fam = 'No (Solo una o todas)';
	} else {
		$nom_varias_fam = 'Si ('.$txt_seleccion.')';
	}

	if($varias_fam == 1) {// if var fam
		for($i = 1; $i <= $fin_selec; $i++) {
			$sel_familia = $seleccion_mat[$i];
			$resultfamilia = mysqli_query($link, "select pkyFixedAssetCategory as cod_familia, fldName as familia
			from fasFixedAssetCategory
			where
			pkyFixedAssetCategory = '$sel_familia' and
			sysEnabled = 1 and sysAuthorized = 1;");
				
			while ($row = mysqli_fetch_array($resultfamilia)) {
			$nom_familia = $nom_familia.'('.$row['cod_familia'].' - '.$row['familia'].') ';
			}
			mysqli_free_result($resultfamilia);

			if($i != $fin_selec) {
			$valor_familia = $valor_familia.'a.codFamily = '.$sel_familia.' or ';
			} else {
			$valor_familia = $valor_familia.'a.codFamily = '.$sel_familia;	
			}
		}
		$valor_familia ='('.$valor_familia.') and ';
	} else {// else if var fam
		//solo entra la familia en el if porque arriba coloco en 0 las demás subfamilia, grupo y subgrupo
		if ($familia == 0) { // if familia
			$nom_familia = 'Todos';
			$valor_familia = ' ';
		} else {
			//nombre familia
			$resultfam = mysqli_query($link, "select pkyFixedAssetCategory as cod, fldName as nombre
								from 
								fasFixedAssetCategory
								where
								pkyFixedAssetCategory = '$familia' and 
								sysEnabled = 1 and sysAuthorized = 1;");
			while ($row = mysqli_fetch_array($resultfam)) {
				$nom_familia = $row['nombre'];
			}
			mysqli_free_result($resultfam);
			$valor_familia = ' a.codFamily = ' .$familia. ' and ';
		} //fin if familia
	}// fin if var fam

	if ($subfamilia == 0) { // if subfamilia
			$nom_subfamilia = 'Todos';
			$valor_subfamilia = ' ';
	} else {
		//nombre sub familia
		$resultsubf = mysqli_query($link, "select pkyFixedAssetCategory as cod, fldName as nombre
							from 
							fasFixedAssetCategory
							where
							pkyFixedAssetCategory = '$subfamilia' and 
							sysEnabled = 1 and sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($resultsubf)) {
			$nom_subfamilia = $row['nombre'];
		}
		mysqli_free_result($resultsubf);
		$valor_subfamilia = ' a.codSubFamily = ' .$subfamilia. ' and ';
	} //fin if subfamilia
		
	if ($grupo == 0) { // if grupo
			$nom_grupo = 'Todos';
			$valor_grupo = ' ';
	} else {
		//nombre grupo
		$resultgru = mysqli_query($link, "select pkyFixedAssetCategory as cod, fldName as nombre
							from 
							fasFixedAssetCategory
							where
							pkyFixedAssetCategory = '$grupo' and 
							sysEnabled = 1 and sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($resultgru)) {
			$nom_grupo = $row['nombre'];
		}
		mysqli_free_result($resultgru);
		$valor_grupo = ' a.codGroup = ' .$grupo. ' and ';
	} //fin if grupo
		
	if ($subgrupo == 0) { // if subgrupo
			$nom_subgrupo = 'Todos';
			$valor_subgrupo = ' ';
	} else {
		//nombre sub grupo
		$resultsubg = mysqli_query($link, "select pkyFixedAssetCategory as cod, fldName as nombre
							from 
							fasFixedAssetCategory
							where
							pkyFixedAssetCategory = '$subgrupo' and 
							sysEnabled = 1 and sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($resultsubg)) {
			$nom_subgrupo = $row['nombre'];
		}
		mysqli_free_result($resultsubg);
		$valor_subgrupo = ' a.codSubGroup = ' .$subgrupo. ' and ';
	} //fin if subgrupo
	
	if ($marca == 0) { // if marca
		$nom_marca = 'Todos';
		$valor_marca = ' ';
	} else {
		//nombre marca
		$result5 = mysqli_query($link, "select pkyBrand as cod, fldName as marca 
								from invBrand 
								where 
								pkyBrand = '$marca' and 
								sysEnabled = 1 and sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($result5)) {
			$nom_marca = $row['marca'];
		}
		mysqli_free_result($result5);
		$valor_marca = ' a.codBrand = ' .$marca. ' and ';
	} //fin if marca
	
	if ($modelo == 0) { // if modelo
		$nom_modelo = 'Todos';
		$valor_modelo = ' ';
	} else {
		//nombre modelo
		$result6 = mysqli_query($link, "select pkyBrandModel as cod, fldName as modelo 
								from invBrandModel 
								where 
								pkyBrandModel = '$modelo' and 
								sysEnabled = 1 and sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($result6)) {
			$nom_modelo = $row['modelo'];
		}
		mysqli_free_result($result6);
		$valor_modelo = ' a.codBrandModel = ' .$modelo. ' and ';
	} //fin if modelo
	
	//contexto
if($cod_contexto == -1){ 
	$nom_contexto = 'Todos';
	$valor_contexto2 = ' ';
} else {
	$resultcontx = mysqli_query($link, "select pkyContext as cod_contexto, fldName as contexto, codCostCenter as cod_cc 
	from srvContext
	where 
	pkyContext = '$cod_contexto';");
		while ($row = mysqli_fetch_array($resultcontx)) {   
			$nom_contexto = $row['cod_contexto'].' - '.$row['contexto'];
		}
		mysqli_free_result($resultcontx);
	$valor_contexto2 = ' e.sysContext = '.$cod_contexto.' and ';	
}
	
	if($mostrarsuc == 0) {
		$nom_mostrarsuc = 'No';	
	} else {
		$nom_mostrarsuc = 'Si';
	}
	
	if($consolidado == 0) {
		$nom_consolidado = 'No';	
	} else {
		$nom_consolidado = 'Si';
	}
	
	if ($orden == 0) { // if 2.11
		$nom_orden = 'Item';
		if($mostrarsuc == 0) {
			$valor_orden = ' order by b.fldName, a.fldName ';
		} else {
			$valor_orden = ' order by a.codCompanyBranch, b.fldName, a.fldName ';
		}
	} //fin if 2.11
	if ($orden == 1) { // if 2.12
		$nom_orden = 'C&oacute;digo';
		if($mostrarsuc == 0) {
			$valor_orden = ' order by b.fldName, a.pkyFixedAsset ';
		} else {
			$valor_orden = ' order by a.codCompanyBranch, b.fldName, a.pkyFixedAsset ';
		}
	} //fin if 2.12
	if ($orden == 2) { // if 2.13
		$nom_orden = 'Cod. Alt.';
		if($mostrarsuc == 0) {
			$valor_orden = ' order by b.fldName, a.fldAlternativeKey ';
		} else {
			$valor_orden = ' order by a.codCompanyBranch, b.fldName, a.fldAlternativeKey ';
		}
	} //fin if 2.13

	
	

$fechames = array();

$fechames[1][1] = 1;
$fechames[1][2] = 'Enero';
$fechames[1][3] = '-01-01';
$fechames[1][4] = '-01-31';
$fechames[2][1] = 2;
$fechames[2][2] = 'Febrero';
$fechames[2][3] = '-02-01';
$es_bisiesto = esBisiesto($anofin);
if($es_bisiesto == 1) {
	$fechames[2][4] = '-02-29';
} else {
	$fechames[2][4] = '-02-28';
}
$fechames[3][1] = 3;
$fechames[3][2] = 'Marzo';
$fechames[3][3] = '-03-01';
$fechames[3][4] = '-03-31';
$fechames[4][1] = 4;
$fechames[4][2] = 'Abril';
$fechames[4][3] = '-04-01';
$fechames[4][4] = '-04-30';
$fechames[5][1] = 5;
$fechames[5][2] = 'Mayo';
$fechames[5][3] = '-05-01';
$fechames[5][4] = '-05-31';
$fechames[6][1] = 6;
$fechames[6][2] = 'Junio';
$fechames[6][3] = '-06-01';
$fechames[6][4] = '-06-30';
$fechames[7][1] = 7;
$fechames[7][2] = 'Julio';
$fechames[7][3] = '-07-01';
$fechames[7][4] = '-07-31';
$fechames[8][1] = 8;
$fechames[8][2] = 'Agosto';
$fechames[8][3] = '-08-01';
$fechames[8][4] = '-08-31';
$fechames[9][1] = 9;
$fechames[9][2] = 'Septiembre';
$fechames[9][3] = '-09-01';
$fechames[9][4] = '-09-30';
$fechames[10][1] = 10;
$fechames[10][2] = 'Octubre';
$fechames[10][3] = '-10-01';
$fechames[10][4] = '-10-31';
$fechames[11][1] = 11;
$fechames[11][2] = 'Noviembre';
$fechames[11][3] = '-11-01';
$fechames[11][4] = '-11-30';
$fechames[12][1] = 12;
$fechames[12][2] = 'Diciembre';
$fechames[12][3] = '-12-01';
$fechames[12][4] = '-12-31';

if($anual == 0) { //if anual 0
	$fechaini = $anofin.$fechames[$mesfin][3];
	$fechafin = $anofin.$fechames[$mesfin][4];
	
	//fecha para los titulos, verificar que la fecha sea en enero entonces restar el año, para el mes anterior 
	
	if($mesfin - 1 == 0) { 
		$fechaini_mesant = ($anofin - 1).$fechames[12][3];
		$fechafin_mesant = ($anofin - 1).$fechames[12][4];
	} else {
		$fechaini_mesant = $anofin.$fechames[$mesfin-1][3];
		$fechafin_mesant = $anofin.$fechames[$mesfin-1][4];
	}
} else {//else if anual 0
	//fecha para calcular fecha de inicio y fin de la gestion
	$resultano = mysqli_query($link, "select a.pkyFiscalYear as ano_ini, a.codStartMonth as mes_ini, a.codEndMonth as mes_fin
			from actFiscalYear a
			where
			a.pkyFiscalYear = '$anofin';");
	while ($row = mysqli_fetch_array($resultano)) {
		$ano_ini_ges = $row['ano_ini'];
		$mes_ini_ges = $row['mes_ini'];
		$mes_fin_ges = $row['mes_fin'];
	}
	mysqli_free_result($resultano);
	if($mes_ini_ges == 1) {
		$fechaini = $anofin.$fechames[$mes_ini_ges][3];
		$fechafin = $anofin.$fechames[$mes_fin_ges][4];
	} else {
		$fechaini = $anofin.$fechames[$mes_ini_ges][3];
		$fechafin = ($anofin + 1).$fechames[$mes_fin_ges][4];	
	}
	
	//fecha para los titulos, verificar que la fecha sea en enero entonces restar el año, para el mes anterior 
	
	if($mes_ini_ges == 1) { 
		$fechaini_mesant = ($anofin - 1).$fechames[12][3];
		$fechafin_mesant = ($anofin - 1).$fechames[12][4];
	} else {
		$fechaini_mesant = $anofin.$fechames[$mes_fin_ges][3];
		$fechafin_mesant = $anofin.$fechames[$mes_fin_ges][4];
	} 
}//fin if anual 0
//$fechafin = '2015-01-29';
//echo $fechaini.' - '.$fechafin;
//listado de activos fijos 	
$result4 = mysqli_query($link, "select distinct a.pkyFixedAsset as cod_af, a.fldFactoryKey as cod_fabrica, a.fldAlternativeKey as cod_alt, a.fldName as afijo, a.codFamily as cod_familia, b.fldName as familia, a.codSubFamily as cod_subfamilia, a.codGroup as cod_grupo, a.codSubGroup as cod_subgrupo, a.codBrand as cod_marca, a.codBrandModel as cod_modelo, a.codEmployeeResponsible as cod_emp, case when c.fldMiddleName is NULL then concat(c.fldLastName,', ',c.fldFirstName) else concat(c.fldLastName,' ',c.fldMiddleName,', ',c.fldFirstName) end as empleado, a.codCompanyBranch as cod_suc, d.fldName as sucursal, a.codExchangeRate as cod_tc, a.fldValue as valor, e.fldDate as fecha_alta, a.fldOriginalValue as valor_compra, a.fldIncomingDate as fecha_compra, b.fldIsDepreciated as se_dep, b.fldDepreciationTime as mes_dep 
from 
fasFixedAsset a, fasFixedAssetCategory b, agnPerson c, agnCompanyBranch d, fasFixedAssetMovement e
where 
$valor_afijo 
$valor_sucursal 
$valor_empleado 
$valor_familia 
$valor_subfamilia 
$valor_grupo 
$valor_subgrupo 
$valor_marca 
$valor_modelo 
$valor_contexto2 
a.codFamily = b.pkyFixedAssetCategory and 
a.codEmployeeResponsible = c.pkyPerson and 
a.codCompanyBranch = d.pkyCompanyBranch and 
a.pkyFixedAsset = e.codFixedAsset and 
e.codType = 1 and 
e.fldDate <= '$fechafin' and 
(a.fldRemovalDate is NULL or a.fldRemovalDate > '$fechafin' or a.sysEnabled = 1) and 
(a.sysEnabled = 1 or (a.sysEnabled = 0 and a.sysAuthorized = 0)) 
$valor_orden;");

//guardo la fecha inicial y final por si no hay actualizaciones y volver a poner para las siguientes iteraciones
$fechaini_aux = $fechaini;
$fechafin_aux = $fechafin;

$mat_af = array();
$i = 1;
while ($row = mysqli_fetch_array($result4)) {
	$mat_af [$i][1] = $row['cod_af'];
	$mat_af [$i][2] = $row['cod_fabrica'];
	$mat_af [$i][3] = $row['cod_alt'];
	$mat_af [$i][4] = $row['afijo'];
	$mat_af [$i][5] = $row['cod_familia'];
	$mat_af [$i][6] = $row['familia'];
	$mat_af [$i][7] = $row['cod_subfamilia'];
	$mat_af [$i][8] = $row['cod_grupo'];
	$mat_af [$i][9] = $row['cod_subgrupo'];
	$mat_af [$i][10] = $row['cod_marca'];
	$mat_af [$i][11] = $row['cod_modelo'];
	$mat_af [$i][12] = $row['cod_emp'];
	$mat_af [$i][13] = $row['empleado'];
	$mat_af [$i][14] = $row['cod_suc'];
	$mat_af [$i][15] = $row['sucursal'];
	$mat_af [$i][16] = $row['cod_tc'];
	$mat_af [$i][17] = $row['valor'];
	$mat_af [$i][18] = $row['fecha_alta'];
	$mat_af [$i][19] = 0; //incremento actualizaciones mes actual
	$mat_af [$i][20] = 0; //actualizacion valor mes anterior
	$mat_af [$i][21] = 0; //depreciacion valor mes anterior
	$mat_af [$i][22] = 0; //depreciacion incremento mes anterior
	$mat_af [$i][23] = 0; //depreciacion periodo mes actual
	$mat_af [$i][24] = 0; //suma incremento mes actual + valor mes anterior = actualizacion mes actual
	$mat_af [$i][25] = 0; //suma valor mes anterior + incremento mes anterior + depreciacion periodo = depreciacion acumulada mes actual
	$mat_af [$i][26] = 0; //resta actualizacion mes actual - depreciacion acumulada mes actual = valor en libros
	$mat_af [$i][27] = $row['valor_compra'];
	$mat_af [$i][28] = $row['fecha_compra'];
	$mat_af [$i][29] = $fechafin; //fecha de la ultima actualizacion
	$mat_af [$i][30] = 0; //depreciacion de la gestion
	
	if($row['se_dep'] == 0) { //controla si se deprecia
		$mat_af [$i][31] = NULL; //meses de depreciacion
		$mat_af [$i][32] = NULL; //meses restantes para valor 0
	} else {
		$mat_af [$i][31] = $row['mes_dep']; //meses de depreciacion
		//calculo de los meses restantes de vida util en base a la fecha de compra, se le resta 1 mes mas porque no toma en cuenta cuando la fecha de compra es a medio mes
		$mat_af [$i][32] = $mat_af [$i][31] - difMes($mat_af [$i][28],$fechafin) - 1; //meses restantes para valor 0
	} //fin controla si se deprecia
	
	$cod_af = $mat_af [$i][1];
	$fechaini_mes_dep = $mat_af [$i][18];
	$fechafin_mes_dep = $fechafin;
	
	//calculo de los meses restantes de vida util en base a las depreciaciones
	/*
	$result40 = mysqli_query($link, "select count(1) as filas 
	from fasFixedAssetDepreciation a, fasFixedAssetDepreciationDetail b 
	where 
	a.pkyFixedAssetDepreciation = b.codFixedAssetDepreciation and 
	a.fldDate >= '$fechaini_mes_dep' and 
	a.fldDate <= '$fechafin_mes_dep' and 
	b.codFixedAsset = '$cod_af' and 
	a.sysEnabled = 1 and a.sysAuthorized = 1;");
	while ($row = mysqli_fetch_array($result40)) {
		$mat_af [$i][32] = $mat_af [$i][31] - $row['filas'];
	}
	mysqli_free_result($result40);
	*/
	
	$hay_act = 1; //variable para controlar si no hay ninguna actualizacion, cambia abajo a 0 si no hay

	if($anual == 0) {//if anual	

		//suma valor de los incrementos en actualizaciones y las depreciaciones por si hacen diarias (mes actual)
		
		$result41 = mysqli_query($link, "select sum(b.fldValue) as actualizaciones, sum(b.fldAccumulatedDepreciation) as depreciaciones
								from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
								where 
								b.codFixedAsset = '$cod_af' and 
								a.fldDate >= '$fechaini' and 
								a.fldDate <= '$fechafin' and  
								a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
								a.sysEnabled = 1 and a.sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($result41)) {
			$mat_af [$i][19] = $row['actualizaciones'];
			$mat_af [$i][22] = $row['depreciaciones'];
		}
		mysqli_free_result($result41);
		
		//si no hay datos en actualizaciones busco la fecha de la ultima que se hizo
		
		if($mat_af [$i][19] == NULL) {//if mat 19
			
			$fecha_dep = '0000-00-00';
			$result411 = mysqli_query($link, "select a.fldDate as fecha
										from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
										where 
										b.codFixedAsset = '$cod_af' and 
										a.fldDate <= '$fechafin' and  
										a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
										a.sysEnabled = 1 and a.sysAuthorized = 1
										order by a.fldDate;");
				while ($row = mysqli_fetch_array($result411)) {
					$mat_af [$i][29] = $row['fecha'];
				}
				//guarda si encuentra actualización, para mas abajo
				$hay_act = mysqli_num_rows($result411);
				

				mysqli_free_result($result411);
			//echo $mat_af [$i][29].'<br>';
			if($mat_af [$i][29] != NULL) {//if act 1
			
				// encuentro el ultimo valor actualizado, asigno al valor inicial 
				$result412 = mysqli_query($link, "select a.fldDate as fecha, (b.fldPreviousUpdatedValue + b.fldValue) as valor_actual
											from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
											where 
											b.codFixedAsset = '$cod_af' and 
											a.fldDate <= '$fechafin' and  
											a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
											a.sysEnabled = 1 and a.sysAuthorized = 1 
											order by a.fldDate;");
				while ($row = mysqli_fetch_array($result412)) {
					$mat_af [$i][20] = $row['valor_actual'];
				}
				
				// encuentro la ultima depreciacion acumulada, asigno al valor inicial
				$result412 = mysqli_query($link, "select a.fldDate as fecha, b.fldAccumulatedValue as depreciacion_acumulada
											from fasFixedAssetDepreciation a, fasFixedAssetDepreciationDetail b
											where 
											b.codFixedAsset = '$cod_af' and 
											a.fldDate <= '$fechafin' and  
											a.pkyFixedAssetDepreciation = b.codFixedAssetDepreciation and 
											a.sysEnabled = 1 and a.sysAuthorized = 1 
											order by a.fldDate;");
				while ($row = mysqli_fetch_array($result412)) {
					$mat_af [$i][21] = $row['depreciacion_acumulada'];
					$fecha_dep = $row['fecha'];
				}

				//aumenté esto cuando no hay actualizaciones pero si hay depreciaciones, para que muestre en depreciacion del periodo
				//valor de la depreciacion del periodo (mes actual)
				$result43 = mysqli_query($link, "select b.fldValue as depreciacion_periodo
											from fasFixedAssetDepreciation a, fasFixedAssetDepreciationDetail b
											where 
											b.codFixedAsset = '$cod_af' and 
											a.fldDate = '$fechafin' and  
											a.pkyFixedAssetDepreciation = b.codFixedAssetDepreciation and 
											a.sysEnabled = 1 and a.sysAuthorized = 1;");
				while ($row = mysqli_fetch_array($result43)) {
					$mat_af [$i][23] = $row['depreciacion_periodo'];
				}
				mysqli_free_result($result43);
			
			
				//echo $fecha_dep.'<br>';
				if($fecha_dep > $mat_af [$i][29]) {
					$mat_af [$i][29] = $fecha_dep;	
				}
			}//fin if act 1
			
		} else { //else if mat 19

			//si hay actualizaciones saco la fecha de la primera actualizacion del mes para los valores
			$result411 = mysqli_query($link, "select a.fldDate as fecha
										from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
										where 
										b.codFixedAsset = '$cod_af' and 
										a.fldDate >= '$fechaini' and 
										a.fldDate <= '$fechafin' and  
										a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
										a.sysEnabled = 1 and a.sysAuthorized = 1
										order by a.fldDate desc;");
				while ($row = mysqli_fetch_array($result411)) {
					$fechafin2 = $row['fecha'];
				}

				mysqli_free_result($result411);
		
			//valor actualización valor, depreciacion valor, depreciacion incremento (mes anterior)
			
			$result42 = mysqli_query($link, "select b.fldPreviousUpdatedValue as actualizacion_mes_ant, b.fldPreviousAccumulatedDepreciation as depreciacion_mes_ant
			from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
			where 
			b.codFixedAsset = '$cod_af' and 
			a.fldDate = '$fechafin2' and  
			a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
			a.sysEnabled = 1 and a.sysAuthorized = 1;");
			while ($row = mysqli_fetch_array($result42)) {
				$mat_af [$i][20] = $row['actualizacion_mes_ant'];
				$mat_af [$i][21] = $row['depreciacion_mes_ant'];
				
			}
			mysqli_free_result($result42);
			
			//valor de la depreciacion del periodo (mes actual)
			
			$result43 = mysqli_query($link, "select b.fldValue as depreciacion_periodo
			from fasFixedAssetDepreciation a, fasFixedAssetDepreciationDetail b
			where 
			b.codFixedAsset = '$cod_af' and 
			a.fldDate = '$fechafin' and  
			a.pkyFixedAssetDepreciation = b.codFixedAssetDepreciation and 
			a.sysEnabled = 1 and a.sysAuthorized = 1;");
			while ($row = mysqli_fetch_array($result43)) {
				$mat_af [$i][23] = $row['depreciacion_periodo'];
			}
			mysqli_free_result($result43);
			
		}//fin if mat 19

		//controlar si no hay ninguna actualización y los meses son negativos (&& $mat_af [$i][32] < 0 se quitó los meses negativos) el valor de la actualización es el mismo del ingreso	
		//para cuando no se da de baja al item que ya está depreciado y muestre el Valor Residual igual a 1, se hacen depreciaciones y no actualizaciones, también funciona cuando no está depreciado, meses negativos porque se quitó la condición.
		if($hay_act == 0 && $mat_af [$i][20] == 0 && $mat_af [$i][21] != 0) { 
			$mat_af [$i][20] = $mat_af [$i][17]; 
		}
		
		$mat_af [$i][24] = $mat_af [$i][19] + $mat_af [$i][20];
		$mat_af [$i][25] = $mat_af [$i][21] + $mat_af [$i][22] + $mat_af [$i][23];
		$mat_af [$i][26] = $mat_af [$i][24] - $mat_af [$i][25];

		

		//controlar si todas las columnas son 0 el valor residual es igual al valor de compra menos la depreciacion inicial que hay que calcularla si existen actualizaciones y depreciaciones posteriores
		$control_cero = $mat_af [$i][19] + $mat_af [$i][20] + $mat_af [$i][21] + $mat_af [$i][22] + $mat_af [$i][23];
		if($control_cero == 0) {//if cero
		
			$resultcero = mysqli_query($link, "select fin.codigo as codigo, sum(fin.dep_final) - sum(fin.dep_valor) - sum(fin.dep_acum) as dep_ini
			from 
			(select a.pkyFixedAsset as codigo, a.fldAccumulatedDepreciationValue as dep_final, 0 as dep_valor, 0 as dep_acum
			from fasFixedAsset a
			where 
			a.pkyFixedAsset = '$cod_af' and 
			(a.sysEnabled = 1 or (a.sysEnabled = 0 and a.sysAuthorized = 0))  
			union all
			select b.codFixedAsset as codigo, 0 as dep_final, sum(b.fldValue) as dep_valor, 0 as dep_acum
			from fasFixedAssetDepreciationDetail b, fasFixedAssetDepreciation d 
			where 
			b.codFixedAsset = '$cod_af' and 
			b.codFixedAssetDepreciation = d.pkyFixedAssetDepreciation and 
			d.sysEnabled = 1 and d.sysAuthorized = 1 
			group by b.codFixedAsset
			union all
			select c.codFixedAsset as codigo, 0 as dep_final, 0 as dep_valor, sum(c.fldAccumulatedDepreciation) as dep_acum
			from fasFixedAssetValueUpdateDetail c, fasFixedAssetValueUpdate e
			where 
			c.codFixedAsset = '$cod_af' and 
			c.codFixedAssetValueUpdate = e.pkyFixedAssetValueUpdate and 
			e.sysEnabled = 1 and e.sysAuthorized = 1 
			group by c.codFixedAsset) fin 
			group by fin.codigo;");
			while ($row = mysqli_fetch_array($resultcero)) {
				$mat_af [$i][25] = $row['dep_ini'];
			}
			mysqli_free_result($resultcero);	
				//$total_dep_mes_actual = $dep_inicial;
				//asigno el valor de ingreso al valor inicial
				$mat_af [$i][24] = $mat_af [$i][17];
				$mat_af [$i][26] = $mat_af [$i][24] - $mat_af [$i][25];
		}//fin if cero
		
		
		//fecha para calcular el inicio de la gestion, para la depreciacion de la gestion
		$ano_fin_ges = substr($fechafin,0,4);
		$mes_fin_ges = (int)substr($fechafin,5,2);
		$resultano = mysqli_query($link, "select a.pkyFiscalYear as ano_ini, a.codStartMonth as mes_ini
		from actFiscalYear a
		where
		a.pkyFiscalYear = '$ano_fin_ges';");
		while ($row = mysqli_fetch_array($resultano)) {
			$ano_ini_ges = $row['ano_ini'];
			$mes_ini_fin = $row['mes_ini'];
		}
		mysqli_free_result($resultano);

		//verifico que el mes sea mayor, si no es quiere decir que no es de enero a diciembre
		if($mes_fin_ges >= $mes_ini_fin) { //if mes_fin
			$fechaini = $ano_ini_ges.$fechames[$mes_ini_fin][4];
			$fechafin = $ano_fin_ges.$fechames[$mes_fin_ges][4];
		
		} else { //else if mes_fin
		
			//$fechaini = $ano_ini_ges.$fechames[$mes_ini_fin][4];
			
			$ano_ini_ges--;
			//como resto un ano, verifico si es bisiesto
			$es_bisiesto = esBisiesto($ano_ini_ges);
			if($es_bisiesto == 1) {
				$fechames[2][4] = '-02-29';
			} else {
				$fechames[2][4] = '-02-28';
			}
			$fechaini = $ano_ini_ges.$fechames[$mes_ini_fin][4];
			$fechafin = $ano_fin_ges.$fechames[$mes_fin_ges][4];
			
			$ano_ini_ges--;
			//debo volverlo a poner como estaba
			$es_bisiesto = esBisiesto($ano_ini_ges);
			if($es_bisiesto == 1) {
				$fechames[2][4] = '-02-29';
			} else {
				$fechames[2][4] = '-02-28';
			}
			
		} //fin if mes_fin

		
		//valor de la SUMA de la depreciacion del periodo mes actual (gestion) 
		
		$result44 = mysqli_query($link, "select sum(b.fldValue) as depreciacion_gestion
		from fasFixedAssetDepreciation a, fasFixedAssetDepreciationDetail b
		where 
		b.codFixedAsset = '$cod_af' and 
		a.fldDate >= '$fechaini' and  
		a.fldDate <= '$fechafin' and 
		a.pkyFixedAssetDepreciation = b.codFixedAssetDepreciation and 
		a.sysEnabled = 1 and a.sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($result44)) {
			$mat_af [$i][30] = $row['depreciacion_gestion'];
		}
		mysqli_free_result($result44);
		
		//controlo si calcule la depreciacion inicial entonces la depreciacion de la gestion tiene que ser igual
		if($mat_af [$i][25] != 0 && $mat_af [$i][30] == 0) {
			//echo 'hola';
			$mat_af [$i][30] = $mat_af [$i][25];
		}
		
		$i++;
		$fechaini = $fechaini_aux;
		$fechafin = $fechafin_aux;



	} else {//else if anual


		//suma valor de los incrementos en actualizaciones y las depreciaciones gestion
		
		$result41 = mysqli_query($link, "select sum(b.fldValue) as actualizaciones, sum(b.fldAccumulatedDepreciation) as depreciaciones
								from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
								where 
								b.codFixedAsset = '$cod_af' and 
								a.fldDate >= '$fechaini' and 
								a.fldDate <= '$fechafin' and  
								a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
								a.sysEnabled = 1 and a.sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($result41)) {
			$mat_af [$i][19] = $row['actualizaciones'];
			$mat_af [$i][22] = $row['depreciaciones'];
		}
		mysqli_free_result($result41);
		
		//si no hay actualizacones, busco en la anterior gestion, para el valor inicial
		if($mat_af [$i][19] == NULL) {//if mat 19
			//restar un año
			$fechaini1 = strtotime ( '-1 year' , strtotime ( $fechaini ) ) ;
			$fechaini1 = date ( 'Y-m-j' , $fechaini1 );
			$fechafin1 = strtotime ( '-1 year' , strtotime ( $fechafin ) ) ;
			$fechafin1 = date ( 'Y-m-j' , $fechafin1 );
			$fecha_dep = '0000-00-00';
			$result411 = mysqli_query($link, "select a.fldDate as fecha
										from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
										where 
										b.codFixedAsset = '$cod_af' and 
										a.fldDate >= '$fechaini1' and 
										a.fldDate <= '$fechafin1' and  
										a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
										a.sysEnabled = 1 and a.sysAuthorized = 1
										order by a.fldDate;");
				while ($row = mysqli_fetch_array($result411)) {
					$mat_af [$i][29] = $row['fecha'];
				}

				//guarda si encuentra actualización, para mas abajo
				$hay_act = mysqli_num_rows($result411); 

				mysqli_free_result($result411);
			//echo $mat_af [$i][29].'<br>';
			if($mat_af [$i][29] != NULL) {//if act 1
			
				// encuentro el ultimo valor actualizado, asigno al valor inicial select a.fldDate as fecha, b.fldPreviousUpdatedValue + b.fldValue as valor_actual
				$result412 = mysqli_query($link, "select a.fldDate as fecha, (b.fldPreviousUpdatedValue + b.fldValue) as valor_actual
										from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
										where 
										b.codFixedAsset = '$cod_af' and 
										a.fldDate >= '$fechaini1' and 
										a.fldDate <= '$fechafin1' and  
										a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
										a.sysEnabled = 1 and a.sysAuthorized = 1 
										order by a.fldDate;");
				while ($row = mysqli_fetch_array($result412)) {
					$mat_af [$i][20] = $row['valor_actual'];
				}
			
				// encuentro la ultima depreciacion acumulada, asigno al valor inicial
				$result412 = mysqli_query($link, "select a.fldDate as fecha, b.fldAccumulatedValue as depreciacion_acumulada
										from fasFixedAssetDepreciation a, fasFixedAssetDepreciationDetail b
										where 
										b.codFixedAsset = '$cod_af' and 
										a.fldDate >= '$fechaini1' and 
										a.fldDate <= '$fechafin1' and  
										a.pkyFixedAssetDepreciation = b.codFixedAssetDepreciation and 
										a.sysEnabled = 1 and a.sysAuthorized = 1 
										order by a.fldDate;");
				while ($row = mysqli_fetch_array($result412)) {
					$mat_af [$i][21] = $row['depreciacion_acumulada'];
					$fecha_dep = $row['fecha'];
				}
			
			
				//echo $fecha_dep.'<br>';
				if($fecha_dep > $mat_af [$i][29]) {
					$mat_af [$i][29] = $fecha_dep;	
				}
			}//fin if act 1
			
		} else { //else if mat 19
		
			//controlo si la fecha de alta esta en la gestion los valores iniciales son 0
			/*
			if($mat_af [$i][18] >= $fechaini && $mat_af [$i][18] <= $fechafin) {//if control
				$mat_af [$i][20] = 0;
				$mat_af [$i][21] = 0;
				// encuentro el ultimo valor actualizado, asigno al valor inicial 
				$result412 = mysqli_query($link, "select a.fldDate as fecha, b.fldPreviousUpdatedValue + b.fldValue as valor_actual
											from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
											where 
											b.codFixedAsset = '$cod_af' and 
											a.fldDate >= '$fechaini' and 
											a.fldDate <= '$fechafin' and  
											a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
											a.sysEnabled = 1 and a.sysAuthorized = 1 
											order by a.fldDate;");
					while ($row = mysqli_fetch_array($result412)) {
						$mat_af [$i][24] = $row['valor_actual'];
					}
			} else {//else if control
			*/
			//si hay actualizaciones saco la fecha de la primera actualizacion de la gestion para los valores
			$result411 = mysqli_query($link, "select a.fldDate as fecha
											from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
											where 
											b.codFixedAsset = '$cod_af' and 
											a.fldDate >= '$fechaini' and 
											a.fldDate <= '$fechafin' and  
											a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
											a.sysEnabled = 1 and a.sysAuthorized = 1
											order by a.fldDate desc;");
					while ($row = mysqli_fetch_array($result411)) {
						$fechafin2 = $row['fecha'];
					}

					mysqli_free_result($result411);
			
			//valor actualización valor, depreciacion valor, depreciacion incremento (mes anterior)
			
			$result42 = mysqli_query($link, "select b.fldPreviousUpdatedValue as actualizacion_mes_ant, b.fldPreviousAccumulatedDepreciation as depreciacion_mes_ant
			from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
			where 
			b.codFixedAsset = '$cod_af' and 
			a.fldDate = '$fechafin2' and  
			a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
			a.sysEnabled = 1 and a.sysAuthorized = 1;");
			while ($row = mysqli_fetch_array($result42)) {
				$mat_af [$i][20] = $row['actualizacion_mes_ant'];
				$mat_af [$i][21] = $row['depreciacion_mes_ant'];
				
			}
			mysqli_free_result($result42);
			
			//valor de la depreciacion del periodo (mes actual)
			/*
			$result43 = mysqli_query($link, "select b.fldValue as depreciacion_periodo
			from fasFixedAssetDepreciation a, fasFixedAssetDepreciationDetail b
			where 
			b.codFixedAsset = '$cod_af' and 
			a.fldDate = '$fechafin' and  
			a.pkyFixedAssetDepreciation = b.codFixedAssetDepreciation and 
			a.sysEnabled = 1 and a.sysAuthorized = 1;");
			while ($row = mysqli_fetch_array($result43)) {
				$mat_af [$i][23] = $row['depreciacion_periodo'];
			}
			mysqli_free_result($result43);
			*/	
			//}//fin if control
		
		}//fin if mat 19
		
		//fecha para calcular el inicio de la gestion, para la depreciacion de la gestion
		$ano_fin_ges = substr($fechafin,0,4);
		$mes_fin_ges = (int)substr($fechafin,5,2);
		$resultano = mysqli_query($link, "select a.pkyFiscalYear as ano_ini, a.codStartMonth as mes_ini
		from actFiscalYear a
		where
		a.pkyFiscalYear = '$ano_fin_ges';");
		while ($row = mysqli_fetch_array($resultano)) {
			$ano_ini_ges = $row['ano_ini'];
			$mes_ini_fin = $row['mes_ini'];
		}
		mysqli_free_result($resultano);

		//verifico que el mes sea mayor, si no es quiere decir que no es de enero a diciembre
		if($mes_fin_ges >= $mes_ini_fin) { //if mes_fin
			$fechaini = $ano_ini_ges.$fechames[$mes_ini_fin][4];
			$fechafin = $ano_fin_ges.$fechames[$mes_fin_ges][4];
		
		} else { //else if mes_fin
		
			//$fechaini = $ano_ini_ges.$fechames[$mes_ini_fin][4];
			
			$ano_ini_ges--;
			//como resto un ano, verifico si es bisiesto
			$es_bisiesto = esBisiesto($ano_ini_ges);
			if($es_bisiesto == 1) {
				$fechames[2][4] = '-02-29';
			} else {
				$fechames[2][4] = '-02-28';
			}
			$fechaini = $ano_ini_ges.$fechames[$mes_ini_fin][4];
			$fechafin = $ano_fin_ges.$fechames[$mes_fin_ges][4];
			
			$ano_ini_ges--;
			//debo volverlo a poner como estaba
			$es_bisiesto = esBisiesto($ano_ini_ges);
			if($es_bisiesto == 1) {
				$fechames[2][4] = '-02-29';
			} else {
				$fechames[2][4] = '-02-28';
			}
			
		} //fin if mes_fin
		
			
		//valor de la SUMA de la depreciacion del periodo mes actual (gestion) 
		
		$result44 = mysqli_query($link, "select sum(b.fldValue) as depreciacion_gestion
		from fasFixedAssetDepreciation a, fasFixedAssetDepreciationDetail b
		where 
		b.codFixedAsset = '$cod_af' and 
		a.fldDate >= '$fechaini' and  
		a.fldDate <= '$fechafin' and 
		a.pkyFixedAssetDepreciation = b.codFixedAssetDepreciation and 
		a.sysEnabled = 1 and a.sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($result44)) {
			$mat_af [$i][23] = $row['depreciacion_gestion'];
		}
		mysqli_free_result($result44);
		
		$mat_af [$i][30] = $mat_af [$i][23];

						
		/*
		if($mat_af [$i][18] >= $fechaini && $mat_af [$i][18] <= $fechafin) {
		} else {*/
		$mat_af [$i][24] = $mat_af [$i][19] + $mat_af [$i][20];
		//}
		$mat_af [$i][25] = $mat_af [$i][21] + $mat_af [$i][22] + $mat_af [$i][23];
		$mat_af [$i][26] = $mat_af [$i][24] - $mat_af [$i][25];
				
		//controlar si todas las columnas son 0 el valor residual es igual al valor de compra menos la depreciacion inicial que hay que calcularla si existen actualizaciones y depreciaciones posteriores
		$control_cero = $mat_af [$i][19] + $mat_af [$i][20] + $mat_af [$i][21] + $mat_af [$i][22] + $mat_af [$i][23];
		
		if($control_cero == 0) {//if cero
		//echo $control_cero.'<br>';
			$resultcero = mysqli_query($link, "select fin.codigo as codigo, sum(fin.dep_final) - sum(fin.dep_valor) - sum(fin.dep_acum) as dep_ini
			from 
			(select a.pkyFixedAsset as codigo, a.fldAccumulatedDepreciationValue as dep_final, 0 as dep_valor, 0 as dep_acum
			from fasFixedAsset a
			where 
			a.pkyFixedAsset = '$cod_af' and 
			(a.sysEnabled = 1 or (a.sysEnabled = 0 and a.sysAuthorized = 0))  
			union all
			select b.codFixedAsset as codigo, 0 as dep_final, sum(b.fldValue) as dep_valor, 0 as dep_acum
			from fasFixedAssetDepreciationDetail b, fasFixedAssetDepreciation d 
			where 
			b.codFixedAsset = '$cod_af' and 
			b.codFixedAssetDepreciation = d.pkyFixedAssetDepreciation and 
			d.sysEnabled = 1 and d.sysAuthorized = 1  
			group by b.codFixedAsset
			union all
			select c.codFixedAsset as codigo, 0 as dep_final, 0 as dep_valor, sum(c.fldAccumulatedDepreciation) as dep_acum
			from fasFixedAssetValueUpdateDetail c, fasFixedAssetValueUpdate e 
			where 
			c.codFixedAsset = '$cod_af' and 
			c.codFixedAssetValueUpdate = e.pkyFixedAssetValueUpdate and 
			e.sysEnabled = 1 and e.sysAuthorized = 1  
			group by c.codFixedAsset) fin 
			group by fin.codigo;");
			while ($row = mysqli_fetch_array($resultcero)) {
				$mat_af [$i][25] = $row['dep_ini'];
			}
			mysqli_free_result($resultcero);	
				//$total_dep_mes_actual = $dep_inicial;
				$mat_af [$i][20] = $mat_af [$i][17]; //aumento en *
				$mat_af [$i][24] = $mat_af [$i][17]; //aumento en *
				$mat_af [$i][26] = $mat_af [$i][24] - $mat_af [$i][25];
		}//fin if cero
		
		//* controlar si no hay ninguna actualización y los meses son negativos (&& $mat_af [$i][32] < 0 se quitó los mese negativos) el valor de la actualización es el mismo del ingreso	
		//para cuando no se da de baja al item que ya está depreciado y muestre el Valor Residual igual a 1, se hacen depreciaciones y no actualizaciones, también funciona cuando no está depreciado, meses negativos porque se quitó la condición.
		//lo pongo aqui porque tiene que calcular arriba primero, no esta bien probado
		if($hay_act == 0 && $mat_af [$i][20] == 0 && $mat_af [$i][21] == 0) { 
			$mat_af [$i][20] = $mat_af [$i][17]; 
			$mat_af [$i][24] = $mat_af [$i][17]; 
			$mat_af [$i][26] = $mat_af [$i][24] - $mat_af [$i][25];
		}
		
				
		//controlo si calcule la depreciacion inicial entonces la depreciacion de la gestion tiene que ser igual
		if($mat_af [$i][25] != 0 && $mat_af [$i][30] == 0) {
			//echo 'hola';
			$mat_af [$i][30] = $mat_af [$i][25];
			$mat_af [$i][23] = $mat_af [$i][25];
		}
		
		
		
		/*
		if($anual == 1) {
			//echo 'hola';
			$mat_af [$i][23] = $mat_af [$i][30];
			$mat_af [$i][25] = $mat_af [$i][21] + $mat_af [$i][22] + $mat_af [$i][23];
			$mat_af [$i][26] = $mat_af [$i][24] - $mat_af [$i][25];
		}
		*/
		$i++;
		$fechaini = $fechaini_aux;
		$fechafin = $fechafin_aux;
		
	}//fin if anual
}

$fin_af = $i - 1;
mysqli_free_result($result4);



?>
<table border="0" align="left" width="100%" cellpadding="5">
<tr><td><?php echo $mostrar_logo_reportes; ?>
</td><td align="right"><b>Fecha: <?php echo date("Y-m-d"); ?><br/>Hora: <?php echo date("H:i:s"); ?><br/>Usuario: <?php echo $usuario; ?></b>
</td></tr></table>
<p><br /><center><font color="#000099" size="+1"><b>Reporte Activos Fijos</b></font></center></p>
<table border="0" cellpadding="2" align="center" width="100%">
<tr>
<td>	
    <table border="1" align="center" cellpadding="2" width="100%">
        <TR> 
        <TD width="25%"><b>Activo Fijo: </b><?php echo $nom_afijo; ?></TD>
        <TD width="25%"><b>Ordenado por: </b><?php echo $nom_orden; ?></TD>
        <TD width="25%"><b>Sucursal: </b><?php echo $nom_sucursal; ?></TD>
        <TD width="25%"><b>Responsable: </b><?php echo $nom_empleado; ?></TD>
        </TR>
        <TR>
		<?php if($varias_fam == 0) { ?>
			<TD><b>Familia: </b><?php echo $nom_familia; ?></TD>
			<TD><b>Sub Familia: </b><?php echo $nom_subfamilia; ?></TD>
			<TD><b>Grupo: </b><?php echo $nom_grupo; ?></TD>
			<TD><b>Sub Grupo: </b><?php echo $nom_subgrupo; ?></TD>
		<?php } else { ?>
        	<TD colspan="4"><b>Familias: </b><?php echo $nom_familia; ?></TD>
        <?php } ?>
        </TR>
        <TR>
		<TD><b>Seleccionar varias familias: </b><?php echo $nom_varias_fam; ?></TD>
        <TD><b>Marca: </b><?php echo $nom_marca; ?></TD>
        <TD><b>Modelo: </b><?php echo $nom_modelo; ?></TD>
        <TD><b>Mostrar por Sucursal: </b><?php echo $nom_mostrarsuc; ?></TD>
        </TR>
        <TR>
        <?php if($anual == 0) { ?>
        	<TD><b>A Fecha: </b><?php echo $fechafin; ?></TD>
        <?php } else { ?>
        	<TD><b>Gesti&oacute;n: </b><?php echo $anofin; ?> (al <?php echo $fechafin; ?>)</TD>
        <?php } ?>
		<TD><b>Solo Consolidado: </b><?php echo $nom_consolidado; ?></TD>
        <TD><b>Contexto: </b><?php echo $nom_contexto; ?></TD>
        <TD><b>Expresado en: </b><?php echo $nom_moneda_principal; ?></TD>
        </TR>
    </table>

</td>
<!--
<td valign="top" width="150">

    <table border="1" align="center" cellpadding="2" width="100%">
    <tr>
    <TD><b>Tipo de Cambio:</b></TD>
    </tr><tr>
    <TD align="center"><a href="../../ModuleAccounting/VoucherExchangeRate/index.php?pkyExchangeRate=<?php echo $ultimo_tc; ?>&user=<?php echo $usuario; ?>&token=<?php echo $token; ?>" title="Tipo de Cambio"><?php echo $ultimo_tc; ?></a> (<?php echo $tc_fecha; ?> - <?php echo $tc_hora; ?>)<br/ >
        <table border="0" cellpadding="2" align="center">
            <?php
            for($m = 1; $m <= $fin_m; $m++) {
            printf("<tr><td align='left'>1 %s</td>", $ma_tc [$m][1]);//moneda base
            printf("<td align='center'>%s</td>", ' = ');//letra a
            printf("<td align='left'>%s %s</td>", number_format($ma_tc [$m][3],$n_tipocambio), $ma_tc [$m][2]);//moneda target y tasa
            //printf("<td align='right'>%s</td></tr>", number_format($ma_tc [$m][3],$n_tipocambio));//tasa
            }
            ?>
        </table>
    </TD>
    </tr>
	</table>
    
</td>
-->
</tr>
</table>
<br />
<table border="1" align="center" cellpadding="2" width="100%">
    <thead>
    <TR>
    <TD colspan="<?php echo $nro_col2+1; ?>" style="border-left-style:hidden; border-top-style:hidden">&nbsp;</TD>
    <TD align="center" colspan="3"><b>Valor</b></TD>
    <TD align="center" colspan="<?php echo $nro_col; ?>"><b>Depreciaci&oacute;n</b></TD>
    <TD style="border-right-style:hidden; border-top-style:hidden">&nbsp;</TD>
    <TD style="border-right-style:hidden; border-top-style:hidden">&nbsp;</TD>
    </TR>
    <TR> 
    <TD align="center"><b>No.</b></TD>
    <TD align="center"><b>Cod.</b></TD>
    <TD align="center"><b>Cod. Alt.</b></TD>
    <TD align="center"><b>Item</b></TD>
    <TD align="center" width="65"><b>Fecha de Compra</b></TD>
    <TD align="center"><b>Valor de Compra</b></TD>
    <?php if($fechaing_ver == 1) { ?>
    <TD align="center" width="65"><b>Fecha de Ingreso</b></TD>
    <?php } ?>
    <?php if($valoring_ver == 1) { ?>
    <TD align="center"><b>Valor de Ingreso</b></TD>
    <?php } ?>
    <TD align="center"><b>Inicial al <?php echo $fechafin_mesant; ?> y altas en el periodo</b></TD>
    <TD align="center"><b>Reexpresi&oacute;n</b></TD>
    <TD align="center"><b>Total al <?php echo $fechafin; ?></b></TD>
    <TD align="center"><b>Inicial al <?php echo $fechafin_mesant; ?></b></TD>
    <TD align="center"><b>Reexpresi&oacute;n</b></TD>
    <TD align="center"><b>Periodo</b></TD>
    <?php if($gestion_ver == 1) { ?>
    <TD align="center"><b>Gesti&oacute;n</b></TD>
    <?php } ?>
    <?php if($acumulada_ver == 1) { ?>
    <TD align="center"><b>Acumulada al <?php echo $fechafin; ?></b></TD>
    <?php } ?>
    <TD align="center"><b>Valor Residual</b></TD>
    <TD align="center"><b>Vida &Uacute;til en Meses</b></TD>
    </TR>
    </thead>
    <tbody class="marcafila">
    
  <?php
  $color = 2;
  $suma_valor_compra_par = 0; 
  $suma_valor_ingreso_par = 0;   
  $suma_act_mes_anterior_par = 0;
  $suma_reex_act_par = 0;
  $suma_act_mes_actual_par = 0;
  $suma_dep_mes_anterior_par = 0;
  $suma_reex_dep_par = 0;
  $suma_dep_periodo_par = 0;
  $suma_dep_gestion_par = 0;
  $suma_dep_mes_actual_par = 0;
  $suma_valor_residual_par = 0;
  
  $suma_valor_compra_suc = 0;   
  $suma_valor_ingreso_suc = 0;   
  $suma_act_mes_anterior_suc = 0;
  $suma_reex_act_suc = 0;
  $suma_act_mes_actual_suc = 0;
  $suma_dep_mes_anterior_suc = 0;
  $suma_reex_dep_suc = 0;
  $suma_dep_periodo_suc = 0;
  $suma_dep_gestion_suc = 0;
  $suma_dep_mes_actual_suc = 0;
  $suma_valor_residual_suc = 0;
  
  $suma_valor_compra = 0;   
  $suma_valor_ingreso = 0; 
  $suma_act_mes_anterior = 0;
  $suma_reex_act = 0;
  $suma_act_mes_actual = 0;
  $suma_dep_mes_anterior = 0;
  $suma_reex_dep = 0;
  $suma_dep_periodo = 0;
  $suma_dep_gestion = 0;
  $suma_dep_mes_actual = 0;
  $suma_valor_residual = 0;
  
  $i = 1;
  while ($i <= $fin_af) { //while
  $cod_afijo = $mat_af [$i][1];
  $fechafin_act = $mat_af [$i][29];
  //$total_act_mes_actual = $mat_af [$i][19] + $mat_af [$i][20];
  //$total_dep_mes_actual = $mat_af [$i][21] + $mat_af [$i][22] + $mat_af [$i][23];
  //$valor_residual = $total_act_mes_actual - $total_dep_mes_actual;
   if($consolidado == 0) {//if consolidado
	if($color % 2 == 0) { //if color
		printf("<tr BGCOLOR='#e2e7fa'><td align='center'>%s</td>", $i);//numero
	} else {
		printf("<tr><td align='center'>%s</td>", $i);//numero
	}//fin if color
	
	//cuando la depreciacion final del periodo (Acumulada al 2020-08-31) menos depreciacion (Periodo) es igual a la depreciacion (Inicial al 2020-07-31), 
	//Y la resta de la depreciacion (Inicial al 2020-07-31) menos la depreciacion (Periodo) tiene que ser mayor o igual a cero, porque sinó sale negativo
	//entonces, resto para que la depreciacion inicial sea igual a la del mes pasado o anterior. Y la depreciación final es la suma de la inicial mas el periodo, y recalculo el valor residual. 
	if(($mat_af [$i][25] - $mat_af [$i][23]) == $mat_af [$i][21] && ($mat_af [$i][21] - $mat_af [$i][23]) >= 0){ 
		$mat_af [$i][21] = $mat_af [$i][21] - $mat_af [$i][23];
		$mat_af [$i][25] = $mat_af [$i][21] + $mat_af [$i][23];
		$mat_af [$i][26] = $mat_af [$i][24] - $mat_af [$i][25];
	} 

	printf("<td align='center'>%s</td>", $mat_af [$i][1]);//cod
	printf("<td align='center'>%s</td>", $mat_af [$i][2]);//cod alt
	printf("<td align='left'>%s</td>", $mat_af [$i][4]);//item
	printf("<td align='center'>%s</td>", $mat_af [$i][28]);//fecha compra
	printf("<td align='right'>%s</td>", number_format($mat_af [$i][27],$n_decimales));//valor compra
	if($fechaing_ver == 1) { 
	printf("<td align='center'>%s</td>", $mat_af [$i][18]);//fecha ingreso
	}
	if($valoring_ver == 1) { 
	printf("<td align='right'>%s</td>", number_format($mat_af [$i][17],$n_decimales));//valor ingreso
	}
	printf("<td align='right'>%s</td>", number_format($mat_af [$i][20],$n_decimales));//valor inicial mes anterior
	printf("<td align='right'>%s</td>", number_format($mat_af [$i][19],$n_decimales));//valor reexpresion mes actual
	
	printf("<td align='right'>%s</td>", number_format($mat_af [$i][24],$n_decimales));//total actualizacion mes actual
	printf("<td align='right'>%s</td>", number_format($mat_af [$i][21],$n_decimales));//valor depreciacion mes anterior
	printf("<td align='right'>%s</td>", number_format($mat_af [$i][22],$n_decimales));//valor reexpresion depreciacion mes anterior
	printf("<td align='right'>%s</td>", number_format($mat_af [$i][23],$n_decimales));//valor depreciacion periodo mes actual
	if($gestion_ver == 1) { 
	printf("<td align='right'>%s</td>", number_format($mat_af [$i][30],$n_decimales));//valor depreciacion gestion
	}
	if($acumulada_ver == 1) { 		
	printf("<td align='right'>%s</td>", number_format($mat_af [$i][25],$n_decimales));//total depreciacion mes actual
	}
	printf("<td align='right'><a href='report.php?rep=9&tipo=2&afijo_det=$cod_afijo&fechafin_det=$fechafin_act&usuario_det=$usuario&token=$token' title='Detalle Activo Fijo'>%s</a></td>", number_format($mat_af [$i][26],$n_decimales));//valor residual
	printf("<td align='center'>%s</td></tr>", $mat_af [$i][32]);//vida util en meses
   }//fin if consolidado
	$suma_valor_compra_par = $suma_valor_compra_par + $mat_af [$i][27];   
	$suma_valor_ingreso_par = $suma_valor_ingreso_par + $mat_af [$i][17];  
	$suma_act_mes_anterior_par = $suma_act_mes_anterior_par + $mat_af [$i][20];
	$suma_reex_act_par = $suma_reex_act_par + $mat_af [$i][19];
	$suma_act_mes_actual_par = $suma_act_mes_actual_par + $mat_af [$i][24];
	$suma_dep_mes_anterior_par = $suma_dep_mes_anterior_par + $mat_af [$i][21];
	$suma_reex_dep_par = $suma_reex_dep_par + $mat_af [$i][22];
	$suma_dep_periodo_par = $suma_dep_periodo_par + $mat_af [$i][23];
	$suma_dep_gestion_par = $suma_dep_gestion_par + $mat_af [$i][30];
	$suma_dep_mes_actual_par = $suma_dep_mes_actual_par + $mat_af [$i][25];
	$suma_valor_residual_par = $suma_valor_residual_par + $mat_af [$i][26];
	
	$suma_valor_compra_suc = $suma_valor_compra_suc + $mat_af [$i][27];   
	$suma_valor_ingreso_suc = $suma_valor_ingreso_suc + $mat_af [$i][17];   
	$suma_act_mes_anterior_suc = $suma_act_mes_anterior_suc + $mat_af [$i][20];
	$suma_reex_act_suc = $suma_reex_act_suc + $mat_af [$i][19];
	$suma_act_mes_actual_suc = $suma_act_mes_actual_suc + $mat_af [$i][24];
	$suma_dep_mes_anterior_suc = $suma_dep_mes_anterior_suc + $mat_af [$i][21];
	$suma_reex_dep_suc = $suma_reex_dep_suc + $mat_af [$i][22];
	$suma_dep_periodo_suc = $suma_dep_periodo_suc + $mat_af [$i][23];
	$suma_dep_gestion_suc = $suma_dep_gestion_suc + $mat_af [$i][30];
	$suma_dep_mes_actual_suc = $suma_dep_mes_actual_suc + $mat_af [$i][25];
	$suma_valor_residual_suc = $suma_valor_residual_suc + $mat_af [$i][26];
	
	$suma_valor_compra = $suma_valor_compra + $mat_af [$i][27]; 
	$suma_valor_ingreso = $suma_valor_ingreso + $mat_af [$i][17];   
	$suma_act_mes_anterior = $suma_act_mes_anterior + $mat_af [$i][20];
	$suma_reex_act = $suma_reex_act + $mat_af [$i][19];
	$suma_act_mes_actual = $suma_act_mes_actual + $mat_af [$i][24];
	$suma_dep_mes_anterior = $suma_dep_mes_anterior + $mat_af [$i][21];
	$suma_reex_dep = $suma_reex_dep + $mat_af [$i][22];
	$suma_dep_periodo = $suma_dep_periodo + $mat_af [$i][23];
	$suma_dep_gestion = $suma_dep_gestion + $mat_af [$i][30];
	$suma_dep_mes_actual = $suma_dep_mes_actual + $mat_af [$i][25];
	$suma_valor_residual = $suma_valor_residual + $mat_af [$i][26];
	
	if($mat_af [$i][5] != $mat_af [$i+1][5]) {//if familia
	printf("<tr BGCOLOR='#ffcccc'><td colspan='5'><b>Total %s</b></td>", $mat_af [$i][6]);	
	printf("<td align='right'><b>%s</b></td>", number_format($suma_valor_compra_par,$n_decimales));
	if($fechaing_ver == 1) {
	printf("<td>&nbsp;</td>");
	}
	if($valoring_ver == 1) { 
	printf("<td align='right'><b>%s</b></td>", number_format($suma_valor_ingreso_par,$n_decimales));
	}
	printf("<td align='right'><b>%s</b></td>", number_format($suma_act_mes_anterior_par,$n_decimales));
	printf("<td align='right'><b>%s</b></td>", number_format($suma_reex_act_par,$n_decimales));
	printf("<td align='right'><b>%s</b></td>", number_format($suma_act_mes_actual_par,$n_decimales));
	printf("<td align='right'><b>%s</b></td>", number_format($suma_dep_mes_anterior_par,$n_decimales));
	printf("<td align='right'><b>%s</b></td>", number_format($suma_reex_dep_par,$n_decimales));
	printf("<td align='right'><b>%s</b></td>", number_format($suma_dep_periodo_par,$n_decimales));
	if($gestion_ver == 1) { 
	printf("<td align='right'><b>%s</b></td>", number_format($suma_dep_gestion_par,$n_decimales));
	}
	if($acumulada_ver == 1) { 
	printf("<td align='right'><b>%s</b></td>", number_format($suma_dep_mes_actual_par,$n_decimales));
	}
	printf("<td align='right'><b>%s</b></td>", number_format($suma_valor_residual_par,$n_decimales));	
	printf("<td>&nbsp;</td></tr>");
	$suma_valor_compra_par = 0; 
	$suma_valor_ingreso_par = 0;   
	$suma_act_mes_anterior_par = 0;
	$suma_reex_act_par = 0;
	$suma_act_mes_actual_par = 0;
	$suma_dep_mes_anterior_par = 0;
	$suma_reex_dep_par = 0;
	$suma_dep_periodo_par = 0;
	$suma_dep_gestion_par = 0;
	$suma_dep_mes_actual_par = 0;
	$suma_valor_residual_par = 0;
	}//fin if familia
	
	if($mostrarsuc == 1 && $mat_af [$i][14] != $mat_af [$i+1][14]) {//if sucursal
	printf("<tr BGCOLOR='#ffcccc'><td colspan='5'><b>Total %s</b></td>", $mat_af [$i][15]);	
	printf("<td align='right'><b>%s</b></td>", number_format($suma_valor_compra_suc,$n_decimales));
	if($fechaing_ver == 1) { 
	printf("<td>&nbsp;</td>");
	}
	if($valoring_ver == 1) { 
	printf("<td align='right'><b>%s</b></td>", number_format($suma_valor_ingreso_suc,$n_decimales));
	}
	printf("<td align='right'><b>%s</b></td>", number_format($suma_act_mes_anterior_suc,$n_decimales));
	printf("<td align='right'><b>%s</b></td>", number_format($suma_reex_act_suc,$n_decimales));
	printf("<td align='right'><b>%s</b></td>", number_format($suma_act_mes_actual_suc,$n_decimales));
	printf("<td align='right'><b>%s</b></td>", number_format($suma_dep_mes_anterior_suc,$n_decimales));
	printf("<td align='right'><b>%s</b></td>", number_format($suma_reex_dep_suc,$n_decimales));
	printf("<td align='right'><b>%s</b></td>", number_format($suma_dep_periodo_suc,$n_decimales));
	if($gestion_ver == 1) { 
	printf("<td align='right'><b>%s</b></td>", number_format($suma_dep_gestion_suc,$n_decimales));
	}
	if($acumulada_ver == 1) { 
	printf("<td align='right'><b>%s</b></td>", number_format($suma_dep_mes_actual_suc,$n_decimales));
	}
	printf("<td align='right'><b>%s</b></td>", number_format($suma_valor_residual_suc,$n_decimales));	
	printf("<td>&nbsp;</td></tr>");
	printf("<tr><td colspan='%s'>&nbsp;</td></tr>", $nro_col3);
	$suma_valor_compra_suc = 0; 
	$suma_valor_ingreso_suc = 0;   
	$suma_act_mes_anterior_suc = 0;
	$suma_reex_act_suc = 0;
	$suma_act_mes_actual_suc = 0;
	$suma_dep_mes_anterior_suc = 0;
	$suma_reex_dep_suc = 0;
	$suma_dep_periodo_suc = 0;
	$suma_dep_gestion_suc = 0;
	$suma_dep_mes_actual_suc = 0;
	$suma_valor_residual_suc = 0;
	}//fin if sucursal
	$color++;
	$i++;
  }//fin while
	
?>
<tr BGCOLOR="#ffcccc"><td colspan="5"><b>Total General</b></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_valor_compra,$n_decimales)); ?></td>
<?php if($fechaing_ver == 1) { ?>
<td>&nbsp;</td>
<?php } ?>
<?php if($valoring_ver == 1) { ?>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_valor_ingreso,$n_decimales)); ?></td>
<?php } ?>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_act_mes_anterior,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_reex_act,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_act_mes_actual,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_dep_mes_anterior,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_reex_dep,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_dep_periodo,$n_decimales)); ?></td>
<?php if($gestion_ver == 1) { ?>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_dep_gestion,$n_decimales)); ?></td>
<?php } ?>
<?php if($acumulada_ver == 1) { ?>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_dep_mes_actual,$n_decimales)); ?></td>
<?php } ?>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_valor_residual,$n_decimales)); ?></td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<?php

} //fin if 2




// inicio muestra detalle


if($rep == 9 && $tipo == 2) { // if 3


//detalle de activo fijo 	
$result4 = mysqli_query($link, "select a.pkyFixedAsset as cod_af, a.fldFactoryKey as cod_fabrica, a.fldAlternativeKey as cod_alt, a.fldName as afijo, a.codFamily as cod_familia, b.fldName as familia, a.codSubFamily as cod_subfamilia, a.codGroup as cod_grupo, a.codSubGroup as cod_subgrupo, a.codBrand as cod_marca, a.codBrandModel as cod_modelo, a.codEmployeeResponsible as cod_emp, case when c.fldMiddleName is NULL then concat(c.fldLastName,', ',c.fldFirstName) else concat(c.fldLastName,' ',c.fldMiddleName,', ',c.fldFirstName) end as empleado, a.codCompanyBranch as cod_suc, d.fldName as sucursal, a.codExchangeRate as cod_tc, a.fldValue as valor, e.fldDate as fecha_alta, a.fldOriginalValue as valor_compra, a.fldIncomingDate as fecha_compra
from 
fasFixedAsset a, fasFixedAssetCategory b, agnPerson c, agnCompanyBranch d, fasFixedAssetMovement e
where 
a.pkyFixedAsset = '$afijo_det' and 
a.codFamily = b.pkyFixedAssetCategory and 
a.codEmployeeResponsible = c.pkyPerson and 
a.codCompanyBranch = d.pkyCompanyBranch and 
a.pkyFixedAsset = e.codFixedAsset and 
e.codType = 1 and 
(a.sysEnabled = 1 or (a.sysEnabled = 0 and a.sysAuthorized = 0)) ;");

while ($row = mysqli_fetch_array($result4)) {
	$cod_afijo_det = $row['cod_af'];
	$cod_fabrica_det = $row['cod_fabrica'];
	$cod_alt_det = $row['cod_alt'];
	$nom_afijo_det = $row['afijo'];
	$cod_familia_det = $row['cod_familia'];
	$nom_familia_det = $row['familia'];
	$cod_subfamilia_det = $row['cod_subfamilia'];
	$cod_grupo_det = $row['cod_grupo'];
	$cod_subgrupo_det = $row['cod_subgrupo'];
	$cod_marca_det = $row['cod_marca'];
	$cod_modelo_det = $row['cod_modelo'];
	$cod_emp_det = $row['cod_emp'];
	$nom_empleado_det = $row['empleado'];
	$cod_suc_det = $row['cod_suc'];
	$nom_sucursal_det = $row['sucursal'];
	$cod_tc_det = $row['cod_tc'];
	$valor_compra_det = $row['valor_compra'];
	$fecha_compra_det = $row['fecha_compra'];
	$valor_det = $row['valor'];
	$fecha_alta_det = $row['fecha_alta'];
}
mysqli_free_result($result4);

//meses depreciacion
$resultfam = mysqli_query($link, "select fldDepreciationTime as meses_dep
					from 
					fasFixedAssetCategory
					where
					pkyFixedAssetCategory = '$cod_familia_det' and 
					sysEnabled = 1 and sysAuthorized = 1;");
while ($row = mysqli_fetch_array($resultfam)) {
	$meses_dep = $row['meses_dep'];
}
mysqli_free_result($resultfam);

//nombre sub familia
$resultsubf = mysqli_query($link, "select pkyFixedAssetCategory as cod, fldName as nombre
					from 
					fasFixedAssetCategory
					where
					pkyFixedAssetCategory = '$cod_subfamilia_det' and 
					sysEnabled = 1 and sysAuthorized = 1;");
while ($row = mysqli_fetch_array($resultsubf)) {
	$nom_subfamilia_det = $row['nombre'];
}
mysqli_free_result($resultsubf);

//nombre grupo
$resultgru = mysqli_query($link, "select pkyFixedAssetCategory as cod, fldName as nombre
					from 
					fasFixedAssetCategory
					where
					pkyFixedAssetCategory = '$cod_grupo_det' and 
					sysEnabled = 1 and sysAuthorized = 1;");
while ($row = mysqli_fetch_array($resultgru)) {
	$nom_grupo_det = $row['nombre'];
}
mysqli_free_result($resultgru);

//nombre sub grupo
$resultsubg = mysqli_query($link, "select pkyFixedAssetCategory as cod, fldName as nombre
					from 
					fasFixedAssetCategory
					where
					pkyFixedAssetCategory = '$cod_subgrupo_det' and 
					sysEnabled = 1 and sysAuthorized = 1;");
while ($row = mysqli_fetch_array($resultsubg)) {
	$nom_subgrupo_det = $row['nombre'];
}
mysqli_free_result($resultsubg);

//nombre marca
$result5 = mysqli_query($link, "select pkyBrand as cod, fldName as marca 
						from invBrand 
						where 
						pkyBrand = '$cod_marca_det' and 
						sysEnabled = 1 and sysAuthorized = 1;");
while ($row = mysqli_fetch_array($result5)) {
	$nom_marca_det = $row['marca'];
}
mysqli_free_result($result5);

//nombre modelo
$result6 = mysqli_query($link, "select pkyBrandModel as cod, fldName as modelo 
						from invBrandModel 
						where 
						pkyBrandModel = '$cod_modelo_det' and 
						sysEnabled = 1 and sysAuthorized = 1;");
while ($row = mysqli_fetch_array($result6)) {
	$nom_modelo_det = $row['modelo'];
}
mysqli_free_result($result6);

$mes_ini_det = (int)substr($fecha_alta_det,5,2);
$ano_ini_det = (int)substr($fecha_alta_det,0,4);

$fechames = array();

$fechames[1][1] = 1;
$fechames[1][2] = 'Enero';
$fechames[1][3] = '-01-01';
$fechames[1][4] = '-01-31';
$fechames[2][1] = 2;
$fechames[2][2] = 'Febrero';
$fechames[2][3] = '-02-01';
$es_bisiesto = esBisiesto($ano_ini_det);
if($es_bisiesto == 1) {
	$fechames[2][4] = '-02-29';
} else {
	$fechames[2][4] = '-02-28';
}
$fechames[3][1] = 3;
$fechames[3][2] = 'Marzo';
$fechames[3][3] = '-03-01';
$fechames[3][4] = '-03-31';
$fechames[4][1] = 4;
$fechames[4][2] = 'Abril';
$fechames[4][3] = '-04-01';
$fechames[4][4] = '-04-30';
$fechames[5][1] = 5;
$fechames[5][2] = 'Mayo';
$fechames[5][3] = '-05-01';
$fechames[5][4] = '-05-31';
$fechames[6][1] = 6;
$fechames[6][2] = 'Junio';
$fechames[6][3] = '-06-01';
$fechames[6][4] = '-06-30';
$fechames[7][1] = 7;
$fechames[7][2] = 'Julio';
$fechames[7][3] = '-07-01';
$fechames[7][4] = '-07-31';
$fechames[8][1] = 8;
$fechames[8][2] = 'Agosto';
$fechames[8][3] = '-08-01';
$fechames[8][4] = '-08-31';
$fechames[9][1] = 9;
$fechames[9][2] = 'Septiembre';
$fechames[9][3] = '-09-01';
$fechames[9][4] = '-09-30';
$fechames[10][1] = 10;
$fechames[10][2] = 'Octubre';
$fechames[10][3] = '-10-01';
$fechames[10][4] = '-10-31';
$fechames[11][1] = 11;
$fechames[11][2] = 'Noviembre';
$fechames[11][3] = '-11-01';
$fechames[11][4] = '-11-30';
$fechames[12][1] = 12;
$fechames[12][2] = 'Diciembre';
$fechames[12][3] = '-12-01';
$fechames[12][4] = '-12-31';

$fecha1 = $fecha_alta_det;
//$fecha1 = $ano_ini_det.$fechames[$mes_ini_det][3];
$fecha2 = $ano_ini_det.$fechames[$mes_ini_det][4];


$mat_af = array();
$i = 1;
while($fecha1 <= $fechafin_det) {//while fecha

	$mat_af [$i][1] = $i;
	$mat_af [$i][2] = $fecha1;

	if($i == 1) {//if i=1
	//verifico si hay actualizaciones
	
	$result41 = mysqli_query($link, "select sum(b.fldValue) as valor
	from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
	where 
	b.codFixedAsset = '$cod_afijo_det' and 
	a.fldDate >= '$fecha1' and 
	a.fldDate <= '$fecha2' and  
	a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
	a.sysEnabled = 1 and a.sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($result41)) {
			$mat_af [$i][4] = $row['valor'];
		}
		mysqli_free_result($result41);

		if($mat_af [$i][4] == NULL) { //if null
			
			$mat_af [$i][2] = $fecha2;
			
		} else { //else if null
			// si hay actualizaciones encuentro la fecha de la primera
			$result411 = mysqli_query($link, "select a.fldDate as fecha
											from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
											where 
											b.codFixedAsset = '$cod_afijo_det' and 
											a.fldDate <= '$fecha2' and  
											a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
											a.sysEnabled = 1 and a.sysAuthorized = 1
											order by a.fldDate desc;");
					while ($row = mysqli_fetch_array($result411)) {
						$mat_af [$i][2] = $row['fecha'];
					}
		
					mysqli_free_result($result411);
			
		} //fin if null

	$fecha1 = $mat_af [$i][2];

	}//fin if i=1

	//valor actualización valor, depreciacion valor, depreciacion incremento (mes anterior)
		
	$result42 = mysqli_query($link, "select a.pkyFixedAssetValueUpdate as cod_act, b.fldValue as valor, b.fldPreviousUpdatedValue as actualizacion_mes_ant, b.fldPreviousAccumulatedDepreciation as depreciacion_mes_ant, b.fldAccumulatedDepreciation as depreciacion_mes_ant_incremento
	from fasFixedAssetValueUpdate a, fasFixedAssetValueUpdateDetail b
	where 
	b.codFixedAsset = '$cod_afijo_det' and 
	a.fldDate = '$fecha1' and  
	a.pkyFixedAssetValueUpdate = b.codFixedAssetValueUpdate and 
	a.sysEnabled = 1 and a.sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($result42)) {
			$mat_af [$i][4] = $row['valor'];
			$mat_af [$i][3] = $row['actualizacion_mes_ant'];
			$mat_af [$i][6] = $row['depreciacion_mes_ant'];
			$mat_af [$i][7] = $row['depreciacion_mes_ant_incremento'];
			$mat_af [$i][12] = $row['cod_act'];
		}
		mysqli_free_result($result42);
		

	//valor de la depreciacion del periodo (mes actual)
		
	$result43 = mysqli_query($link, "select a.pkyFixedAssetDepreciation as cod_dep, b.fldValue as depreciacion_periodo
	from fasFixedAssetDepreciation a, fasFixedAssetDepreciationDetail b
	where 
	b.codFixedAsset = '$cod_afijo_det' and 
	a.fldDate = '$fecha1' and  
	a.pkyFixedAssetDepreciation = b.codFixedAssetDepreciation and 
	a.sysEnabled = 1 and a.sysAuthorized = 1;");
		while ($row = mysqli_fetch_array($result43)) {
			$mat_af [$i][9] = $row['depreciacion_periodo'];
			$mat_af [$i][13] = $row['cod_dep'];
		}
		mysqli_free_result($result43);
		
		$mat_af [$i][5] = $mat_af [$i][3] + $mat_af [$i][4];
		$mat_af [$i][8] = $mat_af [$i][6] + $mat_af [$i][7];
		$mat_af [$i][10] = $mat_af [$i][8] + $mat_af [$i][9];
		$mat_af [$i][11] = $mat_af [$i][5] - $mat_af [$i][10];
		/*
		if($mes_ini_det == 12) {
			$ano_ini_det++;
			//controlar si al cambiar de ano es bisiesto, solo en febrero
				$es_bisiesto = esBisiesto($ano_ini_det);
				if($es_bisiesto == 1) {
					$fechames[2][4] = '-02-29';
				} else {
					$fechames[2][4] = '-02-28';
				}
			
			$fecha1 = $ano_ini_det.$fechames[1][3];
			$fecha2 = $ano_ini_det.$fechames[1][4];
			$mes_ini_det = 1;
		} else {
			$mes_ini_det++;
			$fecha1 = $ano_ini_det.$fechames[$mes_ini_det][3];
			$fecha2 = $ano_ini_det.$fechames[$mes_ini_det][4];
		}
		*/
		//controla si la suma es 0 pone el valor de compra en valor residual
		$control_cero = $mat_af [$i][3] + $mat_af [$i][4] + $mat_af [$i][5] + $mat_af [$i][6] + $mat_af [$i][7] + $mat_af [$i][8] + $mat_af [$i][9] + $mat_af [$i][10];
		if($control_cero == 0 && $i == 1) {//if cero
			$resultcero = mysqli_query($link, "select fin.codigo as codigo, sum(fin.dep_final) - sum(fin.dep_valor) - sum(fin.dep_acum) as dep_ini
			from 
			(select a.pkyFixedAsset as codigo, a.fldAccumulatedDepreciationValue as dep_final, 0 as dep_valor, 0 as dep_acum
			from fasFixedAsset a
			where 
			a.pkyFixedAsset = '$cod_afijo_det' and 
			(a.sysEnabled = 1 or (a.sysEnabled = 0 and a.sysAuthorized = 0))  
			union all
			select b.codFixedAsset as codigo, 0 as dep_final, sum(b.fldValue) as dep_valor, 0 as dep_acum
			from fasFixedAssetDepreciationDetail b, fasFixedAssetDepreciation d 
			where 
			b.codFixedAsset = '$cod_afijo_det' and 
			b.codFixedAssetDepreciation = d.pkyFixedAssetDepreciation and 
			d.sysEnabled = 1 and d.sysAuthorized = 1   
			group by b.codFixedAsset
			union all
			select c.codFixedAsset as codigo, 0 as dep_final, 0 as dep_valor, sum(c.fldAccumulatedDepreciation) as dep_acum
			from fasFixedAssetValueUpdateDetail c, fasFixedAssetValueUpdate e
			where 
			c.codFixedAsset = '$cod_afijo_det' and 
			c.codFixedAssetValueUpdate = e.pkyFixedAssetValueUpdate and 
			e.sysEnabled = 1 and e.sysAuthorized = 1 
			group by c.codFixedAsset) fin 
			group by fin.codigo;");
			while ($row = mysqli_fetch_array($resultcero)) {
				$dep_inicial = $row['dep_ini'];
			}
			mysqli_free_result($resultcero);	
				$mat_af [$i][10] = $dep_inicial;
				$mat_af [$i][11] = $valor_det - $mat_af [$i][10];
		}//fin if cero
		$fecha1 = sumaDia($fecha1,1);
		$i++;
}//fin while fecha

$fin_i = $i - 1;

?>
<table border="0" align="left" width="100%" cellpadding="5">
<tr><td><?php echo $mostrar_logo_reportes; ?>
</td><td align="right"><b>Fecha: <?php echo date("Y-m-d"); ?><br/>Hora: <?php echo date("H:i:s"); ?><br/>Usuario: <?php echo $usuario; ?></b>
</td></tr></table>
<p><br /><center><font color="#000099" size="+1"><b>Detalle Activos Fijos</b></font></center></p>
<table border="0" cellpadding="2" align="center" width="100%">
<tr>
<td>	
    <table border="1" align="center" cellpadding="2" width="100%">
        <TR> 
        <TD width="25%"><b>Activo Fijo: </b><?php echo $cod_afijo_det.' - '.$cod_fabrica_det.' - '.$cod_alt_det.' - '.$nom_afijo_det; ?></TD>
        <TD width="25%"><b>Sucursal: </b><?php echo $nom_sucursal_det; ?></TD>
        <TD width="25%"><b>Responsable: </b><?php echo $nom_empleado_det; ?></TD>
        <TD width="25%"><b>Meses Depreciaci&oacute;n: </b><?php echo number_format($meses_dep, $n_decimales); ?></TD>
        </TR>
        <TR>
        <TD><b>Familia: </b><?php echo $nom_familia_det; ?></TD>
        <TD><b>Sub Familia: </b><?php echo $nom_subfamilia_det; ?></TD>
        <TD><b>Grupo: </b><?php echo $nom_grupo_det; ?></TD>
        <TD><b>Sub Grupo: </b><?php echo $nom_subgrupo_det; ?></TD>
        </TR>
        <TR>
        <TD><b>Marca: </b><?php echo $nom_marca_det; ?></TD>
        <TD><b>Modelo: </b><?php echo $nom_modelo_det; ?></TD>
        <TD><b>Valor de Compra: </b><?php echo number_format($valor_compra_det, $n_decimales); ?></TD>
        <TD><b>Fecha de Compra: </b><?php echo $fecha_compra_det; ?></TD>
        </TR>
        <TR>
        <TD><b>Valor de Ingreso: </b><?php echo number_format($valor_det, $n_decimales); ?></TD>
        <TD><b>Fecha de Ingreso: </b><?php echo $fecha_alta_det; ?></TD>
        <TD><b>A Fecha: </b><?php echo $fechafin_det; ?></TD>
        <TD><b>Expresado en: </b><?php echo $nom_moneda_principal; ?></TD>
        </TR>
    </table>

</td>
<!--
<td valign="top" width="150">

    <table border="1" align="center" cellpadding="2" width="100%">
    <tr>
    <TD><b>Tipo de Cambio:</b></TD>
    </tr><tr>
    <TD align="center"><a href="../../ModuleAccounting/VoucherExchangeRate/index.php?pkyExchangeRate=<?php echo $ultimo_tc; ?>&user=<?php echo $usuario; ?>&token=<?php echo $token; ?>" title="Tipo de Cambio"><?php echo $ultimo_tc; ?></a> (<?php echo $tc_fecha; ?> - <?php echo $tc_hora; ?>)<br/ >
        <table border="0" cellpadding="2" align="center">
            <?php
            for($m = 1; $m <= $fin_m; $m++) {
            printf("<tr><td align='left'>1 %s</td>", $ma_tc [$m][1]);//moneda base
            printf("<td align='center'>%s</td>", ' = ');//letra a
            printf("<td align='left'>%s %s</td>", number_format($ma_tc [$m][3],$n_tipocambio), $ma_tc [$m][2]);//moneda target y tasa
            //printf("<td align='right'>%s</td></tr>", number_format($ma_tc [$m][3],$n_tipocambio));//tasa
            }
            ?>
        </table>
    </TD>
    </tr>
	</table>
    
</td>
-->
</tr>
</table>
<br />
<table border="1" align="center" cellpadding="2" width="100%">
    <thead>
    <TR>
    <TD colspan="2" style="border-left-style:hidden; border-top-style:hidden">&nbsp;</TD>
    <TD align="center" colspan="3"><b>Valor</b></TD>
    <TD align="center" colspan="5"><b>Depreciaci&oacute;n</b></TD>
    <TD style="border-right-style:hidden; border-top-style:hidden">&nbsp;</TD>
    </TR>
    <TR> 
    <TD align="center"><b>No.</b></TD>
    <TD align="center" width="65"><b>A Fecha</b></TD>
    <TD align="center"><b>Anterior</b></TD>
    <TD align="center"><b>Reexpresi&oacute;n</b></TD>
    <TD align="center"><b>Total</b></TD>
    <TD align="center"><b>Anterior</b></TD>
    <TD align="center"><b>Reexpresi&oacute;n</b></TD>
    <TD align="center"><b>Total</b></TD>
    <TD align="center"><b>Periodo</b></TD>
    <TD align="center"><b>Acumulada</b></TD>
    <TD align="center"><b>Valor Residual</b></TD>
    </TR>
    </thead>
    <tbody class="marcafila">
    
  <?php
  $color = 2;
  
  $suma_anterior_act = 0;   
  $suma_reex_act = 0;
  $suma_total_act = 0;
  $suma_anterior_dep = 0;
  $suma_reex_dep = 0;
  $suma_total_dep = 0;
  $suma_periodo_dep = 0;
  $suma_acumulada_dep = 0;
  $suma_valor_residual = 0;
  
  $i = 1;
  $j = 1;
  while ($i <= $fin_i) { //while
  	$cod_act = $mat_af [$i][12];
	$cod_dep = $mat_af [$i][13];
	
	//no muestra las filas con 0
	$control_cero = $mat_af [$i][3] + $mat_af [$i][4] + $mat_af [$i][5] + $mat_af [$i][6] + $mat_af [$i][7] + $mat_af [$i][8] + $mat_af [$i][9] + $mat_af [$i][10] + $mat_af [$i][11];
	if($control_cero != 0) {//if cero
    
		if($color % 2 == 0) { //if color
			printf("<tr BGCOLOR='#e2e7fa'><td align='center'>%s</td>", $j);//numero
		} else {
			printf("<tr><td align='center'>%s</td>", $j);//numero
		}//fin if color
		
		//calculo cuando la depreciacion del periodo es igual a la depreciacion acumulada, el valor anterior es igual al acumulado anterior
		//echo $mat_af [$i][9].' - '.$mat_af [$i][10].' - '.$i.'<br>';
		/*
		if($mat_af [$i][9] == $mat_af [$i][10]){
			$mat_af [$i][6] = $mat_af [$anterior][10]; //cargo el valor anterior de la depreciacion
			$mat_af [$i][8] = $mat_af [$i][6] + $mat_af [$i][7]; //calculo el valor total 
			$mat_af [$i][10] = $mat_af [$i][8] + $mat_af [$i][9]; //calculo el valor depreciacion acumulada
		}
		$anterior = $i;
		*/
		printf("<td align='center'>%s</td>", $mat_af [$i][2]);//a fecha
		printf("<td align='right'><a href='../../ModuleFixedAssets/VoucherFixedAssetValueUpdate/index.php?pkyFixedAssetValueUpdate=$cod_act&user=$usuario&token=$token' title='Actualizaci&oacute;n Activo Fijo'>%s</a></td>", number_format($mat_af [$i][3],$n_decimales));//valor anterior
		printf("<td align='right'>%s</td>", number_format($mat_af [$i][4],$n_decimales));//valor reexp
		printf("<td align='right'>%s</td>", number_format($mat_af [$i][5],$n_decimales));//valor total
		printf("<td align='right'>%s</td>", number_format($mat_af [$i][6],$n_decimales));//dep anterior
		printf("<td align='right'>%s</td>", number_format($mat_af [$i][7],$n_decimales));//dep reexp
		printf("<td align='right'>%s</td>", number_format($mat_af [$i][8],$n_decimales));//dep total
		printf("<td align='right'><a href='../../ModuleFixedAssets/VoucherFixedAssetDepreciation/index.php?pkyFixedAssetDepreciation=$cod_dep&user=$usuario&token=$token' title='Depreciaci&oacute;n Activo Fijo'>%s</a></td>", number_format($mat_af [$i][9],$n_decimales));//dep period
		
		printf("<td align='right'>%s</td>", number_format($mat_af [$i][10],$n_decimales));//dep acumulada
		printf("<td align='right'>%s</td></tr>", number_format($mat_af [$i][11],$n_decimales));//valor residual
	
	$suma_anterior_act = $suma_anterior_act + $mat_af [$i][3];   
	$suma_reex_act = $suma_reex_act + $mat_af [$i][4];
	$suma_total_act = $suma_total_act + $mat_af [$i][5];
	$suma_anterior_dep = $suma_anterior_dep + $mat_af [$i][6];
	$suma_reex_dep = $suma_reex_dep + $mat_af [$i][7];
	$suma_total_dep = $suma_total_dep + $mat_af [$i][8];
	$suma_periodo_dep = $suma_periodo_dep + $mat_af [$i][9];
	$suma_acumulada_dep = $suma_acumulada_dep + $mat_af [$i][10];
	$suma_valor_residual = $suma_valor_residual + $mat_af [$i][11];

	$color++;
	
	} //fin if cero
	
	$i++;
  }//fin while
	
?>
<tr BGCOLOR="#ffcccc"><td colspan="2"><b>Total</b></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_anterior_act,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_reex_act,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_total_act,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_anterior_dep,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_reex_dep,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_total_dep,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_periodo_dep,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_acumulada_dep,$n_decimales)); ?></td>
<td align="right"><?php printf("<b>%s</b>", number_format($suma_valor_residual,$n_decimales)); ?></td>
</tr>
</tbody>
</table>
<?php


} //fin if 3

?>

