Tipi

FasePipeline

Tipo per le fasi pipeline con metriche aggregate.

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.