<?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='GUIAS'";
	$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 GUIAS 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', 'GUIAS', '$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 GUIAS *******
 $xml=new DomDocument("1.0","UTF-8");

 $raiz=$xml->createElement("EnvioLibro");
 $raiz=$xml->appendChild($raiz); 
 $raiz->setAttribute("ID", "EnvioLibr-".$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); 

	$TipoLibro=$xml->createElement("TipoLibro", "ESPECIAL");
    $TipoLibro=$Caratula->appendChild($TipoLibro);
	 
    $TipoEnvio=$xml->createElement("TipoEnvio","TOTAL");
    $TipoEnvio=$Caratula->appendChild($TipoEnvio); 
 
 //$NroSegmento=$xml->createElement("NroSegmento","0");
    //$NroSegmento=$Caratula->appendChild($NroSegmento); 
	
	
	$FolioNotificacion=$xml->createElement("FolioNotificacion","1");
    $FolioNotificacion=$Caratula->appendChild($FolioNotificacion); 

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

//  Resume ** GE ***   
	$dcto=52;
	// Anulados	
		$anulado_folio=0;		
		$anulado_guias_nro=0;
		
		$sqlfs ="SELECT count(*) as cant FROM salida WHERE extract(month from fecha_emision)='$mes' AND extract(year from fecha_emision)='$ano' AND tipo_dcto=$dcto  AND salida.empresa = $id_empresa AND salida.anulado <>0";
	     	$resfs = mysql_query($sqlfs,$enlace);	
			$cantidad = mysql_num_rows($resfs);
		    $anulado_guias_nro= (int) mysql_result($resfs, 0, "cant");
  // $anulado_folio=$anulado_guias_nro;
   
		$total_traslado=0;	
		 $total_monto_traslado=0;
		$sqlfs ="SELECT count(*) as cant, sum(total) as ttota FROM salida WHERE extract(month from fecha_emision)='$mes' AND extract(year from fecha_emision)='$ano' AND tipo_dcto=$dcto  AND salida.empresa = $id_empresa AND salida.cod_traslado=5 AND salida.anulado <>1";
	     	$resfs = mysql_query($sqlfs,$enlace);	
			$cantidad = mysql_num_rows($resfs);
		   $total_traslado=  (int) mysql_result($resfs, 0, "cant");
		   $total_monto_traslado=  (int) mysql_result($resfs, 0, "ttota");	
			
		$total_guia_venta=0;
		$total_monto_guia_venta=0;
		$total_monto_modificado=0; 
		
		$sqlfs ="SELECT count(*) as cant, sum(total) as ttota FROM salida WHERE extract(month from fecha_emision)='$mes' AND extract(year from fecha_emision)='$ano' AND tipo_dcto=$dcto  AND salida.empresa = $id_empresa  AND salida.anulado =0 AND salida.cod_traslado=1";
		
	
			 $resfs = mysql_query($sqlfs,$enlace);	
			$cantidad = mysql_num_rows($resfs);

			   $total_guia_venta=  (int) mysql_result($resfs, 0, "cant");
			
				$total_monto_guia_venta=  (int) mysql_result($resfs, 0, "ttota");
				
	
	 
	   $TotFolAnulado=$xml->createElement("TotFolAnulado", $anulado_folio);
       $TotFolAnulado=$ResumenPeriodo->appendChild($TotFolAnulado);
	   
	   $TotGuiaAnulada=$xml->createElement("TotGuiaAnulada", $anulado_guias_nro);
       $TotGuiaAnulada=$ResumenPeriodo->appendChild($TotGuiaAnulada);
	   
	   $TotGuiaVenta=$xml->createElement("TotGuiaVenta", $total_guia_venta);
       $TotGuiaVenta=$ResumenPeriodo->appendChild($TotGuiaVenta);
	   
	   $TotMntGuiaVta=$xml->createElement("TotMntGuiaVta", $total_monto_guia_venta);
       $TotMntGuiaVta=$ResumenPeriodo->appendChild($TotMntGuiaVta);
	   
	    $TotMntModificado=$xml->createElement("TotMntModificado", $total_monto_modificado);
        $TotMntModificado=$ResumenPeriodo->appendChild($TotMntModificado);
	   
	    $TotTraslado=$xml->createElement("TotTraslado");
        $TotTraslado=$ResumenPeriodo->appendChild($TotTraslado);
	        $TpoTraslado=$xml->createElement("TpoTraslado", "5");
            $TpoTraslado=$TotTraslado->appendChild($TpoTraslado);
		    $CantGuia=$xml->createElement("CantGuia", $total_traslado);
            $CantGuia=$TotTraslado->appendChild($CantGuia);
	        $MntGuia=$xml->createElement("MntGuia",  $total_monto_traslado);
            $MntGuia=$TotTraslado->appendChild($MntGuia);
 /*--Detalles Periodo----------------------*/ 
 
$sqlfs ="SELECT num_dcto, fecha_emision, rut_cliente, iva, impuestos as retencion5, exento, neto, total, iva_retenido, anulado, cod_traslado FROM salida WHERE extract(month from fecha_emision)='$mes' AND extract(year from fecha_emision)='$ano' AND tipo_dcto=$dcto AND salida.empresa = $id_empresa";


			 $resfs = mysql_query($sqlfs,$enlace);	
			$cantidad = mysql_num_rows($resfs);

			$cont=0;
			while (mysql_fetch_object ($resfs))
	         {
			 $nro = mysql_result($resfs, $cont, "num_dcto");
			  $fecha_e = mysql_result($resfs, $cont, "fecha_emision");
			    $rut = mysql_result($resfs, $cont, "rut_cliente");
				if ($rut!=''){					
					$sqlc = "SELECT * FROM nombres WHERE rut='$rut'";
					$resc = mysql_query($sqlc,$enlace);
					$nombre = mysql_result($resc, 0, "razon_social");
				}  else {$nombre = "S/N";}
		$anulado = mysql_result($resfs, $cont, "anulado");
		$tipo_operacion = (int) mysql_result($resfs, $cont, "cod_traslado");
			    $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);
  
   $operacion=0;
     $total_modificado=0;  
   $dcto_referencia=0;
   $tipo_dcto_referencia=0;   $nro_dcto_referencia=0;  $fecha_dcto_referencia="";
   $Detalle=$xml->createElement("Detalle");
   $Detalle=$raiz->appendChild($Detalle); 		     

   $Folio=$xml->createElement("Folio",$nro);
   $Folio=$Detalle->appendChild($Folio);
   if ($anulado==1) 
   {
   $Anulado=$xml->createElement("Anulado",$anulado);
   $Anulado=$Detalle->appendChild($Anulado);
    }   
	else
	{
   if ($anulado==2 || $anulado==3) 
   {
   $Anulado=$xml->createElement("Anulado",$anulado);
   $Anulado=$Detalle->appendChild($Anulado);
	}
   if ($operacion!=0)
   {
   $Operacion=$xml->createElement("Operacion", $operacion);
   $Operacion=$Detalle->appendChild($Operacion);
   }
   if ($tipo_operacion!=0)
   {
   $TpoOper=$xml->createElement("TpoOper",$tipo_operacion);
   $TpoOper=$Detalle->appendChild($TpoOper);
   }
   $FchDoc=$xml->createElement("FchDoc",$fecha_e);
   $FchDoc=$Detalle->appendChild($FchDoc);
		
   $RUTDoc=$xml->createElement("RUTDoc",$rut);
   $RUTDoc=$Detalle->appendChild($RUTDoc);
   
   $RznSoc=$xml->createElement("RznSoc",$nombre);
   $RznSoc=$Detalle->appendChild($RznSoc);
   
   $MntNeto=$xml->createElement("MntNeto",$neto);
   $MntNeto=$Detalle->appendChild($MntNeto);
   
   $TasaImp=$xml->createElement("TasaImp","19");
   $TasaImp=$Detalle->appendChild($TasaImp);
  
   $IVA=$xml->createElement("IVA",$iva);
   $IVA=$Detalle->appendChild($IVA);
  
   $MntTotal=$xml->createElement("MntTotal",$total);
   $MntTotal=$Detalle->appendChild($MntTotal);
   //if ($anulado==2) {$total_modificado=1300025;} else {$total_modificado=0;}
   $MntModificado=$xml->createElement("MntModificado",$total_modificado);
   $MntModificado=$Detalle->appendChild($MntModificado);
   }
    //  $TipoDocRef=$xml->createElement("TipoDocRef", $tipo_dcto_referencia);
   //$TipoDocRef=$Detalle->appendChild($TipoDocRef);
   
   //$FolioDocRef=$xml->createElement("FolioDocRef", $nro_dcto_referencia);
   //$FolioDocRef=$Detalle->appendChild($FolioDocRef);
   
   //$FchDocRef=$xml->createElement("FchDocRef",$fecha_dcto_referencia);
   //$FchDocRef=$Detalle->appendChild($FchDocRef);
   
   	
   $cont+=1;
   }	
	   
/*guardar xml--------------------------------*/ 
$archivo_x="LIBGUIA_".$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/FirmaEmpaquetaEnviaLibros.php?documento='.$nombreArchivo);
	curl_exec($handle);
	curl_close($handle);
    }

?>