<?php
require ('Firmadorcr.php');

$detalleFactura = '';
if ($factulinea_notas_debito->num_rows > 0) {
	$count = 0;
    while($factulinea = $factulinea_notas_debito->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'],
			],
			'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']                                       // 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']	
						];
					
					
				}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;
	}
}
	
	
	
	
	
	
	
	

