<?php

require ('Firmadorcr.php');

 date_default_timezone_set('America/Costa_Rica');
require ('nt_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'];
 
 
// if ($fecha_actual >= $fecha_actualizacion ){   /////////////////////////////// version 4.3.1 //////////////////////////////////////////




$detalleFactura = '';
if ($factulinea_notas->num_rows > 0) {
	$count = 0;
    while($factulinea = $factulinea_notas->fetch_assoc()) { 	
		$count++;
		
		$row =	[
			'NumeroLinea'=>$count,
			'CodigoCABYS'=>$factulinea['cdgcabys'],                                                // se cambia nombre de codigo a Codigo CABYS version 4.4 
			'CodigoComercial'=>[                            
				'Tipo'=>$factulinea['cdgtipart'],
				'Codigo'=>$factulinea['codigo']
			],
				];
			
			$row['Cantidad'] =$factulinea['cantidad'];
			$row['UnidadMedida'] =$factulinea['unimed'];
			$row['Detalle'] =$factulinea['dscart'];
			
		
				
	if($factulinea['farmacia'] === '1'){ 					//TODO codificacion existente del sistema
			$row['RegistroMedicamento'] = $factulinea['regmedfarm'];
			$row['FormaFarmaceutica'] = $factulinea['formafarm'];
	}
	
			$row['PrecioUnitario'] = $factulinea['prenivi'];
			$row['MontoTotal'] = $factulinea['importe'];
										
		
		if(isset($factulinea['mondes'])){
			if($factulinea['mondes'] > 0){
		
		
		$row['Descuento'] = [
				'MontoDescuento' => $factulinea['mondes'],		
				//'NaturalezaDescuento' => $factulinea['natdes']                                       // se elimina en la version 4.4
				'CodigoDescuento' => $factulinea['natdes']												   //  se agrega en la version 4.4   
				];
			
		
			}
		}
			
		$row['SubTotal'] = $factulinea['subtotal'];	
		
		$row['BaseImponible'] = $factulinea['subtotal'];	                                                //  se agrega en la version 4.4   
			
	if(!empty($factulinea['cdgimp'])){		
		 if(!empty($factulinea['cdgtipexo'])){   //  se agrega en la version 4.3
			$row['Impuesto'] = [
					'Codigo'=>$factulinea['cdgimp'],
					'CodigoTarifaIVA'=>$factulinea['cdgtar'],                                                     //  se Cambia el nombre del nodo  en la version 4.4  
					'Tarifa'=>$factulinea['tarimp'],				
					'Monto'=>$factulinea['monimpexo'] + $factulinea['impuesto'] 	
						];
					
					
				}else {	
				
				$row['Impuesto'] = [
					'Codigo'=>$factulinea['cdgimp'],
					'CodigoTarifaIVA'=>$factulinea['cdgtar'],                                              //  se Cambia el nombre del nodo  en la version 4.4  
					'Tarifa'=>$factulinea['tarimp'],				
					'Monto'=>$factulinea['impuesto']      //  se agrega en la version 4.3	
						];
					
			
			     	}	
	 				}
					
				
				
				
///////////////////////////////////////////////////////////////////////////    se agrefa if en la version 4.4 ///////////////////////////////////////////////////////////////////////////
				if($factulinea['cdgtipexo'] == "02" || $factulinea['cdgtipexo'] == "03"  || $factulinea['cdgtipexo'] == "06" || $factulinea['cdgtipexo'] == "07" || $factulinea['cdgtipexo'] == "08"  ){	
	
			if(!empty($factulinea['cdgtipexo'])){
				$row['Impuesto']['Exoneracion'] = [	
					'TipoDocumentoEX1'=>$factulinea['cdgtipexo'],             // SE cambia el nombre del nodo exoneracion en la version 4.4
					'NumeroDocumento'=>$factulinea['numdocexo'],
					'Articulo' =>$factulinea['artexo'],                      //  se agrega en la version 4.4	
					'Inciso'   =>$factulinea['incexo'],                      //  se agrega en la version 4.4					
					'NombreInstitucion'=>$factulinea['nominstexo'],
					'FechaEmisionEX'=>$factulinea['fecemiexo'],             // SE cambia el nombre del nodo exoneracion en la version 4.4
					'TarifaExonerada'=>$factulinea['porcomexo'],        	 // SE cambia el nombre del nodo exoneracion en la version 4.4
					'MontoExoneracion'=>$factulinea['monimpexo'],            //  se agrega en la version 4.3
				];	

				$row['ImpuestoAsumidoEmisorFabrica']    = 0 ;          ///  se agrega en la version 4.4    llamarlo segun impuesto  ***************************
				$row['ImpuestoNeto']    = $factulinea['impuesto'] ;          //  se agrega en la version 4.3
			
			}else {	
			
				$row['ImpuestoAsumidoEmisorFabrica']    = 0 ;          ///  se agrega en la version 4.4    llamarlo segun impuesto  ***************************
				$row['ImpuestoNeto']    = $factulinea['impuesto'];            //  se agrega en la version 4.3	
					
	 	     }
			 
			  
				}else {	 
			 
			 
			 if(!empty($factulinea['cdgtipexo'])){
				$row['Impuesto']['Exoneracion'] = [	
					'TipoDocumentoEX1'=>$factulinea['cdgtipexo'],             // SE cambia el nombre del nodo exoneracion en la version 4.4
					'NumeroDocumento'=>$factulinea['numdocexo'],
					'NombreInstitucion'=>$factulinea['nominstexo'],
					'FechaEmisionEX'=>$factulinea['fecemiexo'],             // SE cambia el nombre del nodo exoneracion en la version 4.4
					'TarifaExonerada'=>$factulinea['porcomexo'],        	 // SE cambia el nombre del nodo exoneracion en la version 4.4
					'MontoExoneracion'=>$factulinea['monimpexo'],            //  se agrega en la version 4.3
				];	

				$row['ImpuestoAsumidoEmisorFabrica']    = 0 ;          ///  se agrega en la version 4.4    llamarlo segun impuesto  ***************************
				$row['ImpuestoNeto']    = $factulinea['impuesto'] ;          //  se agrega en la version 4.3
			
			}else {	
			
				$row['ImpuestoAsumidoEmisorFabrica']    = 0 ;          ///  se agrega en la version 4.4    llamarlo segun impuesto  ***************************
				$row['ImpuestoNeto']    = $factulinea['impuesto'];            //  se agrega en la version 4.3	
					
	 	     }
			 
			 
			 } 
			 
	 ///////////////////////////////////////////////////////////////////////////    se agrefa if en la version 4.4 ///////////////////////////////////////////////////////////////////////////		
		

		$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);
				
		$dom = new DOMDocument("1.0");
		$dom->preserveWhiteSpace = false;
		$dom->formatOutput = true;
		$dom->loadXML($xml_data_linea->asXML());
				
		$detalleFactura_pre = $dom->saveXML();
		$detalleFactura_final = preg_replace("/<\\?xml.*\\?>/",'', $detalleFactura_pre);
		$detalleFactura .= $detalleFactura_final;
	}
}
	
	
	

