53 lines
2.2 KiB
Markdown
53 lines
2.2 KiB
Markdown
```mermaid
|
|||
|
|
graph TD
|
||
|
|
Start((<b>INICIO</b><br/>main.py)) --> Init[Configurar Logger y<br/>Base de Datos SQLITE]
|
||
|
|
Init --> Auth[Obtener Token de Acceso<br/>Outlook API]
|
||
|
|
|
||
|
|
subgraph MailConfigLoop [Bucle por cada Cuenta de Correo en config.json]
|
||
|
|
direction TB
|
||
|
|
GetEmails[Consultar correos del día<br/>outlook_utilities.get_emails]
|
||
|
|
GetEmails --> FilterNew[Filtrar correos no procesados<br/>email_services.filtrar_correos_nuevos]
|
||
|
|
|
||
|
|
subgraph EmailLoop [Bucle por cada Correo Nuevo con Adjuntos]
|
||
|
|
direction TB
|
||
|
|
Download[Descargar adjuntos a /adjuntos/temp<br/>outlook_utilities.download_attachments]
|
||
|
|
Download --> Unzip[Descomprimir ZIPs y filtrar archivos<br/>email_services.procesar_adjuntos_email]
|
||
|
|
|
||
|
|
subgraph DataExtraction [Extracción de Metadatos]
|
||
|
|
direction LR
|
||
|
|
ParseXML[Parsear XML<br/>document_processor.obtener_datos_xml]
|
||
|
|
ParsePDF[Parsear PDF multilínea<br/>pdf_utilities.obtener_datos_pdf]
|
||
|
|
end
|
||
|
|
|
||
|
|
Unzip --> DataExtraction
|
||
|
|
|
||
|
|
DataExtraction --> Grouping[Lógica de Agrupación y Renombrado<br/>file_manager.procesar_renombrado_agrupado]
|
||
|
|
|
||
|
|
Grouping --> Rename[Renombrado físico de archivos<br/>F001.xml -> RUC-01-F001.xml]
|
||
|
|
|
||
|
|
Rename --> MoveLocal[Mover archivos agrupados a /resultado/<br/>file_manager.mover_archivos_a_resultado]
|
||
|
|
end
|
||
|
|
|
||
|
|
FilterNew --> EmailLoop
|
||
|
|
|
||
|
|
EmailLoop --> SMBSync[<b>Sincronización SMB</b><br/>smb_utils.sincronizar_a_smb]
|
||
|
|
|
||
|
|
subgraph SMBSteps [Proceso SMB]
|
||
|
|
direction LR
|
||
|
|
Mount[Montar Unidad según SO<br/>mount_smbfs / net use] --> Rsync[Ejecutar rsync -av<br/>--remove-source-files]
|
||
|
|
end
|
||
|
|
|
||
|
|
SMBSync --- SMBSteps
|
||
|
|
end
|
||
|
|
|
||
|
|
Auth --> MailConfigLoop
|
||
|
|
|
||
|
|
MailConfigLoop --> ExportJSON[Exportar resultados finales a JSON<br/>/output_json/YYYY-MM-DD.json]
|
||
|
|
ExportJSON --> End((<b>FIN</b>))
|
||
|
|
|
||
|
|
style Start fill:#f9f,stroke:#333,stroke-width:2px
|
||
|
|
style End fill:#f9f,stroke:#333,stroke-width:2px
|
||
|
|
style MailConfigLoop fill:#e1f5fe,stroke:#01579b,stroke-dasharray: 5 5
|
||
|
|
style EmailLoop fill:#fff3e0,stroke:#e65100
|
||
|
|
style SMBSync fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
|
||
|
|
```
|