extracted objects
This commit is contained in:
90
docs/procedures/README.md
Normal file
90
docs/procedures/README.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# Stored Procedures
|
||||
|
||||
Questa cartella contiene la documentazione di tutte le 11 stored procedures del database.
|
||||
|
||||
## Procedures Business Logic
|
||||
|
||||
| Procedura | Descrizione |
|
||||
|-----------|-------------|
|
||||
| [EVENTI_AGGIORNA_QTA_LISTA](EVENTI_AGGIORNA_QTA_LISTA.md) | Ricalcola tutte le quantità della lista prelievo |
|
||||
| [EVENTI_AGGIORNA_TOT_OSPITI](EVENTI_AGGIORNA_TOT_OSPITI.md) | Aggiorna il totale ospiti in testata evento |
|
||||
| [EVENTI_COPIA](EVENTI_COPIA.md) | Duplica un evento con tutti i dettagli |
|
||||
| [EVENTI_RICALCOLA_ACCONTI](EVENTI_RICALCOLA_ACCONTI.md) | Ricalcola gli importi degli acconti |
|
||||
| [EVENTO_ELIMINA_PRELIEVI](EVENTO_ELIMINA_PRELIEVI.md) | Elimina i prelievi di un evento |
|
||||
| [LISTE_COPIA](LISTE_COPIA.md) | Copia selettiva di liste tra due eventi |
|
||||
| [P_CANCEL_SAME_LOCATION_EVENTS](P_CANCEL_SAME_LOCATION_EVENTS.md) | Annulla eventi nella stessa location/data |
|
||||
|
||||
## Procedures Utility
|
||||
|
||||
| Procedura | Descrizione |
|
||||
|-----------|-------------|
|
||||
| [ROWSORT_TIPI](ROWSORT_TIPI.md) | Riordina i tipi materiale |
|
||||
| [HTPPRN](HTPPRN.md) | Output HTTP per APEX |
|
||||
| [SEND_DATA_TO_DROPBOX](SEND_DATA_TO_DROPBOX.md) | Export dati verso Dropbox |
|
||||
| [XLOG](XLOG.md) | 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).
|
||||
Reference in New Issue
Block a user