<?PHP
//  auto.envio consumo de folios  programado con crontab    19.35  todos los dias.  mcc 13-07-2017
$id_empresa =1;
$id_user = 1;

include("../conex.php");

function quitarEspecialesXML($sCad)
      {
         $sCad=str_replace("&","&amp;",$sCad);
         $sCad=str_replace("<","&lt;",$sCad);
         $sCad=str_replace(">","&gt;",$sCad);
         $sCad=str_replace('"',"&#34;",$sCad);
         $sCad=str_replace("'","&#39;",$sCad);
         return $sCad;
      }



//********* Datos empresa *****************
	$sql_empresa = "SELECT * FROM empresa, comunas WHERE comunas.cod_comuna = empresa.comuna and id=$id_empresa";
     	$res_empresa = mysql_query($sql_empresa,$enlace);

		$empresa_rut=mysql_result($res_empresa, 0, "rut_empresa");
		
		$empresa_rut = str_replace('.', '', $empresa_rut);
		
		$empresa_rut_representante=mysql_result($res_empresa, 0, "rut_representante");
		$empresa_rut_representante = str_replace('.', '', $empresa_rut_representante);
		$empresa_ciudad=mysql_result($res_empresa, 0, "ciudad");
		$empresa_comuna=mysql_result($res_empresa, 0, "comunas.comuna");
		$empresa_actividad=mysql_result($res_empresa, 0, "actividad");
		$empresa_acteco=mysql_result($res_empresa, $row, "acteco");
		
		
		$sitio_empresa=mysql_result($res_empresa, 0, "sitio_empresa");
        $ip_empresa=mysql_result($res_empresa, 0, "ip_empresa");
		$nro_resolucion=mysql_result($res_empresa, 0, "numero_resolucion");
        $fecha_resolucion=mysql_result($res_empresa, 0, "fecha_resolucion");
		
//******************************
 
 $fecha= date(d)."/".date(m)."/".date(Y);    // fecha del dia
 $fecha1=$fecha; 

$dia = substr ($fecha, 0, 2);
$mes = substr ($fecha, 3, 2);
$ano = substr ($fecha, 6, 4);

$fecha = $fecha[6]."".$fecha[7]."".$fecha[8]."".$fecha[9]."-".$fecha[3]."".$fecha[4]."-".$fecha[0]."".$fecha[1];
                   
$dia1 = substr ($fecha1, 0, 2);
$mes1 = substr ($fecha1, 3, 2);
$ano1 = substr ($fecha1, 6, 4);

$desde = $ano."-".$mes."-".$dia;
$hasta = $ano1."-".$mes1."-".$dia1;

/*************  Consulta envio *******************/
    $sql_libro = "SELECT * FROM consumo_folios  WHERE empresa=$id_empresa and trackid>'0' AND fecha_consumo='$desde'";
	$res_libro = mysql_query($sql_libro,$enlace);
	$row=0;
	while (mysql_fetch_object ($res_libro))
		{		
		$row+=1;
		}
if ($row>0)
 {
  exit();
 }  
  

  
  $correl=1;  $secenvio=1;  $versi=1;
  $fecha_envio=date('Y-m-d').'T'.date('H:i:s');
  
  $tasa_iva=19.00;
//****  genera XML   dedes LIBRO VENTA*******

 $xml=new DomDocument("1.0","UTF-8");
 
    $raiz=$xml->createElement("DocumentoConsumoFolios");
    $raiz=$xml->appendChild($raiz); 
	$raiz->setAttribute("ID", "CF-".$ano."-".$mes."-".$dia);
 
  /*--Caratula -------------------------*/
    $Caratula=$xml->createElement("Caratula");
    $Caratula=$raiz->appendChild($Caratula); 
    $Caratula->setAttribute("version", "1.0");
	
    $RutEmisor=$xml->createElement("RutEmisor", $empresa_rut );
    $RutEmisor=$Caratula->appendChild($RutEmisor); 

	$RutEnvia=$xml->createElement("RutEnvia", $empresa_rut_representante);
    $RutEnvia=$Caratula->appendChild($RutEnvia); 
	
	
	
    $FchResol=$xml->createElement("FchResol", $fecha_resolucion);
    $FchResol=$Caratula->appendChild($FchResol); 
	
	$NroResol=$xml->createElement("NroResol", $nro_resolucion);
    $NroResol=$Caratula->appendChild($NroResol); 
	
	$FchInicio=$xml->createElement("FchInicio",$desde);
    $FchInicio=$Caratula->appendChild($FchInicio); 
	
	
	$FchFinal=$xml->createElement("FchFinal",$hasta);
    $FchFinal=$Caratula->appendChild($FchFinal);

/* comento el 23/02/2016 	
	$Correlativo=$xml->createElement("Correlativo",$correl);
    $Correlativo=$Caratula->appendChild($Correlativo); 
	
fin comentario */
  
    $SecEnvio=$xml->createElement("SecEnvio",$secenvio);
    $SecEnvio=$Caratula->appendChild($SecEnvio); 
	
     $TmstFirmaEnv=$xml->createElement("TmstFirmaEnv",$fecha_envio);
      $TmstFirmaEnv=$Caratula->appendChild($TmstFirmaEnv); 
     
	

 /*--Resumen Periodo----------------------*/ 
 //  Resume ** Boleta NC  ***   

		$dcto[0]=39;        //Bol E   $dcto[1]=41;		//Bol E exenta
		
	    $dcto[1]=61;		//NC E de boletas
		
		foreach ($dcto as $paso)
		{
		$exento=0;		
		$neto=0;
		$iva=0;
		$total=0;
	
		$sqlan ="SELECT count(num_dcto) as cuantos, min(num_dcto) as inicial, max(num_dcto) as final FROM salida WHERE fecha_emision>='$desde' AND fecha_emision<='$hasta' AND tipo_dcto=$paso  AND salida.empresa =$id_empresa and rut_cliente='00.000.000-0'";
	
	
			
			$resan = mysql_query($sqlan,$enlace);
			
			$cont=0;
			while (mysql_fetch_object ($resan))
				{
				$rango_inicial_anulados = mysql_result($resan, $cont, "inicial");	
				$rango_final_anulados = mysql_result($resan, $cont, "final");
				$cantidad_nulos = mysql_result($resan, $cont, "cuantos");	
				}
				
		$sqlfs ="SELECT count(*) as cant,  min(num_dcto) as rinicial, max(num_dcto) as rfinal, sum(if(anulado=0, exento, 0)) as texen, sum(if(anulado=0, neto, 0)) as tneto, sum(if(anulado=0, iva, 0)) as tiva, sum(if(anulado=0, total, 0)) as ttota FROM salida WHERE fecha_emision>='$desde' AND fecha_emision<='$hasta' AND tipo_dcto=$paso  AND salida.empresa = $id_empresa";
	
			$resfs = mysql_query($sqlfs,$enlace);	
		
			$cantidad = mysql_num_rows($resfs);
			$cont=0;
			
			while (mysql_fetch_object ($resfs))
	         {
				$rango_inicial = mysql_result($resfs, $cont, "rinicial");
				$rango_final = mysql_result($resfs, $cont, "rfinal");
			    $folios_emitidos= mysql_result($resfs, $cont, "cant");
				$exento= (int) mysql_result($resfs, $cont, "texen");
				$neto= (int) mysql_result($resfs, $cont, "tneto");
				$iva = (int) mysql_result($resfs, $cont, "tiva");			
				$total = (int) mysql_result($resfs, $cont, "ttota");	
				//$folios_anulados = mysql_result($resfs, $cont, "anulados");			
				 }	
				 
   				if ($paso==39)
		{ 
				 $rango_inicial_b =$rango_inicial;
				 $rango_final_b = $rango_final;
				 $folios_emitidos_b=$folios_emitidos;
		}		 
				 $folios_anulados = $cantidad_nulos;
			
	
	 $folios_utilizados=$folios_emitidos-$folios_anulados;

	  //$rango_inicial=0;  $rango_final=0; 	  
	  //$rango_inicial_anulados=0;  $rango_final_anulados=0;
	 
	  $Resumen=$xml->createElement("Resumen");
      $Resumen=$raiz->appendChild($Resumen); 

		//test
		if ($paso==61)
		{
			$folios_emitidos = 0;
		$folios_anulados = 0;	
		$folios_utilizados = 0;
		$rango_inicial=0;  $rango_final=0;
		}
	  
	   $TipoDocumento=$xml->createElement("TipoDocumento", $paso);
       $TipoDocumento=$Resumen->appendChild($TipoDocumento);
	   
	    $MntNeto=$xml->createElement("MntNeto",$neto);
        $MntNeto=$Resumen->appendChild($MntNeto);
	  
	   $MntIva=$xml->createElement("MntIva", $iva);
       $MntIva=$Resumen->appendChild($MntIva);
	   
	   
	    $TasaIVA=$xml->createElement("TasaIVA", $tasa_iva);
       $TasaIVA=$Resumen->appendChild($TasaIVA);
	   
	    $MntExento=$xml->createElement("MntExento", $exento);
       $MntExento=$Resumen->appendChild($MntExento);
	   	   
	    $MntTotal=$xml->createElement("MntTotal", $total);
        $MntTotal=$Resumen->appendChild($MntTotal);
	   
	    $FoliosEmitidos=$xml->createElement("FoliosEmitidos", $folios_emitidos);
        $FoliosEmitidos=$Resumen->appendChild($FoliosEmitidos);
		
	   $FoliosAnulados=$xml->createElement("FoliosAnulados", $folios_anulados);
        $FoliosAnulados=$Resumen->appendChild($FoliosAnulados);
		
		$FoliosUtilizados=$xml->createElement("FoliosUtilizados", $folios_utilizados);
        $FoliosUtilizados=$Resumen->appendChild($FoliosUtilizados);
		
		
//*****************************    		
		
		if($folios_utilizados >0)
		{
		
	$sqlfsi ="SELECT num_dcto FROM salida WHERE fecha_emision>='$desde' AND fecha_emision<='$hasta' AND tipo_dcto=$paso  AND salida.empresa = $id_empresa and rut_cliente<>'00.000.000-0' order by num_dcto";
     	$resfsi = mysql_query($sqlfsi,$enlace);	

			$conti=0;
			$num_dcto= mysql_result($resfsi, 0, "num_dcto");
			$inicio=$num_dcto;
			$rango_inicial=$num_dcto;
			
			$x=0;
			while (mysql_fetch_object ($resfsi))
	         {
			 $rango_final = $num_dcto;
			 $num_dcto = mysql_result($resfsi, $conti, "num_dcto");
			if ($inicio!=$num_dcto)
				{
			    $RangoUtilizados=$xml->createElement("RangoUtilizados");
			    $RangoUtilizados=$Resumen->appendChild($RangoUtilizados);
		  
				 $Inicial=$xml->createElement("Inicial", $rango_inicial);
				 $Inicial=$RangoUtilizados->appendChild($Inicial);
			 
				 $Final=$xml->createElement("Final", $rango_final);
				 $Final=$RangoUtilizados->appendChild($Final);	
				$rango_inicial=$num_dcto;	
				$inicio=$num_dcto;	
			    $x=1;
			
				}
				$inicio+=1;				
				$conti+=1;			
			 }	
			 if ($x==1 && $rango_final!=$rango_final_b)
			 {	
		        $RangoUtilizados=$xml->createElement("RangoUtilizados");
			    $RangoUtilizados=$Resumen->appendChild($RangoUtilizados);
		  
				$Inicial=$xml->createElement("Inicial", $rango_inicial);
				$Inicial=$RangoUtilizados->appendChild($Inicial);
			 
				$Final=$xml->createElement("Final", $num_dcto);
				$Final=$RangoUtilizados->appendChild($Final);
		       }
		     if ($x==0)
			 {	
		        $RangoUtilizados=$xml->createElement("RangoUtilizados");
			    $RangoUtilizados=$Resumen->appendChild($RangoUtilizados);
		  
				$Inicial=$xml->createElement("Inicial", $rango_inicial);
				$Inicial=$RangoUtilizados->appendChild($Inicial);
			 
				$Final=$xml->createElement("Final", $num_dcto);
				$Final=$RangoUtilizados->appendChild($Final);
		       }
		
		if($folios_anulados >0)
		{ 
	
		if ($paso==39)
		{
		
		$sqlfsi ="SELECT num_dcto FROM salida WHERE fecha_emision>='$desde' AND fecha_emision<='$hasta' AND tipo_dcto=$paso  AND salida.empresa = $id_empresa and rut_cliente='00.000.000-0' order by num_dcto";
	
			$resfsi = mysql_query($sqlfsi,$enlace);	
            $conti=0;
			
			$num_dcto= mysql_result($resfsi, 0, "num_dcto");
			$inicio=$num_dcto;
			$rango_inicial=$num_dcto;
			
			$x=0;
			while (mysql_fetch_object ($resfsi))
	         {
			 $rango_final = $num_dcto;
				$num_dcto = mysql_result($resfsi, $conti, "num_dcto");
			if ($inicio!=$num_dcto)
				{
			     $RangoAnulados=$xml->createElement("RangoAnulados");
                 $RangoAnulados=$Resumen->appendChild($RangoAnulados);
		  
				 $Inicial=$xml->createElement("Inicial", $rango_inicial);
				 $Inicial=$RangoAnulados->appendChild($Inicial);
				
				 $Final=$xml->createElement("Final", $rango_final);
				 $Final=$RangoAnulados->appendChild($Final);
				$rango_inicial=$num_dcto;	
				$inicio=$num_dcto;	
			$x=1;			
				}
				$inicio+=1;
				
				$conti+=1;			
			 }
			  if ($x==1 && $rango_final!=$rango_final_anulados)
			 {	
		         $RangoAnulados=$xml->createElement("RangoAnulados");
                 $RangoAnulados=$Resumen->appendChild($RangoAnulados);
		  
				 $Inicial=$xml->createElement("Inicial", $rango_inicial);
				 $Inicial=$RangoAnulados->appendChild($Inicial);
				
				 $Final=$xml->createElement("Final", $num_dcto);
				 $Final=$RangoAnulados->appendChild($Final);
		       }
			  if ($x==0)
			  {	
				  $RangoAnulados=$xml->createElement("RangoAnulados");
                 $RangoAnulados=$Resumen->appendChild($RangoAnulados);
		  
				 $Inicial=$xml->createElement("Inicial", $rango_inicial);
				 $Inicial=$RangoAnulados->appendChild($Inicial);
				
				 $Final=$xml->createElement("Final", $num_dcto);
				 $Final=$RangoAnulados->appendChild($Final);
		       }		

		}
		} 
	  
	  }
	  }

  

	  
/*guardar xml--------------------------------*/ 
 $sql_libro = "INSERT INTO consumo_folios (empresa, fecha_consumo, fecha_envio, trackid, folio_ini, folio_fin, folio_can, valida_sii, secuencia) VALUES('$id_empresa', '$fecha', '$fecha_envio', '1', '$rango_inicial_b', '$rango_final_b', '$folios_emitidos_b', 0, $secenvio)";
  
 if (mysql_query($sql_libro,$enlace)) 
		{
		$sultimo_id = mysql_insert_id($enlace);
		}
  
  
$archivo_x="consumo_folios_".$ano."_".$mes."_".$dia.".xml";
$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);  

// echo "Termino de crear el".$archivo."";
  }
 else
 {  //echo "No se puede guardar el ".$archivo; 
 }

 
 

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/FirmaConsumoEnvia.php?documento='.$nombreArchivo);

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