Vai al contenuto

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).