Nessuna filiera trovata con i filtri selezionati
{{ f.codice }}
{{ f.capofila }}
{{ f.stato_label }}
{{ f.attive }}/{{ f.totali }} attive
❌ {{ f.rigettate }} rig.
🎓 {{ f.in_formazione }} form.
📨 {{ f.attesa_pec }} PEC
🔴 {{ f.da_avviare }} da avv.
{{ f.fondi?.join(', ') || '-' }}
{{ filieraVerifica.consiglio }}
{{ filieraVerifica.riepilogo.aziende_attive }}/{{ filieraVerifica.riepilogo.aziende_totali }}
Aziende attive (min 5)
{{ filieraVerifica.riepilogo.totale_partecipanti }}
Partecipanti (min 9)
{{ filieraVerifica.riepilogo.soglia_25 }}
Max per azienda (25%)
{{ filieraVerifica.riepilogo.margine_aziende }}
Margine aziende
{{ filieraVerifica.riepilogo.nomi_caricati }}/{{ filieraVerifica.riepilogo.totale_partecipanti }}
Nomi caricati
{{ al.titolo }}
{{ al.msg }}
{{ al.azione }}
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.n_con_nome }} {{ fmtMoney(a.importo_approvato) }}
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) }} -
Nessuna azienda trovata
{{ azienda.sotto_stato_icona }}
Stato operativo
{{ azienda.sotto_stato_label }}
Filiera
{{ azienda.codice_domanda_filiera }} →
{{ azienda.ruolo_filiera || 'partner' }}
⚡ Prossima azione
{{ azienda.prossima_azione }}
⚠️
URGENZA PORTALE FONDO
{{ azienda.priorita_fondo_motivo || 'Caricamento documenti urgente sul portale fondo' }}
Scadenza: {{ azienda.priorita_fondo_scadenza }}
{{ azienda.fase_corrente }}/7
Fase corrente
{{ fmtMoney(azienda.importo_presentato) }}
Importo presentato
{{ azienda.giorni_rimanenti != null ? azienda.giorni_rimanenti+'gg' : 'N/D' }}
Giorni rimanenti (365)
{{ azienda.n_partecipanti || 0 }}
Partecipanti
{{ azienda.n_alerts || 0 }}
Alert attivi
📚 Flusso Fondo Conoscenza
{{ timelineFcData.stato_portale_fc }} Non su portale FC
⛔ Piano respinto dal Ministero
{{ f.icona }}
{{ f.nome }}
{{ fmtDate(f.data) }}
{{ f.nota }}
💼 Flusso Fondolavoro
{{ timelineFlData.stato_label }}
{{ f.icona }}
{{ f.nome }}
{{ f.data }}
{{ flStepActions[flDetailStep].titolo }}
{{ a.icona }}
{{ a.testo }}
{{ flStepActions[flDetailStep].nota }}
🛠 Flusso Formazienda (FormUp)
{{ timelineFzData.stato_label }}
{{ f.icona }}
{{ f.nome }}
{{ f.data }}
Piano: {{ timelineFzData.fz_id_piano }} Titolo: {{ timelineFzData.fz_titolo_piano }} CUP: {{ timelineFzData.fz_cup }} Partecipanti: {{ timelineFzData.fz_n_partecipanti }} Finanz.: {{ fmtMoney(timelineFzData.fz_finanziamento) }}
mySI: Fase {{ timelineFzData.si_fase }} Accordo Dichiarazione Questionario RICONCILIATA {{ timelineFzData.si_tipo_piano }}
Informazioni
Date & Fasi
Documenti ({{ azienda.documenti?.length || 0 }})
Partecipanti ({{ azienda.n_partecipanti || azienda.partecipanti?.length || 0 }})
Alert ({{ azienda.alerts?.length || 0 }})
📚 Timeline FC
💼 Timeline FL
🛠 Timeline FZ
⏱ Scadenze
Checklist
Workflow
Rendicontazione
📅 Calendario FPF
📅 Calendarizzazione
Partita IVA
{{ azienda.partita_iva || '-' }}
Codice Fiscale
{{ azienda.codice_fiscale || '-' }}
Tipo Intervento
{{ azienda.tipo_intervento || '-' }}
Ruolo Filiera
{{ azienda.ruolo_filiera || '-' }}
Fondo
{{ azienda.fondo || '-' }}
Codice Fondo
{{ azienda.fondo_codice || '-' }}
Provincia
{{ azienda.provincia || '-' }}
Codice ATECO
{{ azienda.codice_ateco || '-' }}
Settore
{{ azienda.settore || '-' }}
Commerciale
{{ azienda.commerciale || '-' }}
Referente
{{ azienda.referente || '-' }}
Delegato
{{ azienda.delegato || '-' }}
Legale Rappresentante
{{ azienda.legale_rappresentante || '-' }}
Dipendenti Tot
{{ azienda.dipendenti_tot || '-' }}
Dipendenti in Formazione
{{ azienda.dipendenti_formazione || '-' }}
Titolo Piano
{{ azienda.titolo_piano || '-' }}
Note
{{ azienda.note || '-' }}
Avanzamento Fasi
Date Chiave
Presentazione
{{ fmtDate(azienda.data_presentazione) }}
Approvazione MLPS
{{ fmtDate(azienda.data_approvazione_mlps) }}
Scadenza 365gg
{{ fmtDate(azienda.scadenza_365) }}
Caricamento Fondo
{{ fmtDate(azienda.data_caricamento_fondo) }}
Approvazione Fondo
{{ fmtDate(azienda.data_approvazione_fondo) }}
PEC Avvio
{{ fmtDate(azienda.data_pec_avvio) }}
Inizio Formazione
{{ fmtDate(azienda.data_inizio_formazione) }}
Fine Formazione
{{ fmtDate(azienda.data_fine_formazione) }}
Documenti Fondo
Nessun documento registrato
TipoStatoData UploadNote
{{ d.tipo }} {{ d.stato }} {{ fmtDate(d.data_upload) }} {{ d.note || '-' }}
Partecipanti alla Formazione
Nessun partecipante registrato
Alert Attivi
Nessun alert per questa azienda
{{ a.messaggio }}
{{ a.tipo }} — {{ fmtDate(a.created_at) }}
Checklist Operativa
{{ checklistData.completati }}/{{ checklistData.totale }} ({{ checklistData.percentuale }}%)
Rendicontazione & Formazione

📅 Calendario FPF — Fondimpresa

1. Carica il calendario dell'azienda
Trascina o clicca per caricare il file Excel
Il file con date e ore fornito dall'azienda
✅ {{ fpf.calendarioFile.name }}
Calendario analizzato
Giornate
{{ fpf.analisi.giornate_totali }}
Ore Totali
{{ fpf.analisi.ore_totali }}h
Ore/Giorno
{{ fpf.analisi.ore_per_giorno }}h
Dipendenti
{{ fpf.analisi.n_dipendenti }}
Periodo: {{ fpf.analisi.data_inizio }}{{ fpf.analisi.data_fine }}
❌ {{ fpf.error }}
✅ {{ fpf.success }}
2. Parametri e generazione XLS
Piano formativo: {{ azienda.titolo_piano }} — Corso: {{ fpfGen.corso_rilevato }}
{{ i+1 }}
Totale: {{ fpfGen.azioni.reduce((s,a) => s + (a.ore||0), 0) }} ore in {{ fpfGen.azioni.length }} azioni = {{ Math.ceil(fpfGen.azioni.reduce((s,a) => s + (a.ore||0), 0) / fpfGen.ore_per_giorno) }} giornate formative
📊 Anteprima Calendario
Giornate: {{ fpfGen.preview.giornate_totali }}
Ore: {{ fpfGen.preview.ore_totali }}
Periodo: {{ fpfGen.preview.data_inizio_globale }}{{ fpfGen.preview.data_fine_globale }}
Azione {{ a.idx }}: {{ a.titolo }} — {{ a.n_giornate }} giorni ({{ a.data_inizio }} → {{ a.data_fine }})
❌ {{ fpfGen.error }}
✅ {{ fpfGen.success }}

📅 Calendarizzazione Formazione

Fondimpresa — Usa il tab Calendario FPF per generare il file XLS di importazione.
Il metodo XLS import su FPF e' gia' operativo e piu' efficiente dell'automazione browser.
{{ azienda.fondo }} — Bot automazione {{ calend.fondiInfo[azienda.fondo]?.stato === 'stub' ? '(in fase di completamento)' : 'disponibile' }}
Portale: {{ calend.fondiInfo[azienda.fondo]?.portale }}
Piano: {{ azienda.titolo_piano }} — Corso: {{ calend.corso_rilevato }}
Hai il calendario dell'azienda? Caricalo qui:
Trascina o clicca per caricare il file Excel dell'azienda
Il file con date e ore (.xlsx, .xls, .csv) — le date vengono estratte automaticamente
{{ calend.calendarioFile.name }}
Calendario analizzato
Giornate
{{ calend.analisiFile.n_giornate }}
Ore Totali
{{ calend.analisiFile.ore_totali }}h
Periodo
{{ calend.analisiFile.data_inizio }} → {{ calend.analisiFile.data_fine }}
Dipendenti
{{ calend.analisiFile.n_dipendenti }}
Oppure configura manualmente senza file:
ore
Totale: {{ calend.azioni.reduce((s,a) => s + (a.ore||0), 0) }} ore
Corso: {{ calend.corso_rilevato }} — {{ calend.corso_lezioni.length }} lezioni assegnate ciclicamente alle {{ calend.giornateCustom.length }} sessioni
Gli argomenti sono stati auto-compilati dalle lezioni del corso FNC3. Puoi modificarli manualmente nella tabella.
Argomenti — distribuzione ore:
{{ az.titolo }} {{ az.ore }}h totali — usate: {{ calend.giornateCustom.filter(g => g.argomento === az.titolo).reduce((s,g) => s + (g.ore||0), 0) }}h — restano: {{ az.ore - calend.giornateCustom.filter(g => g.argomento === az.titolo).reduce((s,g) => s + (g.ore||0), 0) }}h
Calendario ({{ calend.giornateCustom.length }} giornate, {{ calend.giornateCustom.reduce((s,g) => s + (g.ore||0), 0) }} ore totali)
Data Ore N.Lav Ora inizio Ora fine Argomento
{{ g.n_lavoratori || '-' }} {{ g.ora_fine }}
📊 Anteprima Calendario
{{ calend.preview.n_giornate }}
Giornate
{{ calend.preview.n_ore_totali }}
Ore totali
{{ calend.preview.data_inizio }}
Inizio
{{ calend.preview.data_fine }}
Fine
Data Giorno Orario Ore Azione
{{ g.data }} {{ g.giorno_settimana }} {{ g.ora_inizio }} - {{ g.ora_fine }} {{ g.ore }} {{ g.azione_titolo }}
{{ calend.error }}
{{ calend.success }}
⚠ Il bot per {{ azienda.fondo }} e' in fase di completamento. I selettori CSS del portale devono ancora essere mappati. Il bottone "Calendarizza" sara' attivo dopo il completamento.
{{ azienda.fondo || 'Fondo non specificato' }} — Bot non ancora disponibile per questo fondo.
La calendarizzazione va gestita manualmente sul portale del fondo.

Workflow

{{ s.sotto_fase }}
{{ s.nome }}
Sotto-fase corrente: {{ azienda.sotto_fase }}
Preso da: {{ azienda.operatore_corrente }}
Disponibile in coda
📚
Kit Onboarding FAD Academy
Genera il manuale con il link personalizzato da inviare ai dipendenti per la registrazione su fadacademy.it

Log attivita

{{ l.created_at }} {{ l.operatore }} {{ l.azione }} ({{ l.note }})
Nessun log
Nessun alert attivo
{{ a.messaggio }}
{{ a.severita }} {{ a.tipo }} — {{ fmtDate(a.created_at) }}
{{ m.label }}
{{ m.count }}
{{ filteredScadCritiche.length }} risultati
Nessuna scadenza trovata
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 }}
Operatori ({{ utentiOperatori.length }})
Commerciali ({{ utentiCommerciali.length }})

Coda Lavoro

Kanban a pool — prendi, lavora, avanza

{{ wfStats.totale_fase5 }}
Kanban Fase 5
{{ wfStats.totale_pre }}
Pre-Formazione
{{ wfStats.totale_problemi }}
Problemi
{{ op.task }}
{{ op.nome }}
Il sistema sceglie il task piu urgente per te
{{ mesTaskAssegnato.ragione_sociale }} — {{ mesTaskAssegnato.step_nome || 'Step ' + mesTaskAssegnato.sotto_fase }}
{{ mesTaskAssegnato.motivo }}
Alternative: {{ mesTaskAssegnato.alternative.map(a => a.ragione_sociale).join(', ') }}
🔴 {{ a.ragione_sociale }} presa da {{ a.operatore_corrente }} da {{ mesFormatDurata(a.minuti_in_corso) }} (soglia: {{ mesFormatDurata(a.tempo_alert) }})
Pre-Formazione {{ wfStats?.totale_pre || 0 }}
Kanban Operativo {{ wfStats?.totale_fase5 || 0 }}
Problemi {{ wfStats?.totale_problemi || 0 }}
👥 Team
Log Recenti
I miei task {{ mieiTaskCount }}
📖 Guida Fasi
{{ step.sotto_fase }} — {{ step.nome }} {{ wfColumnCount(step.sotto_fase) }}
{{ az.ragione_sociale }}
{{ az.fondo }} · {{ az.codice_istanza }}
{{ az.operatore_corrente === wfOperatore ? 'Lo stai facendo tu' : az.operatore_corrente + ' ci sta lavorando' }}
Vuota
Fase {{ fg.fase }} — {{ fg.label }} {{ fg.aziende.length }}
{{ fg.hint }}
{{ az.ragione_sociale }}
{{ az.fondo }} · {{ az.codice_istanza }}
{{ az.stato_fondo }}
🔒 {{ az.operatore_corrente }} (da {{ mieiTempoFa(az.operatore_preso_il) }})
Lo stai facendo tu
Vuota
{{ az.ragione_sociale }}
{{ az.fondo }} · {{ az.codice_istanza }}
{{ az.problema_tipo?.replace(/_/g,' ') }}
{{ az.problema_dettaglio }}
Preso da: {{ az.problema_operatore }}
Nessun problema segnalato
{{ teamData.stats.n_attivi }}
Attivi
{{ teamData.stats.n_in_lavoro }}
In lavoro
{{ teamData.stats.fatti_oggi }}
Fatti oggi
{{ teamData.stats.in_coda }}
In coda
{{ teamData.stats.problemi }}
Problemi
{{ op.operatore }}
In corso: {{ op.n_in_corso }} task
Libero — nessun task
{{ t.ragione_sociale }} ({{ t.sotto_fase }} {{ teamStepName(t.sotto_fase) }})
⏱ da {{ mieiTempoFa(t.operatore_preso_il) }}

Attività di oggi

{{ teamFmtTime(e.created_at) }} {{ e.operatore }} {{ e.azione }} {{ e.ragione_sociale }} ({{ e.da_fase }}→{{ e.a_fase }})
Nessuna attività oggi
{{ fmtDate(l.created_at) }} {{ l.operatore }} {{ l.azione }} — {{ l.ragione_sociale }} ({{ l.note }})
Nessun log
Inserisci il tuo nome in alto a destra per vedere i tuoi task
Nessun task in corso
Vai al Kanban e prendi un task, oppure usa il bottone "Prossimo task per me"
{{ mt.ragione_sociale }}
{{ mt.fondo }} · {{ mt.codice_istanza }}
Come funziona: Prendi un task dal Kanban, lavora sulla checklist spuntando le voci man mano. Se non finisci tutto in una volta, lascia il task aperto — le spunte restano salvate. Clicca "Fatto" solo quando hai completato tutti i punti della fase: il task avanzerà alla fase successiva.

Pre-Formazione (Fase 0 → 4)

Fase {{ pf.fase }} {{ pf.label }}

Formazione (Step 5.0 → 5.6)

{{ step.sotto_fase }} {{ step.nome }}
{{ mesDash.efficienza_7gg?.completati || 0 }}
Completati (7gg)
{{ mesDash.efficienza_7gg?.presi || 0 }}
Presi (7gg)
{{ mesDash.efficienza_7gg?.rilasciati || 0 }}
Rilasciati (7gg)
{{ (mesDash.alert || []).length }}
Alert attivi

Stazioni (Coda vs Lavorazione)

{{ s.sotto_fase }} {{ s.step_nome }}
{{ s.in_lavorazione }} lav / {{ s.in_coda }} coda
In lavorazione In coda

Carico Operatori

{{ c.operatore }}
{{ c.aziende }}
{{ c.n_task }}
Nessun operatore attivo

Throughput (ultimi 7 giorni)

{{ d.giorno }}
{{ d.completati }}
Nessun completamento

Completamenti per Operatore (7gg)

{{ o.operatore }} {{ o.completati }}
Nessun dato

Alert Tempi

🔴 {{ a.ragione_sociale }} — {{ a.operatore_corrente }} — {{ mesFormatDurata(a.minuti) }} (soglia: {{ mesFormatDurata(a.tempo_alert) }})

Tempi Medi per Step (ultimi 30gg)

StepCicliMediaMinMax
{{ s.sotto_fase }} {{ s.n_cicli }} {{ mesFormatDurata(s.media_minuti) }} {{ mesFormatDurata(s.min_minuti) }} {{ mesFormatDurata(s.max_minuti) }}

Performance Operatori (ultimi 30gg)

OperatoreTask completatiTempo medioTempo totale
{{ o.operatore }} {{ o.task_completati }} {{ mesFormatDurata(o.media_minuti) }} {{ mesFormatDurata(o.totale_minuti) }}

Task In Corso

AziendaStepOperatoreDurataStato
{{ t.ragione_sociale }} {{ t.sotto_fase }} {{ t.operatore_corrente }} {{ mesFormatDurata(t.minuti_in_corso) }} Critico Warning OK

Configurazione Soglie (minuti)

StepAttesoAlertCritico
{{ s.sotto_fase }} {{ s.step_nome || '' }}
Caricamento dati da FAD Academy e Moodle...
La prima richiesta potrebbe impiegare qualche secondo
{{ fadData.stats.totale_aziende }}
Aziende in formazione
{{ fadData.stats.critiche }}
Critiche
{{ fadData.stats.warning }}
Warning
{{ fadData.stats.ok }}
In regola
{{ fadData.stats.ore_erogate_totali }} / {{ fadData.stats.ore_previste_totali }}h
Ore erogate / previste
{{ filteredFadAziende.length }} aziende
Azienda{{ fadSortCol==='ragione_sociale' ? (fadSortDir===1?'▲':'▼') : '▲▼' }} Fondo{{ fadSortCol==='fondo' ? (fadSortDir===1?'▲':'▼') : '▲▼' }} Onboarding{{ fadSortCol==='onboarding' ? (fadSortDir===1?'▲':'▼') : '▲▼' }} Studenti Moodle{{ fadSortCol==='studenti' ? (fadSortDir===1?'▲':'▼') : '▲▼' }} Ore Erogate / Previste{{ fadSortCol==='ore' ? (fadSortDir===1?'▲':'▼') : '▲▼' }} Progresso{{ fadSortCol==='progresso' ? (fadSortDir===1?'▲':'▼') : '▲▼' }} Criticita{{ fadSortCol==='criticita' ? (fadSortDir===1?'▲':'▼') : '▲▼' }} Gg Rimanenti{{ fadSortCol==='giorni' ? (fadSortDir===1?'▲':'▼') : '▲▼' }}
{{ 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
Caricamento dettaglio...

Informazioni Formazione

Fondo: {{ fadDettaglio.azienda.fondo }}
Fase: {{ fadDettaglio.azienda.fase_corrente }}
Inizio: {{ fadDettaglio.azienda.data_inizio_formazione ? new Date(fadDettaglio.azienda.data_inizio_formazione).toLocaleDateString('it-IT') : 'N/D' }}
Fine: {{ fadDettaglio.azienda.data_fine_formazione ? new Date(fadDettaglio.azienda.data_fine_formazione).toLocaleDateString('it-IT') : 'N/D' }}
Partecipanti DB: {{ fadDettaglio.riepilogo.n_partecipanti }}
Studenti Moodle: {{ fadDettaglio.riepilogo.n_studenti_moodle }}

Avanzamento

Giorni totali: {{ fadDettaglio.riepilogo.giorni_totali }}
Trascorsi: {{ fadDettaglio.riepilogo.giorni_trascorsi }}
Rimanenti: {{ fadDettaglio.riepilogo.giorni_rimanenti }}
Ore previste: {{ fadDettaglio.riepilogo.ore_previste_totali }}h
Ore erogate: {{ fadDettaglio.riepilogo.ore_erogate_totali }}h
Pct completamento: {{ fadDettaglio.riepilogo.ore_previste_totali ? Math.round(fadDettaglio.riepilogo.ore_erogate_totali / fadDettaglio.riepilogo.ore_previste_totali * 100) : 0 }}%
Ore/sett attese: {{ fadDettaglio.riepilogo.ore_settimana_attese }}h
Ore/sett effettive: {{ fadDettaglio.riepilogo.ore_settimana_effettive }}h

Onboarding FAD Academy

{{ s.count > 0 ? s.count : '' }}
{{ s.label }}: {{ s.count }}
Azienda non ancora registrata su 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
Caricamento dati OTP...
{{ otpStats.total_otps }}
OTP oggi
{{ otpStats.used }}
Usati
{{ otpStats.expired }}
Scaduti
{{ otpStats.active }}
Attivi ora
{{ otpStats.unique_users }}
Utenti unici
OTP Attivi ({{ otpActiveList.length }})
Genera OTP
Storico
Utenti con problemi ({{ otpStats.problem_users?.length || 0 }})
Nessun OTP attivo al momento
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

{{ s.firstname }} {{ s.lastname }} {{ s.username }} - {{ s.azienda }}
Nessuno studente trovato per "{{ otpSearchQ }}"
Digita almeno 2 caratteri per cercare
OTP generato con successo!
Studente
{{ otpGenResult.data.firstname }} {{ otpGenResult.data.lastname }}
Codice OTP
{{ otpGenResult.data.otp_code }}
Scade alle
{{ otpGenResult.data.expires_at }}
Email
{{ otpGenResult.data.email_sent ? 'Inviata a ' + otpGenResult.data.email_address : 'Non inviata' }}
Comunica il codice allo studente per telefono se non ha ricevuto l'email
Errore: {{ otpGenResult.error }}
Nessun risultato. Usa i filtri e premi Cerca.
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 }}
Nessun utente con problemi OTP oggi

Utenti che hanno richiesto piu OTP senza utilizzarli (possibili problemi di ricezione email)

Studente Username Email OTP Richiesti Usati Non usati Azione
{{ u.firstname }} {{ u.lastname }} {{ u.username }} {{ u.email }} {{ u.otp_count }} {{ u.used_count }} {{ u.unused_count }}
Ultimo check: {{ emailUltimoCheck }} {{ emailPageList.length }} email
Caricamento...
Nessuna email trovata con questi filtri
{{ durcTabStats.totale }}
Aziende attive
{{ durcTabStats.valido }}
DURC valido
{{ durcTabStats.in_scadenza }}
In scadenza (≤30gg)
{{ durcTabStats.scaduto }}
Scaduto
{{ durcTabStats.non_inserito }}
Non inserito
{{ durcTabStats.scade_7gg }}
Scade entro 7gg!
Import completato: {{ durcImportResult.updated }} aggiornate su {{ durcImportResult.totale_righe }} righe | {{ durcImportResult.not_found.length }} non trovate | {{ durcImportResult.errors.length }} errori
Non trovate: {{ durcImportResult.not_found.join(', ') }}
Lista DURC
Azienda Stato Fondo Fase Stato DURC Emissione Scadenza Giorni Note Azioni
{{ r.ragione_sociale }} 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.durc_note || '' }}
Nessun risultato
🔒 Aggiorna stati dal portale MLPS

Clicca il bottone, fai login SPID e la sincronizzazione parte da sola.

✅ Login SPID completato! Scan avviato.

Puoi chiudere la finestra del portale MLPS.

STATO SYNC
⏳ Scan in corso... ✅ Completato 💣 Pronto ⚪ In attesa
{{ mlpsScanStatus.scan.istanze_count }} istanze
Ultimo: {{ mlpsScanStatus.cookies.mtime.substring(0,16).replace('T',' ') }}
Caricamento...
📋 Incolla nella finestra MLPS:

Clicca prima nel campo nella finestra MLPS, poi incolla qui e premi Digita

Premi dopo aver fatto il login nella finestra MLPS
Progresso scan: ⏳ In corso... ✅ Completato ({{ mlpsScanStatus.scan.istanze_count }} istanze) ❌ Errore
Avviato: {{ mlpsScanStatus.scan.started_at.substring(0,16).replace('T',' ') }}
Mostra log
{{ mlpsScanStatus.log_tail }}
Metodo alternativo (cookie manuali)
{{ mlpsCookieMsg }}
{{ mlpsOverview.totale_fnc }}
Aziende in FNC2
{{ mlpsOverview.totale_mlps_scan }}
Istanze scan MLPS
{{ mlpsOverview.totale_mlps_full }}
Istanze full MLPS
{{ mlpsOverview.totale_discrepanze }}
Discrepanze stato
Scan: {{ mlpsOverview.scan_mtime ? mlpsOverview.scan_mtime.substring(0,16).replace('T',' ') : 'N/A' }} Full: {{ mlpsOverview.full_mtime ? mlpsOverview.full_mtime.substring(0,16).replace('T',' ') : 'N/A' }}
Stati portale MLPS
{{ s }} {{ n }}
Stati FNC2
{{ s }} {{ n }}
Confronto dettagliato
Azienda Codice istanza Fondo Stato FNC2 Stato MLPS portale Agg. MLPS Azioni
{{ r.ragione_sociale }} {{ r.codice_istanza }} {{ r.fondo }} {{ r.stato_fnc }} {{ r.stato_mlps_portale }} - {{ r.data_aggiornamento_mlps || '-' }}
Nessun risultato
Istanze solo in MLPS (non in FNC2): {{ mlpsSoloMlps.length }}
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 }}
Statistiche per filiera (dati scan MLPS)
Filiera Totale Approvate Rigettate Rinuncia In lavorazione
{{ f.codice }} {{ f.totale }} {{ f.approvate }} {{ f.rigettate }} {{ f.rinuncia }} {{ f.in_lavorazione }}
Nessun dato scan disponibile