Vai al contenuto

# List of Values (LOVs) Documentation

This document contains all 12 List of Values defined in the APEX application.

## Overview

LOV Name | Source Type | Description
--- | --- | ---
ARTICOLI | SQL Query | Article selection
CATEGORIE | SQL Query | Category selection
CLIENTI | SQL Query | Client selection
LOCATION | SQL Query | Location selection
RISORSE | SQL Query | Resource (staff) selection
STATO_EVENTO | Static | Event status values
TIPI MAT | SQL Query | Material type selection
TIPI RISORSE | SQL Query | Resource type selection
TIPO_EVENTO | SQL Query | Event type selection
TIPO_OSPITI | SQL Query | Guest type selection
TIPO_PASTO | Static | Meal type values
USERS | SQL Query | User selection

## ARTICOLI

Source Type: SQL Query (LEGACY_SQL)

Query:

    select /*a.cod_categ || ' - ' || c.descrizione || ' - ' ||*/ a.DESCRIZIONE as descrizione, a.COD_ARTICOLO
    from articoli a
    join tb_codici_categ c on a.cod_categ = c.cod_categ
    order by 1

Usage: Selecting articles in pick lists and event details.

## CATEGORIE

Source Type: SQL Query (LEGACY_SQL)

Query:

    SELECT descrizione as d,
           cod_categ as r
    FROM tb_codici_categ
    ORDER BY 1

Usage: Filtering articles by category, category selection in forms.

## CLIENTI

Source Type: SQL Query (LEGACY_SQL)

Query:

    select CLIENTE, ID
    from clienti

Usage: Client selection in event forms.

## LOCATION

Source Type: SQL Query (LEGACY_SQL)

Query:

    select location || ' - ' || indirizzo, id
    from location

Usage: Location selection in event forms. Displays location name with address.

## RISORSE

Source Type: SQL Query (LEGACY_SQL)

Query:

    select NOME || ' ' || COGNOME d, id r
    from risorse

Usage: Resource (staff) assignment in events. Displays full name.

## STATO_EVENTO

Source Type: Static

Values:

Display Value | Return Value | Sequence
--- | --- | ---
Scheda Evento (Preparazione) | 0 | 10
Preventivo | 10 | 20
Confermato | 20 | 30

Note: The actual status values in the database have been expanded: - 100 = Preventivo - 200 = Scheda - 300 = Confermata - 350 = Quasi Confermato - 400 = Confermato - 900 = Superato

Usage: Event status display and selection.

## TIPI MAT

Source Type: SQL Query (LEGACY_SQL)

Query:

    SELECT descrizione as d,
           cod_tipo as r
    FROM tb_tipi_mat
    ORDER BY 1

Usage: Material type filtering in pick lists. Controls the step-by-step wizard flow.

## TIPI RISORSE

Source Type: SQL Query (LEGACY_SQL)

Query:

    select descrizione, cod_tipo
    from tb_tipi_risorsa

Usage: Resource type classification (camerieri, cuochi, etc.).

## TIPO_EVENTO

Source Type: SQL Query (LEGACY_SQL)

Query:

    select trim(DESCRIZIONE) || decode(tipo_pasto, 'C', ' - Cena', 'P', ' - Pranzo', null) as d,
           COD_TIPO as r
    from tb_tipi_evento

Usage: Event type selection. Displays description with meal type indicator (Pranzo/Cena).

## TIPO_OSPITI

Source Type: SQL Query (LEGACY_SQL)

Query:

    select descrizione as d,
           cod_tipo as r
    from tb_tipi_ospiti
    order by 1

Usage: Guest type selection in event guest details.

## TIPO_PASTO

Source Type: Static

Values:

Display Value | Return Value | Sequence
--- | --- | ---
Pranzo | P | 1
Cena | C | 2
Pranzo Buffet | A | 3
Cena Buffet | B | 4

Usage: Meal type classification for events and event types.

## USERS

Source Type: SQL Query

Query:

    select user_name D, user_name R
    from WWV_FLOW_USERS

Return Column: R Display Column: D

Usage: User selection for permissions and assignments.

## Migration Notes

When migrating to React TypeScript:

1. Static LOVs (STATO_EVENTO, TIPO_PASTO) can be implemented as TypeScript enums or const objects
2. SQL-based LOVs should be converted to API endpoints
3. Consider caching strategy for frequently used LOVs (CATEGORIE, TIPI MAT, etc.)
4. TIPO_EVENTO uses Oracle `decode()` function - convert to CASE WHEN or handle in API

### Example TypeScript Implementation

    // Static LOV - TIPO_PASTO
    export const TIPO_PASTO = {
      PRANZO: { value: 'P', label: 'Pranzo' },
      CENA: { value: 'C', label: 'Cena' },
      PRANZO_BUFFET: { value: 'A', label: 'Pranzo Buffet' },
      CENA_BUFFET: { value: 'B', label: 'Cena Buffet' },
    } as const;

    // Dynamic LOV - API endpoint
    // GET /api/lovs/articoli
    // GET /api/lovs/categorie
    // GET /api/lovs/clienti
    // etc.