3.0 KiB
3.0 KiB
Implementazione Gestione Scadenzario Formazione Sicurezza
Obiettivo
Configurare il flusso per la gestione dello scadenzario della formazione sicurezza, accentrando dati e scadenze, abbandonando file Excel disconnessi.
Strategia
Mapping delle funzionalità sui moduli esistenti:
- Anagrafica Corsi -> Modulo Magazzino (
Articolo) - Anagrafica Soggetti -> Modulo Clienti (
Cliente+ nuova entitàClienteContatto) - Gestione Attestati e Scadenze -> Nuovo Modulo Safety (o estensione Eventi/Qualità)
- Workflow Notifiche -> Human-in-the-loop tramite Dashboard dedicato.
Piano di Lavoro
1. Documentazione e Analisi
- Creazione piano di lavoro (questo file).
- Aggiornamento
ZENTRAL.md.
2. Backend (.NET)
Domain Layer
- Modifica Entity
Articolo:- Aggiungere
int? DurataValiditaAnni(Validità del corso). - Aggiungere
bool IsCorsoFormazione(Flag identificativo).
- Aggiungere
- Nuova Entity
ClienteContatto:- Proprietà:
Nome,Cognome,Email,Ruolo,Telefono, foreign key aCliente. - Aggiornare
Clientecon collectionContatti.
- Proprietà:
- Nuova Entity
TrainingRecord(Safety):- Proprietà:
ClienteContattoId,ArticoloId(Corso),DataEsecuzione,DataScadenza(Calcolata),AttestatoUrl,Stato(Valid, Expiring, Expired). - Note e audit log.
- Proprietà:
Infrastructure / EF Core
- Creare Migrazione EF per le nuove entità e modifiche.
- Aggiornare
ApplicationDbContext.
API Layer
- Aggiornare
ArticoliController: Gestione nuovi campi. - Aggiornare
ClientiController: Gestione CRUD Contatti. - Nuovo
TrainingController:- CRUD TrainingRecords.
- Upload file attestato.
- Endpoint
GetExpiringTrainingsper la dashboard (filtri per data, azienda). - Endpoint
approve-notification: Utilizza il nuovo servizioIEmailSenderper inviare le notifiche.
3. Frontend (React)
Modulo Safety (Nuova App safety)
- Setup Modulo: Creare cartella
src/frontend/src/apps/safetye configurare route. - Componenti:
SafetyDashboard: Widget con scadenze imminenti e scadute.CourseRegistry: Tabella corsi (Articoli filtrati).TrainingMatrix: Vista lavoratori x corsi o lista formazioni.TrainingForm: Modale inserimento/modifica formazione (Caricamento file, calcolo automatico scadenza).
Integrazione Moduli Esistenti
- Magazzino: Aggiungere campi Validità nel form Articolo.
- Clienti: Aggiungere Tab "Contatti" nel dettaglio Cliente per gestire i lavoratori.
4. Workflow e Notifiche
- Implementare logica "Human-in-the-loop": Liste "Da Inviare" nella Dashboard.
- Integrazione con il Modulo Email Standard: Chiamata al servizio di invio email reale.
5. Verifica e Test
- Test flusso completo: Creazione Corso -> Creazione Lavoratore -> Registrazione Formazione -> Verifica Scadenza -> Notifica.
Stato Attuale
- Inizio analisi e setup.