4.5 KiB
4.5 KiB
Funzioni Database
Questa cartella contiene la documentazione di tutte le 23 funzioni del database.
Funzioni Calcolo Quantità e Disponibilità
| Funzione | Ritorno | Descrizione |
|---|---|---|
| F_GET_QTA_IMPEGNATA | NUMBER | Quantità impegnata di un articolo in un range di date |
| F_GET_TOT_OSPITI | NUMBER | Totale ospiti per evento (opzionale per tipo) |
| F_GET_OSPITI | TABLE | Dettaglio ospiti per evento (funzione pipelined) |
| F_LIST_PRELIEVO_ADD_ARTICOLO | VARCHAR2 (JSON) | Aggiunge articolo alla lista prelievo con validazioni |
Funzioni Calcolo Costi
| Funzione | Ritorno | Descrizione |
|---|---|---|
| F_GET_COSTO_ARTICOLO | NUMBER | Costo unitario articolo a una data specifica |
Funzioni Validazione
| Funzione | Ritorno | Descrizione |
|---|---|---|
| F_EVENTO_SCADUTO | NUMBER (0/1) | Verifica se preventivo è scaduto |
| F_MAX_NUMERO_EVENTI_RAGGIUNTO | NUMBER (-1/0/1) | Verifica limite eventi giornaliero |
| F_MAX_NUM_EVENTI_CONFERMATI | NUMBER (0/1) | Verifica limite eventi confermati |
| F_CI_SONO_EVENTI_CONFERMATI | NUMBER (0/1) | Check esistenza eventi confermati in data/location |
Funzioni Report
| Funzione | Ritorno | Descrizione |
|---|---|---|
| F_REP_ALLESTIMENTI | TABLE | Dati per report allestimenti (pipelined) |
| F_REP_CUCINA | TABLE | Dati per report cucina (pipelined) |
| F_GET_ANGOLO_ALLESTIMENTO | VARCHAR2 | Descrizione angolo allestimento |
| F_GET_ANGOLO_ALLESTIMENTO_OB | VARCHAR2 | Descrizione angolo open bar |
| F_GET_TOVAGLIATO_ALLESTIMENTO | VARCHAR2 | Descrizione tovagliato |
Funzioni Autorizzazione
| Funzione | Ritorno | Descrizione |
|---|---|---|
| F_USER_IN_ROLE | NUMBER (0/1) | Verifica appartenenza utente a ruolo |
| F_USER_IN_ROLE_STR | VARCHAR2 | Verifica ruolo (ritorna stringa) |
Funzioni Utility
| Funzione | Ritorno | Descrizione |
|---|---|---|
| F_DAY_TO_NAME | VARCHAR2 | Converte numero giorno in nome italiano |
| STRING_TO_TABLE_ENUM | TABLE | Converte stringa delimitata in tabella |
| GET_PARAM_VALUE | VARCHAR2 | Recupera valore parametro da TB_CONFIG |
| SPLIT | TABLE | Split stringa in elementi |
| MY_INSTR | NUMBER | Funzione INSTR personalizzata |
| CLOB2BLOB | BLOB | Conversione CLOB → BLOB |
| EXTDATE_GET_ITA | VARCHAR2 | Formatta data in italiano esteso |
Dettaglio Funzioni Critiche
F_GET_QTA_IMPEGNATA
FUNCTION F_GET_QTA_IMPEGNATA(
p_codart VARCHAR2,
p_data_from DATE,
p_data_to DATE DEFAULT NULL
) RETURN NUMBER
Logica:
- Interroga
V_IMPEGNI_ARTICOLI - Somma quantità impegnate nel range di date
- Se
p_data_toè NULL, usap_data_from
F_EVENT0_SCADUTO
FUNCTION F_EVENTO_SCADUTO(
DATA_SCADENZA IN DATE,
STATO_EVENTO IN NUMBER,
STATO_FROM IN NUMBER,
STATO_TO IN NUMBER
) RETURN NUMBER
Logica:
- Ritorna 1 se
TRUNC(DATA_SCADENZA) <= TRUNC(SYSDATE)ANDSTATO_EVENTO BETWEEN STATO_FROM AND STATO_TO - Altrimenti ritorna 0
F_LIST_PRELIEVO_ADD_ARTICOLO
FUNCTION F_LIST_PRELIEVO_ADD_ARTICOLO(
p_event_id NUMBER,
p_articolo_add VARCHAR2,
p_qta_aperitivo NUMBER := 0,
p_qta_seduto NUMBER := 0,
p_qta_dolci NUMBER := 0
) RETURN VARCHAR2
Logica:
- Verifica esistenza evento
- Verifica esistenza articolo
- Recupera giacenza articolo
- Controlla impegni in date vicine (±2 giorni)
- Inserisce record in
EVENTI_DET_PREL - Chiama
EVENTI_AGGIORNA_QTA_LISTA - Ritorna JSON con esito:
{"type":"success","message":"..."}{"type":"warning","message":"..."}{"type":"error","code":"...","stack":"...","message":"..."}
F_GET_COSTO_ARTICOLO
FUNCTION F_GET_COSTO_ARTICOLO(
p_cod_articolo VARCHAR2,
p_date DATE
) RETURN NUMBER
Logica:
- Cerca costo in
COSTI_ARTICOLIalla data esatta - Se non trovato, prende ultimo costo disponibile
- Se non trovato nulla, ritorna 0