<?php

 date_default_timezone_set('America/Costa_Rica');
 require ('fe_consultasbd.php');	//Realizas las consultas a BD para la optencion de datos

function formatoFecha2($x){	
	if(isset($_GET['n']))  
		$fecha = new DateTime(date('Y-m-d h:i:s',strtotime('now')));	
	else
		$fecha = new DateTime($x);
		
	return $fecha->format('c');
 }
 
 
 $fecha_actual=  date('Y-m-d') ;
 $fecha_actualizacion =  $parametros['fec_act_4.3.2'];
 



	$numcomp = $facturas['numcomp'];
	$tipocomprobante = substr("$numcomp",8,2);


	if ($tipocomprobante == "04"){		
require ('Firmadorcr_04.php');
	
	}else{
require ('Firmadorcr_01.php');
	
	}



$detalleFactura = '';
if ($resultadoDatofactulinea->num_rows > 0) {
	$count = 0;
    while($factulinea = $resultadoDatofactulinea->fetch_assoc()) { 	
		$count++;
		
		$row =	[
			'NumeroLinea'=>$count,
			'Codigo'=>$factulinea['cdgcabys'],
			'CodigoComercial'=>[                            
				'Tipo'=>$factulinea['cdgtipart'],
				'Codigo'=>$factulinea['codigo'],
			],
			'Cantidad'=>$factulinea['cantidad'],
			'UnidadMedida'=>$factulinea['unimed'],
			'Detalle'=>$factulinea['dscart'],
			'PrecioUnitario'=>$factulinea['prenivi'],
			'MontoTotal'=>$factulinea['importe'],					
		];
		
		if(isset($factulinea['mondes'])){
			if($factulinea['mondes'] > 0){
		
			$row['Descuento'] = [
				'MontoDescuento' => $factulinea['mondes'],		
				'NaturalezaDescuento' => $factulinea['natdes']
				];
				
			}
		}
			
		$row['SubTotal'] = $factulinea['subtotal'];	
		
		if(!empty($factulinea['cdgimp'])){		
		 if(!empty($factulinea['cdgtipexo'])){   //  se agrega en la version 4.3
			$row['Impuesto'] = [
					'Codigo'=>$factulinea['cdgimp'],
					'CodigoTarifa'=>$factulinea['cdgtar'],
					'Tarifa'=>$factulinea['tarimp'],				
					'Monto'=>$factulinea['monimpexo'] + $factulinea['impuesto'] 
						];
					
					
				}else {	
				
				$row['Impuesto'] = [
					'Codigo'=>$factulinea['cdgimp'],
					'CodigoTarifa'=>$factulinea['cdgtar'],
					'Tarifa'=>$factulinea['tarimp'],				
					'Monto'=>$factulinea['impuesto']      //  se agrega en la version 4.3	
						];
					
			
			     	}	
	 				}
					
			
			
//			if(!empty($factulinea['cdgimp'])){
//			$row['Impuesto'] = [
//					'Codigo'=>$factulinea['cdgimp'],
//					'CodigoTarifa'=>$factulinea['cdgtar'],
//					'Tarifa'=>$factulinea['tarimp'],				
//					'Monto'=>$factulinea['impuesto']	
//				];
		
			if(!empty($factulinea['cdgtipexo'])){
				$row['Impuesto']['Exoneracion'] = [	
					'TipoDocumento'=>$factulinea['cdgtipexo'],
					'NumeroDocumento'=>$factulinea['numdocexo'],
					'NombreInstitucion'=>$factulinea['nominstexo'],
					'FechaEmision'=>$factulinea['fecemiexo'],             // se cambia con la nueva version de exoneracion
				//	'MontoImpuesto'=>$factulinea['monimpexo'],               //  se comenta en la version 4.3
					'PorcentajeExoneracion'=>$factulinea['porcomexo'],       //  se agrega en la version 4.3
					'MontoExoneracion'=>$factulinea['monimpexo'],            //  se agrega en la version 4.3
				
				
				
//								$row['Impuesto']['Exoneracion'] = [	
//					'TipoDocumento'=>$factulinea['cdgtipexo'],
//					'NumeroDocumento'=>$factulinea['numdocexo'],
//					'NombreInstitucion'=>$factulinea['nominstexo'],
//					'FechaEmision'=>formatoFecha2($facturas['fechac']),
//					'PorcentajeExoneracion'=>$factulinea['porcomexo'],       //  se agrega en la version 4.3
//					'MontoExoneracion'=>$factulinea['monimpexo'],            //  se agrega en la version 4.3
				
				
				
		
			
					
					
				];	
				
				$row['ImpuestoNeto']    = $factulinea['impuesto'] ;          //  se agrega en la version 4.3
			
			}else {	
			
			$row['ImpuestoNeto']    = $factulinea['impuesto'];            //  se agrega en la version 4.3			
	 	}
		//}
		

		$row['MontoTotalLinea'] = $factulinea['montotlin'];
	
		
		$xml_data_linea = new SimpleXMLElement('<LineaDetalle></LineaDetalle>');
		$linea_to_xml = new Firmadocr();
		$linea_to_xml->array_to_xml($row,$xml_data_linea); //Arreglo -> Instacia para futuro XML
		
		$dom = new DOMDocument("1.0");
		$dom->preserveWhiteSpace = false;
		$dom->formatOutput = true;
		$dom->loadXML($xml_data_linea->asXML());
	
		$detalleFactura_pre  = $dom->saveXML(); //objeto a string
		$detalleFactura_final = preg_replace("/<\\?xml.*\\?>/",'', $detalleFactura_pre);
		$detalleFactura .= $detalleFactura_final;
		
		
		

	}
}



  
  
