Created
May 11, 2018 03:05
-
-
Save raicoacosta/38503e576659ff76340891957621b0dd to your computer and use it in GitHub Desktop.
Código Php Factronica para importar timbrajes de folios del sii a la base de datos mysql
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
# código php factronica para importar timbraje de folios del sii a la base de datos mysql | |
# DEFINIR LA RUTA DONDE SE ENCUENTRA EL XML CON EL TIMBRAJE ELECTRONICO | |
$ruta_file="/factronica_importar_folios/xml/timbraje_facturaelectronica.xml"; | |
# CARGAR EN MEMORIA EL XML CON TIMBRAJE ELECTRONICO | |
$dom = new DOMDocument; | |
$xml=file_get_contents($ruta_file); | |
$dom->loadXML($xml); | |
# RECORRER XML PARA LEER LA INFORMACION DE LOS CAMPOS REQUERIDOS | |
$elementos=$dom->getElementsByTagName('RE'); | |
foreach($elementos as $elemento){ | |
$rut_emisor=$elemento->nodeValue; | |
} | |
# | |
$elementos=$dom->getElementsByTagName('RS'); | |
foreach($elementos as $elemento){ | |
$razonsocial_emisor=utf8_decode($elemento->nodeValue); | |
} | |
# | |
$elementos=$dom->getElementsByTagName('TD'); | |
foreach($elementos as $elemento){ | |
$tipo_documento=$elemento->nodeValue; | |
} | |
# | |
$elementos=$dom->getElementsByTagName('D'); | |
foreach($elementos as $elemento){ | |
$folio_desde=$elemento->nodeValue; | |
} | |
# | |
$elementos=$dom->getElementsByTagName('H'); | |
foreach($elementos as $elemento){ | |
$folio_hasta=$elemento->nodeValue; | |
} | |
# | |
$elementos=$dom->getElementsByTagName('FA'); | |
foreach($elementos as $elemento){ | |
$fecha_autorizacion=$elemento->nodeValue; | |
} | |
# | |
$elementos=$dom->getElementsByTagName('M'); | |
foreach($elementos as $elemento){ | |
$modulo=$elemento->nodeValue; | |
} | |
# | |
$elementos=$dom->getElementsByTagName('E'); | |
foreach($elementos as $elemento){ | |
$exponente=$elemento->nodeValue; | |
} | |
# | |
$elementos=$dom->getElementsByTagName('IDK'); | |
foreach($elementos as $elemento){ | |
$indice=$elemento->nodeValue; | |
} | |
# | |
$elementos=$dom->getElementsByTagName('FRMA'); | |
foreach($elementos as $elemento){ | |
$firma=$elemento->nodeValue; | |
} | |
# | |
$elementos=$dom->getElementsByTagName('RSASK'); | |
foreach($elementos as $elemento){ | |
$llave_privada=$elemento->nodeValue; | |
} | |
# | |
$elementos=$dom->getElementsByTagName('RSAPUBK'); | |
foreach($elementos as $elemento){ | |
$llave_publica=$elemento->nodeValue; | |
} | |
# VALIDAR SI YA EXISTE ESE TIMBRAJE EN LA BASE DATOS | |
$sql="select * from tbl_siifoliostimbrados where | |
tipo_documento='$tipo_documento' and | |
folio_desde='$folio_desde' and | |
folio_hasta='$folio_hasta'"; | |
$rsl=mysql_query($sql,$link_sistema)or die("ERROR"); | |
$sw_existe=mysql_num_rows($rsl); | |
# SI YA EXISTE FRENAR | |
if($sw_existe>0){ | |
echo "<br>Alerta:"; | |
echo "<br>Ya Existe un Timbraje para Documentos."; | |
echo "<br>Tipo Documento:$tipo_documento - Folio Desde:$folio_desde - Folio Hasta:$folio_hasta"; | |
echo "<br><br><a href='index.php'>Regresar</a>"; | |
exit; | |
} | |
# DEFINIR DATOS | |
$estado=1; | |
$total_folios=$folio_hasta-$folio_desde+1; | |
$nombre_documento=utf8_decode($doctos_sii["$tipo_documento"]["descripcion"]); | |
# INSERTAR EN BASE DATOS | |
$sql="INSERT INTO tbl_siifoliostimbrados ( | |
estado, | |
tipo_documento, | |
folio_desde, | |
nombre_documento, | |
folio_hasta, | |
total_folios, | |
fecha_autorizacion, | |
modulo, | |
exponente, | |
indice, | |
firma, | |
llave_privada, | |
llave_publica, | |
rut_emisor, | |
razonsocial_emisor | |
) VALUES ( | |
'$estado', | |
'$tipo_documento', | |
'$folio_desde', | |
'$nombre_documento', | |
'$folio_hasta', | |
'$total_folios', | |
'$fecha_autorizacion', | |
'$modulo', | |
'$exponente', | |
'$indice', | |
'$firma', | |
'$llave_privada', | |
'$llave_publica', | |
'$rut_emisor', | |
'$razonsocial_emisor')"; | |
mysql_query($sql,$link_sistema)or die("ERROR"); | |
# OBTENER EL ID | |
$id_timbraje=mysql_insert_id(); | |
# INSERTAR FOLIOS EN TABLA DE FOLIOS CONSUMIDOS | |
for($folios=$folio_desde; $folios<=$folio_hasta; $folios++){ | |
$folio=$folios; | |
$sw_consumido=0; | |
# | |
$sql="INSERT INTO tbl_siifoliosconsumidos ( | |
id_timbraje, | |
folio, | |
sw_consumido, | |
tipo_documento | |
) VALUES ( | |
'$id_timbraje', | |
'$folio', | |
'$sw_consumido', | |
'$tipo_documento' )"; | |
mysql_query($sql,$link_sistema)or die("ERROR"); | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment