<?php
//error_reporting(E_ALL);
session_start();
if ($_SESSION['estado'] != "ON")
		{
		?>
		<script>
			parent.location.href = 'index.php';
		</script>
		<? 
		exit();
		}
$id_empresa =$_SESSION['ss_empresa'];          //    ***********   21-06-16   ***************
$id_user = $_SESSION['ss_user'];

//echo  $id_empresa;
include("../conex.php");
/************** Datos Empresa ****************** seleccionar cual empresa  es el ingreso  en ssesion******/
	$sql_empresa = "SELECT * FROM empresa WHERE  id=$id_empresa;";
	$res_empresa = mysql_query($sql_empresa,$enlace);
	$row=0;
	while (mysql_fetch_object ($res_empresa))
		{
		$empresa_rut=mysql_result($res_empresa, $row, "rut_empresa");
			$empresa_rut = str_replace('.', '', $empresa_rut);
		$correo_dte=mysql_result($res_empresa, $row, "correo_dte");
		$clave_correo_dte=mysql_result($res_empresa, $row, "clave_correo_dte");	
		$sitio_empresa=mysql_result($res_empresa, $row, "sitio_empresa");
        $ip_empresa=mysql_result($res_empresa, $row, "ip_empresa");
		}

$fecha= $_GET['fb'];
//$fecha="04/11/2016";
list($dia,$mes,$anyo) = explode("/",$fecha);
$Fecha_fin=$anyo.'-'.$mes.'-'.$dia;	 //hasta el dia indicado
if($mes=='01'){$mes='January';}
if($mes=='02'){$mes='February';}
if($mes=='03'){$mes='March';}
if($mes=='04'){$mes='April';}
if($mes=='05'){$mes='may';}
if($mes=='06'){$mes='June';}
if($mes=='07'){$mes='July';}
if($mes=='08'){$mes='August';}
if($mes=='09'){$mes='September';}
if($mes=='10'){$mes='October';}
if($mes=='11'){$mes='November';}
if($mes=='12'){$mes='December';}
//$Fecha_inicio='01 November 2016';
$Fecha_inicio='01 '.$mes.' '.$anyo;  //todo el mes
$nuevafecha = strtotime ( '+1 day' , strtotime ( $Fecha_fin ) ) ;
//$nuevafecha =  strtotime($Fecha_fin);
$nuevafecha = date ( 'Y-m-j' , $nuevafecha );
list($any,$me,$di) = explode("-",$nuevafecha);
if($me=='01'){$me='January';}
if($me=='02'){$me='February';}
if($me=='03'){$me='March';}
if($me=='04'){$me='April';}
if($me=='05'){$me='May';}
if($me=='06'){$me='June';}
if($me=='07'){$me='July';}
if($me=='08'){$me='August';}
if($me=='09'){$me='September';}
if($me=='10'){$me='October';}
if($me=='11'){$me='November';}
if($me=='12'){$me='December';}
$Fecha_fin=$di." ".$me." ".$any; //hasta el dia indicado	
//$Fecha_fin='05 November 2016';
  //  sacar dominio  de correo    
/* variables de conección al correo */ 
 $pos = strpos($correo_dte, '@'); $dom = substr($correo_dte, $pos+1);

$hostname = '{mail.'.$dom.':110/pop3/notls}INBOX';
$username = $correo_dte;       
$password = $clave_correo_dte;

/* ejecuto la funcion y le paso los parametros. */
   //echo($hostname);
buscar($hostname,$username,$password,$Fecha_inicio,$Fecha_fin);

function buscar($hostname,$username,$password,$Fecha_inicio,$Fecha_fin) 
{
include("../conex.php");	
/* intento de conección al correo */
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Correo: ' . imap_last_error());   
/* Obtenemos los mensajes*/
//echo "<br>".$arregloFecha."<br>";
$emails = imap_search($inbox,'SINCE "'.$Fecha_inicio.'" BEFORE "'.$Fecha_fin.'"' );
/* si encuentra mensajes empieza a analizar */

if($emails) {
 
    $count = 1;
 
    /* poner los correos electrónicos más recientes en la parte superior */
    rsort($emails);
 
    /* por cada correo recorremos el mensaje */
    foreach($emails as $email_number) 
    {
 
        /* obtenemos la informacion del email */
        $overview = imap_fetch_overview($inbox,$email_number,0);
 
        /* obtenemos el cuerpo del mensaje*/
        $message = imap_fetchbody($inbox,$email_number,2);
 
        /* obtenemos la estructura del mensaje */
        $structure = imap_fetchstructure($inbox, $email_number);
 
        /* formamos un array que almacenara la informacion*/
        $attachments = array();
 
        /* si se encuentra la estructura la recorremos */
        if(isset($structure->parts) && count($structure->parts)) 
        {
            for($i = 0; $i < count($structure->parts); $i++) 
            {
                $attachments[$i] = array(
                    'is_attachment' => false,
                    'filename' => '',
                    'name' => '',
                    'attachment' => ''
                );
 
                if($structure->parts[$i]->ifdparameters) 
                {
                    foreach($structure->parts[$i]->dparameters as $object) 
                    {
                        if(strtolower($object->attribute) == 'filename') 
                        {
                            $attachments[$i]['is_attachment'] = true;
                            $attachments[$i]['filename'] = $object->value;
                        }
                    }
                }
 
                if($structure->parts[$i]->ifparameters) 
                {
                    foreach($structure->parts[$i]->parameters as $object) 
                    {
                        if(strtolower($object->attribute) == 'name') 
                        {
                            $attachments[$i]['is_attachment'] = true;
                            $attachments[$i]['name'] = $object->value;
                        }
                    }
                }
 
                if($attachments[$i]['is_attachment']) 
                {
                    $attachments[$i]['attachment'] = imap_fetchbody($inbox, $email_number, $i+1);
 
                    /* 3 = BASE64 encoding */
                    if($structure->parts[$i]->encoding == 3) 
                    { 
                        $attachments[$i]['attachment'] = base64_decode($attachments[$i]['attachment']);
                    }
                    /* 4 = QUOTED-PRINTABLE encoding */
                    elseif($structure->parts[$i]->encoding == 4) 
                    { 
                        $attachments[$i]['attachment'] = quoted_printable_decode($attachments[$i]['attachment']);
                    }
                }
            }
        }
 
        /* iterar a través de cada archivo adjunto y guardarlo */
        foreach($attachments as $attachment)
        {
            if($attachment['is_attachment'] == 1)
            {
                 $filename = $attachment['name'];
                
                $longitud=strlen($filename);
                $longitud=$longitud-4;
                $encontrar='.xml';
                if(!empty($filename)){
                    $pos = strpos($filename,$encontrar,$longitud);
					$verEncabezado=mysql_query("SELECT nombre_xml FROM recibe_xml WHERE
												 nombre_xml='$filename'",$enlace);
                    $fila = mysql_fetch_object($verEncabezado);
						
					if (empty($fila->nombre_xml)) {
                        if(!empty($pos)) {

                        if(empty($filename)) $filename = $attachment['filename'];
 
                        if(empty($filename)) $filename = time() . ".dat";
 
                        /* Guardamos el archivo adjunto */
                            //echo $filename."<br/>";
                            $fp = fopen("../LibFE/DOC/PASO/". $filename, "w+");
                            fwrite($fp, $attachment['attachment']);
                            fclose($fp);
                        }
					}
                }
            }
 
        }
 
        if($count++ >= $emails) break;
    }
 
} 
/* Cerramos la conección */
imap_close($inbox);
 
//echo "Archivos Guardados";
  }
/****************************************************************************************************************/
$rutaXML=$_SERVER['DOCUMENT_ROOT']."/".$sitio_empresa."/";
listar_archivos($rutaXML);  
 ////  ***************  termina APP Filaza en bortra archivos de PASO*****************
   
function listar_archivos($carpetaXML)
 {
//session_start();
if ($_SESSION['estado'] != "ON")
		{
		?>
		<script>
			parent.location.href = 'index.php';
		</script>
		<? 
		exit();
		}
$id_empresa =$_SESSION['ss_empresa'];          
$id_user = $_SESSION['ss_user'];
include("../conex.php");
/********************************** Datos Empresa ****************** seleccionar cual empresa  es el ingreso  en ssesion******/
	$sql_empresa = "SELECT * FROM empresa WHERE  id=$id_empresa;";
	$res_empresa = mysql_query($sql_empresa,$enlace);
	$row=0;
	while (mysql_fetch_object ($res_empresa))
		{
		$empresa_rut=mysql_result($res_empresa, $row, "rut_empresa");
		$empresa_rut = str_replace('.', '', $empresa_rut);
		$sitio_empresa=mysql_result($res_empresa, $row, "sitio_empresa");
        $ip_empresa=mysql_result($res_empresa, $row, "ip_empresa");
		}


$id_bodega=1; 
$id_vendedor=1;

//if ($id_empresa ==1) {$id_bodega=1; $id_vendedor=1;}


$carpeta=$carpetaXML.'/LibFE/DOC/PASO/';
if(is_dir($carpeta))
  {
	if($dir = opendir($carpeta))
	{
    	while(($archivo = readdir($dir)) !== false)

		{
        	if($archivo != '.' && $archivo != '..' && $archivo != '.htaccess')
			   {
				$recibeNomXML="INSERT INTO recibe_xml (nombre_xml) VALUE ('$archivo')";
				mysql_query(utf8_decode($recibeNomXML),$enlace);
				$verificaXML = simplexml_load_file($carpeta.$archivo);
				if(!empty($verificaXML->SetDTE))
				{
					$rutRecp=$verificaXML->SetDTE->Caratula->RutReceptor;
					$obtieneRut= getPuntosRut($rutRecp);
					//echo "<br> Rut Receptor Combi: ".$RutComb;
					$verificaRut="SELECT * FROM empresa WHERE rut_empresa='$obtieneRut'";
					$resultadoValida=mysql_query($verificaRut,$enlace);
			if(!empty($resultadoValida))
					{
					
				                   // dte valido ver facturas en interior
					//echo '<li><a target="_blank" href="../LibFE/DOC/PASO/'.$archivo.'">'.$archivo.'</a></li>';
					$total_exento=0;
					$total_neto=0;
					$total_iva=0;
					$total_iva_comun=0;
					$total_iva_no_rec=0;
					$total_total=0;
					$total_ivar=0;
					$total_ila=0;
					$total_iaba=0;
					$total_iaba18=0;
					$total_harina=0;
					$mercaderia=0;
					$factorivausocomun=0; 
					$txtcorrelativo=0;
					$CodIvaNo=0;
					$cod_iva_no_recuperable=0;
					
					$todayh=getdate();
					$d = $todayh['mday'];
					$m = $todayh['mon'];
					$y = $todayh['year'];
					$istoday=($y."-".$m."-".$d);
					
	
	
					$lstdcto=obtValorXML($archivo,'TpoDTE','0', $sitio_empresa);
    				$cantidad_DTE=obtValorXML($archivo,'NroDTE','0', $sitio_empresa);
					$emisor = obtValorXML($archivo,'RutEmisor','0', $sitio_empresa);
					$receptor = obtValorXML($archivo,'RutReceptor','0', $sitio_empresa);
					$DigestE = obtValorXML($archivo,'DigestValue','0', $sitio_empresa);
					$fecha_entrada= obtValorXML($archivo,'TmstFirmaEnv','0', $sitio_empresa);
					
					for ($i=0; $i<$cantidad_DTE; $i++){ 
						//echo "soy el archivo ".$archivo." y tengo ".$cantidad_DTE." DTE <br/>";
						$fecha_em[$i] = obtValorXML($archivo,'FchEmis',$i , $sitio_empresa);
						$fecha_ve[$i] = obtValorXML($archivo,'FchVenc',$i , $sitio_empresa);
						$tipo_dcto[$i] = obtValorXML($archivo,'TipoDTE',$i , $sitio_empresa);  //*************MCC
						$iddcto = $tipo_dcto[$i];							  //*************MCC
				
						if($iddcto==1)$dcto='B';
						if($iddcto==30)$dcto='F 30';
						if($iddcto==3)$dcto='NV';
						if($iddcto==4)$dcto='C';
						if($iddcto==51)$dcto='G 51';
						if($iddcto==60)$dcto='NC 60';
						if($iddcto==55)$dcto='ND 55';
						if($iddcto==33)$dcto='F E 33';
						if($iddcto==34)$dcto='Fex E 34';
			    		if($iddcto==45)$dcto='FC 45';
						if($iddcto==46)$dcto='FC E 46';
						if($iddcto==52)$dcto='G E 52';
						if($iddcto==61)$dcto='NC E 61';
						if($iddcto==56)$dcto='ND E 56';			
				
						$rut_emisor[$i] = obtValorXML($archivo,'RUTEmisor',$i , $sitio_empresa);
						$txtrut= substr ($rut_emisor[$i],0,2).".".substr ($rut_emisor[$i],2,3).".".substr ($rut_emisor[			                                         $i],5);
						
						$rut_receptor[$i] = obtValorXML($archivo,'RUTRecep',$i , $sitio_empresa);
						$RznSoc[$i] = obtValorXML($archivo,'RznSoc',$i , $sitio_empresa);
						$Telefono[$i] = obtValorXML($archivo,'Telefono',$i , $sitio_empresa);
						$GiroEmis[$i] = obtValorXML($archivo,'GiroEmis',$i , $sitio_empresa);
						$DirOrigen[$i] = obtValorXML($archivo,'DirOrigen',$i , $sitio_empresa);
						$CmnaOrigen[$i] = obtValorXML($archivo,'CmnaOrigen',$i , $sitio_empresa);
						$txtComuna=$CmnaOrigen[$i];
						$CiudadOrigen[$i] = obtValorXML($archivo,'CiudadOrigen',$i , $sitio_empresa);	
						$lstpago[$i] = obtValorXML($archivo,'FmaPago',$i , $sitio_empresa);	
						$txtndcto[$i] = obtValorXML($archivo,'Folio',$i , $sitio_empresa);
						$cor[$i] =  $txtndcto[$i];
						$txtobs =  "";
				 		$ivausocomun = 0;
				 		$iva_no_rec = 0;
			     		$cod_iva_no_rec= 0;
						$txtneto[$i]= obtValorXML($archivo,'MntNeto',$i , $sitio_empresa); 
						if(empty($txtneto[$i])){$txtneto[$i]=0;} 
						$txtiva[$i] = obtValorXML($archivo,'IVA',$i , $sitio_empresa);
						if(empty($txtiva[$i])){$txtiva[$i]=0;}
						$txtexento[$i]= obtValorXML($archivo,'MntExe',$i , $sitio_empresa);
						if(empty($txtexento[$i])){$txtexento[$i]=0;}
						$txttotal[$i] = obtValorXML($archivo,'MntTotal',$i , $sitio_empresa);
						if(empty($txttotal[$i])){$txttotal[$i]=0;}
						$txtivar = 0;
						$TipoDTE_O[$i]=obtValorXML($archivo,'TipoDTE',$i , $sitio_empresa);
						$iddcto = $TipoDTE_O[$i];
						$desc_global[$i]=obtValorXML($archivo,'ValorDR',$i , $sitio_empresa);
						$observacion =  "";
						$sel[$i]=0;
						
				  		if ($txtexento[$i]==''){$txtexento[$i]=0;}
						$txtharina[$i] =0;
						$txtila[$i] =0;				
						$txtiaba[$i] =0;
						$txtiaba18[$i] =0;
						$MontoImp[$i]= obtValorXML($archivo,'MontoImp',$i , $sitio_empresa);
						
						if($factorivausocomun!=0){$montoivausocomun=$txtiva[$i]; $txtiva[$i]=0;
						}else{$montoivausocomun=0;}
						if ($CodIvaNo!=0) {$iva_no_recuperable=$txtiva[$i]; $txtiva[$i]=0;
						}else{$iva_no_recuperable=0;}
						if ($txtivar!=0) {$txttotal[$i]=$txttotal[$i]-$txtivar;}
						if ($lstpago[$i]=='') {$lstpago[$i]=3;} else {if ($lstpago[$i]==2) {$lstpago[$i]=3;
						}else{$lstpago[$i]=1;}}
						$factor=1;
						if($lstdcto==6 || $lstdcto==61){$factor=-1;}
						
				  		if ($MontoImp[$i]==''){
							$MontoImp[$i]=0;
						}else{
				//<TipoImp>28</TipoImp>      <MontoImp>3631</MontoImp>  especifico a exento
				/*impuestos  	HARINA  	19		12%		harina
								LICORES		24		31.5%	ila
								VINOS		25		20.5%	ila
								CERVESAS	26		15%		ila
								BEBIDAS		27		10% y 18%  iaba  iaba18
				*/
				//********************  $i  cambiar $j 1 a 5 por los 5 tipos de impuestos
							$txtharina[$i] =0;
							$txtila[$i] =0;				
							$txtiaba[$i] =0;
							$txtiaba18[$i] =0;
							$j=0;
							
							while ($j<=6){
								$cod_impuesto = obtValorXML($archivo,'TipoImp',$j , $sitio_empresa);
				   				$tasa_impuesto = obtValorXML($archivo,'TasaImp',$j , $sitio_empresa);
				       			$monto_impuesto = obtValorXML($archivo,'MontoImp',$j , $sitio_empresa);
					   
								if ($cod_impuesto!=''){
									if ($cod_impuesto==19) {$txtharina[$i] = $monto_impuesto;}
									if ($cod_impuesto==24) {$txtila[$i] = $monto_impuesto;}
									if ($cod_impuesto==25) {$txtila[$i] = $monto_impuesto;}
									if ($cod_impuesto==26) {$txtila[$i] = $monto_impuesto;}
									if ($cod_impuesto==27){
										if ($tasa_impuesto==10){
											$txtiaba[$i] = $monto_impuesto;
										}else{
											$txtiaba18[$i] = $monto_impuesto;
										} 
									}
			     					if ($cod_impuesto>=28){
										$txtexento[$i]=$txtexento[$i]+$MontoImp[$i];}
									}
									$j+=1;
								}
							}
				// *********************** MCC
				// Detalle
				
				$k=0; //Cuenta_XML($archivo,'NmbItem');
				
				while (obtValorXML($archivo,'NroLinDet', $k, $sitio_empresa ) > 0) 
				{$k+=1;}
				
				for ($n=0; $n<=$k; $n++){ 
			   	$codigo[$n] = obtValorXML($archivo,'VlrCodigo',$n , $sitio_empresa); 
			    $cantidad[$n] = obtValorXML($archivo,'QtyItem',$n , $sitio_empresa); 
			    $precio[$n] = obtValorXML($archivo,'PrcItem',$n , $sitio_empresa); 
			    $descuento[$n] = obtValorXML($archivo,'DescuentoMonto',$n , $sitio_empresa); 
				if($descuento[$n] =='') $descuento[$n] = 0;
			    $sub_total[$n] = obtValorXML($archivo,'MontoItem',$n , $sitio_empresa); 	
				$detalle[$n] = obtValorXML($archivo,'NmbItem',$n , $sitio_empresa);  
				$detalle_1[$n] = obtValorXML($archivo,'DscItem',$n , $sitio_empresa);  
				}
				$cnt=$k;
				// *********************** MCC

$txtemail=".";
$txtfax=".";
if ($txtivar=='') $txtivar=0;
if ($GiroEmis[$i]=='') $GiroEmis[$i]=null;
if ($txtemail=='') $txtemail=null;
if ($Telefono[$i]=='') $Telefono[$i]=null;
if ($txtfax=='') $txtfax=null;
if ($txtcorrelativo=='') $txtcorrelativo=null;							
//  ojo comuna, debo encontralas y la region
$lstreg=13;     //region 13
$lstcom=346;   // santiago
//echo "<br>Comuna: ".$txtComuna;
$cons_comuna ="SELECT * FROM comunas WHERE comuna='$txtComuna'";
$res_be = mysql_query($cons_comuna,$enlace);
$cont=0;
$lstreg=mysql_result($res_be, $cont, "region");
$lstcom=mysql_result($res_be, $cont, "cod_comuna");	

//******** verifica existencia ingreso de dcto (factura)  ***********/	
$cons_dcto = mysql_query("SELECT * FROM entrada WHERE empresa=$id_empresa AND tipo_dcto = $tipo_dcto[$i] AND num_dcto = $txtndcto[$i] AND  rut_proveedor='$txtrut'", $enlace);
//echo($cons_dcto);
$cont=0;
while ( mysql_fetch_object ($cons_dcto) ) 
	{
		$cont = $cont + 1;
	}
	
if ($cont==0){ 					
	/****************** Busca numero correlativo ***********************************************/	
	$sql_par = "SELECT correlativo FROM tipo_dcto_num_bodega  WHERE id_empresa = $id_empresa AND id_dcto=13";
	$res_par = mysql_query($sql_par,$enlace);
	$row=0;
	$txtcorrelativo=0;
	while (mysql_fetch_object ($res_par))
		{
		$txtcorrelativo=mysql_result($res_par, $row, "correlativo");
		$row=$row+1;
		}
		$txtcorrelativo+=1;
		
	//*********************** Graba correlativo *********************************************/	

	$up_dcto = "UPDATE tipo_dcto_num_bodega SET correlativo = '$txtcorrelativo' WHERE id_dcto=13 AND 
				id_bodega='$id_bodega' AND id_empresa = $id_empresa";
	$res_up_dcto = mysql_query(utf8_decode($up_dcto),$enlace);	
						
//************************ verifica Proveedor *********************************************/		
	$sql_be = "SELECT * FROM nombres WHERE rut='$txtrut'";
	$res_be = mysql_query($sql_be,$enlace);
	$row=0;
	while (mysql_fetch_object ($res_be))
		{
		$emp_codigo=mysql_result($res_be, $row, "codigo");
		$row=$row+1;
		}
	//echo "soy la fila ".$row." con el rut ".$txtrut." y codigo ".$emp_codigo."<br/>";
	if(empty($lstreg)){$lstreg=9;}
	if(empty($lstcom)){$lstcom=221;}
	
	if ($row==0){
		//$apostrofeDireccion=addslashes($GiroEmis[$i]);
		$DireccionConApostrofe = mysql_real_escape_string($DirOrigen[$i]);
		//$variableSana = htmlentities(addslashes($DirOrigen[$i]));
		
		$sql_ins = "INSERT INTO nombres (rut, razon_social, rubro_giro, direccion, ciudad, comuna, region, fono1,
		 			fax, proveedor,email,id_segmento)
					VALUES ('$txtrut', '$RznSoc[$i]', '$GiroEmis[$i]', '$DireccionConApostrofe', '$CiudadOrigen[$i]', $lstcom, $lstreg, 
					'$Telefono[$i]','$txtfax', 'True', '$txtemail', 1)"; 
		//echo $sql_ins."<br/>";			
		mysql_query(utf8_decode($sql_ins),$enlace);
		}else{
		$sql_upd = "UPDATE nombres SET rut='$txtrut', razon_social='$RznSoc[$i]', direccion='$DirOrigen[$i]', 
					email='$txtemail',ciudad='$CiudadOrigen[$i]', comuna=$lstcom, region=$lstreg, 
					rubro_giro='$GiroEmis[$i]', fono1='$Telefono[$i]', fax='$txtfax', proveedor = 'True' 
					WHERE codigo = $emp_codigo";
	
		mysql_query(utf8_decode($sql_upd),$enlace);
	}
	$wsql = "INSERT INTO 
			entrada (empresa, rut_proveedor, num_dcto, tipo_dcto, fecha_emision, fecha_recepcion, fecha_pago, fecha_libro, tipo_pago, exento, neto, iva, impuestos, total, iva_retenido, productos, 
			num_dcto_control, pagada, usuario, bodega, vendedor, factor, observacion, factor_iva_uso_comun,            
			iva_uso_comun, correlativo, cod_iva_no_recuperable, iva_no_recuperable, nombre_xml,
			recepcion_archivo) 
	     VALUES 
		 	($id_empresa, '$txtrut', $txtndcto[$i], $tipo_dcto[$i], '$fecha_em[$i]', '$istoday', '$fecha_ve[$i]', '$istoday',            $lstpago[$i], $txtexento[$i],  $txtneto[$i], $txtiva[$i], $txtharina[$i], $txttotal[$i], $txtivar, 
			$mercaderia ,0, 0,  $id_user, $id_bodega, $id_vendedor, $factor, '$txtobs', $factorivausocomun, 
			$montoivausocomun,'$txtcorrelativo', $CodIvaNo, $iva_no_recuperable, '$archivo',0)";
	//echo($wsql);
	mysql_query(utf8_decode($wsql),$enlace);	
	
//++++++++++++++++++++++++++++ Sacar el ultimo
	$sql_ultimo = "SELECT id FROM entrada WHERE id=last_insert_id()";
	$res_ultimo =  mysql_query($sql_ultimo, $enlace);		
	$eultimo_id = mysql_result($res_ultimo, 0, "id");

	//+++++++++++++++++++++++++pago proveedores
		//$txttotal[$i]=$txttotal[$i]*$factor;   // *********** MCC
		if ($lstpago[$i]==3 )
		{
		$des="Otros...";     // *********** MCC
		if ($lstdcto==2 || $lstdcto==33) $des='Factura '.$txtndcto[$i];
		if ($lstdcto==5) $des='Guia '.$txtndcto[$i];
		if ($lstdcto==6 || $lstdcto==61){ $des='NC '.$txtndcto[$i]; }
		if ($lstdcto==7 || $lstdcto==56) $des='ND '.$txtndcto[$i];
	
		$csql="INSERT INTO pago_proveedores (empresa, rut, num_salida, fecha, descripcion, valor, tipo) 
		VALUES ($id_empresa, '$txtrut', $eultimo_id, '$fecha_ve[$i]', '$des', $txttotal[$i]*$factor, 'C')"; //*********** MCC
		//echo "<br>".$csql;     
		$con = mysql_query(utf8_decode($csql),$enlace);
		}

//************************ Movimiento  si cantidad dte es mayor a 1 no inserta el movimiento ********* MCC
if ($cantidad_DTE==1){
$cant = 0;
	//echo " soy cnt k ".$cnt." ";
	while ($cant<$cnt){
		$psql = "INSERT INTO movimiento (empresa, entrada_salida_traspaso, fecha, cod_producto, cantidad, precio_unitario,numero_dcto, tipo_dcto, descuentos, bodega, id_soe, rut, detalle, detalle_1, sub_total) 
			VALUES ($id_empresa, 'E', '$istoday', '$codigo[$cant]', $cantidad[$cant], $precio[$cant], $txtndcto[$i], $lstdcto, $descuento[$cant], $id_bodega, $eultimo_id, '$txtrut', '$detalle[$cant]', '$detalle_1[$cant]', $sub_total[$cant] )";
			//echo($psql);
		$sql_productos = mysql_query(utf8_decode($psql),$enlace);
		
		/*$sql_sal = "UPDATE productos SET saldo=(saldo+$cantidad[$cant]), u_entrada=(u_entrada+$cantidad[$cant])WHERE codigo = $codigo[$cant]";
		//mysql_query($sql_sal,$enlace);*/
		
	$cant=$cant+1;
	}
}
	$lstcargo0=1;                           //  sin cuenta de cargo
	$txtcargo0=($txtexento[$i]+$txtneto[$i]);
/*************** MERCADERIA =0  ES GASTO ***************/
        if ($lstcargo0<>null)
		{
				$cargos_sql="INSERT INTO cuentas_de_cargo (id_plan_cuenta, id_entrada, valor, fecha_libro, id_empresa) 
		VALUES ($lstcargo0, $eultimo_id, $txtcargo0,'$istoday', $id_empresa)";
		mysql_query(utf8_decode($cargos_sql),$enlace);
		}


//************************ Movimiento   ********* MCC
					
		// *****  fin factura(i) ******			
		
							
					

//*********************************************************************************************************
  
   $num_resp=$txtcorrelativo;
 

   // $fecha  viene de factura.php
 //$archivo=$archivo;   //     $nombre_xml viene de factura.php
 //**********************************************************************************************
 $archivo_xml=$archivo;
   
//****  genera XML   Recepcion_Archivo*******

$xml=new DomDocument("1.0", "UTF-8");
 $raiz=$xml->createElement("Resultado");
 $raiz=$xml->appendChild($raiz); 
 $raiz->setAttribute("ID", "RECEP-".$num_resp);

  /*--Caratula -------------------------*/
    $Caratula=$xml->createElement("Caratula");
    $Caratula=$raiz->appendChild($Caratula); 
    $Caratula->setAttribute("version", "1.0");
	 
    $RutResponde=$xml->createElement("RutResponde", $empresa_rut);
    $RutResponde=$Caratula->appendChild($RutResponde); 

	$RutRecibe=$xml->createElement("RutRecibe", $emisor);
    $RutRecibe=$Caratula->appendChild($RutRecibe); 
	
	$IdRespuesta=$xml->createElement("IdRespuesta", $num_resp);
    $IdRespuesta=$Caratula->appendChild($IdRespuesta);

	$NroDetalles=$xml->createElement("NroDetalles", $cant);
    $NroDetalles=$Caratula->appendChild($NroDetalles);
	
    $TmstFirmaResp=$xml->createElement("TmstFirmaResp", date('Y-m-d').'T'.date('H:i:s'));
    $TmstFirmaResp=$Caratula->appendChild($TmstFirmaResp);
	
	$RecepcionEnvio=$xml->createElement("RecepcionEnvio");
    $RecepcionEnvio=$raiz->appendChild($RecepcionEnvio); 
	
	    $NmbEnvio=$xml->createElement("NmbEnvio",$archivo);
    	$NmbEnvio=$RecepcionEnvio->appendChild($NmbEnvio); 
		

		    $FchRecep=$xml->createElement("FchRecep",$fecha_entrada);
    	    $FchRecep=$RecepcionEnvio->appendChild($FchRecep); 
			
		 	$CodEnvio=$xml->createElement("CodEnvio",$num_resp);
    	    $CodEnvio=$RecepcionEnvio->appendChild($CodEnvio); 
			
			$EnvioDTEID=$xml->createElement("EnvioDTEID","SetDoc");
    	    $EnvioDTEID=$RecepcionEnvio->appendChild($EnvioDTEID); 
			
			$Digest=$xml->createElement("Digest",$DigestE);
    	    $Digest=$RecepcionEnvio->appendChild($Digest); 
			
			$RutEmisor=$xml->createElement("RutEmisor",$emisor);
    	    $RutEmisor=$RecepcionEnvio->appendChild($RutEmisor); 
			
			$RutReceptor=$xml->createElement("RutReceptor",$receptor);
    	    $RutReceptor=$RecepcionEnvio->appendChild($RutReceptor); 
			
			$EstadoRecepEnv=$xml->createElement("EstadoRecepEnv","0");
    	    $EstadoRecepEnv=$RecepcionEnvio->appendChild($EstadoRecepEnv); 
			
			$RecepEnvGlosa=$xml->createElement("RecepEnvGlosa","Envio Recibido Conforme");
    	    $RecepEnvGlosa=$RecepcionEnvio->appendChild($RecepEnvGlosa); 
			
			$NroDTE=$xml->createElement("NroDTE",$cant);
    	    $NroDTE=$RecepcionEnvio->appendChild($NroDTE); 

	//***************detalles *********		
		for ($z=0; $z<$cant; $z++)
	     { 
	     $RecepcionDTE=$xml->createElement("RecepcionDTE");
         $RecepcionDTE=$RecepcionEnvio->appendChild($RecepcionDTE); 
		 
		 $TipoDTE=$xml->createElement("TipoDTE", $lstdcto);
    	 $TipoDTE=$RecepcionDTE->appendChild($TipoDTE);
		
		 $Folio=$xml->createElement("Folio", $txtndcto[$z]);
    	 $Folio=$RecepcionDTE->appendChild($Folio);
		
		 $FchEmis=$xml->createElement("FchEmis",$fecha_em[$z]);
    	 $FchEmis=$RecepcionDTE->appendChild($FchEmis);
		
		 $RUTEmisor=$xml->createElement("RUTEmisor",$rut_emisor[$z]);
    	 $RUTEmisor=$RecepcionDTE->appendChild($RUTEmisor);
		 
		 $RUTRecep=$xml->createElement("RUTRecep",$rut_receptor[$z]);
    	 $RUTRecep=$RecepcionDTE->appendChild($RUTRecep);		
		 
		 $MntTotal=$xml->createElement("MntTotal", $txttotal[$z]);
    	 $MntTotal=$RecepcionDTE->appendChild($MntTotal);
		 
		 $EstadoRecepDTE=$xml->createElement("EstadoRecepDTE", $sel[$z]);
    	 $EstadoRecepDTE=$RecepcionDTE->appendChild($EstadoRecepDTE);
		 
		 $glosa="DTE Recibido OK";
		 
		 $RecepDTEGlosa=$xml->createElement("RecepDTEGlosa", $glosa);
    	 $RecepDTEGlosa=$RecepcionDTE->appendChild($RecepDTEGlosa);
		}
	//***************detalles *********		 
	
	/*guardar xml--------------------------------*/
$recepcionA=$archivo;
$archivo_x= "R_A_".$archivo;
$archivo="../LibFE/DOC/ORIGINAL/".$archivo_x;
$xml->formatOut=true;
$strings_xml=$xml->saveXML(); 


if($xml->save($archivo)) 
  {
   //subirArchivo($archivo_x, $ip_empresa, $id_empresa, $sitio_empresa);	// cargar archivo
  $upDra="UPDATE entrada SET recepcion_archivo=1 WHERE nombre_xml='$recepcionA'"; 
  mysql_query(utf8_decode($upDra),$enlace);
  copy($_SERVER['DOCUMENT_ROOT'].'/'.$sitio_empresa.'/LibFE/DOC/PASO/'.$recepcionA, $_SERVER['DOCUMENT_ROOT'].		
  		'/'.$sitio_empresa.'/LibFE/DOC/ORIGINAL/'.$recepcionA);			
  //echo("Termino de crear el ".$archivo."<br>"); 
  }
  
	}  // *****  Ingresa factura que no existe en BD
}// *****   Factura(i) en envio DTE
					//echo "soy el archivo ".$recepcionA." y tengo ".$i." DTE <br/>";
					}     // ***** if(!empty($resultadoValida))
           		}    //**** if(!empty($verificaXML->SetDTE))
				
			  } 	//** if($archivo != '.' && $archivo != '..' && $archivo != '.htaccess')
			  
       		}  //  while(($archivo = readdir($dir)) !== false)
            closedir($dir);
        }  //  if($dir = opendir($carpeta))
    }  // if(is_dir($carpeta))
 }    // fin funcion listar 
 
  
/*************************************************************************************************************************/
function obtValorXML($archivo, $var, $x, $sitio) 
{

	$directorio = $_SERVER['DOCUMENT_ROOT']."/".$sitio."/LibFE/DOC/PASO/";
    $xml=$directorio.$archivo;
    $dom = new DOMDocument();
    $dom->load($xml);
    $data = array();
    $elements = $dom->getElementsByTagName($var);


    foreach($elements as $node){
    	foreach($node->childNodes as $child) {
        	$data[] = $child->nodeValue;
        }
    }

    if(count($data) > 0) {
    	return($data[$x]);
    }else{
    	return "";
    }
 }

function getPuntosRut( $rut )
  {
	$rutTmp = explode( "-", $rut );
	return number_format( $rutTmp[0], 0, "", ".") . '-' . $rutTmp[1];
  }

/*ELIMINAMOS LOS ARCHIVOS DE PASO*/
$files = glob($_SERVER['DOCUMENT_ROOT'].'/'.$sitio_empresa.'/LibFE/DOC/PASO/*'); // obtiene todos los archivos
foreach($files as $file)
  {
  if(is_file($file)) // si se trata de un archivo
    unlink($file); // lo elimina
  }
/*FIN ELIMINAR ARCHIVO PASO*/

function subirArchivo($nombreArchivo,$ip_empresa,$emp,$sitio_empresa)
    {
	$handle = curl_init();
	curl_setopt($handle, CURLOPT_POST, true);

curl_setopt($handle, CURLOPT_URL, 'http://'.$ip_empresa.'/'.$sitio_empresa.'/LibFE/firmarDTE/PreparaRecepArchivo_'.$emp.'.php?documento='.$nombreArchivo);

	curl_exec($handle);
	curl_close($handle);
    }	
?>