<?PHP
//ini_set('error_reporting',1);
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 *****************
	$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);
		
		$sitio_empresa=mysql_result($res_empresa, 0, "sitio_empresa");
        $ip_empresa=mysql_result($res_empresa, 0, "ip_empresa");
		 $numero_resolucion=mysql_result($res_empresa, 0, "numero_resolucion");
        $fecha_resolucion=mysql_result($res_empresa, 0, "fecha_resolucion");
		$certificacion=mysql_result($res_empresa, 0, "certificacion");
		 $fecha_certificacion=mysql_result($res_empresa, 0, "fecha_certificacion");

	 $ambiente="PRODUCCION";
	if($certificacion=='SI') { $ambiente="CERTIFICACION"; $fecha_resolucion=$fecha_certificacion; $numero_resolucion=0;}
		
		
		
		
		
		
		
//******************************

$fecha=$_POST["txtfecha"];                        // mcc    28.11.14
$dia = substr ($fecha, 0, 2);
$mes = substr ($fecha, 3, 2);
$ano = substr ($fecha, 6, 4);

$periodo_tributario=$ano."-".$mes;

$fecha = $fecha[6]."".$fecha[7]."".$fecha[8]."".$fecha[9]."-".$fecha[3]."".$fecha[4]."-".$fecha[0]."".$fecha[1];

/*************  Consulta envio *******************/

    $sql_libro = "SELECT * FROM envio_libro_sii  WHERE empresa=$id_empresa and trackid>'0' AND periodo_tributario='$periodo_tributario' AND tipo_libro='BOLETA'";
	$res_libro = mysql_query($sql_libro,$enlace);
	$row=0;
	while (mysql_fetch_object ($res_libro))
		{		
		$row+=1;
		}
if ($row>0 && $cod_reenvio=='') {
?>
	<script language="javascript">
		alert("Libro de BOLETA ya fue enviado anteriormente");
	//	window.top.open('','_parent','');
		//window.top.close();
	</script>
<?
//exit();
}
 /**************** graba envio_libro_sii ******************/
 
 $fecha_hoy = date(Y)."/".date(m)."/".date(d);
 $libro="MENSUAL"; 
	if ($cod_reenvio!='')    $libro="RECTIFICA"; 
  $sql_libro = "INSERT INTO envio_libro_sii (trackid, tipo_libro, periodo_tributario, fecha_envio, empresa, tipo_envio, cod_rectifica) VALUES('1', 'BOLETA', '$periodo_tributario', '$fecha_hoy', '$id_empresa', '$libro', '$cod_reenvio')";
 
 
 if (mysql_query($sql_libro,$enlace)) 
		{
		$sultimo_id = mysql_insert_id($enlace);
		}
 
 //echo($sultimo_id);



//$mes = $fecha[3]."".$fecha[4];
//$ano = $fecha[6]."".$fecha[7]."".$fecha[8]."".$fecha[9];
  
//****  genera XML   LIBRO BOLETA*******
 $xml=new DomDocument("1.0","UTF-8");

 $raiz=$xml->createElement("EnvioLibro");
 $raiz=$xml->appendChild($raiz); 
 $raiz->setAttribute("ID", "EnvioLibrBoleta-".$ano."-".$mes);
 
  /*--Caratula -------------------------*/
    $Caratula=$xml->createElement("Caratula");
    $Caratula=$raiz->appendChild($Caratula); 

    $RutEmisorLibro=$xml->createElement("RutEmisorLibro", $empresa_rut );
    $RutEmisorLibro=$Caratula->appendChild($RutEmisorLibro); 

	$RutEnvia=$xml->createElement("RutEnvia", $empresa_rut_representante);
    $RutEnvia=$Caratula->appendChild($RutEnvia); 
	
	$PeriodoTributario=$xml->createElement("PeriodoTributario",$ano."-".$mes);
    $PeriodoTributario=$Caratula->appendChild($PeriodoTributario); 
	
    $FchResol=$xml->createElement("FchResol", $fecha_resolucion);
    $FchResol=$Caratula->appendChild($FchResol); 
	
	$NroResol=$xml->createElement("NroResol", $numero_resolucion);
    $NroResol=$Caratula->appendChild($NroResol); 
	
	
$libro="ESPECIAL";
	$TipoLibro=$xml->createElement("TipoLibro", $libro);
    $TipoLibro=$Caratula->appendChild($TipoLibro);
	 
    $TipoEnvio=$xml->createElement("TipoEnvio","TOTAL");
    $TipoEnvio=$Caratula->appendChild($TipoEnvio); 
 
  /* solo si el envio es parcial     
	$NroSegmento=$xml->createElement("NroSegmento","1");
    $NroSegmento=$Caratula->appendChild($NroSegmento);	
	  */
	
	$FolioNotificacion=$xml->createElement("FolioNotificacion","1");
    $FolioNotificacion=$Caratula->appendChild($FolioNotificacion); 

 /*--Resumen Periodo----------------------*/ 
 
   $ResumenPeriodo=$xml->createElement("ResumenPeriodo");
   $ResumenPeriodo=$raiz->appendChild($ResumenPeriodo); 

//  Resume ** BE ***   

	
		$dcto[0]=39;    // boleta normal
		$dcto[1]=41;    // boleta exenta
		
		foreach ($dcto as $paso)
		{
		$exento=0;		
		$neto=0;
		$iva=0;
		$iva5=0;
		$total=0;
		$ivar=0;
		
		$sqlfs ="SELECT count(*) as cant, sum(exento) as texen, sum(neto) as tneto, sum(iva) as tiva, sum(impuestos) as tiva5, sum(total) as ttota, sum(iva_retenido) as tivar FROM salida WHERE extract(month from fecha_emision)='$mes' AND extract(year from fecha_emision)='$ano' 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))
	         {
			    $cant= 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");				
				$iva5 = (int) mysql_result($resfs, $cont, "tiva5");								
				$total = (int) mysql_result($resfs, $cont, "ttota");				
				$ivar = (int) mysql_result($resfs, $cont, "tivar");
				
			 }	
	if ($cant>0)
	{
 $TotalesPeriodo=$xml->createElement("TotalesPeriodo");
 $TotalesPeriodo=$ResumenPeriodo->appendChild($TotalesPeriodo);
 
	$TpoDoc=$xml->createElement("TpoDoc", $paso);
    $TpoDoc=$TotalesPeriodo->appendChild($TpoDoc);
	  $Anulado=0; 
	 if ($Anulado>0)
	 { 
	$TotAnulado=$xml->createElement("TotAnulado", $Anulado);
    $TotAnulado=$TotalesPeriodo->appendChild($TotAnulado);
	   }
	$TotalesServicio=$xml->createElement("TotalesServicio");
    $TotalesServicio=$TotalesPeriodo->appendChild($TotalesServicio);
	   
	    $TpoServ=$xml->createElement("TpoServ", 3);
        $TpoServ=$TotalesServicio->appendChild($TpoServ);
		
	    $TotDoc=$xml->createElement("TotDoc", $cant);
        $TotDoc=$TotalesServicio->appendChild($TotDoc);
	   
	   
	 $TotMntExe=$xml->createElement("TotMntExe", $exento);
     $TotMntExe=$TotalesServicio->appendChild($TotMntExe);
	   
	 $TotMntNeto=$xml->createElement("TotMntNeto", $neto);
     $TotMntNeto=$TotalesServicio->appendChild($TotMntNeto);
	
	 $TasaIVA=$xml->createElement("TasaIVA", "19.00");
     $TasaIVA=$TotalesServicio->appendChild($TasaIVA); 
	 
	 $TotMntIVA=$xml->createElement("TotMntIVA", $iva);
     $TotMntIVA=$TotalesServicio->appendChild($TotMntIVA);
	   
	  
	   
	 $TotMntTotal=$xml->createElement("TotMntTotal", $total);
     $TotMntTotal=$TotalesServicio->appendChild($TotMntTotal);
	  
 
	  }
	 } 
	  
/*
	 
	  foreach ($dcto as $paso)
		{
	  
 //--Detalles Periodo----------------------
 
$sqlfs ="SELECT num_dcto, fecha_emision, rut_cliente, iva, impuestos as retencion5, exento, neto, total, iva_retenido FROM salida WHERE extract(month from fecha_emision)='$mes' AND extract(year from fecha_emision)='$ano' AND tipo_dcto=$paso AND salida.empresa = $id_empresa ORDER BY num_dcto";
			 $resfs = mysql_query($sqlfs,$enlace);	
			$cantidad = mysql_num_rows($resfs);

			$cont=0;
			while (mysql_fetch_object ($resfs))
	         {
			

  $id = mysql_result($resfs, $cont, "id");
			 $nro = mysql_result($resfs, $cont, "num_dcto");
			  $fecha_e = mysql_result($resfs, $cont, "fecha_emision");
			    $rut = mysql_result($resfs, $cont, "rut_cliente");
			  
			  $sql_envio="UPDATE salida set envio_libro_sii=$sultimo_id WHERE id='$id'";
	          $res_envio = mysql_query($sql_envio,$enlace);



			  
			    $iva = (int) mysql_result($resfs, $cont, "iva");				
				$ret5 = (int) mysql_result($resfs, $cont, "retencion5");			
				$exento = (int) mysql_result($resfs, $cont, "exento");				
				$neto=  (int) mysql_result($resfs, $cont, "neto");			
				$total = (int) mysql_result($resfs, $cont, "total");				
				$ivar =  (int) mysql_result($resfs, $cont, "iva_retenido");
				$rut = str_replace('.', '', $rut);
				
   $Detalle=$xml->createElement("Detalle");
   $Detalle=$raiz->appendChild($Detalle); 		     

   $TpoDoc=$xml->createElement("TpoDoc",$paso);
   $TpoDoc=$Detalle->appendChild($TpoDoc);
   
   $FolioDoc=$xml->createElement("FolioDoc",$nro);
   $FolioDoc=$Detalle->appendChild($FolioDoc);
 
 //  $Anulado=$xml->createElement("Anulado","A");
  // $Anulado=$Detalle->appendChild($Anulado);
   
   $TpoServ=$xml->createElement("TpoServ",3);
   $TpoServ=$Detalle->appendChild($TpoServ);
   
   $FchEmiDoc=$xml->createElement("FchEmiDoc",$fecha_e);
   $FchEmiDoc=$Detalle->appendChild($FchEmiDoc);

//   $FchVencDoc=$xml->createElement("FchVencDoc",$fecha_v);
  // $FchVencDoc=$Detalle->appendChild($FchVencDoc);
   //PeriodoDesde
   //PeriodoHasta
   //CdgSIISucur
	
	$rut_boleta ="7914075-9";
		
   $RUTCliente=$xml->createElement("RUTCliente",$rut_boleta);
   $RUTCliente=$Detalle->appendChild($RUTCliente);
   
 //  $CodIntCli=$xml->createElement("CodIntCli","" );
  // $CodIntCli=$Detalle->appendChild($CodIntCli);
  
  if ($exento>0)
   {
   $MntExe=$xml->createElement("MntExe",$exento);
   $MntExe=$Detalle->appendChild($MntExe);
   }
   $MntTotal=$xml->createElement("MntTotal",$total);
   $MntTotal=$Detalle->appendChild($MntTotal);	
   $cont+=1;
   }	
	   
	  } 
	*/  
//guardar xml------------------------------
$archivo_x="LIB_BOLETA_".$ano."_".$mes.".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);	// cargar archivo
 echo "Termino de crear el".$archivo."";
  }
 else
 {  echo "No se puede guardar el ".$archivo; }

 
 ?>
 <table width="640" border="0" align="center" cellpadding="0" cellspacing="0">
	<tr>
		<td width="10%" align="center">	<input type="button" name="Salir" value="Salir" onClick="fun_salir();"></td>
	</tr>
</table>




 <script>
function fun_salir()
	{
	window.top.open('','_parent','');window.top.close();		
	}
</script>

<?php 

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/FirmaEmpaquetaEnviaLibrosBoleta.php?documento='.$nombreArchivo);
	curl_exec($handle);
	curl_close($handle);
    }

?>