Robot de Consulta Estado SMDA DDA
Descripción
Este robot está programado para automatizar la obtención del archivo de Resolución desde el sitio web de Aduana. Además, obtiene todos los datos de la tabla en estado ACEPTADO y RECHAZADO, y actualiza las SMDA asociadas a DDA.
Link de Consulta
El bot realiza las consultas en el siguiente enlace:
Repositorio
Se utiliza el Repositorio de Robots para la programación del Job y de la Task Function. Y el Repositorio de AWS para la ejecución del scraping en la página de Aduana.
Frecuencia de Ejecución
El robot se ejecuta cada 30 minutos.
Componentes Principales
- Job de Consulta de Estado SMDA
- Consulta el estado de las SMDA en Aduana para cada aduana activa.
- Obtiene la fecha más antigua según la fecha de presentación SMDA y genera ciclos de consulta en rangos de 10 días.
- Crea tareas para consultar los estados ACEPTADO y RECHAZADO en la página de Aduana.
- En caso de ACEPTADO:
- Se obtiene toda la información de la tabla.
- Se descarga y guarda el archivo PDF de Resolución si está disponible.
- Se actualiza el estado de la SMDA en la base de datos con el número de resolución y la fecha de aceptación.
- En caso de RECHAZADO:
- Se obtiene el motivo de rechazo.
- Se toma una captura de pantalla del motivo de rechazo.
- Se guarda la captura como un comprobante de motivo de rechazo en la SMDA y se actualiza el estado a RECHAZADO.
- Librerías utilizadas:
axios
: Para realizar peticiones HTTP.puppeteer-core
: Para automatizar la interacción con el sitio web de Aduana.
- Función ‘createTaskEstadoAclaracion’
- Crea tareas en la cola para consultar el estado de las SMDA en rangos de 10 días.
- Define el tipo de tarea como
estado_aclaracion_din
, especificando el rango de fechas y el código de estado (R
para RECHAZADO,A
para ACEPTADO). - Se asigna un delay de 20 segundos entre colas de tarea.
- Función ‘calcularCiclos’
- Calcula los ciclos de consulta en rangos de 10 días a partir de la fecha de presentación SMDA más antigua.
- Retorna un array de objetos con las fechas de inicio y término para cada ciclo.
- Tarea ‘taskGetEstadoAclaracionDIN’
- Ejecuta las consultas a la página de Aduana para los estados ACEPTADO y RECHAZADO.
- En caso de ACEPTADO, se obtiene el PDF de resolución y se actualiza la SMDA en la base de datos.
- En caso de RECHAZADO, se guarda un comprobante del motivo de rechazo como archivo PDF en la SMDA.
- Librerías utilizadas:
axios
: Para realizar peticiones HTTP.
- Función ‘initScrapSMDA’
- Realiza el scraping de la información en la página de Aduana utilizando Puppeteer en el repositorio de AWS.
- Maneja la autenticación en el sitio web y la navegación a través de la interfaz.
- Librerías utilizadas:
puppeteer-core
: Para realizar la automatización del scraping.node:fs
: Para manejar operaciones de sistema de archivos.
- Función ‘getDataSMDA’
- Extrae los datos de la tabla en la página de Aduana.
- Realiza la paginación y continúa obteniendo datos hasta que no queden más páginas.
- Librerías utilizadas:
puppeteer-core
: Para interactuar con el sitio web y extraer datos.
- Función ‘saveResolucionToCloud’
- Descarga y sube el archivo de resolución a Storage de GCP.
- Verifica si el archivo de resolución está disponible y lo guarda en el almacenamiento en la nube.
- Librerías utilizadas:
puppeteer-core
: Para descargar archivos durante el scraping.node:fs
: Para manejar el almacenamiento local temporal de archivos.
Robot de Consulta Estado SMDA DIN
Descripción
Este robot está programado para automatizar la obtención del archivo de Resolución desde el sitio web de Aduana, específicamente para el módulo SMDA. Además, obtiene todos los datos de la tabla en estado ACEPTADO y RECHAZADO, y actualiza las SMDA asociadas a DDA.
Link de Consulta
El bot realiza las consultas en el siguiente enlace:
Repositorio
Se utiliza el Repositorio de Robots para la programación del Job y de la Task Function. Y el Repositorio de AWS para la ejecución del scraping en la página de Aduana.
Frecuencia de Ejecución
El robot se ejecuta todos los días a las 2:00 AM.
Componentes Principales
- Job de Consulta de Estado SMDA DIN
- Consulta el estado de las SMDA del tipo DIN en Aduana.
- Obtiene la fecha más antigua según la fecha de aceptación SMDA y genera ciclos de consulta en rangos de 10 días.
- Crea tareas para consultar los estados ACEPTADO y RECHAZADO en la página de Aduana.
- En caso de ACEPTADO:
- Se obtiene toda la información de la tabla.
- Se descarga y guarda el archivo PDF de Resolución si está disponible.
- Se actualiza el estado de la SMDA en la base de datos con el número de resolución y la fecha de aceptación.
- En caso de RECHAZADO:
- Se obtiene el motivo de rechazo.
- Se toma una captura de pantalla del motivo de rechazo.
- Se guarda la captura como un comprobante de motivo de rechazo en la SMDA y se actualiza el estado a RECHAZADO.
- Librerías utilizadas:
axios
: Para realizar peticiones HTTP.puppeteer-core
: Para automatizar la interacción con el sitio web de Aduana.
- Función ‘createTaskEstadoAclaracion’
- Crea tareas en la cola para consultar el estado de las SMDA en rangos de 10 días.
- Define el tipo de tarea como
estado_aclaracion_din
, especificando el rango de fechas y el código de estado (R
para RECHAZADO,A
para ACEPTADO). - Se asigna un delay de 20 segundos entre colas de tarea.
- Función ‘calcularCiclos’
- Calcula los ciclos de consulta en rangos de 10 días a partir de la fecha de aceptación SMDA más antigua.
- Retorna un array de objetos con las fechas de inicio y término para cada ciclo.
- Librerías utilizadas:
node:fs
: Para operaciones de sistema de archivos como crear directorios y verificar la existencia de archivos.
- Tarea ‘taskGetEstadoAclaracionDIN’
- Ejecuta las consultas a la página de Aduana para los estados ACEPTADO y RECHAZADO.
- En caso de ACEPTADO, se obtiene el PDF de resolución y se actualiza la SMDA en la base de datos.
- En caso de RECHAZADO, se guarda un comprobante del motivo de rechazo como archivo PDF en la SMDA.
- Librerías utilizadas:
axios
: Para realizar peticiones HTTP.
- Función ‘initScrapSMDA’
- Realiza el scraping de la información en la página de Aduana utilizando Puppeteer.
- Maneja la autenticación en el sitio web con las credenciales.
- Librerías utilizadas:
puppeteer-core
: Para realizar la automatización del scraping.node:fs
: Para manejar operaciones de sistema de archivos.
- Función ‘getDataSMDA’
- Extrae los datos de la tabla en la página de Aduana.
- Realiza la paginación y continúa obteniendo datos hasta que no queden más páginas.
- Librerías utilizadas:
puppeteer-core
: Para interactuar con el sitio web y extraer datos.
- Función ‘saveResolucionToCloud’
- Descarga y sube el archivo de resolución a la nube.
- Verifica si el archivo de resolución está disponible y lo guarda en el almacenamiento en la nube.
- Librerías utilizadas:
puppeteer-core
: Para descargar archivos durante el scraping.node:fs
: Para manejar el almacenamiento local temporal de archivos.
Librerías Utilizadas
axios
: Para realizar peticiones HTTP a APIs y sitios web.puppeteer-core
: Para la automatización del navegador y el scraping de datos del sitio web de Aduana.node:fs
: Para operaciones de sistema de archivos, como crear directorios y manejar archivos temporales.
Robot Comprobante SMDA
Descripción
Este robot está programado para automatizar la obtención del Comprobante de Presentación SMDA desde el sitio web de Aduana. Además obtiene todos los datos de la tabla en estado PENDIENTE, y actualiza las SMDA a estado PENDIENTE.
Link de consulta
El bot realiza las consultas en el siguiente enlace: http://comext.aduana.cl:7001/DespachadoresWeb/principal/ConsultaDin/Aclaraciones/AclaracionesController.jpfFrecuencia de Ejecución
El robot se ejecuta automáticamente cada vez que se modifica la Fecha de Presentación SMDA en alguno de los registro del módulo Devolución Derechos de Aduana.
¿Que busca?
El robot tiene como objetivo obtener el Comprobante de Presentación SMDA en caso de que el número de SMDA se encuentre en la tabla de resultados en Aduana, basándose en la fecha ingresada en EURUS.Funcionalidades
- Obtención del Comprobante SMDA:
- Si se encuentra el número de SMDA en la tabla de resultados, el robot realiza una captura de pantalla que se guarda en EURUS como Comprobante de Presentación SMDA.
- Actualización de Estado:
- El robot actualiza todas las SMDA presentes en la tabla de resultados a estado PENDIENTE en EURUS.
Robot Descarga Borrador SMDA
Descripción
Este robot se activa desde el módulo de DDA cuando se obtiene el comprobante SMDA. Su objetivo es descargar el documento SMDA desde la página de SIGAD, asignarlo como ‘Borrador SMDA‘, y borrar el campo de ‘error’, eliminando así la alerta que indica que se está obteniendo el documento de SMDA en EURUS.
Detonador
El robot se ejecuta cuando se obtiene un comprobante SMDA definido en el módulo de DDA.
Funcionamiento
- Verificación de Comprobante SMDA
- Comprueba si el comprobante SMDA está definido y si ha cambiado con respecto al valor anterior.
- Si el comprobante SMDA es válido, se programa una tarea para descargar el documento SMDA desde SIGAD en un plazo de 5 segundos.
- Se registra una actividad en el log indicando que se ha programado la descarga del documento SMDA desde SIGAD.
- Se asigna un código de error con el estado ‘downloading‘ para mostrar que el proceso de descarga está en curso.
- Tarea ‘taskGetSMDADDA’
- Envía una solicitud HTTP POST al servidor de descarga para obtener el documento SMDA desde SIGAD.
- Función ‘httpGetSMDADDA’
- Procesa la solicitud HTTP para descargar el documento SMDA desde SIGAD.
- Verifica los parámetros requeridos, como el número de aclaración y el número de despacho.
- Si los parámetros son válidos, llama a la función ‘getSMDA’ para iniciar la descarga del documento SMDA.
- Devuelve el resultado de la descarga, incluyendo mensajes de error en caso de que la descarga no sea posible.
- Función ‘getSMDA’
- Utiliza Puppeteer para automatizar la navegación en la página de SIGAD y descargar el documento SMDA.
- Maneja la autenticación en SIGAD utilizando credenciales obtenidas dinámicamente.
- Intenta descargar el archivo SMDA. Si falla, se registra un error y se detiene la operación.
- Función ‘saveSMDAFile’
- Construye la URL para la descarga del archivo SMDA en formato PDF desde SIGAD.
- Configura el navegador para permitir la descarga del archivo en un directorio temporal.
- Inicia la descarga del archivo desde SIGAD y, si es exitoso, lo sube a Google Cloud Storage.
- En caso de fallo, se registra un error en Firestore y se notifica al usuario mediante el log de actividades.
- Función ‘saveSMDAToDispatch’
- Guarda el archivo SMDA descargado en el despacho correspondiente en la base de datos Firestore.
- Registra un log de actividad para confirmar que el archivo SMDA se guardó correctamente o para reportar errores si falla.
Librerías Utilizadas
puppeteer
: Para automatizar la navegación y descarga de archivos en SIGAD.node:fs
: Para manejar el almacenamiento local temporal de archivos.
Robot Descarga Documento SMDA
Descripción
Este robot se activa desde el módulo de SMDA cuando la SMDA pasa al estado de «Aceptada». Su objetivo es descargar el documento SMDA desde la página de SIGAD, asignarlo como ‘Documento SMDA’, y borrar el campo downloadResolucion
para indicar que ya se cuenta con una SMDA descargada y que no debe volver a descargarse.
Detonador
El robot se ejecuta cuando la SMDA pasa al estado de «Aceptada».
Funcionamiento
- Verificación de Estado de la SMDA
- Comprueba si la SMDA ha cambiado al estado de «Aceptada».
- Si el número de resolución de la SMDA ha cambiado, o si se requiere descargar nuevamente la resolución, se programa una tarea para la descarga.
- El campo
downloadResolucion
se elimina para indicar que ya no es necesario descargar la resolución nuevamente. - Se registra una actividad en el log indicando que la SMDA ha sido aceptada y que la tarea de descarga se ha programado.
- Tarea ‘taskGetSMDADDA’
- Envía una solicitud HTTP POST al servidor de descarga para obtener el documento SMDA desde SIGAD.
- Función ‘httpGetSMDADDA’
- Procesa la solicitud HTTP para descargar el documento SMDA desde SIGAD.
- Verifica los parámetros requeridos, como el número de aclaración y el número de despacho.
- Si los parámetros son válidos, llama a la función ‘getSMDA’ para iniciar la descarga del documento SMDA.
- Devuelve el resultado de la descarga, incluyendo mensajes de error en caso de que la descarga no sea posible.
- Función ‘getSMDA’
- Utiliza Puppeteer para automatizar la navegación en la página de SIGAD y descargar el documento SMDA.
- Maneja la autenticación en SIGAD utilizando credenciales obtenidas dinámicamente.
- Intenta descargar el archivo SMDA. Si falla, se registra un error y se detiene la operación.
- Función ‘saveSMDAFile’
- Construye la URL para la descarga del archivo SMDA en formato PDF desde SIGAD.
- Configura el navegador para permitir la descarga del archivo en un directorio temporal.
- Inicia la descarga del archivo desde SIGAD y, si es exitoso, lo sube a Google Cloud Storage.
- En este caso, el archivo se guarda con el tipo de documento «SMDA».
- En caso de fallo, se registra un error en Firestore y se notifica al usuario mediante el log de actividades.
- Función ‘saveSMDAToDispatch’
- Guarda el archivo SMDA descargado en el despacho correspondiente en la base de datos Firestore.
- Registra un log de actividad para confirmar que el archivo SMDA se guardó correctamente o para reportar errores si falla.
Librerías Utilizadas
puppeteer
: Para automatizar la navegación y descarga de archivos en SIGAD.node:fs
: Para manejar el almacenamiento local temporal de archivos.