FasePipeline
Panoramica
FasePipeline proviene dalla vista v_fasi_pipeline che unisce la tabella fasi.fase con le metriche aggregate (conteggi per stato) e i team assegnati.
Definizione
interface FasePipeline {
// Identificativi
idfase: number
idboard: number
// Configurazione
nome: string
colore: string // hex (es. '#3b82f6')
ordine: number
attiva: boolean
finale: boolean // fase di chiusura pipeline
iniziale: boolean // fase di ingresso default
wiplimit: number | null // null = nessun limite
giornistallo: number // 0 = stallo disabilitato
// Template notifiche
idtemplateemail: number | null
idtemplatesms: number | null
// Metriche schede (da v_fasi_pipeline)
totale_schede: number
schede_incorso: number
schede_pronto: number
schede_bloccato: number
schede_fatto: number
schede_annullato: number
schede_stallo: number // schede con installo = true
// Team assegnati (array JSON)
teams: Array<{ idteam: number; nome: string }> | null
// Audit
datacreazione: string
datamodifica: string | null
dataeliminazione: string | null
}
Metriche
Le metriche schede_* sono aggregate in tempo reale dalla vista. Non necessitano refresh separato — loadFasi() le aggiorna.
Per visualizzare la distribuzione come barra di avanzamento, usare FaseProgressBar che accetta le proprietà schede_* direttamente dalla FasePipeline.
FaseAvanzamento
Struttura usata da useFasiMetrics.loadAvanzamento() dalla vista v_fasi_avanzamento:
interface FaseAvanzamento {
idfase: number
codstatoscheda: CodStatoScheda
nschede: number
percentuale: number // 0-100
}
FaseRow
FaseRow è la risposta grezza di una operazione PATCH/POST sulla tabella fasi.fase con Prefer: return=representation:
interface FaseRow extends Required<FaseCreate> {
idfase: number
dataeliminazione: string | null
datacreazione: string
datamodifica: string | null
}
FaseRow viene restituita da FaseConfigDialog nel suo emit saved.
Operazioni di scrittura
Vedere il tipo FaseCreate e FaseUpdate in Tipi Scrittura per i payload di creazione e modifica fase.