Dashboard
Panoramica istanze FNC3
Riquadri blu rilevati — caricare documenti urgentemente per non perdere il finanziamento
Filiere
{{ filteredFiliere.length }} di {{ filiereData.length }} raggruppamenti filiera
Filiera {{ filieraDettaglio.codice }}
{{ filieraDettaglio.totale }} aziende nel raggruppamento
| Ragione Sociale | Fondo | Ruolo | Stato Operativo | Partecipanti | % Filiera | Nomi | Importo |
|---|---|---|---|---|---|---|---|
| {{ a.ragione_sociale }} | {{ a.fondo || '-' }} | {{ a.ruolo || a.ruolo_filiera || 'partner' }} | {{ a.sotto_stato_label }} {{ a.stato }} | {{ a.dipendenti_formazione || '-' }} | {{ a.pct_partecipanti }}% - | ✓ {{ a.n_con_nome }} ✗ | {{ fmtMoney(a.importo_approvato) }} |
Aziende
{{ aziendeData.total || 0 }} aziende trovate
| Ragione Sociale | Codice | Tipo | Fondo | Stato | Stato Operativo | Importo | Scadenza 365 |
|---|---|---|---|---|---|---|---|
| {{ a.ragione_sociale }} | {{ a.codice_istanza }} | F S | {{ a.fondo || '-' }} | {{ a.stato }} | {{ a.sotto_stato_icona }} {{ a.sotto_stato_label || '-' }} | {{ fmtMoney(a.importo_presentato) }} | {{ a.giorni_rimanenti }}gg - |
{{ azienda.ragione_sociale }}
{{ azienda.codice_istanza }} — {{ azienda.fondo || 'Nessun fondo' }}
| Tipo | Stato | Data Upload | Note |
|---|---|---|---|
| {{ d.tipo }} | {{ d.stato }} | {{ fmtDate(d.data_upload) }} | {{ d.note || '-' }} |
| Cognome | Nome | CF | Fonte | Ore Prev. | Ore Erog. | Freq. % | Attivo |
|---|---|---|---|---|---|---|---|
| {{ p.cognome || '-' }} | {{ p.nome || '-' }} | {{ p.codice_fiscale || '-' }} | {{ p.fonte || 'ORM' }} | {{ p.ore_previste || '-' }} | {{ p.ore_erogate || '-' }} | {{ p.frequenza_pct ? p.frequenza_pct.toFixed(1)+'%' : '-' }} |
| Partecipante | CF | Ore Prev. | Ore Erog. | Freq. | Costo/h | Rimborso Retr. | Totale |
|---|---|---|---|---|---|---|---|
| {{ p.partecipante }} | {{ p.codice_fiscale || '-' }} | {{ p.ore_previste }} | {{ p.ore_erogate }} | {{ p.frequenza_pct ? p.frequenza_pct.toFixed(1)+'%' : '-' }} | {{ p.costo_orario ? p.costo_orario.toFixed(2) + ' EUR' : '-' }} | {{ fmtMoney(p.rimborso_retribuzione) }} | {{ fmtMoney(p.totale) }} |
| Totale Rimborso | {{ fmtMoney(rendData.totale_rimborso_calcolato) }} | ||||||
📅 Calendario FPF — Fondimpresa
{{ fpf.analisi.giornate_totali }}
{{ fpf.analisi.ore_totali }}h
{{ fpf.analisi.ore_per_giorno }}h
{{ fpf.analisi.n_dipendenti }}
📅 Calendarizzazione Formazione
{{ calend.analisiFile.n_giornate }}
{{ calend.analisiFile.ore_totali }}h
{{ calend.analisiFile.data_inizio }} → {{ calend.analisiFile.data_fine }}
{{ calend.analisiFile.n_dipendenti }}
| Data | Ore | N.Lav | Ora inizio | Ora fine | Argomento | |
|---|---|---|---|---|---|---|
| {{ g.n_lavoratori || '-' }} | {{ g.ora_fine }} |
| Data | Giorno | Orario | Ore | Azione |
|---|---|---|---|---|
| {{ g.data }} | {{ g.giorno_settimana }} | {{ g.ora_inizio }} - {{ g.ora_fine }} | {{ g.ore }} | {{ g.azione_titolo }} |
Workflow
Log attivita
Alert
Alert attivi per tutte le aziende
Priorita Formazione
| # | Azienda | Codice Istanza | Fondo | Sotto-stato | Score | Urgenza | GG 365 | GG Fondo | Fattori |
|---|---|---|---|---|---|---|---|---|---|
| {{ i + 1 }} | {{ a.ragione_sociale }} | {{ a.codice_istanza }} | {{ a.fondo }} | {{ a.sotto_stato?.replace(/_/g, ' ') }} | {{ a.score }} | SCADUTA CRITICA ALTA MEDIA - | {{ a.gg_rimasti_365 !== null ? a.gg_rimasti_365 : '-' }} | {{ a.gg_da_approv_fondo !== null ? a.gg_da_approv_fondo + 'gg' : '-' }} | {{ a.fattori?.join(' | ') }} |
Scadenze e Urgenze
{{ scadCriticheFull.length }} scadenze critiche/alte attive
| Giorni | Azienda | Tipo Scadenza | Fondo | Scadenza | Severità |
|---|---|---|---|---|---|
| {{ s.giorni_rimanenti != null ? s.giorni_rimanenti : '—' }} | {{ s.azienda_nome }} | {{ s.nome }} | {{ s.fondo || '-' }} | {{ fmtDate(s.scadenza) }} | {{ s.severita }} |
Risorse FNC3
Portali, guide, manuali, facsimili e modelli ufficiali
🌐 Portali
📄 Allegati Ufficiali Avviso FNC3 (MLPS)
📋 Modelli per Fondo
📞 Supporto
📋 Documenti Rendicontazione Fondimpresa
| Documento | Tipo | Obbligatorio |
|---|---|---|
| {{ d.nome }} | {{ d.tipo }} | {{ d.obbligatorio ? 'Si' : 'No' }} |
💰 Consuntivo Finanziario
| # | Azienda | P.IVA | Stato | Delegato | Commerciale | % Comp. | Credito ANPAL | Ns. Compenso | Fatt. Pres. | Stato Pres. | Acc. Sind. | Stato Acc. | 1° Acconto | Stato 1° | 2° Acconto | Stato 2° | Saldo | Stato Saldo | Comp. Totale | Banca | Note | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ i + 1 }} | {{ a.ragione_sociale }} {{ a.codice_istanza }} |
{{ a.partita_iva }} | {{ a.stato }} | {{ a.delegato }} | {{ a.commerciale }} | {{ a.perc_compenso }} | {{ fmtEuro(a.credito_anpal) }} | {{ fmtEuro(a.importo_nostro_compenso) }} | {{ fmtEuro(a.valore_presentazione) }} | {{ a.stato_fatt_presentazione }} | {{ fmtEuro(a.valore_accordo_sindacale) }} | {{ a.stato_fatt_accordo }} | {{ fmtEuro(a.valore_acconto1) }} | {{ a.stato_proforma_acconto1 }} | {{ fmtEuro(a.valore_acconto2) }} | {{ a.stato_proforma_acconto2 }} | {{ fmtEuro(a.valore_saldo_netto) }} | {{ a.stato_proforma_saldo }} | {{ fmtEuro(a.compenso_totale) }} |
{{ p.tipo==='fattura' ? 'FE' : 'MOV' }} {{ p.data }} {{ fmtEuro(p.importo) }} {{ p.stato || '' }}
|
||
| TOTALI ({{ filteredConsuntivo.length }} aziende) | {{ fmtEuro(consuntivoTotFiltrato.credito_anpal) }} | {{ fmtEuro(consuntivoTotFiltrato.nostro_compenso) }} | {{ fmtEuro(consuntivoTotFiltrato.fatt_presentazione) }} | {{ fmtEuro(consuntivoTotFiltrato.fatt_accordo) }} | {{ fmtEuro(consuntivoTotFiltrato.acconto1) }} | {{ fmtEuro(consuntivoTotFiltrato.acconto2) }} | {{ fmtEuro(consuntivoTotFiltrato.compenso_tot) }} | |||||||||||||||
Audit Log
Registro attivita del sistema
| Data | Utente | Azienda | Azione | Dettaglio |
|---|---|---|---|---|
| {{ l.created_at ? new Date(l.created_at).toLocaleString('it-IT') : '' }} | {{ l.utente }} | {{ l.azienda || '#'+l.azienda_id }}- | {{ l.azione }} |
Gestione Utenti
Nuovo Utente
Modifica Utente: {{ editingUser.username }}
| Username | Nome | Ruolo | Attivo | Azioni |
|---|---|---|---|---|
| {{ u.username }} | {{ u.nome }} | {{ u.attivo ? 'Attivo' : 'Disattivo' }} |
| Commerciale | Username | Stato | Link / Azioni |
|---|---|---|---|
| {{ u.commerciale_nome || u.nome }} | {{ u.reg_token ? '-' : u.username }} | Da registrare Attivo Disattivo |
Coda Lavoro
Kanban a pool — prendi, lavora, avanza
{{ mesTaskAssegnato.motivo }}
Alternative: {{ mesTaskAssegnato.alternative.map(a => a.ragione_sociale).join(', ') }}
Attività di oggi
Pre-Formazione (Fase 0 → 4)
Formazione (Step 5.0 → 5.6)
Dashboard MES
Coordinamento operativo — tempi, carichi, colli di bottiglia
Stazioni (Coda vs Lavorazione)
Carico Operatori
Throughput (ultimi 7 giorni)
Completamenti per Operatore (7gg)
Alert Tempi
Tempi Medi per Step (ultimi 30gg)
| Step | Cicli | Media | Min | Max |
|---|---|---|---|---|
| {{ s.sotto_fase }} | {{ s.n_cicli }} | {{ mesFormatDurata(s.media_minuti) }} | {{ mesFormatDurata(s.min_minuti) }} | {{ mesFormatDurata(s.max_minuti) }} |
Performance Operatori (ultimi 30gg)
| Operatore | Task completati | Tempo medio | Tempo totale |
|---|---|---|---|
| {{ o.operatore }} | {{ o.task_completati }} | {{ mesFormatDurata(o.media_minuti) }} | {{ mesFormatDurata(o.totale_minuti) }} |
Task In Corso
| Azienda | Step | Operatore | Durata | Stato |
|---|---|---|---|---|
| {{ t.ragione_sociale }} | {{ t.sotto_fase }} | {{ t.operatore_corrente }} | {{ mesFormatDurata(t.minuti_in_corso) }} | Critico Warning OK |
Configurazione Soglie (minuti)
📊 Monitoraggio FAD
| Azienda | Fondo | Onboarding | Studenti Moodle | Ore Erogate / Previste | Progresso | Criticita | Gg Rimanenti |
|---|---|---|---|---|---|---|---|
| {{ az.ragione_sociale }} | {{ az.fondo }} | {{ az.onboarding.completati }}/{{ az.n_partecipanti }} ({{ Math.round(az.onboarding.completati / (az.n_partecipanti || 1) * 100) }}%) Non registrata | {{ az.training.n_studenti_moodle }}/{{ az.n_partecipanti }} | {{ az.training.ore_erogate }}h / {{ az.training.ore_previste }}h |
{{ az.training.pct }}%
|
{{ az.criticita.n_critici }} critici {{ az.criticita.n_warning }} warning OK N/D | {{ az.giorni_rimanenti }} gg - |
| Nessuna azienda trovata | |||||||
{{ fadDettaglio.azienda.ragione_sociale }}
Informazioni Formazione
Avanzamento
Onboarding FAD Academy
Studenti ({{ fadDettaglio.studenti.length }})
| Nome | Cognome | CF | Onboarding | Ore Moodle | Ore Previste | Progresso | Ore/Sett Attese | Ore/Sett Effett. | Stato |
|---|---|---|---|---|---|---|---|---|---|
| {{ st.nome }} | {{ st.cognome }} | {{ st.codice_fiscale || '-' }} | {{ st.stato_onboarding }} - | {{ st.ore_erogate_moodle }}h | {{ st.ore_previste || '-' }}h |
{{ st.pct_completamento }}%
|
{{ st.criticita_dettaglio.ore_settimana_attese != null ? st.criticita_dettaglio.ore_settimana_attese + 'h' : '-' }} | {{ st.criticita_dettaglio.ore_settimana_effettive != null ? st.criticita_dettaglio.ore_settimana_effettive + 'h' : '-' }} |
{{ fadCritLabel(st.criticita) }}
{{ st.criticita_dettaglio.pct_ritmo }}% del ritmo
|
| Nessuno studente trovato su Moodle per questa azienda | |||||||||
🔑 Segreteria OTP
Gestione codici OTP per studenti in difficolta
| Studente | Username | Codice OTP | Email inviata a | Creato | Scade tra | Tentativi | Origine |
|---|---|---|---|---|---|---|---|
| {{ otp.firstname }} {{ otp.lastname }} | {{ otp.username }} | {{ otp.otp_code }} | {{ otp.email_sent }} | {{ otp.created_at }} | {{ otpTimeLeft(otp.expires_at) }} | {{ otp.attempts }} | {{ otp.ip_address }} |
Genera OTP per uno studente
| Studente | Username | OTP | Stato | Creato | Scadenza | Tentativi | Origine |
|---|---|---|---|---|---|---|---|
| {{ otp.firstname }} {{ otp.lastname }} | {{ otp.username }} | {{ otp.otp_code }} | {{ otpStatusLabel(otp.status) }} | {{ otp.created_at }} | {{ otp.expires_at }} | {{ otp.attempts }} | {{ otp.ip_address }} |
Utenti che hanno richiesto piu OTP senza utilizzarli (possibili problemi di ricezione email)
| Studente | Username | OTP Richiesti | Usati | Non usati | Azione | |
|---|---|---|---|---|---|---|
| {{ u.firstname }} {{ u.lastname }} | {{ u.username }} | {{ u.email }} | {{ u.otp_count }} | {{ u.used_count }} | {{ u.unused_count }} |
📧 Email / PEC
Tutte le notifiche email e PEC ricevute
📋 DURC Monitor
Scadenze DURC di tutte le aziende attive — alert 7 giorni prima
| Azienda | Stato | Fondo | Fase | Stato DURC | Emissione | Scadenza | Giorni | Note | Azioni |
|---|---|---|---|---|---|---|---|---|---|
| Attiva Rigettata def. Rigettata Ritirata {{ r.stato_azienda }} | {{ r.fondo }} | {{ r.fase }} | Valido In scadenza Scaduto Non inserito | {{ r.durc_emissione || '-' }} | {{ r.durc_scadenza || '-' }} | {{ r.giorni_rimanenti }} - |
|
||
| Nessun risultato | |||||||||
🌐 MLPS Sync
Confronto stato portale MLPS vs database FNC Manager
Clicca il bottone, fai login SPID e la sincronizzazione parte da sola.
✅ Login SPID completato! Scan avviato.
Puoi chiudere la finestra del portale MLPS.
Clicca prima nel campo nella finestra MLPS, poi incolla qui e premi Digita
Mostra log
{{ mlpsScanStatus.log_tail }}
Metodo alternativo (cookie manuali)
| Azienda | Codice istanza | Fondo | Stato FNC2 | Stato MLPS portale | Agg. MLPS | Azioni |
|---|---|---|---|---|---|---|
| {{ r.codice_istanza }} | {{ r.fondo }} | {{ r.stato_fnc }} | {{ r.stato_mlps_portale }} - | {{ r.data_aggiornamento_mlps || '-' }} | ||
| Nessun risultato | ||||||
| Codice istanza | Filiera | Ragione sociale | Stato MLPS | Data presentazione |
|---|---|---|---|---|
| {{ r.codice_istanza }} | {{ r.filiera_base }} | {{ r.ragione_sociale }} | {{ r.stato_mlps_portale }} | {{ r.data_presentazione }} |
| Filiera | Totale | Approvate | Rigettate | Rinuncia | In lavorazione |
|---|---|---|---|---|---|
| {{ f.codice }} | {{ f.totale }} | {{ f.approvate }} | {{ f.rigettate }} | {{ f.rinuncia }} | {{ f.in_lavorazione }} |