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:
- Cicla su tutti gli articoli nella lista prelievo
- Per ogni articolo determina il metodo di calcolo:
- Quantità Standard: Se
QTA_STD_A/S/Bsono valorizzate - Tovagliato/Caraffe: Moltiplica per quantità tavoli/angoli
- Codice Relativo: Moltiplica per quantità articolo di riferimento
- Standard: Moltiplica coefficienti per totale ospiti
- Quantità Standard: Se
- Verifica disponibilità rispetto alla giacenza
- Aggiorna note con warning se quantità insufficiente
EVENTI_COPIA
Parametri:
id_evento_old NUMBER- ID evento da copiarenuova_versione NUMBER DEFAULT 0- 1 per creare nuova versioneid_evento_new OUT NUMBER- ID nuovo evento creato
Logica:
- Copia testata evento
- Se nuova versione: imposta
ID_EVT_PADRE, incrementaVERS_NUMBER - Aggiorna evento vecchio con
ID_EVT_FIGLIO - Copia tutte le tabelle dettaglio:
EVENTI_DET_DEGUSTEVENTI_DET_OSPITI(via UPDATE, non INSERT)EVENTI_DET_PRELEVENTI_DET_RISEVENTI_ACCONTIEVENTI_ALTRICOSTI
- In caso di errore: elimina evento creato e solleva eccezione
EVENTI_RICALCOLA_ACCONTI
Parametri:
p_event_id NUMBER- ID evento
Logica:
- Calcola totale evento dalle viste costo
- Se nessun acconto pagato:
- Elimina acconti esistenti
- Inserisce nuovi acconti con percentuali 30%-50%-20%
- 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 sorgenteid_evento_to NUMBER- Evento destinazionecopia_degustazioni NUMBER DEFAULT 0copia_prelievi NUMBER DEFAULT 0copia_risorse NUMBER DEFAULT 0copia_acconti NUMBER DEFAULT 0copia_altricosti NUMBER DEFAULT 0
Logica: Per ogni flag > 0 esegue un MERGE (UPDATE se esiste, INSERT altrimenti).