<?php
session_start();
/*
if(!isset($_SESSION['user_vcrx_id']) || empty($_SESSION['user_vcrx_id']))
{
	die('1');
}
*/


//////////////////////////
//////////////////////////
// require_once("vrdnlce1.php");
// $host="{imap-mail.outlook.com:993/imap/ssl}INBOX"; // pop3host

// $host="{gator4107.hostgator.com:993/imap/ssl}INBOX"; // pop3host

// $login="celec@vcrxol.com"; //pop3 login
// $password="vicoregator"; //pop3 password
// $savedirpath="../../_celec/" ; // attachement will save in same directory where scripts run othrwise give abs path
// $jk=new readattachment(); // Creating instance of class####
// $jk->getdata($host,$login,$password,$savedirpath); // calling member function
//////////////////////////
//////////////////////////



require('../cfg/cfg.php');
require('../cfg/res.php');

if($_FILES['archivo']['type']!='text/xml')
{
	die('3');
}

$sql_empr='select * from empr0';
$res_empr=mysql_query($sql_empr,$link_vcrx);
$empr_ruc=mysql_result($res_empr,0,'empr_ruc');
	

$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; 
// ponemos en cero la variable $cad
$cad = ""; 
for($i=0;$i<4;$i++) 
{ 
	$cad .= substr($str,rand(0,62),1); 
} 
//asignamos el nombre del fichero a subir consistiendo en la fecha actual mas 4 caracteres aleatorios
$n_archivo='';
$n_archivo = '../../_celec/'.date("YmdHis") . $cad . '.xml';
//asignamos la ruta, nombre y extension al archivo a subir

if(!move_uploaded_file($_FILES['archivo']['tmp_name'], $n_archivo)){ echo '2'; }
else
{
	//die( $n_archivo);
	//$factura= simplexml_load_file($n_archivo);
	$xml = file_get_contents($n_archivo);	
	$DOM = new DOMDocument('1.0', 'utf-8');
	$DOM->loadXML($xml);
	$numeroAutorizacion='../../_celec/'.$DOM->getElementsByTagName('numeroAutorizacion')->item(0)->nodeValue.'.xml';
	if(file_exists ($numeroAutorizacion )){unlink($numeroAutorizacion);}
	rename($n_archivo,$numeroAutorizacion);

	unset($DOM);
	unset($xml);

$xml = file_get_contents($numeroAutorizacion);	

// aqui subir archivo	$xml
if (1==1)	
{	
	
$DOM = new DOMDocument('1.0', 'utf-8');
$DOM2 = new DOMDocument('1.0', 'utf-8');
$DOM->loadXML($xml);
	
$xvalida=true;	
$msjerror='';	
	
$xatrznume= $DOM->getElementsByTagName('numeroAutorizacion')->item(0)->nodeValue;

$xml4=$DOM->getElementsByTagName('comprobante')->item(0)->nodeValue;
$DOM2->loadXML($xml4);
$infoTributarias=$DOM2->getElementsByTagName('infoTributaria');

$ruc2= $DOM2->getElementsByTagName('identificacionComprador')->item(0)->nodeValue;
$ambiente= $DOM2->getElementsByTagName('ambiente')->item(0)->nodeValue;

// ruc en las retenciones
$ruc2r= $DOM2->getElementsByTagName('identificacionSujetoRetenido')->item(0)->nodeValue;
if($ruc2r!=''){$ruc2=$ruc2r;}
	
if ($xatrznume=="")
{
	$xvalida=false;
	$msjerror.='*** XML SIN AUTORIZACION '.chr(13);
// 	die('*** XML SIN AUTORIZACION');
}	
	
$docu90="";
if(substr($empr_ruc,0,10)!=substr($ruc2,0,10))
{
	$sql_ruct='select * from enti0 where enti_codigo like "'.substr($ruc2,0,10).'%" and enti_fp90="1"';
	$res_ruct=mysql_query($sql_ruct,$link_vcrx);
	if(mysql_num_rows($res_ruct)==0)	
	{
	$xvalida=false;
	$msjerror.='*** RUC INCORRECTO '.chr(13);
	}	
	else 
	{$docu90="FP90";}
// 	die('*** RUC INCORRECTO');
}
if($ambiente!=2)
{
	$xvalida=false;
	$msjerror.='*** AMBIENTE INCORRECTO '.chr(13);
// 	die('*** AMBIENTE INCORRECTO');
}
	
$coddoc= $DOM2->getElementsByTagName('codDoc')->item(0)->nodeValue;
// coddoc
// 01 Factura
// 04 N/C
// 05 N/D
// 06 GUIA REMISION
// 07 RETENCION	

if('demo'==$empr_codigo){$xvalida=true;}
	
if ($xvalida)	
{
require('../../_lib/vrcelec_enti.php');
vrcelec_enti($numeroAutorizacion,'../cfg/res.php',$_SESSION['user_vcrx_id']);
	
if($coddoc=='01')
{	
		$sql_cabe='select * from comp1 where atrznume="'.$xatrznume.'"';
		$res_cabe=mysql_query($sql_cabe,$link_vcrx);
		if(mysql_num_rows($res_cabe)==0)	
		{
			$sql_cabe='insert into comp1(atrznume,status,iuser,idate)value("'.$xatrznume.'","-","'.$_SESSION['user_vcrx_id'].'",now())';
			$res_cabe=mysql_query($sql_cabe,$link_vcrx);

			$sql_cabe='select * from comp1 where atrznume="'.$xatrznume.'"';
			$res_cabe=mysql_query($sql_cabe,$link_vcrx);
		}
		$xidnum1=mysql_result($res_cabe,0,'idnum1');

		// $docu='FP'.$coddoc;	
		$docu='FP10';	
		if ($docu90!=""){$docu=$docu90;}
	
		// aqui validar reembolsos
	
	
		$claveacc= $DOM2->getElementsByTagName('claveAcceso')->item(0)->nodeValue;
		$enti= $DOM2->getElementsByTagName('ruc')->item(0)->nodeValue;
		$proveedor= $DOM2->getElementsByTagName('razonSocial')->item(0)->nodeValue;
		$ptoe= $DOM2->getElementsByTagName('estab')->item(0)->nodeValue.$DOM2->getElementsByTagName('ptoEmi')->item(0)->nodeValue;;
		$numero= $DOM2->getElementsByTagName('secuencial')->item(0)->nodeValue;
		$total= $DOM2->getElementsByTagName('importeTotal')->item(0)->nodeValue;
		$fecha= $DOM2->getElementsByTagName('fechaEmision')->item(0)->nodeValue;
		$fecha=substr($fecha,-4).'-'.substr($fecha,3,2).'-'.substr($fecha,0,2);

		$enti=substr($enti,0,10).'001';	
		$concepto="";	

		////////////////////////////////	
		//  SUSTENTO DEL COMPROBANTE
		$suco='-';	
			$sql_suco='select * from comp1 ';
			$sql_suco.=' where status not like "O" and status not like "X"' ;
			$sql_suco.=' and docu like "FP%"' ;
			$sql_suco.=' and enti like "'.substr($enti,0,10).'%"';
			$sql_suco.=' and suco not like ""';
			$sql_suco.=' and suco not like "-%"';
			$sql_suco.=' order by fecha desc, numero desc' ;
			$sql_suco.=' limit 1' ;
			$res_suco=mysql_query($sql_suco,$link_vcrx);
		// 	echo $sql_suco;
			if(mysql_num_rows($res_suco)!=0)
			{$suco=mysql_result($res_suco,0,'suco');}

		$fpag='-';	
			$sql_suco='select * from comp1 ';
			$sql_suco.=' where status not like "O" and status not like "X"' ;
			$sql_suco.=' and docu like "FP%"' ;
			$sql_suco.=' and enti like "'.substr($enti,0,10).'%"';
			$sql_suco.=' and fpag not like ""';
			$sql_suco.=' and fpag not like "-%"';
			$sql_suco.=' order by fecha desc, numero desc' ;
			$sql_suco.=' limit 1' ;
			$res_suco=mysql_query($sql_suco,$link_vcrx);
		// 	echo $sql_suco;
			if(mysql_num_rows($res_suco)!=0)
			{$fpag=mysql_result($res_suco,0,'fpag');}


		$sql_cabe='update comp1 set ';
		$sql_cabe.='enti="'.$enti.'",';
		$sql_cabe.='docu="'.$docu.'",';
		$sql_cabe.='ptoe="'.$ptoe.'",';
		$sql_cabe.='numero="'.$numero.'",';
		$sql_cabe.='fecha="'.$fecha.'",';
		$sql_cabe.='suco="'.$suco.'",';
		$sql_cabe.='fpag="'.$fpag.'",';
		$sql_cabe.='claveacc="'.$claveacc.'",';
		$sql_cabe.='concepto="'.$concepto.'",';
		$sql_cabe.='stfin="1" ';
		$sql_cabe.=' where idnum1='.$xidnum1.'';
		$res_cabe=mysql_query($sql_cabe,$link_vcrx);

		// echo $sql_cabe;

		$xiddet=0;	
		$detallex= $DOM2->getElementsByTagName('detalle');
		foreach($detallex as $detalley) {
		// echo '<br>------ <br>';
			$xiddet++;
									$ice=0;
									$iva=0;
									$irbp=0;
				
			foreach($detalley->childNodes as $detalle)
			{

				if($detalle->nodeName=='codigoPrincipal'){$itemce=$detalle->nodeValue;}
				if($detalle->nodeName=='cantidad'){$cant=$detalle->nodeValue;}
				if($detalle->nodeName=='precioUnitario'){$puni=$detalle->nodeValue;}
				if($detalle->nodeName=='descuento'){$dcto=$detalle->nodeValue;}
				if($detalle->nodeName=='descripcion'){$xdetalle=$detalle->nodeValue;}

				if($detalle->nodeName=='impuestos')
				{
					foreach($detalle->childNodes as $impuestos)
					{
						if($impuestos->nodeName=='impuesto')
						{
							foreach($impuestos->childNodes as $impuesto)
							{
								if($impuesto->nodeName=='codigo')
								{$codigoimp=$impuesto->nodeValue;}
								if($impuesto->nodeName=='tarifa')
								{
									if($codigoimp=='2'){$iva=$impuesto->nodeValue;}
									if($codigoimp=='3'){$ice=$impuesto->nodeValue;}
								}
							}
						}
					}
				 }
			}

			$xdetalle=str_replace('"','-',$xdetalle);
			$xdetalle.=' /'.$itemce;
			if ($xdetalle==""){
			}

			$dcto=round(($dcto/($cant * $puni))*100,2);

			$sql_deta='insert into comp2(idnum2,iddet)value("'.$xidnum1.'","'.$xiddet.'")';
			$res_deta=mysql_query($sql_deta,$link_vcrx);

			$sql_deta='update comp2 set ';
			$sql_deta.='itemce="'.$itemce.'",';
			$sql_deta.='cant="'.$cant.'",';
			$sql_deta.='puni="'.$puni.'",';
			$sql_deta.='ice="'.$ice.'",';
			$sql_deta.='dcto="'.$dcto.'",';
			$sql_deta.='iva="'.$iva.'",';
			$sql_deta.='irbp="'.$irbp.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$res_deta=mysql_query($sql_deta,$link_vcrx);

		// 	echo $sql_deta.chr(13);

		////////////////////////////////	
		//  ITEM
			$item="100005";

			$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
			$sql_item.=' where status not like "O" and status not like "X"';
			$sql_item.=' and docu like "FP%"' ;
			$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
			$sql_item.=' and item not like ""';
			$sql_item.=' and item not like "100005"';
			$sql_item.=' and itemce like "'.$itemce.'"' ;
			$sql_item.=' order by fecha desc, numero desc' ;
			$sql_item.=' limit 1' ;
			$res_item=mysql_query($sql_item,$link_vcrx);
		// 	echo $sql_item;
			if(mysql_num_rows($res_item)!=0)
			{$item=mysql_result($res_item,0,'item');}
			else
			{
			$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
				$sql_item.=' where status not like "O" and status not like "X"';
				$sql_item.=' and docu like "FP%"' ;
				$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
				$sql_item.=' and item not like ""';
				$sql_item.=' order by fecha desc, numero desc' ;
				$sql_item.=' limit 1' ;
				$res_item=mysql_query($sql_item,$link_vcrx);
				if(mysql_num_rows($res_item)!=0)
				{$item=mysql_result($res_item,0,'item');}
				else
				{
		// 			$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
		// 			$sql_item.=' where status not like "O" and status not like "X"';
		// 			$sql_item.=' and docu like "FP%"' ;
		// 			$sql_item.=' and item not like "100005"' ;
		// 			$sql_item.=' and item not like ""';
		// 			$sql_item.=' and itemce like "'.$itemce.'"' ;
		// 			$sql_item.=' order by fecha desc, numero desc' ;
		// 			$res_item=mysql_query($sql_item,$link_vcrx);
		// 			if(mysql_num_rows($res_item)!=0)
		// 			{$item=mysql_result($res_item,0,'item');}
				}
			}

			$sql_deta='update comp2 set ';
			$sql_deta.='item="'.$item.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$sql_deta.=' and (item="" or item is null)';
			$res_deta=mysql_query($sql_deta,$link_vcrx);
		// 	echo $sql_deta;


		////////////////////////////////	
		//  CTAS
			$ctas="";

			$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
			$sql_item.=' where status not like "O" and status not like "X"';
			$sql_item.=' and docu like "FP%"' ;
			$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
			$sql_item.=' and ctas not like ""' ;
			$sql_item.=' and ctas not like "-%"' ;
			$sql_item.=' and ctas is not null' ;
			$sql_item.=' and item like "'.$item.'%"' ;
			$sql_item.=' order by fecha desc, numero desc' ;
			$sql_item.=' limit 1' ;
			$res_item=mysql_query($sql_item,$link_vcrx);
			if(mysql_num_rows($res_item)!=0)
			{$ctas=mysql_result($res_item,0,'ctas');}
			else
			{
				$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
				$sql_item.=' where status not like "O" and status not like "X"';
				$sql_item.=' and docu like "FP%"' ;
				$sql_item.=' and ctas not like ""' ;
				$sql_item.=' and ctas not like "-%"' ;
				$sql_item.=' and ctas is not null' ;
				$sql_item.=' and item like "'.$item.'%"' ;
				$sql_item.=' order by fecha desc, numero desc' ;
				$sql_item.=' limit 1' ;
				$res_item=mysql_query($sql_item,$link_vcrx);
				if(mysql_num_rows($res_item)!=0)
				{$ctas=mysql_result($res_item,0,'ctas');}
				else
				{
					$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
					$sql_item.=' where status not like "O" and status not like "X"';
					$sql_item.=' and docu like "FP%"' ;
					$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
					$sql_item.=' and ctas not like "-%"' ;
					$sql_item.=' and ctas not like ""' ;
					$sql_item.=' and ctas is not null' ;
					$sql_item.=' order by fecha desc, numero desc' ;
					$sql_item.=' limit 1' ;
					$res_item=mysql_query($sql_item,$link_vcrx);
					if(mysql_num_rows($res_item)!=0)
					{$ctas=mysql_result($res_item,0,'ctas');}
				}	
			}

			$sql_deta='update comp2 set ';
			$sql_deta.='ctas="'.$ctas.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$sql_deta.=' and (ctas="" or ctas is null)';
			$res_deta=mysql_query($sql_deta,$link_vcrx);


		////////////////////////////////	
		//  CAIR
			$cair="";

			$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
			$sql_item.=' where status not like "O" and status not like "X"';
			$sql_item.=' and docu like "FP%"' ;
			$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
			$sql_item.=' and cair not like ""' ;
			$sql_item.=' and cair not like "-%"' ;
			$sql_item.=' and cair is not null' ;
			$sql_item.=' and item like "'.$item.'%"' ;
			$sql_item.=' order by fecha desc, numero desc' ;
			$sql_item.=' limit 1' ;
			$res_item=mysql_query($sql_item,$link_vcrx);
			if(mysql_num_rows($res_item)!=0)
			{$cair=mysql_result($res_item,0,'cair');}
			else
			{
				$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
				$sql_item.=' where status not like "O" and status not like "X"';
				$sql_item.=' and docu like "FP%"' ;
				$sql_item.=' and cair not like ""' ;
				$sql_item.=' and cair not like "-%"' ;
				$sql_item.=' and cair is not null' ;
				$sql_item.=' and item like "'.$item.'%"' ;
				$sql_item.=' order by fecha desc, numero desc' ;
				$sql_item.=' limit 1' ;
				$res_item=mysql_query($sql_item,$link_vcrx);
				if(mysql_num_rows($res_item)!=0)
				{$cair=mysql_result($res_item,0,'cair');}
				else
				{
					$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
					$sql_item.=' where status not like "O" and status not like "X"';
					$sql_item.=' and docu like "FP%"' ;
					$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
					$sql_item.=' and cair not like ""' ;
					$sql_item.=' and cair not like "-%"' ;
					$sql_item.=' and cair is not null' ;
					$sql_item.=' order by fecha desc, numero desc' ;
					$sql_item.=' limit 1' ;
					$res_item=mysql_query($sql_item,$link_vcrx);
					if(mysql_num_rows($res_item)!=0)
					{$cair=mysql_result($res_item,0,'cair');}
				}	
			}

			$sql_deta='update comp2 set ';
			$sql_deta.='cair="'.$cair.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$sql_deta.=' and (cair="" or cair is null)';
			$res_deta=mysql_query($sql_deta,$link_vcrx);
		}
		// 	echo $sql_deta;

		$xconcepto='';	
		$campoadic='';	
		$infox= $DOM2->getElementsByTagName('infoAdicional');
		foreach($infox as $infoy)
		{
			foreach($infoy->childNodes as $adicional){
				$campoadic='';
				if($adicional->nodeName=='campoAdicional')
				{
					if($adicional->getAttribute('nombre')=='Concepto'){$xconcepto=$adicional->nodeValue;}
				}
			}
			$xconcepto=trim($xconcepto);

			$sql_deta='update comp1 set ';
			$sql_deta.='concepto="'.$xconcepto.'" ';
			$sql_deta.=' where idnum1="'.$xidnum1.'"';
			$res_deta=mysql_query($sql_deta,$link_vcrx);

		}
		// 	echo $sql_deta;

		$msjerror ='';
		$msjerror.='*** COMPROBANTE OK ***'.chr(13);
		$msjerror.=' Proveedor : '.$proveedor.chr(13);	
		$msjerror.=' RUC : '.$enti.chr(13);	
		$msjerror.=' FACTURA No : '.$ptoe.'-'.$numero.chr(13);	
		$msjerror.=' Fecha : '.$fecha.chr(13);	
		$msjerror.=' Concepto : '.$xconcepto.chr(13);	
		$msjerror.=' Autorizacion : '.$xatrznume.chr(13);	
		$msjerror.=' TOTAL : '.$total.chr(13);	
}

if($coddoc=='04')
{	
		$sql_cabe='select * from comp1 where atrznume="'.$xatrznume.'"';
		$res_cabe=mysql_query($sql_cabe,$link_vcrx);
		if(mysql_num_rows($res_cabe)==0)	
		{
			$sql_cabe='insert into comp1(atrznume,status,iuser,idate)value("'.$xatrznume.'","-","'.$_SESSION['user_vcrx_id'].'",now())';
			$res_cabe=mysql_query($sql_cabe,$link_vcrx);

			$sql_cabe='select * from comp1 where atrznume="'.$xatrznume.'"';
			$res_cabe=mysql_query($sql_cabe,$link_vcrx);
		}
		$xidnum1=mysql_result($res_cabe,0,'idnum1');

		// $docu='FP'.$coddoc;	
		$docu='NP10';	
		$claveacc= $DOM2->getElementsByTagName('claveAcceso')->item(0)->nodeValue;
		$enti= $DOM2->getElementsByTagName('ruc')->item(0)->nodeValue;
		$proveedor= $DOM2->getElementsByTagName('razonSocial')->item(0)->nodeValue;
		$ptoe= $DOM2->getElementsByTagName('estab')->item(0)->nodeValue.$DOM2->getElementsByTagName('ptoEmi')->item(0)->nodeValue;;
		$numero= $DOM2->getElementsByTagName('secuencial')->item(0)->nodeValue;
		$total= $DOM2->getElementsByTagName('importeTotal')->item(0)->nodeValue;
		$fecha= $DOM2->getElementsByTagName('fechaEmision')->item(0)->nodeValue;
		$fecha=substr($fecha,-4).'-'.substr($fecha,3,2).'-'.substr($fecha,0,2);

		$enti=substr($enti,0,10).'001';	
		$concepto="";	

		////////////////////////////////	
		//  SUSTENTO DEL COMPROBANTE
		$suco='-';	
			$sql_suco='select * from comp1 ';
			$sql_suco.=' where status not like "O" and status not like "X"' ;
			$sql_suco.=' and docu like "FP%"' ;
			$sql_suco.=' and enti like "'.substr($enti,0,10).'%"';
			$sql_suco.=' and suco not like ""';
			$sql_suco.=' and suco not like "-%"';
			$sql_suco.=' order by fecha desc, numero desc' ;
			$sql_suco.=' limit 1' ;
			$res_suco=mysql_query($sql_suco,$link_vcrx);
		// 	echo $sql_suco;
			if(mysql_num_rows($res_suco)!=0)
			{$suco=mysql_result($res_suco,0,'suco');}

		$fpag='-';	
			$sql_suco='select * from comp1 ';
			$sql_suco.=' where status not like "O" and status not like "X"' ;
			$sql_suco.=' and docu like "FP%"' ;
			$sql_suco.=' and enti like "'.substr($enti,0,10).'%"';
			$sql_suco.=' and fpag not like ""';
			$sql_suco.=' and fpag not like "-%"';
			$sql_suco.=' order by fecha desc, numero desc' ;
			$sql_suco.=' limit 1' ;
			$res_suco=mysql_query($sql_suco,$link_vcrx);
		// 	echo $sql_suco;
			if(mysql_num_rows($res_suco)!=0)
			{$fpag=mysql_result($res_suco,0,'fpag');}


		$sql_cabe='update comp1 set ';
		$sql_cabe.='enti="'.$enti.'",';
		$sql_cabe.='docu="'.$docu.'",';
		$sql_cabe.='ptoe="'.$ptoe.'",';
		$sql_cabe.='numero="'.$numero.'",';
		$sql_cabe.='fecha="'.$fecha.'",';
		$sql_cabe.='suco="'.$suco.'",';
		$sql_cabe.='fpag="'.$fpag.'",';
		$sql_cabe.='claveacc="'.$claveacc.'",';
		$sql_cabe.='concepto="'.$concepto.'",';
		$sql_cabe.='stfin="1" ';
		$sql_cabe.=' where idnum1='.$xidnum1.'';
		$res_cabe=mysql_query($sql_cabe,$link_vcrx);

		// echo $sql_cabe;

		$xiddet=0;	
		$detallex= $DOM2->getElementsByTagName('detalle');
		foreach($detallex as $detalley) {
		// echo '<br>------ <br>';
			$xiddet++;
			foreach($detalley->childNodes as $detalle){

				if($detalle->nodeName=='codigoPrincipal'){$itemce=$detalle->nodeValue;}
				if($detalle->nodeName=='cantidad'){$cant=$detalle->nodeValue;}
				if($detalle->nodeName=='precioUnitario'){$puni=$detalle->nodeValue;}
				if($detalle->nodeName=='descuento'){$dcto=$detalle->nodeValue;}
				if($detalle->nodeName=='descripcion'){$xdetalle=$detalle->nodeValue;}
				if($detalle->nodeName=='impuestos')
				{
					foreach($detalle->childNodes as $impuestos)
					{
						if($impuestos->nodeName=='impuesto')
						{
							foreach($impuestos->childNodes as $impuesto)
							{
								if($impuesto->nodeName=='codigo')
								{
									$codigoimp=$impuesto->nodeValue;
								}
								if($impuesto->nodeName=='tarifa')
								{
				$ice=0;
				$iva=0;
				$irbp=0;
									if($codigoimp=='2'){$iva=$impuesto->nodeValue;}
									if($codigoimp=='3'){$ice=$impuesto->nodeValue;}
								}
							}
						}
					}
				 }
			}

			$xdetalle=str_replace('"','-',$xdetalle);
			$xdetalle.=' /'.$itemce;
			if ($xdetalle==""){
			}

			$dcto=round(($dcto/($cant * $puni))*100,2);

			$sql_deta='insert into comp2(idnum2,iddet)value("'.$xidnum1.'","'.$xiddet.'")';
			$res_deta=mysql_query($sql_deta,$link_vcrx);

			$sql_deta='update comp2 set ';
			$sql_deta.='itemce="'.$itemce.'",';
			$sql_deta.='cant="'.$cant.'",';
			$sql_deta.='puni="'.$puni.'",';
			$sql_deta.='ice="'.$ice.'",';
			$sql_deta.='dcto="'.$dcto.'",';
			$sql_deta.='iva="'.$iva.'",';
			$sql_deta.='irbp="'.$irbp.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$res_deta=mysql_query($sql_deta,$link_vcrx);

		// 	echo $sql_deta.chr(13);

		////////////////////////////////	
		//  ITEM
			$item="100005";

			$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
			$sql_item.=' where status not like "O" and status not like "X"';
			$sql_item.=' and docu like "FP%"' ;
			$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
			$sql_item.=' and item not like ""';
			$sql_item.=' and item not like "100005"';
			$sql_item.=' and itemce like "'.$itemce.'"' ;
			$sql_item.=' order by fecha desc, numero desc' ;
			$sql_item.=' limit 1' ;
			$res_item=mysql_query($sql_item,$link_vcrx);
		// 	echo $sql_item;
			if(mysql_num_rows($res_item)!=0)
			{$item=mysql_result($res_item,0,'item');}
			else
			{
			$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
				$sql_item.=' where status not like "O" and status not like "X"';
				$sql_item.=' and docu like "FP%"' ;
				$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
				$sql_item.=' and item not like ""';
				$sql_item.=' order by fecha desc, numero desc' ;
				$sql_item.=' limit 1' ;
				$res_item=mysql_query($sql_item,$link_vcrx);
				if(mysql_num_rows($res_item)!=0)
				{$item=mysql_result($res_item,0,'item');}
				else
				{
		// 			$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
		// 			$sql_item.=' where status not like "O" and status not like "X"';
		// 			$sql_item.=' and docu like "FP%"' ;
		// 			$sql_item.=' and item not like "100005"' ;
		// 			$sql_item.=' and item not like ""';
		// 			$sql_item.=' and itemce like "'.$itemce.'"' ;
		// 			$sql_item.=' order by fecha desc, numero desc' ;
		// 			$res_item=mysql_query($sql_item,$link_vcrx);
		// 			if(mysql_num_rows($res_item)!=0)
		// 			{$item=mysql_result($res_item,0,'item');}
				}
			}

			$sql_deta='update comp2 set ';
			$sql_deta.='item="'.$item.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$sql_deta.=' and (item="" or item is null)';
			$res_deta=mysql_query($sql_deta,$link_vcrx);
		// 	echo $sql_deta;


		////////////////////////////////	
		//  CTAS
			$ctas="";

			$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
			$sql_item.=' where status not like "O" and status not like "X"';
			$sql_item.=' and docu like "FP%"' ;
			$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
			$sql_item.=' and ctas not like ""' ;
			$sql_item.=' and ctas not like "-%"' ;
			$sql_item.=' and ctas is not null' ;
			$sql_item.=' and item like "'.$item.'%"' ;
			$sql_item.=' order by fecha desc, numero desc' ;
			$sql_item.=' limit 1' ;
			$res_item=mysql_query($sql_item,$link_vcrx);
			if(mysql_num_rows($res_item)!=0)
			{$ctas=mysql_result($res_item,0,'ctas');}
			else
			{
				$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
				$sql_item.=' where status not like "O" and status not like "X"';
				$sql_item.=' and docu like "FP%"' ;
				$sql_item.=' and ctas not like ""' ;
				$sql_item.=' and ctas not like "-%"' ;
				$sql_item.=' and ctas is not null' ;
				$sql_item.=' and item like "'.$item.'%"' ;
				$sql_item.=' order by fecha desc, numero desc' ;
				$sql_item.=' limit 1' ;
				$res_item=mysql_query($sql_item,$link_vcrx);
				if(mysql_num_rows($res_item)!=0)
				{$ctas=mysql_result($res_item,0,'ctas');}
				else
				{
					$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
					$sql_item.=' where status not like "O" and status not like "X"';
					$sql_item.=' and docu like "FP%"' ;
					$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
					$sql_item.=' and ctas not like "-%"' ;
					$sql_item.=' and ctas not like ""' ;
					$sql_item.=' and ctas is not null' ;
					$sql_item.=' order by fecha desc, numero desc' ;
					$sql_item.=' limit 1' ;
					$res_item=mysql_query($sql_item,$link_vcrx);
					if(mysql_num_rows($res_item)!=0)
					{$ctas=mysql_result($res_item,0,'ctas');}
				}	
			}

			$sql_deta='update comp2 set ';
			$sql_deta.='ctas="'.$ctas.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$sql_deta.=' and (ctas="" or ctas is null)';
			$res_deta=mysql_query($sql_deta,$link_vcrx);


		////////////////////////////////	
		//  CAIR
			$cair="";

			$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
			$sql_item.=' where status not like "O" and status not like "X"';
			$sql_item.=' and docu like "FP%"' ;
			$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
			$sql_item.=' and cair not like ""' ;
			$sql_item.=' and cair not like "-%"' ;
			$sql_item.=' and cair is not null' ;
			$sql_item.=' and item like "'.$item.'%"' ;
			$sql_item.=' order by fecha desc, numero desc' ;
			$sql_item.=' limit 1' ;
			$res_item=mysql_query($sql_item,$link_vcrx);
			if(mysql_num_rows($res_item)!=0)
			{$cair=mysql_result($res_item,0,'cair');}
			else
			{
				$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
				$sql_item.=' where status not like "O" and status not like "X"';
				$sql_item.=' and docu like "FP%"' ;
				$sql_item.=' and cair not like ""' ;
				$sql_item.=' and cair not like "-%"' ;
				$sql_item.=' and cair is not null' ;
				$sql_item.=' and item like "'.$item.'%"' ;
				$sql_item.=' order by fecha desc, numero desc' ;
				$sql_item.=' limit 1' ;
				$res_item=mysql_query($sql_item,$link_vcrx);
				if(mysql_num_rows($res_item)!=0)
				{$cair=mysql_result($res_item,0,'cair');}
				else
				{
					$sql_item='select * from comp1 left join comp2 on idnum1=idnum2 ';
					$sql_item.=' where status not like "O" and status not like "X"';
					$sql_item.=' and docu like "FP%"' ;
					$sql_item.=' and enti like "'.substr($enti,0,10).'%"';
					$sql_item.=' and cair not like ""' ;
					$sql_item.=' and cair not like "-%"' ;
					$sql_item.=' and cair is not null' ;
					$sql_item.=' order by fecha desc, numero desc' ;
					$sql_item.=' limit 1' ;
					$res_item=mysql_query($sql_item,$link_vcrx);
					if(mysql_num_rows($res_item)!=0)
					{$cair=mysql_result($res_item,0,'cair');}
				}	
			}

			$sql_deta='update comp2 set ';
			$sql_deta.='cair="'.$cair.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$sql_deta.=' and (cair="" or cair is null)';
			$res_deta=mysql_query($sql_deta,$link_vcrx);
		}
		// 	echo $sql_deta;

		$xconcepto='';	
		$campoadic='';	
		$infox= $DOM2->getElementsByTagName('infoAdicional');
		foreach($infox as $infoy)
		{
			foreach($infoy->childNodes as $adicional){
				$campoadic='';
				if($adicional->nodeName=='campoAdicional')
				{
					if($adicional->getAttribute('nombre')=='Concepto'){$xconcepto=$adicional->nodeValue;}
				}
			}
			$xconcepto=trim($xconcepto);

			$sql_deta='update comp1 set ';
			$sql_deta.='concepto="'.$xconcepto.'" ';
			$sql_deta.=' where idnum1="'.$xidnum1.'"';
			$res_deta=mysql_query($sql_deta,$link_vcrx);

		}
		// 	echo $sql_deta;

		$msjerror ='';
		$msjerror.='*** COMPROBANTE OK ***'.chr(13);
		$msjerror.=' Proveedor : '.$proveedor.chr(13);	
		$msjerror.=' RUC : '.$enti.chr(13);	
		$msjerror.=' N/CREDITO No : '.$ptoe.'-'.$numero.chr(13);	
		$msjerror.=' Fecha : '.$fecha.chr(13);	
		$msjerror.=' Concepto : '.$xconcepto.chr(13);	
		$msjerror.=' Autorizacion : '.$xatrznume.chr(13);	
		$msjerror.=' TOTAL : '.$total.chr(13);	
}

if($coddoc=='07')
{	
		$sql_cabe='select * from retc1 where atrznume="'.$xatrznume.'"';
		$res_cabe=mysql_query($sql_cabe,$link_vcrx);
		if(mysql_num_rows($res_cabe)==0)	
		{
			$sql_cabe='insert into retc1(atrznume,status,iuser,idate)value("'.$xatrznume.'","-","'.$_SESSION['user_vcrx_id'].'",now())';
			$res_cabe=mysql_query($sql_cabe,$link_vcrx);

			$sql_cabe='select * from retc1 where atrznume="'.$xatrznume.'"';
			$res_cabe=mysql_query($sql_cabe,$link_vcrx);
		}
		$xidnum1=mysql_result($res_cabe,0,'idnum1');

		// $docu='FP'.$coddoc;	
		$docu='RCLI';	
		$claveacc= $DOM2->getElementsByTagName('claveAcceso')->item(0)->nodeValue;
		$enti= $DOM2->getElementsByTagName('ruc')->item(0)->nodeValue;
		$cliente= $DOM2->getElementsByTagName('razonSocial')->item(0)->nodeValue;
		$ptoe= $DOM2->getElementsByTagName('estab')->item(0)->nodeValue.$DOM2->getElementsByTagName('ptoEmi')->item(0)->nodeValue;;
		$numero= $DOM2->getElementsByTagName('secuencial')->item(0)->nodeValue;
// 		$total= $DOM2->getElementsByTagName('importeTotal')->item(0)->nodeValue;
		$fecha= $DOM2->getElementsByTagName('fechaEmision')->item(0)->nodeValue;
		$fecha=substr($fecha,-4).'-'.substr($fecha,3,2).'-'.substr($fecha,0,2);

		$enti=substr($enti,0,10).'001';	
		$concepto="";	

		$sql_cabe='update retc1 set ';
		$sql_cabe.='enti="'.$enti.'",';
		$sql_cabe.='docu="'.$docu.'",';
		$sql_cabe.='ptoe="'.$ptoe.'",';
		$sql_cabe.='numero="'.$numero.'",';
		$sql_cabe.='fecha="'.$fecha.'",';
		$sql_cabe.='claveacc="'.$claveacc.'",';
// 		$sql_cabe.='concepto="'.$concepto.'",';
		$sql_cabe.='stfin="1" ';
		$sql_cabe.=' where idnum1='.$xidnum1.'';
		$res_cabe=mysql_query($sql_cabe,$link_vcrx);

		// echo $sql_cabe;

		$xiddet=0;	
		$detallex= $DOM2->getElementsByTagName('impuesto');
		foreach($detallex as $detalley) {
			$xiddet++;
			foreach($detalley->childNodes as $detalle){

				if($detalle->nodeName=='codigo'){$ctas=$detalle->nodeValue;}
				if($detalle->nodeName=='codigoRetencion'){$cair=$detalle->nodeValue;}
				if($detalle->nodeName=='baseImponible'){$cant=$detalle->nodeValue;}
				if($detalle->nodeName=='porcentajeRetener'){$puni=$detalle->nodeValue;}
				if($detalle->nodeName=='numDocSustento'){$ptonumer=$detalle->nodeValue;}
// 				if($detalle->nodeName=='impuestos')
// 				{
// 					foreach($detalle->childNodes as $impuestos)
// 					{
// 						if($impuestos->nodeName=='impuesto')
// 						{
// 							foreach($impuestos->childNodes as $impuesto)
// 							{
// 								if($impuesto->nodeName=='codigo')
// 								{
// 									$codigoimp=$impuesto->nodeValue;
// 								}
// 								if($impuesto->nodeName=='tarifa')
// 								{
// 				$ice=0;
// 				$iva=0;
// 				$irbp=0;
// 									if($codigoimp=='2'){$iva=$impuesto->nodeValue;}
// 									if($codigoimp=='3'){$ice=$impuesto->nodeValue;}
// 								}
// 							}
// 						}
// 					}
// 				 }
			}

			$xdetalle=str_replace('"','-',$xdetalle);
// 			$xdetalle.=' /'.$itemce;
			if ($xdetalle==""){}
			
			$ptoem=substr($ptonumer,0,6);
			$numer=substr($ptonumer,6,9);

			$sql_docum='select * from vtas1 ';
			$sql_docum.=' where status!="X" ';
			$sql_docum.=' and enti like "'.$enti.'"';
			$sql_docum.=' and docu like "F%"';
			$sql_docum.=' and ptoe like "'.$ptoem.'"';
			$sql_docum.=' and numero like "'.$numer.'"';
			$sql_docum.=' order by fecha desc ';
			$sql_docum.=' limit 1';
			$res_docum=mysql_query($sql_docum,$link_vcrx);
			$docum="FC10";
			if(mysql_num_rows($res_docum)!=0)
			{$docum=mysql_result($res_docum,0,'docu');}

			$sql_deta='insert into retc2(idnum2,iddet)value("'.$xidnum1.'","'.$xiddet.'")';
			$res_deta=mysql_query($sql_deta,$link_vcrx);

			$sql_deta='update retc2 set ';
			$sql_deta.='cant="'.$cant.'",';
			$sql_deta.='puni="'.$puni.'",';
			$sql_deta.='cair="'.$cair.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$res_deta=mysql_query($sql_deta,$link_vcrx);

			$sql_deta='update retc2 set ';
			$sql_deta.='docum="'.$docum.'",';
			$sql_deta.='ptoem="'.$ptoem.'",';
			$sql_deta.='numer="'.$numer.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$res_deta=mysql_query($sql_deta,$link_vcrx);
		// 	echo $sql_deta;



			$sql_deta='update retc2 set ';
			$sql_deta.='cair="'.$cair.'",';
			$sql_deta.='detalle="'.$xdetalle.'" ';
			$sql_deta.=' where idnum2="'.$xidnum1.'"';
			$sql_deta.=' and iddet="'.$xiddet.'"';
			$sql_deta.=' and (cair="" or cair is null)';
			$res_deta=mysql_query($sql_deta,$link_vcrx);
		}
		// 	echo $sql_deta;

		$xconcepto='';	
		$campoadic='';	
		$infox= $DOM2->getElementsByTagName('infoAdicional');
		foreach($infox as $infoy)
		{
			foreach($infoy->childNodes as $adicional){
				$campoadic='';
				if($adicional->nodeName=='campoAdicional')
				{
					if($adicional->getAttribute('nombre')=='Concepto'){$xconcepto=$adicional->nodeValue;}
				}
			}
			$xconcepto=trim($xconcepto);

			$sql_deta='update retc1 set ';
			$sql_deta.='concepto="'.$xconcepto.'" ';
			$sql_deta.=' where idnum1="'.$xidnum1.'"';
			$res_deta=mysql_query($sql_deta,$link_vcrx);

		}
		// 	echo $sql_deta;



		$msjerror ='';
		$msjerror.='*** COMPROBANTE OK ***'.chr(13);
		$msjerror.=' Cliente : '.$proveedor.chr(13);	
		$msjerror.=' RUC : '.$enti.chr(13);	
		$msjerror.=' RETENCION No : '.$ptoem.'-'.$numer.chr(13);	
		$msjerror.=' Fecha : '.$fecha.chr(13);	
// 		$msjerror.=' Concepto : '.$xconcepto.chr(13);	
		$msjerror.=' Autorizacion : '.$xatrznume.chr(13);	
// 		$msjerror.=' TOTAL : '.$total.chr(13);	
}

}
echo $msjerror;	

}	
	

}?>







