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