# Gestore Trimestrale - Documentazione Tecnica ## Descrizione Generale Gestore Trimestrale è un'applicazione Windows (WPF) progettata per la gestione automatizzata di documenti e report per Fideuram. L'applicazione gestisce principalmente l'elaborazione, la generazione e la distribuzione di report PDF e file ZIP su base periodica (giornaliera, settimanale e trimestrale). ## Architettura Database ### Database Principale (C6StampeCentralizzate) - **Server**: 10.14.152.19 - **Database**: C6StampeCentralizzate - **Utente**: F701264 - **Configurazione**: Max Pool Size=1000, Load Balance Timeout=1000 - **Scopo**: Gestione delle stampe centralizzate e operazioni principali ### Database Report (SEIReport) - **Server**: 10.14.152.20\i1 - **Database**: SEIReport - **Utente**: SEIReport - **Configurazione**: Max Pool Size=10 - **Scopo**: Gestione specifica dei report ## Funzionalità Principali ### 1. Elaborazione Dati (Processing) - Gestione dei processi di elaborazione dati - Sistema di logging e monitoraggio - Gestione multi-thread delle operazioni - Contatori e statistiche in tempo reale ### 2. Trasferimento FTP - Gestione automatizzata dei trasferimenti file - Supporto per multiple destinazioni FTP - Integrazione con WinSCP per le operazioni FTP - Monitoraggio dello stato dei trasferimenti ### 3. Gestione File - Compressione/decompressione file (utilizzo 7-Zip) - Naming convention standardizzato per i file: - Prefisso: SEI - Formati: ZIP, IDX, TXT - Gestione backup dei flussi in cartelle dedicate ### 4. Stored Procedures Principali Schema: C6MartPeriodico - SP_TotaliReportGenerazioneZip - GESTIONE_SELECT_FTP_DA_INVIARE - GESTIONE_UPDATE_FTP - GESTIONE_UPDATE_EMAIL_HOST - GESTIONE_INSERT_ELABORAZIONE_ZIP - GESTIONE_UPDATE_ELABORAZIONE_ZIP ## Configurazione ### Tipi di Invio - **Giornaliero** (G) - **Settimanale** - **Trimestrale** (T) ### Gestione ZIP - Prefisso file: SEI - Suffissi: - T1: 01_A (Report diagnosi con lettera di benvenuto giornalieri) - T2: 01_B (Report diagnosi + report monitoraggio + lettera accompagnamento) ### Logging - Implementazione: NLog - Monitoraggio in tempo reale delle operazioni - Intervalli configurabili per aggiornamento statistiche ## Performance e Scalabilità - Supporto multi-threading configurabile - Pool di connessioni database ottimizzato - Gestione timeout e bilanciamento del carico - Intervalli configurabili per operazioni batch ## Operazioni Database ### Stored Procedures di Aggiornamento L'applicazione esegue modifiche al database attraverso le seguenti stored procedures: - `[C6MartPeriodico].[GESTIONE_UPDATE_FTP]` - Aggiorna lo stato dei trasferimenti FTP - `[C6MartPeriodico].[GESTIONE_UPDATE_EMAIL_HOST]` - Aggiorna le date di comunicazione con l'host - `[C6MartPeriodico].[GESTIONE_UPDATE_ZIP]` - Aggiorna lo stato dei file ZIP - `[C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONE_ZIP]` - Inserisce i record di elaborazione ZIP - `[C6MartPeriodico].[GESTIONE_INSERT_ZIP]` - Inserisce nuovi record ZIP ### Logging e Tracciamento - Tracciamento dello stato di elaborazione dei file - Logging degli errori nel database (quando `scriviErroreNelDB=1`) - Monitoraggio delle operazioni FTP e comunicazioni host