Files
2025-12-17 13:02:12 +01:00
..
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00
2025-12-17 13:02:12 +01:00

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, usa p_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) AND STATO_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:

  1. Verifica esistenza evento
  2. Verifica esistenza articolo
  3. Recupera giacenza articolo
  4. Controlla impegni in date vicine (±2 giorni)
  5. Inserisce record in EVENTI_DET_PREL
  6. Chiama EVENTI_AGGIORNA_QTA_LISTA
  7. 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:

  1. Cerca costo in COSTI_ARTICOLI alla data esatta
  2. Se non trovato, prende ultimo costo disponibile
  3. Se non trovato nulla, ritorna 0