Files
2025-12-17 13:02:12 +01:00

3.2 KiB

Stored Procedures

Questa cartella contiene la documentazione di tutte le 11 stored procedures del database.

Procedures Business Logic

Procedura Descrizione
EVENTI_AGGIORNA_QTA_LISTA Ricalcola tutte le quantità della lista prelievo
EVENTI_AGGIORNA_TOT_OSPITI Aggiorna il totale ospiti in testata evento
EVENTI_COPIA Duplica un evento con tutti i dettagli
EVENTI_RICALCOLA_ACCONTI Ricalcola gli importi degli acconti
EVENTO_ELIMINA_PRELIEVI Elimina i prelievi di un evento
LISTE_COPIA Copia selettiva di liste tra due eventi
P_CANCEL_SAME_LOCATION_EVENTS Annulla eventi nella stessa location/data

Procedures Utility

Procedura Descrizione
ROWSORT_TIPI Riordina i tipi materiale
HTPPRN Output HTTP per APEX
SEND_DATA_TO_DROPBOX Export dati verso Dropbox
XLOG Procedura di logging

Dettaglio Procedures Critiche

EVENTI_AGGIORNA_QTA_LISTA

Parametri:

  • p_id_evento NUMBER - ID dell'evento

Logica:

  1. Cicla su tutti gli articoli nella lista prelievo
  2. Per ogni articolo determina il metodo di calcolo:
    • Quantità Standard: Se QTA_STD_A/S/B sono valorizzate
    • Tovagliato/Caraffe: Moltiplica per quantità tavoli/angoli
    • Codice Relativo: Moltiplica per quantità articolo di riferimento
    • Standard: Moltiplica coefficienti per totale ospiti
  3. Verifica disponibilità rispetto alla giacenza
  4. Aggiorna note con warning se quantità insufficiente

EVENTI_COPIA

Parametri:

  • id_evento_old NUMBER - ID evento da copiare
  • nuova_versione NUMBER DEFAULT 0 - 1 per creare nuova versione
  • id_evento_new OUT NUMBER - ID nuovo evento creato

Logica:

  1. Copia testata evento
  2. Se nuova versione: imposta ID_EVT_PADRE, incrementa VERS_NUMBER
  3. Aggiorna evento vecchio con ID_EVT_FIGLIO
  4. Copia tutte le tabelle dettaglio:
    • EVENTI_DET_DEGUST
    • EVENTI_DET_OSPITI (via UPDATE, non INSERT)
    • EVENTI_DET_PREL
    • EVENTI_DET_RIS
    • EVENTI_ACCONTI
    • EVENTI_ALTRICOSTI
  5. In caso di errore: elimina evento creato e solleva eccezione

EVENTI_RICALCOLA_ACCONTI

Parametri:

  • p_event_id NUMBER - ID evento

Logica:

  1. Calcola totale evento dalle viste costo
  2. Se nessun acconto pagato:
    • Elimina acconti esistenti
    • Inserisce nuovi acconti con percentuali 30%-50%-20%
  3. Se acconti parzialmente pagati:
    • Mantiene importi pagati
    • Ricalcola solo acconti non pagati
    • Verifica che totale acconti ≤ totale evento

LISTE_COPIA

Parametri:

  • id_evento_from NUMBER - Evento sorgente
  • id_evento_to NUMBER - Evento destinazione
  • copia_degustazioni NUMBER DEFAULT 0
  • copia_prelievi NUMBER DEFAULT 0
  • copia_risorse NUMBER DEFAULT 0
  • copia_acconti NUMBER DEFAULT 0
  • copia_altricosti NUMBER DEFAULT 0

Logica: Per ogni flag > 0 esegue un MERGE (UPDATE se esiste, INSERT altrimenti).