extracted objects
This commit is contained in:
76
docs/views/GET_EVENTI_DA_PAGARE_ENTRO_65GG.md
Normal file
76
docs/views/GET_EVENTI_DA_PAGARE_ENTRO_65GG.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# GET_EVENTI_DA_PAGARE_ENTRO_65GG
|
||||
|
||||
## Colonne
|
||||
|
||||
| Colonna | Tipo |
|
||||
|---------|------|
|
||||
| ID | NUMBER |
|
||||
| CLIENTE | VARCHAR2(100) |
|
||||
| DATA | DATE |
|
||||
| LOCATION | VARCHAR2(200) |
|
||||
| DESCRIZIONE_TIPO_EVENTO | VARCHAR2(100) |
|
||||
| STATO | NUMBER |
|
||||
| TOTALE_CAPARRE_DOVUTE | NUMBER |
|
||||
| TOTALE_VERSATO | NUMBER |
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
CREATE OR REPLACE VIEW GET_EVENTI_DA_PAGARE_ENTRO_65GG AS
|
||||
SELECT
|
||||
e.ID,
|
||||
e.CLIENTE,
|
||||
e.DATA,
|
||||
loc.LOCATION, -- Campo aggiornato per mostrare il nome della location
|
||||
te.DESCRIZIONE AS DESCRIZIONE_TIPO_EVENTO,
|
||||
e.STATO,
|
||||
NVL(caparre.TOTALE_DOVUTO, 0) AS TOTALE_CAPARRE_DOVUTE,
|
||||
NVL(pagamenti.TOTALE_PAGATO, 0) AS TOTALE_VERSATO
|
||||
FROM
|
||||
EVENTI e
|
||||
LEFT JOIN
|
||||
TB_TIPI_EVENTO te ON e.COD_TIPO = te.COD_TIPO
|
||||
LEFT JOIN
|
||||
LOCATION loc ON e.ID_LOCATION = loc.ID -- JOIN aggiunta per la tabella LOCATION
|
||||
LEFT JOIN
|
||||
(
|
||||
-- Calcola il totale dovuto per la prima e seconda caparra (importi positivi)
|
||||
SELECT
|
||||
ID_EVENTO,
|
||||
SUM(ACCONTO) AS TOTALE_DOVUTO
|
||||
FROM
|
||||
EVENTI_ACCONTI
|
||||
WHERE
|
||||
ORDINE IN (10, 20)
|
||||
GROUP BY
|
||||
ID_EVENTO
|
||||
) caparre ON e.ID = caparre.ID_EVENTO
|
||||
LEFT JOIN
|
||||
(
|
||||
-- Calcola il totale versato, invertendo il segno della somma (gli importi sono negativi)
|
||||
SELECT
|
||||
ID_EVENTO,
|
||||
SUM(ACCONTO) * -1 AS TOTALE_PAGATO
|
||||
FROM
|
||||
EVENTI_ACCONTI
|
||||
WHERE
|
||||
ORDINE >= 1000
|
||||
GROUP BY
|
||||
ID_EVENTO
|
||||
) pagamenti ON e.ID = pagamenti.ID_EVENTO
|
||||
WHERE
|
||||
-- Lo stato deve essere 'Scheda Confermata'
|
||||
e.STATO = 300
|
||||
-- Filtra per eventi futuri entro 65 giorni
|
||||
AND e.DATA BETWEEN SYSDATE AND SYSDATE + 65
|
||||
|
||||
-- ====================================================================================
|
||||
-- CONDIZIONE DI PAGAMENTO CON TOLLERANZA
|
||||
AND NVL(pagamenti.TOTALE_PAGATO, 0) < (NVL(caparre.TOTALE_DOVUTO, 0) * (1 - /* TOLLERANZA */ 10 /* % */ / 100))
|
||||
-- ====================================================================================
|
||||
|
||||
-- Assicuriamoci di considerare solo eventi per cui è richiesta almeno una caparra
|
||||
AND caparre.TOTALE_DOVUTO IS NOT NULL AND caparre.TOTALE_DOVUTO > 0
|
||||
ORDER BY
|
||||
e.DATA
|
||||
```
|
||||
Reference in New Issue
Block a user