Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

7220 righe
173 KiB

--
-- Create Schema Script
-- Database Version : 19.0.0.0.0
-- Database Compatible Level : 19.0.0.0.0
-- Script Compatible Level : 19.0.0.0.0
-- Toad Version : 13.3.0.181
-- Schema : BANDO_VOLI
-- Script Created by : BANDO_VOLI
-- Script Created at : 06/08/2026 09:54:45
-- Notes :
--
-- "Set define off" turns off substitution variables.
Set define off;
--
-- ACCOUNT_ANAG_ID_SEQ (Sequence)
--
CREATE SEQUENCE ACCOUNT_ANAG_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 200
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- ACCOUNT_ID_SEQ (Sequence)
--
CREATE SEQUENCE ACCOUNT_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- ACCOUNT_NUCLEO_ID_SEQ (Sequence)
--
CREATE SEQUENCE ACCOUNT_NUCLEO_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- ALLEGATI_ID_SEQ (Sequence)
--
CREATE SEQUENCE ALLEGATI_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- ANAG_COMPAGNIE_SEQ (Sequence)
--
CREATE SEQUENCE ANAG_COMPAGNIE_SEQ
START WITH 1
MAXVALUE 999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- ANAG_DICHIARAZIONI_ID_SEQ (Sequence)
--
CREATE SEQUENCE ANAG_DICHIARAZIONI_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- AUDIT_RICHIESTA_INTEGRAZIONE_ID_SEQ (Sequence)
--
CREATE SEQUENCE AUDIT_RICHIESTA_INTEGRAZIONE_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- BANDI_ID_SEQ (Sequence)
--
CREATE SEQUENCE BANDI_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- COMPAGNIE_SEQ (Sequence)
--
CREATE SEQUENCE COMPAGNIE_SEQ
START WITH 1
MAXVALUE 999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- COMUNE_ID_SEQ (Sequence)
--
CREATE SEQUENCE COMUNE_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- CUSTOMER_SATISFACTION_ID_SEQ (Sequence)
--
CREATE SEQUENCE CUSTOMER_SATISFACTION_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- DOCUMENTIBANDO_ID_SEQ (Sequence)
--
CREATE SEQUENCE DOCUMENTIBANDO_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- DOMANDA_CONTRATTI_ID_SEQ (Sequence)
--
CREATE SEQUENCE DOMANDA_CONTRATTI_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- DOMANDA_EMAIL_ID_SEQ (Sequence)
--
CREATE SEQUENCE DOMANDA_EMAIL_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- DOMANDA_IBAN_ID_SEQ (Sequence)
--
CREATE SEQUENCE DOMANDA_IBAN_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- DOMANDA_ID_SEQ (Sequence)
--
CREATE SEQUENCE DOMANDA_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- DOMANDA_SCONTI_CONTROLLI_ID_SEQ (Sequence)
--
CREATE SEQUENCE DOMANDA_SCONTI_CONTROLLI_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- DOMANDA_SCONTI_ID_SEQ (Sequence)
--
CREATE SEQUENCE DOMANDA_SCONTI_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- DOMANDA_SCONTI_IMPORTI_LOG_ID_SEQ (Sequence)
--
CREATE SEQUENCE DOMANDA_SCONTI_IMPORTI_LOG_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- ESPORTAZIONI_SEQ (Sequence)
--
CREATE SEQUENCE ESPORTAZIONI_SEQ
START WITH 1
MAXVALUE 999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- FAQ_ID_SEQ (Sequence)
--
CREATE SEQUENCE FAQ_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- FAQ_UTENTI_ID_SEQ (Sequence)
--
CREATE SEQUENCE FAQ_UTENTI_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- IMPERSONIFICAZIONE_ID_SEQ (Sequence)
--
CREATE SEQUENCE IMPERSONIFICAZIONE_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- INTEGRAZIONI_EMAIL_QUEUE_ID_SEQ (Sequence)
--
CREATE SEQUENCE INTEGRAZIONI_EMAIL_QUEUE_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- LOGS_BE_ID_SEQ (Sequence)
--
CREATE SEQUENCE LOGS_BE_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 200
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- LOGS_ID_SEQ (Sequence)
--
CREATE SEQUENCE LOGS_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- LOGS_P7M_ID_SEQ (Sequence)
--
CREATE SEQUENCE LOGS_P7M_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- RICHIESTA_INTEGRAZIONE_ID_SEQ (Sequence)
--
CREATE SEQUENCE RICHIESTA_INTEGRAZIONE_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- SPID_ACCESSI_ID_SEQ (Sequence)
--
CREATE SEQUENCE SPID_ACCESSI_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- UID_FIREBASE_ADMIN_ID_SEQ (Sequence)
--
CREATE SEQUENCE UID_FIREBASE_ADMIN_ID_SEQ
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER
NOKEEP
NOSCALE
GLOBAL;
--
-- ACCOUNT (Table)
--
-- Row Count: 402857
CREATE TABLE ACCOUNT
(
CODICE_FISCALE VARCHAR2(16 BYTE) NOT NULL,
USERNAME VARCHAR2(255 BYTE),
PASSWORD VARCHAR2(255 BYTE),
DATA_REGISTRAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
AUTORIZZAZIONE_TRATTAMENTO NUMBER DEFAULT NULL,
CANCELLATO NUMBER DEFAULT 0,
ID NUMBER NOT NULL
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_CF_ACCOUNT (Index)
--
-- Dependencies:
-- ACCOUNT (Table)
--
CREATE UNIQUE INDEX IX_CF_ACCOUNT ON ACCOUNT
(CODICE_FISCALE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- PK_ACCOUNT_ID (Index)
--
-- Dependencies:
-- ACCOUNT (Table)
--
CREATE UNIQUE INDEX PK_ACCOUNT_ID ON ACCOUNT
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE ACCOUNT ADD (
CONSTRAINT PK_ACCOUNT_ID
PRIMARY KEY
(ID)
USING INDEX PK_ACCOUNT_ID
ENABLE VALIDATE);
--
-- ACCOUNT_ANAGRAFICA (Table)
--
-- Row Count: 375149
CREATE TABLE ACCOUNT_ANAGRAFICA
(
CODICE_FISCALE VARCHAR2(16 BYTE) NOT NULL,
NOME VARCHAR2(200 BYTE),
COGNOME VARCHAR2(200 BYTE),
DATA_NASCITA VARCHAR2(20 BYTE),
COMUNE_NASCITA VARCHAR2(200 BYTE),
PROV_NASCITA VARCHAR2(2 BYTE),
CAP_NASCITA VARCHAR2(5 BYTE),
COMUNE_RESIDENZA VARCHAR2(200 BYTE),
PROV_RESIDENZA VARCHAR2(2 BYTE),
CAP_RESIDENZA VARCHAR2(5 BYTE),
INDIRIZZO_RESIDENZA VARCHAR2(200 BYTE),
CIVICO_RESIDENZA VARCHAR2(20 BYTE),
SPID_CELLULARE VARCHAR2(200 BYTE),
SPID_DOCUMENTO VARCHAR2(200 BYTE),
SPID_DOCUMENTO_SCADENZA VARCHAR2(200 BYTE),
SPID_DOCUMENTO_RILASCIO VARCHAR2(200 BYTE),
SPID_TIPO_DOCUMENTO VARCHAR2(200 BYTE),
SPID_DOCUMENTO_ENTE VARCHAR2(200 BYTE),
DATA_REGISTRAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
DATA_MODIFICA TIMESTAMP(6),
ID NUMBER NOT NULL,
RECAPITO VARCHAR2(50 BYTE),
SESSO VARCHAR2(1 BYTE),
FORZATURA_CODICE_FISCALE INTEGER DEFAULT 0,
SPID_EMAIL VARCHAR2(200 BYTE),
PEC VARCHAR2(200 BYTE),
EMAIL VARCHAR2(200 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- ACCOUNT_ANAGRAFICA_PK (Index)
--
-- Dependencies:
-- ACCOUNT_ANAGRAFICA (Table)
--
CREATE UNIQUE INDEX ACCOUNT_ANAGRAFICA_PK ON ACCOUNT_ANAGRAFICA
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE ACCOUNT_ANAGRAFICA ADD (
CONSTRAINT ACCOUNT_ANAGRAFICA_PK
PRIMARY KEY
(ID)
USING INDEX ACCOUNT_ANAGRAFICA_PK
ENABLE VALIDATE);
--
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
--
-- Dependencies:
-- ACCOUNT (Table)
--
-- Row Count: 422085
CREATE TABLE ACCOUNT_NUCLEO_FAMILIARE
(
ID INTEGER NOT NULL,
ID_ACCOUNT NUMBER,
COGNOME VARCHAR2(255 BYTE),
NOME VARCHAR2(255 BYTE),
DATA_NASCITA DATE,
RAPPORTO_PARENTELA INTEGER NOT NULL,
CODICE_FISCALE VARCHAR2(255 BYTE) NOT NULL,
CONFERMATO INTEGER DEFAULT 0,
COMUNE_RESIDENZA VARCHAR2(255 BYTE),
PROV_RESIDENZA VARCHAR2(2 BYTE),
CAP_RESIDENZA VARCHAR2(5 BYTE),
FLAG VARCHAR2(1000 BYTE),
PRIORITY INTEGER DEFAULT 0
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- ACCOUNT_NUCLEO_FAMILIARE_PK (Index)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
--
CREATE UNIQUE INDEX ACCOUNT_NUCLEO_FAMILIARE_PK ON ACCOUNT_NUCLEO_FAMILIARE
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IDX_ACCOUNT_CODICE_FISCALE (Index)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
--
CREATE UNIQUE INDEX IDX_ACCOUNT_CODICE_FISCALE ON ACCOUNT_NUCLEO_FAMILIARE
(ID_ACCOUNT, CODICE_FISCALE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE ACCOUNT_NUCLEO_FAMILIARE ADD (
CONSTRAINT ACCOUNT_NUCLEO_FAMILIARE_PK
PRIMARY KEY
(ID)
USING INDEX ACCOUNT_NUCLEO_FAMILIARE_PK
ENABLE VALIDATE);
--
-- AEROPORTI (Table)
--
-- Row Count: 45
CREATE TABLE AEROPORTI
(
CODICE VARCHAR2(3 BYTE) NOT NULL,
NOME VARCHAR2(255 BYTE) NOT NULL,
REGIONE NUMBER NOT NULL
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- AEROPORTI_PK (Index)
--
-- Dependencies:
-- AEROPORTI (Table)
--
CREATE UNIQUE INDEX AEROPORTI_PK ON AEROPORTI
(CODICE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE AEROPORTI ADD (
CONSTRAINT AEROPORTI_PK
PRIMARY KEY
(CODICE)
USING INDEX AEROPORTI_PK
ENABLE VALIDATE);
--
-- ALLEGATI (Table)
--
-- Row Count: 384193
CREATE TABLE ALLEGATI
(
ID INTEGER NOT NULL,
ID_DOMANDA INTEGER,
FILEPATH VARCHAR2(1000 BYTE),
CANCELLATO INTEGER,
ID_DOCUMENTO NUMBER,
TIPO_DOCUMENTO NUMBER DEFAULT 0,
FILESIZE NUMBER,
DATA_REGISTRAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
NOTE VARCHAR2(200 BYTE),
NOMEFILEORIGINALE VARCHAR2(255 BYTE),
HASH_FILE VARCHAR2(1000 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- ALLEGATI_PK (Index)
--
-- Dependencies:
-- ALLEGATI (Table)
--
CREATE UNIQUE INDEX ALLEGATI_PK ON ALLEGATI
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE ALLEGATI ADD (
CONSTRAINT ALLEGATI_PK
PRIMARY KEY
(ID)
USING INDEX ALLEGATI_PK
ENABLE VALIDATE);
--
-- ANAG_COMPAGNIE (Table)
--
-- Row Count: 48
CREATE TABLE ANAG_COMPAGNIE
(
ID INTEGER NOT NULL,
NOME VARCHAR2(255 BYTE) NOT NULL,
ADESIONE INTEGER DEFAULT 0 NOT NULL,
DATA_ADESIONE DATE,
PERC_COMPAGNIE NUMBER,
DATA_ADEGUAMENTO DATE,
ADEGUAMENTO_NATIVI NUMBER,
DATA_ADEGUAMENTO_NATIVI DATE
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- ANAG_COMPAGNIE_PK (Index)
--
-- Dependencies:
-- ANAG_COMPAGNIE (Table)
--
CREATE UNIQUE INDEX ANAG_COMPAGNIE_PK ON ANAG_COMPAGNIE
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE ANAG_COMPAGNIE ADD (
CONSTRAINT ANAG_COMPAGNIE_PK
PRIMARY KEY
(ID)
USING INDEX ANAG_COMPAGNIE_PK
ENABLE VALIDATE);
--
-- ANAG_DICHIARAZIONI (Table)
--
-- Row Count: 0
CREATE TABLE ANAG_DICHIARAZIONI
(
ID INTEGER NOT NULL,
CODICE VARCHAR2(255 BYTE),
DESCRIZIONE VARCHAR2(2000 BYTE),
CANCELLATO INTEGER DEFAULT 0,
POSIZIONE INTEGER DEFAULT 0,
OBBLIGO INTEGER DEFAULT 0
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- ANAG_DICHIARAZIONI_PK (Index)
--
-- Dependencies:
-- ANAG_DICHIARAZIONI (Table)
--
CREATE UNIQUE INDEX ANAG_DICHIARAZIONI_PK ON ANAG_DICHIARAZIONI
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE ANAG_DICHIARAZIONI ADD (
CONSTRAINT ANAG_DICHIARAZIONI_PK
PRIMARY KEY
(ID)
USING INDEX ANAG_DICHIARAZIONI_PK
ENABLE VALIDATE);
--
-- AUDIT_RICHIESTA_INTEGRAZIONE (Table)
--
-- Row Count: 47
CREATE TABLE AUDIT_RICHIESTA_INTEGRAZIONE
(
ID_AUDIT NUMBER NOT NULL,
ID_INTEGRAZIONE NUMBER NOT NULL,
DATA_MODIFICA DATE DEFAULT SYSDATE,
STATO_PRECEDENTE VARCHAR2(30 BYTE),
STATO_ATTUALE VARCHAR2(30 BYTE),
UTENTE_OPERATORE VARCHAR2(100 BYTE),
MOTIVO VARCHAR2(1000 BYTE),
ORIGINE VARCHAR2(50 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE AUDIT_RICHIESTA_INTEGRAZIONE ADD (
PRIMARY KEY
(ID_AUDIT)
USING INDEX
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
ENABLE VALIDATE);
--
-- BANDI (Table)
--
-- Row Count: 1
CREATE TABLE BANDI
(
ID NUMBER NOT NULL,
INIZIO_PREPARAZIONE TIMESTAMP(6),
FINE_PREPARAZIONE TIMESTAMP(6),
INIZIO_CLICKDAY TIMESTAMP(6),
FINE_CLICKDAY TIMESTAMP(6),
DESCRIZIONE VARCHAR2(255 BYTE),
DETTAGLIO VARCHAR2(1000 BYTE),
DISPONIBILITA_FINANZIARIA NUMBER(20,4),
COEFFICENTE_SFRATTO NUMBER(20,4),
COEFFICENTE NUMBER(20,6) DEFAULT 0
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- BANDI_PK (Index)
--
-- Dependencies:
-- BANDI (Table)
--
CREATE UNIQUE INDEX BANDI_PK ON BANDI
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE BANDI ADD (
CONSTRAINT BANDI_PK
PRIMARY KEY
(ID)
USING INDEX BANDI_PK
ENABLE VALIDATE);
--
-- COMUNE (Table)
--
-- Row Count: 10559
CREATE TABLE COMUNE
(
ID NUMBER(5) NOT NULL,
CODICE_REGIONE VARCHAR2(3 BYTE),
CD_PROVINCIA VARCHAR2(6 BYTE),
CODICE_ISTAT VARCHAR2(6 BYTE),
DESCRIZIONE VARCHAR2(100 BYTE),
CODICE_PROVINCIA VARCHAR2(5 BYTE),
PROV VARCHAR2(50 BYTE),
COD_CF VARCHAR2(10 BYTE),
ATTIVO NUMBER(1),
CAP VARCHAR2(20 BYTE),
REGIONE VARCHAR2(20 BYTE),
SEARCH INTEGER DEFAULT 1
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- COMUNE_PK (Index)
--
-- Dependencies:
-- COMUNE (Table)
--
CREATE UNIQUE INDEX COMUNE_PK ON COMUNE
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE COMUNE ADD (
CONSTRAINT COMUNE_PK
PRIMARY KEY
(ID)
USING INDEX COMUNE_PK
ENABLE VALIDATE);
--
-- CUSTOMER_SATISFACTION (Table)
--
-- Row Count: 22417
CREATE TABLE CUSTOMER_SATISFACTION
(
ID NUMBER,
CODICE_FISCALE VARCHAR2(16 BYTE) NOT NULL,
VALORE NUMBER,
DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- CUSTOMER_SATISFACTION_PK (Index)
--
-- Dependencies:
-- CUSTOMER_SATISFACTION (Table)
--
CREATE UNIQUE INDEX CUSTOMER_SATISFACTION_PK ON CUSTOMER_SATISFACTION
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE CUSTOMER_SATISFACTION ADD (
CONSTRAINT CUSTOMER_SATISFACTION_PK
PRIMARY KEY
(ID)
USING INDEX CUSTOMER_SATISFACTION_PK
ENABLE VALIDATE);
--
-- DOCUMENTI_BANDO (Table)
--
-- Row Count: 2
CREATE TABLE DOCUMENTI_BANDO
(
ID NUMBER NOT NULL,
NOME VARCHAR2(500 BYTE),
OBBLIGO NUMBER DEFAULT 0,
PRIORITA NUMBER DEFAULT 0,
FASE NUMBER DEFAULT 0,
CANCELLATO NUMBER DEFAULT 0,
TIPO_FIRMATARIO INTEGER DEFAULT 0,
ESTENZIONE_FILE VARCHAR2(255 BYTE),
VERIFICA_FIRMA_P7M INTEGER DEFAULT 0,
FILE_DA_GENERARE INTEGER DEFAULT 0,
MODULE VARCHAR2(255 BYTE),
OBBLIGO_CONDIZIONATO VARCHAR2(255 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON COLUMN DOCUMENTI_BANDO.TIPO_FIRMATARIO IS '(1 = Legale Rappresentante; 2 = RUP di progetto)';
COMMENT ON COLUMN DOCUMENTI_BANDO.FILE_DA_GENERARE IS 'Se impostato a 1 il file deve essere prima generato';
COMMENT ON COLUMN DOCUMENTI_BANDO.OBBLIGO_CONDIZIONATO IS 'TABELLA|CAMPO|VALORE';
--
-- DOCUMENTI_BANDO_PK (Index)
--
-- Dependencies:
-- DOCUMENTI_BANDO (Table)
--
CREATE UNIQUE INDEX DOCUMENTI_BANDO_PK ON DOCUMENTI_BANDO
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE DOCUMENTI_BANDO ADD (
CONSTRAINT DOCUMENTI_BANDO_PK
PRIMARY KEY
(ID)
USING INDEX DOCUMENTI_BANDO_PK
ENABLE VALIDATE);
--
-- DOMANDA (Table)
--
-- Row Count: 412483
CREATE TABLE DOMANDA
(
ID INTEGER NOT NULL,
DATA_REGISTRAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP NOT NULL,
IBAN VARCHAR2(50 BYTE),
ISTITUTO_CREDITO VARCHAR2(100 BYTE),
FILIALE_CREDITO VARCHAR2(100 BYTE),
ID_ACCOUNT NUMBER NOT NULL,
DATA_RILASCIO_ISEE DATE,
ISEE INTEGER DEFAULT 0 NOT NULL,
STATO INTEGER DEFAULT 0 NOT NULL,
NOTE VARCHAR2(3000 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- DOMANDA_PK (Index)
--
-- Dependencies:
-- DOMANDA (Table)
--
CREATE UNIQUE INDEX DOMANDA_PK ON DOMANDA
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_ACCOUNT (Index)
--
-- Dependencies:
-- DOMANDA (Table)
--
CREATE UNIQUE INDEX IX_ACCOUNT ON DOMANDA
(ID_ACCOUNT)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE DOMANDA ADD (
CONSTRAINT DOMANDA_PK
PRIMARY KEY
(ID)
USING INDEX DOMANDA_PK
ENABLE VALIDATE);
--
-- DOMANDA_DICHIARAZIONI (Table)
--
-- Row Count: 0
CREATE TABLE DOMANDA_DICHIARAZIONI
(
ID_DOMANDA INTEGER,
ID_ANAG_DICHIARAZIONI INTEGER
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- DOMANDA_DICHIARAZIONI_PK (Index)
--
-- Dependencies:
-- DOMANDA_DICHIARAZIONI (Table)
--
CREATE UNIQUE INDEX DOMANDA_DICHIARAZIONI_PK ON DOMANDA_DICHIARAZIONI
(ID_DOMANDA, ID_ANAG_DICHIARAZIONI)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE DOMANDA_DICHIARAZIONI ADD (
CONSTRAINT DOMANDA_DICHIARAZIONI_PK
PRIMARY KEY
(ID_DOMANDA, ID_ANAG_DICHIARAZIONI)
USING INDEX DOMANDA_DICHIARAZIONI_PK
ENABLE VALIDATE);
--
-- DOMANDA_EMAIL (Table)
--
-- Dependencies:
-- DOMANDA (Table)
--
-- Row Count: 0
CREATE TABLE DOMANDA_EMAIL
(
ID INTEGER NOT NULL,
ID_DOMANDA INTEGER NOT NULL,
EMAIL VARCHAR2(255 BYTE) NOT NULL,
ESITO VARCHAR2(255 BYTE),
DATA_INVIO TIMESTAMP(6),
STATO INTEGER DEFAULT 0 NOT NULL
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- DOMANDA_EMAIL_PK (Index)
--
-- Dependencies:
-- DOMANDA_EMAIL (Table)
--
CREATE UNIQUE INDEX DOMANDA_EMAIL_PK ON DOMANDA_EMAIL
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE DOMANDA_EMAIL ADD (
CONSTRAINT DOMANDA_EMAIL_PK
PRIMARY KEY
(ID)
USING INDEX DOMANDA_EMAIL_PK
ENABLE VALIDATE);
--
-- DOMANDA_SCONTI (Table)
--
-- Row Count: 1960356
CREATE TABLE DOMANDA_SCONTI
(
ID INTEGER NOT NULL,
ID_DOMANDA NUMBER NOT NULL,
COGNOME VARCHAR2(255 BYTE) NOT NULL,
NOME VARCHAR2(255 BYTE) NOT NULL,
DATA_NASCITA DATE NOT NULL,
RAPPORTO_PARENTELA INTEGER NOT NULL,
CODICE_FISCALE VARCHAR2(255 BYTE) NOT NULL,
COMUNE_RESIDENZA VARCHAR2(255 BYTE),
PROV_RESIDENZA VARCHAR2(2 BYTE),
CAP_RESIDENZA VARCHAR2(5 BYTE),
COMPAGNIA_AEREA VARCHAR2(255 BYTE),
NUMERO_VOLO VARCHAR2(255 BYTE) NOT NULL,
DATA_VOLO DATE NOT NULL,
COSTO_TRATTA FLOAT(126) NOT NULL,
AEROPORTO_PARTENZA VARCHAR2(255 BYTE) NOT NULL,
AEROPORTO_DESTINAZIONE VARCHAR2(255 BYTE) NOT NULL,
FILEPATH_BIGLIETTO VARCHAR2(1000 BYTE),
FILEPATH_CARTAIMBARCO VARCHAR2(1000 BYTE),
ISEE INTEGER DEFAULT 0 NOT NULL,
DATA_RILASCIO_ISEE DATE,
FILEPATH_ISEE VARCHAR2(1000 BYTE),
IBAN VARCHAR2(50 BYTE),
ISTITUTO_CREDITO VARCHAR2(100 BYTE),
FILIALE_CREDITO VARCHAR2(100 BYTE),
STATO NUMBER DEFAULT 0 NOT NULL,
DATA_REGISTRAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP NOT NULL,
ID_UID_FIREBASE INTEGER,
DATA_ESPORTAZIONE TIMESTAMP(6),
DATA_ESITO TIMESTAMP(6),
DATA_EROGAZIONE TIMESTAMP(6),
NOTE VARCHAR2(3000 BYTE),
AEROPORTO_PARTENZA_CODICE VARCHAR2(3 BYTE),
AEROPORTO_DESTINAZIONE_CODICE VARCHAR2(3 BYTE),
COMPAGNIA_ID INTEGER,
DATA_ACQUISTO DATE,
SCONTO_TOTALE NUMBER(10,4) DEFAULT NULL,
LOTTO INTEGER DEFAULT 0 NOT NULL,
FLAG VARCHAR2(1000 BYTE),
PRIORITY INTEGER DEFAULT 0,
FORZA_RESIDENZA INTEGER DEFAULT 0,
CITTADINANZA VARCHAR2(255 CHAR),
FILEPATH_BIGLIETTO_HASH VARCHAR2(1000 CHAR),
FILEPATH_CARTAIMBARCO_HASH VARCHAR2(1000 CHAR)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON COLUMN DOMANDA_SCONTI.DATA_ACQUISTO IS 'Data di acquisto del biglietto aereo';
COMMENT ON COLUMN DOMANDA_SCONTI.FORZA_RESIDENZA IS '1 = Forza il calcolo dello sconto residenza';
--
-- DOMANDA_SCONTI_PK (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
--
CREATE UNIQUE INDEX DOMANDA_SCONTI_PK ON DOMANDA_SCONTI
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- KY_SCONTI_IX (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
--
CREATE UNIQUE INDEX KY_SCONTI_IX ON DOMANDA_SCONTI
(CODICE_FISCALE, NUMERO_VOLO, DATA_VOLO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE DOMANDA_SCONTI ADD (
CONSTRAINT DOMANDA_SCONTI_PK
PRIMARY KEY
(ID)
USING INDEX DOMANDA_SCONTI_PK
ENABLE VALIDATE);
--
-- DOMANDA_SCONTI_CONTROLLI (Table)
--
-- Row Count: 1546
CREATE TABLE DOMANDA_SCONTI_CONTROLLI
(
ID NUMBER,
LOTTO NUMBER,
ID_DOMANDA_SCONTI NUMBER,
DATA_ESITO TIMESTAMP(6),
ID_UID_FIREBASE_ADMIN NUMBER,
ESITO NUMBER,
DATA_INSERIMENTO TIMESTAMP(6) DEFAULT SYSTIMESTAMP
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- DOMANDA_SCONTI_CONTROLLI_PK (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI_CONTROLLI (Table)
--
CREATE UNIQUE INDEX DOMANDA_SCONTI_CONTROLLI_PK ON DOMANDA_SCONTI_CONTROLLI
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_ID_DOMANDA_SCONTI (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI_CONTROLLI (Table)
--
CREATE UNIQUE INDEX IX_ID_DOMANDA_SCONTI ON DOMANDA_SCONTI_CONTROLLI
(ID_DOMANDA_SCONTI)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE DOMANDA_SCONTI_CONTROLLI ADD (
CONSTRAINT DOMANDA_SCONTI_CONTROLLI_PK
PRIMARY KEY
(ID)
USING INDEX DOMANDA_SCONTI_CONTROLLI_PK
ENABLE VALIDATE);
--
-- DOMANDA_SCONTI_IMPORTI_LOG (Table)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
--
-- Row Count: 0
CREATE TABLE DOMANDA_SCONTI_IMPORTI_LOG
(
ID NUMBER,
ID_DOMANDA_SCONTI NUMBER,
ID_DOMANDA NUMBER,
COSTO_TRATTA FLOAT(126),
DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
ID_UID_FIREBASE_ADMIN NUMBER,
SCONTO_TOTALE FLOAT(126)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- DOMANDA_SCONTI_IMPORTI_LOG_PK (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI_IMPORTI_LOG (Table)
--
CREATE UNIQUE INDEX DOMANDA_SCONTI_IMPORTI_LOG_PK ON DOMANDA_SCONTI_IMPORTI_LOG
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE DOMANDA_SCONTI_IMPORTI_LOG ADD (
CONSTRAINT DOMANDA_SCONTI_IMPORTI_LOG_PK
PRIMARY KEY
(ID)
USING INDEX DOMANDA_SCONTI_IMPORTI_LOG_PK
ENABLE VALIDATE);
--
-- DOMANDA_SCONTI_INTEGRAZIONE (Table)
--
-- Row Count: 15390
CREATE TABLE DOMANDA_SCONTI_INTEGRAZIONE
(
ID_RICHIESTA INTEGER,
LOTTO_INTEGRAZIONE INTEGER
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_ID_RICHIESTA (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI_INTEGRAZIONE (Table)
--
CREATE UNIQUE INDEX IX_ID_RICHIESTA ON DOMANDA_SCONTI_INTEGRAZIONE
(ID_RICHIESTA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE DOMANDA_SCONTI_INTEGRAZIONE ADD (
CHECK ("ID_RICHIESTA" IS NOT NULL)
DISABLE NOVALIDATE);
--
-- ESPORTAZIONI (Table)
--
-- Row Count: 106
CREATE TABLE ESPORTAZIONI
(
LOTTO INTEGER NOT NULL,
DATA_CREAZIONE TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
DATA_FILTRO DATE,
NUMERO_DRS VARCHAR2(255 BYTE),
DATA_DRS DATE,
FILEPATH VARCHAR2(1000 BYTE),
TIPO INTEGER,
IMPORTO_MANDATO VARCHAR2(255 BYTE),
NOTE VARCHAR2(1000 BYTE),
MESE_RIFERIMENTO VARCHAR2(255 BYTE),
CAPITOLO_BILANCIO VARCHAR2(255 BYTE),
ANNO_FINANZIARIO VARCHAR2(255 BYTE),
CODICE_FINANZIARIO VARCHAR2(255 BYTE),
FILEPATH_DRS VARCHAR2(1000 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- ESPORTAZIONI_PK (Index)
--
-- Dependencies:
-- ESPORTAZIONI (Table)
--
CREATE UNIQUE INDEX ESPORTAZIONI_PK ON ESPORTAZIONI
(LOTTO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE ESPORTAZIONI ADD (
CONSTRAINT ESPORTAZIONI_PK
PRIMARY KEY
(LOTTO)
USING INDEX ESPORTAZIONI_PK
ENABLE VALIDATE);
--
-- FAQ (Table)
--
-- Row Count: 4
CREATE TABLE FAQ
(
ID NUMBER NOT NULL,
ID_UID_FIREBASE_ADMIN NUMBER,
OGGETTO VARCHAR2(1000 BYTE),
PUBBLICATA NUMBER DEFAULT 0 NOT NULL,
CANCELLATO NUMBER DEFAULT 0 NOT NULL,
DATA_INSERIMENTO TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
ID_CATEGORIA NUMBER,
BANDO NUMBER DEFAULT 0,
DOMANDA VARCHAR2(1000 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- FAQ_PK (Index)
--
-- Dependencies:
-- FAQ (Table)
--
CREATE UNIQUE INDEX FAQ_PK ON FAQ
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE FAQ ADD (
CONSTRAINT FAQ_PK
PRIMARY KEY
(ID)
USING INDEX FAQ_PK
ENABLE VALIDATE);
--
-- FAQ_UTENTI (Table)
--
-- Row Count: 1423
CREATE TABLE FAQ_UTENTI
(
ID NUMBER NOT NULL,
NOME VARCHAR2(200 BYTE),
COGNOME VARCHAR2(200 BYTE),
EMAIL VARCHAR2(100 BYTE),
STATO NUMBER DEFAULT 0 NOT NULL,
DOMANDA VARCHAR2(1000 BYTE),
ID_CATEGORIA NUMBER,
BANDO NUMBER DEFAULT 0,
DATA_INSERIMENTO TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
ACCOUNT VARCHAR2(20 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- FAQ_UTENTI_PK (Index)
--
-- Dependencies:
-- FAQ_UTENTI (Table)
--
CREATE UNIQUE INDEX FAQ_UTENTI_PK ON FAQ_UTENTI
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE FAQ_UTENTI ADD (
CONSTRAINT FAQ_UTENTI_PK
PRIMARY KEY
(ID)
USING INDEX FAQ_UTENTI_PK
ENABLE VALIDATE);
--
-- IMPERSONIFICAZIONE (Table)
--
-- Row Count: 38
CREATE TABLE IMPERSONIFICAZIONE
(
ID NUMBER,
DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
UID_FIREBASE_ADMIN VARCHAR2(255 BYTE),
CODICE_FISCALE VARCHAR2(16 BYTE),
USED INTEGER DEFAULT 0
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE IMPERSONIFICAZIONE ADD (
PRIMARY KEY
(ID)
USING INDEX
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
ENABLE VALIDATE);
--
-- INTEGRAZIONI_EMAIL_QUEUE (Table)
--
-- Row Count: 82
CREATE TABLE INTEGRAZIONI_EMAIL_QUEUE
(
ID NUMBER,
ID_RICHIESTA INTEGER DEFAULT 0,
DESTINATARIO VARCHAR2(255 BYTE) NOT NULL,
OGGETTO VARCHAR2(255 BYTE) NOT NULL,
CORPO CLOB NOT NULL,
STATO INTEGER DEFAULT 0,
TENTATIVI NUMBER DEFAULT 0,
ERRORE_MESSAGGIO VARCHAR2(1000 BYTE),
DATA_INSERIMENTO TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
DATA_INVIO TIMESTAMP(6)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE INTEGRAZIONI_EMAIL_QUEUE ADD (
PRIMARY KEY
(ID)
USING INDEX
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
ENABLE VALIDATE);
--
-- LOGS (Table)
--
-- Row Count: 10386414
CREATE TABLE LOGS
(
ID NUMBER(38) NOT NULL,
ID_OPERATORE VARCHAR2(255 BYTE),
IP VARCHAR2(255 BYTE),
USERNAME VARCHAR2(255 BYTE),
DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP NOT NULL,
MODULE VARCHAR2(255 BYTE),
ACTION VARCHAR2(255 BYTE),
INFO CLOB,
OLDVALUE CLOB,
OPERATION CLOB,
IMPERSONIFICAZIONE_GUID VARCHAR2(255 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- LOGS_PK (Index)
--
-- Dependencies:
-- LOGS (Table)
--
CREATE UNIQUE INDEX LOGS_PK ON LOGS
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- LOGS_BE (Table)
--
-- Row Count: 3017
CREATE TABLE LOGS_BE
(
ID NUMBER(38) NOT NULL,
ID_OPERATORE VARCHAR2(255 BYTE),
IP VARCHAR2(255 BYTE),
USERNAME VARCHAR2(255 BYTE),
DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP NOT NULL,
MODULE VARCHAR2(255 BYTE),
ACTION VARCHAR2(255 BYTE),
INFO CLOB,
OLDVALUE CLOB,
OPERATION CLOB
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- LOGS_BE_PK (Index)
--
-- Dependencies:
-- LOGS_BE (Table)
--
CREATE UNIQUE INDEX LOGS_BE_PK ON LOGS_BE
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- LOGS_P7M (Table)
--
-- Row Count: 0
CREATE TABLE LOGS_P7M
(
ID INTEGER,
ID_DOMANDA INTEGER,
ERRORE VARCHAR2(4000 BYTE),
FILEPATH VARCHAR2(4000 BYTE),
DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
FASE NUMBER
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- LOGS_P7M_PK (Index)
--
-- Dependencies:
-- LOGS_P7M (Table)
--
CREATE UNIQUE INDEX LOGS_P7M_PK ON LOGS_P7M
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- MD_APPLICATIONFILES (Table)
--
-- Row Count: 0
CREATE TABLE MD_APPLICATIONFILES
(
ID NUMBER NOT NULL,
APPLICATIONS_ID_FK NUMBER NOT NULL,
NAME VARCHAR2(200 BYTE) NOT NULL,
URI VARCHAR2(4000 BYTE) NOT NULL,
TYPE VARCHAR2(100 BYTE) NOT NULL,
STATE VARCHAR2(100 BYTE) NOT NULL,
LANGUAGE VARCHAR2(100 BYTE),
LOC NUMBER,
SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL,
CREATED_ON DATE DEFAULT sysdate NOT NULL,
CREATED_BY VARCHAR2(4000 BYTE),
UPDATED_ON DATE,
UPDATED_BY VARCHAR2(4000 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON TABLE MD_APPLICATIONFILES IS 'Holds a tuple for each file that is being processed whether it is changed or not.';
COMMENT ON COLUMN MD_APPLICATIONFILES.NAME IS 'file name //OBJECTNAME';
COMMENT ON COLUMN MD_APPLICATIONFILES.URI IS 'The uri is the part of the file url after the base dir has been removed. See MD_APPLICATION for base dir';
COMMENT ON COLUMN MD_APPLICATIONFILES.TYPE IS 'This will denote the type of file we have, including DIR, FILE (text), BINARY, IGNORE (where we choose to ignore files)';
COMMENT ON COLUMN MD_APPLICATIONFILES.STATE IS 'State will be how this file is operated on. For example. it will be OPEN, NEW, FIXED, IGNORED, REVIEWED, COMPLETE';
COMMENT ON COLUMN MD_APPLICATIONFILES.LANGUAGE IS 'Language of the file that has been processed.';
COMMENT ON COLUMN MD_APPLICATIONFILES.SECURITY_GROUP_ID IS 'APEX';
COMMENT ON COLUMN MD_APPLICATIONFILES.CREATED_ON IS 'APEX';
COMMENT ON COLUMN MD_APPLICATIONFILES.CREATED_BY IS 'APEX';
COMMENT ON COLUMN MD_APPLICATIONFILES.UPDATED_ON IS 'APEX';
COMMENT ON COLUMN MD_APPLICATIONFILES.UPDATED_BY IS 'APEX';
--
-- MD_APPLICATIONFILES_PK (Index)
--
-- Dependencies:
-- MD_APPLICATIONFILES (Table)
--
CREATE UNIQUE INDEX MD_APPLICATIONFILES_PK ON MD_APPLICATIONFILES
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE MD_APPLICATIONFILES ADD (
CONSTRAINT MD_APPLICATIONFILES_PK
PRIMARY KEY
(ID)
USING INDEX MD_APPLICATIONFILES_PK
ENABLE VALIDATE);
--
-- MD_APPLICATIONS (Table)
--
-- Row Count: 0
CREATE TABLE MD_APPLICATIONS
(
ID NUMBER NOT NULL,
NAME VARCHAR2(4000 BYTE),
DESCRIPTION VARCHAR2(4000 BYTE),
BASE_DIR VARCHAR2(4000 BYTE),
OUTPUT_DIR VARCHAR2(4000 BYTE),
BACKUP_DIR VARCHAR2(4000 BYTE),
INPLACE NUMBER,
PROJECT_ID_FK NUMBER NOT NULL,
SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL,
CREATED_ON DATE DEFAULT sysdate NOT NULL,
CREATED_BY VARCHAR2(255 BYTE),
LAST_UPDATED_ON DATE,
LAST_UPDATED_BY VARCHAR2(255 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON TABLE MD_APPLICATIONS IS 'This is the base table for application projects. It holds the base information for applications associated with a database';
COMMENT ON COLUMN MD_APPLICATIONS.ID IS 'Primary Key';
COMMENT ON COLUMN MD_APPLICATIONS.NAME IS 'Name of the application suite //OBJECTNAME';
COMMENT ON COLUMN MD_APPLICATIONS.DESCRIPTION IS 'Overview of what the application does.';
COMMENT ON COLUMN MD_APPLICATIONS.BASE_DIR IS 'This is the base src directory for the application. It could be an svn checkout, a clearcase view or something similar';
COMMENT ON COLUMN MD_APPLICATIONS.OUTPUT_DIR IS 'This is the output directory where the scanner will present the converted files, if there are converted or modified.';
COMMENT ON COLUMN MD_APPLICATIONS.BACKUP_DIR IS 'This is the directory in which the application files are backed up if a backp is chosen';
COMMENT ON COLUMN MD_APPLICATIONS.INPLACE IS 'Designates whether the changes have been made inplace, in the source directory or not';
COMMENT ON COLUMN MD_APPLICATIONS.PROJECT_ID_FK IS 'project of the database(s) this application relates to';
--
-- MD_APPLICATIONS_PK (Index)
--
-- Dependencies:
-- MD_APPLICATIONS (Table)
--
CREATE UNIQUE INDEX MD_APPLICATIONS_PK ON MD_APPLICATIONS
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE MD_APPLICATIONS ADD (
CONSTRAINT MD_APPLICATIONS_PK
PRIMARY KEY
(ID)
USING INDEX MD_APPLICATIONS_PK
ENABLE VALIDATE);
--
-- MD_CATALOGS (Table)
--
-- Row Count: 0
CREATE TABLE MD_CATALOGS
(
ID NUMBER NOT NULL,
CONNECTION_ID_FK NUMBER NOT NULL,
CATALOG_NAME VARCHAR2(4000 BYTE),
DUMMY_FLAG CHAR(1 BYTE) DEFAULT 'N',
NATIVE_SQL CLOB,
NATIVE_KEY VARCHAR2(4000 BYTE),
COMMENTS VARCHAR2(4000 BYTE),
SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL,
CREATED_ON DATE DEFAULT sysdate NOT NULL,
CREATED_BY VARCHAR2(255 BYTE),
LAST_UPDATED_ON DATE,
LAST_UPDATED_BY VARCHAR2(255 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON TABLE MD_CATALOGS IS 'Store catalogs in this table.';
COMMENT ON COLUMN MD_CATALOGS.CONNECTION_ID_FK IS 'Foreign key into the connections table - Shows what connection this catalog belongs to //PARENTFIELD';
COMMENT ON COLUMN MD_CATALOGS.CATALOG_NAME IS 'Name of the catalog //OBJECTNAME';
COMMENT ON COLUMN MD_CATALOGS.DUMMY_FLAG IS 'Flag to show if this catalog is a "dummy" catalog which is used as a placeholder for those platforms that do not support catalogs. ''N'' signifies that this is NOT a dummy catalog, while ''Y'' signifies that it is.';
COMMENT ON COLUMN MD_CATALOGS.NATIVE_SQL IS 'THe SQL used to create this catalog';
COMMENT ON COLUMN MD_CATALOGS.NATIVE_KEY IS 'A unique identifier used to identify the catalog at source.';
--
-- MD_CATALOGS_PK (Index)
--
-- Dependencies:
-- MD_CATALOGS (Table)
--
CREATE UNIQUE INDEX MD_CATALOGS_PK ON MD_CATALOGS
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE MD_CATALOGS ADD (
CONSTRAINT MD_CATALOGS_PK
PRIMARY KEY
(ID)
USING INDEX MD_CATALOGS_PK
ENABLE VALIDATE);
--
-- MD_FILE_ARTIFACTS (Table)
--
-- Row Count: 0
CREATE TABLE MD_FILE_ARTIFACTS
(
ID NUMBER CONSTRAINT MD_APP_FILE_ART_NONULL NOT NULL,
APPLICATIONFILES_ID NUMBER CONSTRAINT MD_APPL_FILE_FK_NONULL NOT NULL,
PATTERN VARCHAR2(4000 BYTE),
STRING_FOUND VARCHAR2(4000 BYTE),
STRING_REPLACED VARCHAR2(4000 BYTE),
TYPE VARCHAR2(200 BYTE),
STATUS VARCHAR2(4000 BYTE),
LINE NUMBER,
PATTERN_START NUMBER,
PATTERN_END NUMBER,
DUE_DATE DATE,
DB_TYPE VARCHAR2(100 BYTE),
CODE_TYPE VARCHAR2(1000 BYTE),
DESCRIPTION VARCHAR2(4000 BYTE),
PRIORITY INTEGER,
SECURITY_GROUP_ID VARCHAR2(20 BYTE) DEFAULT '0' NOT NULL,
CREATED_ON DATE DEFAULT sysdate NOT NULL,
CREATED_BY VARCHAR2(4000 BYTE),
LAST_UPDATED DATE,
LAST_UPDATED_BY VARCHAR2(4000 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON TABLE MD_FILE_ARTIFACTS IS 'Holds a tuple for each interesting thing the scanner finds in a file';
COMMENT ON COLUMN MD_FILE_ARTIFACTS.PATTERN IS 'Pattern used to search source file for interesting artifiacts';
COMMENT ON COLUMN MD_FILE_ARTIFACTS.STRING_FOUND IS 'String found in source from the pattern supplied';
COMMENT ON COLUMN MD_FILE_ARTIFACTS.STRING_REPLACED IS 'This is the string which replace the string found if it was replaced.';
COMMENT ON COLUMN MD_FILE_ARTIFACTS.TYPE IS 'This is the type of the replacement. It could be a straight replace from a replacement pattern, or we could have passed the string to a translator which would change the string depending on the database.';
COMMENT ON COLUMN MD_FILE_ARTIFACTS.STATUS IS 'Pattern used to search source file for interesting artifiacts';
COMMENT ON COLUMN MD_FILE_ARTIFACTS.DUE_DATE IS 'Due date is used by the TODO mechanism to manage the validation and work to complete this change';
COMMENT ON COLUMN MD_FILE_ARTIFACTS.DB_TYPE IS 'Source database calls type';
COMMENT ON COLUMN MD_FILE_ARTIFACTS.CODE_TYPE IS 'Source code db api, like dblib, jdbc';
COMMENT ON COLUMN MD_FILE_ARTIFACTS.DESCRIPTION IS 'This is a description of the artifact which will have a default generated by the scanner and then can be modified by the user to be more appropriate for their use';
COMMENT ON COLUMN MD_FILE_ARTIFACTS.PRIORITY IS 'The priority is set for the TODOs so they can be managed by the user';
--
-- MD_FILE_ARTIFACTS_PK (Index)
--
-- Dependencies:
-- MD_FILE_ARTIFACTS (Table)
--
CREATE UNIQUE INDEX MD_FILE_ARTIFACTS_PK ON MD_FILE_ARTIFACTS
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE MD_FILE_ARTIFACTS ADD (
CONSTRAINT MD_FILE_ARTIFACTS_PK
PRIMARY KEY
(ID)
USING INDEX MD_FILE_ARTIFACTS_PK
ENABLE VALIDATE);
--
-- MD_GROUP_MEMBERS (Table)
--
-- Row Count: 0
CREATE TABLE MD_GROUP_MEMBERS
(
ID NUMBER NOT NULL,
GROUP_ID_FK NUMBER NOT NULL,
USER_ID_FK NUMBER,
GROUP_MEMBER_ID_FK NUMBER,
SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL,
CREATED_ON DATE DEFAULT sysdate NOT NULL,
CREATED_BY VARCHAR2(255 BYTE),
LAST_UPDATED_ON DATE,
LAST_UPDATED_BY VARCHAR2(255 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON TABLE MD_GROUP_MEMBERS IS 'This table is used to store the members of a group.';
COMMENT ON COLUMN MD_GROUP_MEMBERS.ID IS 'Primary Key';
COMMENT ON COLUMN MD_GROUP_MEMBERS.USER_ID_FK IS 'Id of member';
COMMENT ON COLUMN MD_GROUP_MEMBERS.GROUP_MEMBER_ID_FK IS 'groups can be members of groups';
--
-- MD_GROUP_MEMBERS_PK (Index)
--
-- Dependencies:
-- MD_GROUP_MEMBERS (Table)
--
CREATE UNIQUE INDEX MD_GROUP_MEMBERS_PK ON MD_GROUP_MEMBERS
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE MD_GROUP_MEMBERS ADD (
CONSTRAINT MD_GROUP_MEMBERS_PK
PRIMARY KEY
(ID)
USING INDEX MD_GROUP_MEMBERS_PK
ENABLE VALIDATE);
--
-- MD_REPOVERSIONS (Table)
--
-- Row Count: 0
CREATE TABLE MD_REPOVERSIONS
(
REVISION NUMBER NOT NULL
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON TABLE MD_REPOVERSIONS IS 'This table is used to version this schema for future requirements.';
--
-- MD_SEQUENCES (Table)
--
-- Row Count: 0
CREATE TABLE MD_SEQUENCES
(
ID NUMBER NOT NULL,
SCHEMA_ID_FK NUMBER NOT NULL,
NAME VARCHAR2(4000 BYTE) NOT NULL,
SEQ_START NUMBER NOT NULL,
INCR NUMBER DEFAULT 1 NOT NULL,
NATIVE_SQL CLOB,
NATIVE_KEY VARCHAR2(4000 BYTE),
COMMENTS VARCHAR2(4000 BYTE),
SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL,
CREATED_ON DATE DEFAULT sysdate NOT NULL,
CREATED_BY VARCHAR2(255 BYTE) DEFAULT '0' NOT NULL,
LAST_UPDATED_ON DATE,
LAST_UPDATED_BY VARCHAR2(255 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON TABLE MD_SEQUENCES IS 'For storing information on sequences.';
COMMENT ON COLUMN MD_SEQUENCES.ID IS 'Primary Key';
COMMENT ON COLUMN MD_SEQUENCES.SCHEMA_ID_FK IS 'The schema to which this object belongs. //PARENTFIELD';
COMMENT ON COLUMN MD_SEQUENCES.NAME IS 'Name of this sequence //OBJECTNAME';
COMMENT ON COLUMN MD_SEQUENCES.SEQ_START IS 'Starting point of the sequence';
COMMENT ON COLUMN MD_SEQUENCES.INCR IS 'Increment value of the sequence';
--
-- MD_TABLESPACES (Table)
--
-- Row Count: 0
CREATE TABLE MD_TABLESPACES
(
ID NUMBER NOT NULL,
SCHEMA_ID_FK NUMBER NOT NULL,
TABLESPACE_NAME VARCHAR2(4000 BYTE),
NATIVE_SQL CLOB,
NATIVE_KEY VARCHAR2(4000 BYTE),
COMMENTS VARCHAR2(4000 BYTE),
SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL,
CREATED_ON DATE DEFAULT sysdate NOT NULL,
CREATED_BY VARCHAR2(255 BYTE),
LAST_UPDATED_ON DATE,
LAST_UPDATED_BY VARCHAR2(255 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON TABLE MD_TABLESPACES IS 'For storing information about tablespaces.';
COMMENT ON COLUMN MD_TABLESPACES.ID IS 'Primary Key';
COMMENT ON COLUMN MD_TABLESPACES.SCHEMA_ID_FK IS 'Schema to which this tablespace belongs //PARENTFIELD';
COMMENT ON COLUMN MD_TABLESPACES.TABLESPACE_NAME IS 'Name of the table space //OBJECTNAME';
COMMENT ON COLUMN MD_TABLESPACES.NATIVE_SQL IS 'The SQL used to create this tablespace';
COMMENT ON COLUMN MD_TABLESPACES.NATIVE_KEY IS 'A unique identifier for this object at source';
--
-- MD_TABLESPACES_PK (Index)
--
-- Dependencies:
-- MD_TABLESPACES (Table)
--
CREATE UNIQUE INDEX MD_TABLESPACES_PK ON MD_TABLESPACES
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE MD_TABLESPACES ADD (
CONSTRAINT MD_TABLESPACES_PK
PRIMARY KEY
(ID)
USING INDEX MD_TABLESPACES_PK
ENABLE VALIDATE);
--
-- MD_USERS (Table)
--
-- Row Count: 0
CREATE TABLE MD_USERS
(
ID NUMBER NOT NULL,
SCHEMA_ID_FK NUMBER NOT NULL,
USERNAME VARCHAR2(4000 BYTE) NOT NULL,
PASSWORD VARCHAR2(4000 BYTE),
NATIVE_SQL CLOB,
NATIVE_KEY VARCHAR2(4000 BYTE),
COMMENTS VARCHAR2(4000 BYTE),
SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL,
CREATED_ON DATE DEFAULT sysdate NOT NULL,
CREATED_BY VARCHAR2(255 BYTE),
LAST_UPDATED_ON DATE,
LAST_UPDATED_BY VARCHAR2(255 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON TABLE MD_USERS IS 'User information.';
COMMENT ON COLUMN MD_USERS.ID IS 'Primary Key';
COMMENT ON COLUMN MD_USERS.SCHEMA_ID_FK IS 'Shema in which this object belongs //PARENTFIELD';
COMMENT ON COLUMN MD_USERS.USERNAME IS 'Username for login //OBJECTNAME';
COMMENT ON COLUMN MD_USERS.PASSWORD IS 'Password for login';
COMMENT ON COLUMN MD_USERS.NATIVE_SQL IS 'SQL Used to create this object at source';
COMMENT ON COLUMN MD_USERS.NATIVE_KEY IS 'Unique identifier for this object at source.';
--
-- MD_USERS_PK (Index)
--
-- Dependencies:
-- MD_USERS (Table)
--
CREATE UNIQUE INDEX MD_USERS_PK ON MD_USERS
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE MD_USERS ADD (
CONSTRAINT MD_USERS_PK
PRIMARY KEY
(ID)
USING INDEX MD_USERS_PK
ENABLE VALIDATE);
--
-- MD_USER_PRIVILEGES (Table)
--
-- Row Count: 0
CREATE TABLE MD_USER_PRIVILEGES
(
ID NUMBER NOT NULL,
USER_ID_FK NUMBER NOT NULL,
PRIVILEGE_ID_FK NUMBER,
SECURITY_GROUP_ID NUMBER DEFAULT 0 NOT NULL,
CREATED_ON DATE DEFAULT sysdate NOT NULL,
CREATED_BY VARCHAR2(255 BYTE),
LAST_UPDATED_ON DATE,
LAST_UDPATED_BY VARCHAR2(255 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
COMMENT ON TABLE MD_USER_PRIVILEGES IS 'This table stores privileges granted to individual users';
COMMENT ON COLUMN MD_USER_PRIVILEGES.ID IS 'Primary Key';
COMMENT ON COLUMN MD_USER_PRIVILEGES.USER_ID_FK IS 'User';
COMMENT ON COLUMN MD_USER_PRIVILEGES.PRIVILEGE_ID_FK IS 'Privilege';
--
-- MD_USER_PRIVILEGES_PK (Index)
--
-- Dependencies:
-- MD_USER_PRIVILEGES (Table)
--
CREATE UNIQUE INDEX MD_USER_PRIVILEGES_PK ON MD_USER_PRIVILEGES
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE MD_USER_PRIVILEGES ADD (
CONSTRAINT MD_USER_PRIVILEGES_PK
PRIMARY KEY
(ID)
USING INDEX MD_USER_PRIVILEGES_PK
ENABLE VALIDATE);
--
-- RICHIESTA_INTEGRAZIONE (Table)
--
-- Row Count: 35
CREATE TABLE RICHIESTA_INTEGRAZIONE
(
ID NUMBER,
ID_DOMANDA_SCONTI NUMBER NOT NULL,
DATA_RICHIESTA TIMESTAMP(6) DEFAULT SYSTIMESTAMP NOT NULL,
DESCRIZIONE_RICHIESTA VARCHAR2(1000 BYTE),
NUMERO_PROTOCOLLO VARCHAR2(255 BYTE),
PROTOCOLLO_JSON CLOB,
DATA_PROTOCOLLO TIMESTAMP(6),
FILEPATH_PDF_PROTOCOLLATO VARCHAR2(500 BYTE),
DATA_INVIO_NOTIFICA DATE,
SCADENZA DATE,
FILEPATH_RISPOSTA VARCHAR2(500 BYTE),
DATA_CARICAMENTO DATE,
STATO VARCHAR2(30 BYTE),
NOTE_OPERATORE VARCHAR2(1000 BYTE),
DATA_VALIDAZIONE TIMESTAMP(6),
OPERATORE_VALIDAZIONE VARCHAR2(100 BYTE),
OPERATORE_RICHIESTA INTEGER,
NOTE_UTENTE VARCHAR2(1000 BYTE)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE RICHIESTA_INTEGRAZIONE ADD (
PRIMARY KEY
(ID)
USING INDEX
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
ENABLE VALIDATE);
--
-- SPID_ACCESSI (Table)
--
-- Row Count: 4273336
CREATE TABLE SPID_ACCESSI
(
ID NUMBER NOT NULL,
CODICE_FISCALE VARCHAR2(30 BYTE),
INRESPONSETO VARCHAR2(200 BYTE),
AUTHNINSTANT VARCHAR2(200 BYTE),
DATA TIMESTAMP(6) DEFAULT SYSTIMESTAMP
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- SPID_ACCESSI_PK (Index)
--
-- Dependencies:
-- SPID_ACCESSI (Table)
--
CREATE UNIQUE INDEX SPID_ACCESSI_PK ON SPID_ACCESSI
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- UID_FIREBASE_ADMIN (Table)
--
-- Row Count: 20
CREATE TABLE UID_FIREBASE_ADMIN
(
ID NUMBER NOT NULL,
GUID VARCHAR2(1000 BYTE),
EMAIL VARCHAR2(255 BYTE),
NOME VARCHAR2(255 BYTE),
COGNOME VARCHAR2(255 BYTE),
SUPER_USER INTEGER NOT NULL,
GROUP_ID INTEGER DEFAULT 0,
VERIFICATO INTEGER DEFAULT 0,
CODICE_FISCALE VARCHAR2(16 CHAR)
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- UID_FIREBASE_ADMIN_PK (Index)
--
-- Dependencies:
-- UID_FIREBASE_ADMIN (Table)
--
CREATE UNIQUE INDEX UID_FIREBASE_ADMIN_PK ON UID_FIREBASE_ADMIN
(ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE UID_FIREBASE_ADMIN ADD (
CONSTRAINT UID_FIREBASE_ADMIN_PK
PRIMARY KEY
(ID)
USING INDEX UID_FIREBASE_ADMIN_PK
ENABLE VALIDATE);
--
-- FAQ_INDEX1 (Index)
--
-- Dependencies:
-- FAQ (Table)
--
CREATE INDEX FAQ_INDEX1 ON FAQ
(ID_UID_FIREBASE_ADMIN)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- FAQ_INDEX2 (Index)
--
-- Dependencies:
-- FAQ (Table)
--
CREATE INDEX FAQ_INDEX2 ON FAQ
(PUBBLICATA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- FAQ_INDEX3 (Index)
--
-- Dependencies:
-- FAQ (Table)
--
CREATE INDEX FAQ_INDEX3 ON FAQ
(CANCELLATO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- FAQ_INDEX4 (Index)
--
-- Dependencies:
-- FAQ (Table)
--
CREATE INDEX FAQ_INDEX4 ON FAQ
(ID_CATEGORIA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IDX_COD_BELFIORE (Index)
--
-- Dependencies:
-- COMUNE (Table)
--
CREATE INDEX IDX_COD_BELFIORE ON COMUNE
(COD_CF)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IDX_ID_DOMANDA (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
--
CREATE INDEX IDX_ID_DOMANDA ON DOMANDA_SCONTI
(ID_DOMANDA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_ACC_ANAG_CF (Index)
--
-- Dependencies:
-- ACCOUNT_ANAGRAFICA (Table)
--
CREATE INDEX IX_ACC_ANAG_CF ON ACCOUNT_ANAGRAFICA
(CODICE_FISCALE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_ACC_ANAG_DATA_REC (Index)
--
-- Dependencies:
-- ACCOUNT_ANAGRAFICA (Table)
--
CREATE INDEX IX_ACC_ANAG_DATA_REC ON ACCOUNT_ANAGRAFICA
(DATA_REGISTRAZIONE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_ALLEGATI_DOCUMENTO (Index)
--
-- Dependencies:
-- ALLEGATI (Table)
--
CREATE INDEX IX_ALLEGATI_DOCUMENTO ON ALLEGATI
(ID_DOCUMENTO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_ALLEGATI_DOMANDA (Index)
--
-- Dependencies:
-- ALLEGATI (Table)
--
CREATE INDEX IX_ALLEGATI_DOMANDA ON ALLEGATI
(ID_DOMANDA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_ALLEGATI_TIPODOCUMENTO (Index)
--
-- Dependencies:
-- ALLEGATI (Table)
--
CREATE INDEX IX_ALLEGATI_TIPODOCUMENTO ON ALLEGATI
(TIPO_DOCUMENTO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_AUTORIZZAZIONE (Index)
--
-- Dependencies:
-- ACCOUNT (Table)
--
CREATE INDEX IX_AUTORIZZAZIONE ON ACCOUNT
(AUTORIZZAZIONE_TRATTAMENTO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_BANDI_FC (Index)
--
-- Dependencies:
-- BANDI (Table)
--
CREATE INDEX IX_BANDI_FC ON BANDI
(FINE_CLICKDAY)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_BANDI_FP (Index)
--
-- Dependencies:
-- BANDI (Table)
--
CREATE INDEX IX_BANDI_FP ON BANDI
(FINE_PREPARAZIONE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_BANDI_IC (Index)
--
-- Dependencies:
-- BANDI (Table)
--
CREATE INDEX IX_BANDI_IC ON BANDI
(INIZIO_CLICKDAY)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_BANDI_IP (Index)
--
-- Dependencies:
-- BANDI (Table)
--
CREATE INDEX IX_BANDI_IP ON BANDI
(INIZIO_PREPARAZIONE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_CODICE_FISCALE_CS (Index)
--
-- Dependencies:
-- CUSTOMER_SATISFACTION (Table)
--
CREATE INDEX IX_CODICE_FISCALE_CS ON CUSTOMER_SATISFACTION
(CODICE_FISCALE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_COMUNE_ATTIVO (Index)
--
-- Dependencies:
-- COMUNE (Table)
--
CREATE INDEX IX_COMUNE_ATTIVO ON COMUNE
(ATTIVO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_COMUNE_CODICE_PROV (Index)
--
-- Dependencies:
-- COMUNE (Table)
--
CREATE INDEX IX_COMUNE_CODICE_PROV ON COMUNE
(CODICE_PROVINCIA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_COMUNE_DESCRIZIONE (Index)
--
-- Dependencies:
-- COMUNE (Table)
--
CREATE INDEX IX_COMUNE_DESCRIZIONE ON COMUNE
(DESCRIZIONE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_COMUNE_ISTAT (Index)
--
-- Dependencies:
-- COMUNE (Table)
--
CREATE INDEX IX_COMUNE_ISTAT ON COMUNE
(CODICE_ISTAT)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_COMUNE_REGIONE (Index)
--
-- Dependencies:
-- COMUNE (Table)
--
CREATE INDEX IX_COMUNE_REGIONE ON COMUNE
(REGIONE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_DOCUMENTI_BANDO_FASE (Index)
--
-- Dependencies:
-- DOCUMENTI_BANDO (Table)
--
CREATE INDEX IX_DOCUMENTI_BANDO_FASE ON DOCUMENTI_BANDO
(FASE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_DOCUMENTI_BANDO_OBBLIGO (Index)
--
-- Dependencies:
-- DOCUMENTI_BANDO (Table)
--
CREATE INDEX IX_DOCUMENTI_BANDO_OBBLIGO ON DOCUMENTI_BANDO
(OBBLIGO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_DOCUMENTI_BANDO_PRIORITA (Index)
--
-- Dependencies:
-- DOCUMENTI_BANDO (Table)
--
CREATE INDEX IX_DOCUMENTI_BANDO_PRIORITA ON DOCUMENTI_BANDO
(PRIORITA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_DOMANDA_LOTTO (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
--
CREATE INDEX IX_DOMANDA_LOTTO ON DOMANDA_SCONTI
(LOTTO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_DOMANDA_SCONTI_PRIORITY (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
--
CREATE INDEX IX_DOMANDA_SCONTI_PRIORITY ON DOMANDA_SCONTI
(PRIORITY)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_FAQ_UT_ACC (Index)
--
-- Dependencies:
-- FAQ_UTENTI (Table)
--
CREATE INDEX IX_FAQ_UT_ACC ON FAQ_UTENTI
(ACCOUNT)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_FAQ_UT_CAT (Index)
--
-- Dependencies:
-- FAQ_UTENTI (Table)
--
CREATE INDEX IX_FAQ_UT_CAT ON FAQ_UTENTI
(ID_CATEGORIA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_FAQ_UT_DATAI (Index)
--
-- Dependencies:
-- FAQ_UTENTI (Table)
--
CREATE INDEX IX_FAQ_UT_DATAI ON FAQ_UTENTI
(DATA_INSERIMENTO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_FIREBASE_ADMIN_CODICE_FISCALE (Index)
--
-- Dependencies:
-- UID_FIREBASE_ADMIN (Table)
--
CREATE INDEX IX_FIREBASE_ADMIN_CODICE_FISCALE ON UID_FIREBASE_ADMIN
(CODICE_FISCALE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_FIREBASE_ADMIN_EMAIL (Index)
--
-- Dependencies:
-- UID_FIREBASE_ADMIN (Table)
--
CREATE INDEX IX_FIREBASE_ADMIN_EMAIL ON UID_FIREBASE_ADMIN
(EMAIL)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_FIREBASE_ADMIN_GROUP (Index)
--
-- Dependencies:
-- UID_FIREBASE_ADMIN (Table)
--
CREATE INDEX IX_FIREBASE_ADMIN_GROUP ON UID_FIREBASE_ADMIN
(GROUP_ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_FIREBASE_ADMIN_GUID (Index)
--
-- Dependencies:
-- UID_FIREBASE_ADMIN (Table)
--
CREATE INDEX IX_FIREBASE_ADMIN_GUID ON UID_FIREBASE_ADMIN
(GUID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_FIREBASE_ADMIN_SU (Index)
--
-- Dependencies:
-- UID_FIREBASE_ADMIN (Table)
--
CREATE INDEX IX_FIREBASE_ADMIN_SU ON UID_FIREBASE_ADMIN
(SUPER_USER)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_ID_DOMANAD (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI_IMPORTI_LOG (Table)
--
CREATE INDEX IX_ID_DOMANAD ON DOMANDA_SCONTI_IMPORTI_LOG
(ID_DOMANDA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_ID_DOMANDA_SCONTI_LOG (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI_IMPORTI_LOG (Table)
--
CREATE INDEX IX_ID_DOMANDA_SCONTI_LOG ON DOMANDA_SCONTI_IMPORTI_LOG
(ID_DOMANDA_SCONTI)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_IMPERSONIFICAZIONE (Index)
--
-- Dependencies:
-- LOGS (Table)
--
CREATE INDEX IX_IMPERSONIFICAZIONE ON LOGS
(IMPERSONIFICAZIONE_GUID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_LOTTO_INTEGRAZIONE (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI_INTEGRAZIONE (Table)
--
CREATE INDEX IX_LOTTO_INTEGRAZIONE ON DOMANDA_SCONTI_INTEGRAZIONE
(LOTTO_INTEGRAZIONE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_OBBLIGO (Index)
--
-- Dependencies:
-- ANAG_DICHIARAZIONI (Table)
--
CREATE INDEX IX_OBBLIGO ON ANAG_DICHIARAZIONI
(OBBLIGO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_POSIZIONE (Index)
--
-- Dependencies:
-- ANAG_DICHIARAZIONI (Table)
--
CREATE INDEX IX_POSIZIONE ON ANAG_DICHIARAZIONI
(POSIZIONE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_SA_CF (Index)
--
-- Dependencies:
-- SPID_ACCESSI (Table)
--
CREATE INDEX IX_SA_CF ON SPID_ACCESSI
(CODICE_FISCALE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_SA_DATA (Index)
--
-- Dependencies:
-- SPID_ACCESSI (Table)
--
CREATE INDEX IX_SA_DATA ON SPID_ACCESSI
(DATA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_SEARCH (Index)
--
-- Dependencies:
-- COMUNE (Table)
--
CREATE INDEX IX_SEARCH ON COMUNE
(SEARCH)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_STATO_PRATICA (Index)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
--
CREATE INDEX IX_STATO_PRATICA ON DOMANDA_SCONTI
(STATO)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_USER_ACCOUNT (Index)
--
-- Dependencies:
-- ACCOUNT (Table)
--
CREATE INDEX IX_USER_ACCOUNT ON ACCOUNT
(USERNAME)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- IX_VALORE_CS (Index)
--
-- Dependencies:
-- CUSTOMER_SATISFACTION (Table)
--
CREATE INDEX IX_VALORE_CS ON CUSTOMER_SATISFACTION
(VALORE)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- MD_APP_FILE_TYPE_IDX (Index)
--
-- Dependencies:
-- MD_APPLICATIONFILES (Table)
--
CREATE INDEX MD_APP_FILE_TYPE_IDX ON MD_APPLICATIONFILES
(TYPE, ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- MD_STATE_TYPE__ID (Index)
--
-- Dependencies:
-- MD_APPLICATIONFILES (Table)
--
CREATE INDEX MD_STATE_TYPE__ID ON MD_APPLICATIONFILES
(STATE, TYPE, ID)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- AGGIORNA_LOTTO_DOMANDA_SCONTI (Procedure)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- ESPORTAZIONI (Table)
-- DBMS_STANDARD (Package)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE AGGIORNA_LOTTO_DOMANDA_SCONTI (
LOTTO_FROM IN NUMBER,
LOTTO_TO IN NUMBER
) AS
V_DATA_CREAZIONE ESPORTAZIONI.DATA_CREAZIONE%TYPE;
V_NOTE_PRECEDENTE ESPORTAZIONI.NOTE%TYPE;
V_TIPO_FROM ESPORTAZIONI.TIPO%TYPE;
V_TIPO_TO ESPORTAZIONI.TIPO%TYPE;
BEGIN
-- Recupero TIPO dei due lotti e controllo corrispondenza
SELECT TIPO INTO V_TIPO_FROM FROM ESPORTAZIONI WHERE LOTTO = LOTTO_FROM;
SELECT TIPO INTO V_TIPO_TO FROM ESPORTAZIONI WHERE LOTTO = LOTTO_TO;
IF V_TIPO_FROM != V_TIPO_TO THEN
RAISE_APPLICATION_ERROR(-20003, 'I lotti specificati non appartengono allo stesso TIPO.');
END IF;
-- Recupero della DATA_CREAZIONE del lotto_to
SELECT DATA_CREAZIONE
INTO V_DATA_CREAZIONE
FROM ESPORTAZIONI
WHERE LOTTO = LOTTO_TO;
-- Aggiornamento della tabella DOMANDA_SCONTI
UPDATE DOMANDA_SCONTI
SET
LOTTO = LOTTO_TO,
DATA_ESPORTAZIONE = V_DATA_CREAZIONE,
DATA_ESITO = null
WHERE LOTTO = LOTTO_FROM AND STATO = 1;
-- Recupera eventuale nota precedente del lotto_from
SELECT NOTE
INTO V_NOTE_PRECEDENTE
FROM ESPORTAZIONI
WHERE LOTTO = LOTTO_FROM;
-- Aggiunge l'annotazione nella colonna NOTE del lotto_from
UPDATE ESPORTAZIONI
SET NOTE = NVL(V_NOTE_PRECEDENTE || ' | ', '') ||
'Domande spostate nel lotto ' || LOTTO_TO || ' in data ' || TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
WHERE LOTTO = LOTTO_FROM;
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20001, 'Lotto_from o lotto_to non trovato nella tabella ESPORTAZIONI');
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20002, 'Errore durante l''aggiornamento: ' || SQLERRM);
END;
/
--
-- SPAEROPORTISAVE (Procedure)
--
-- Dependencies:
-- AEROPORTI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SPAEROPORTISAVE"
(
P_CODICE VARCHAR2,
P_NOME VARCHAR2,
P_REGIONE NUMBER
) AS
INSUPDATE NUMBER;
BEGIN
SELECT COUNT(*) INTO INSUPDATE FROM AEROPORTI WHERE CODICE = P_CODICE;
IF INSUPDATE <= 0 THEN
INSERT INTO AEROPORTI (CODICE, NOME, REGIONE) VALUES (P_CODICE, P_NOME, P_REGIONE);
ELSE
UPDATE AEROPORTI SET NOME = P_NOME, REGIONE = P_REGIONE WHERE CODICE = P_CODICE;
END IF;
END SPAEROPORTISAVE;
/
--
-- SPDICHIARAZIONISAVE (Procedure)
--
-- Dependencies:
-- DOMANDA_DICHIARAZIONI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SPDICHIARAZIONISAVE"
(
P_ID_DOMANDA INT
, P_ID_ANAG_DICHIARAZIONI INT
) AS
BEGIN
INSERT INTO DOMANDA_DICHIARAZIONI (ID_DOMANDA, ID_ANAG_DICHIARAZIONI ) VALUES (P_ID_DOMANDA, P_ID_ANAG_DICHIARAZIONI);
END SPDICHIARAZIONISAVE;
/
--
-- SPLOGSBESAVE (Procedure)
--
-- Dependencies:
-- LOGS_BE (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SPLOGSBESAVE"
(
P_ID_OPERATORE IN VARCHAR2
, P_IP IN VARCHAR2
, P_USERNAME IN VARCHAR2
, P_MODULE IN VARCHAR2
, P_ACTION IN VARCHAR2
, P_OPERATION IN VARCHAR2
, P_INFO IN CLOB
, P_OLDVALUE IN CLOB
) AS
BEGIN
INSERT INTO LOGS_BE
(ID_OPERATORE, IP, USERNAME, DATA, MODULE, ACTION, OPERATION, INFO, OLDVALUE)
VALUES
(P_ID_OPERATORE, P_IP, P_USERNAME, SYSTIMESTAMP, P_MODULE, P_ACTION, P_OPERATION, P_INFO, P_OLDVALUE);
END SPLOGSBESAVE;
/
--
-- SPLOGSP7MSAVE (Procedure)
--
-- Dependencies:
-- LOGS_P7M (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SPLOGSP7MSAVE"
(
P_ID_DOMANDA IN NUMBER
, P_ERRORE IN VARCHAR2
, P_FILEPATH IN VARCHAR2
, P_FASE IN NUMBER
) AS
BEGIN
INSERT INTO LOGS_P7M
(ID_DOMANDA, ERRORE, FILEPATH, DATA, FASE)
VALUES
(P_ID_DOMANDA, P_ERRORE, P_FILEPATH, SYSTIMESTAMP, P_FASE);
END SPLOGSP7MSAVE;
/
--
-- SPLOGSSAVE (Procedure)
--
-- Dependencies:
-- LOGS (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SPLOGSSAVE"
(
P_ID_OPERATORE IN VARCHAR2
, P_IP IN VARCHAR2
, P_USERNAME IN VARCHAR2
, P_MODULE IN VARCHAR2
, P_ACTION IN VARCHAR2
, P_OPERATION IN VARCHAR2
, P_INFO IN CLOB
, P_OLDVALUE IN CLOB
, P_GUID IN VARCHAR2
) AS
BEGIN
INSERT INTO LOGS
(ID_OPERATORE, IP, USERNAME, DATA, MODULE, ACTION, OPERATION, INFO, OLDVALUE, IMPERSONIFICAZIONE_GUID)
VALUES
(P_ID_OPERATORE, P_IP, P_USERNAME, SYSTIMESTAMP, P_MODULE, P_ACTION, P_OPERATION, P_INFO, P_OLDVALUE, P_GUID);
END SPLOGSSAVE;
/
--
-- SP_APPROVA (Procedure)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- ESPORTAZIONI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SP_APPROVA"
(
P_NUM_LOTTO INT
) AS
CTR_LOTTO INT;
BEGIN
CTR_LOTTO:=0;
SELECT LOTTO INTO CTR_LOTTO FROM ESPORTAZIONI WHERE LOTTO = P_NUM_LOTTO;
IF CTR_LOTTO > 0 THEN
UPDATE DOMANDA_SCONTI SET
STATO = 2,
DATA_ESITO = SYSTIMESTAMP
WHERE LOTTO = P_NUM_LOTTO AND STATO = 1;
END IF;
END SP_APPROVA;
/
--
-- SP_DISAPPROVA (Procedure)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- ESPORTAZIONI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SP_DISAPPROVA"
(
P_NUM_LOTTO INT
) AS
CTR_LOTTO INT;
BEGIN
CTR_LOTTO:=0;
SELECT LOTTO INTO CTR_LOTTO FROM ESPORTAZIONI WHERE LOTTO = P_NUM_LOTTO;
IF CTR_LOTTO > 0 THEN
UPDATE DOMANDA_SCONTI SET
STATO = 1,
DATA_ESITO = null,
DATA_ESPORTAZIONE = SYSTIMESTAMP
WHERE LOTTO = P_NUM_LOTTO AND STATO = 2;
END IF;
END SP_DISAPPROVA;
/
--
-- SP_EROGA (Procedure)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- ESPORTAZIONI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SP_EROGA"
(
P_NUM_LOTTO INT
) AS
CTR_LOTTO INT;
BEGIN
CTR_LOTTO:=0;
SELECT LOTTO INTO CTR_LOTTO FROM ESPORTAZIONI WHERE LOTTO = P_NUM_LOTTO;
IF CTR_LOTTO > 0 THEN
UPDATE DOMANDA_SCONTI SET
STATO = 3,
DATA_EROGAZIONE = SYSTIMESTAMP
WHERE LOTTO = P_NUM_LOTTO AND STATO = 2;
END IF;
END SP_EROGA;
/
--
-- SP_FORZA_RESIDENZA (Procedure)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SP_FORZA_RESIDENZA"
(
P_ID INT,
P_FORZA INT
) AS
BEGIN
IF P_ID > 0 THEN
UPDATE DOMANDA_SCONTI SET
FORZA_RESIDENZA = P_FORZA
WHERE ID = P_ID;
END IF;
END SP_FORZA_RESIDENZA;
/
--
-- CALCOLAFRAZIONEANNO (Function)
--
-- Dependencies:
-- DUAL (Synonym)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "CALCOLAFRAZIONEANNO" (
P_DATA_INIZIO IN DATE,
P_DATA_FINE IN DATE
) RETURN NUMBER IS
ANNI NUMBER;
MESI NUMBER;
GIORNI NUMBER;
PLUS NUMBER;
--DATA_INIZIO DATE;
DATA_FINE DATE;
BEGIN
ANNI := 0;
MESI := 0;
PLUS := 0;
--DATA_INIZIO := TO_DATE('01/01/2000 00:00:00','dd/mm/YYYY hh24:mi:ss');
DATA_FINE := P_DATA_FINE+1; -- AGGIUNGO IL GIORNO ESTREMO DEL PERIODO
/*SELECT
TRUNC (MONTHS_BETWEEN (P_DATA_FINE, P_DATA_INIZIO) / 12),
MOD (TRUNC (MONTHS_BETWEEN (P_DATA_FINE, P_DATA_INIZIO)), 12),
(P_DATA_FINE - ADD_MONTHS (P_DATA_INIZIO, TRUNC(MONTHS_BETWEEN (P_DATA_FINE,P_DATA_INIZIO))))
INTO ANNI, MESI, GIORNI FROM DUAL;*/
WITH T (START_DATE, END_DATE) AS (
SELECT P_DATA_INIZIO, DATA_FINE FROM DUAL
)
SELECT
TRUNC(MONTH_DIFF/12),
TRUNC(MOD(MONTH_DIFF, 12)),
(END_DATE - ADD_MONTHS(START_DATE, MONTH_DIFF)) INTO ANNI, MESI, GIORNI
FROM (
SELECT START_DATE, END_DATE,
TRUNC(MONTHS_BETWEEN(END_DATE, START_DATE)) AS MONTH_DIFF
FROM T
);
--GIORNI := GIORNI+1;
IF GIORNI = 30 THEN
MESI := MESI+1;
IF MESI = 12 THEN
MESI := 0;
ANNI := ANNI+1;
END IF;
END IF;
IF MESI >= 6 THEN
PLUS := 1;
ELSE
PLUS := 0;
END IF;
RETURN (ANNI+PLUS);
END CALCOLAFRAZIONEANNO;
/
--
-- CONVERTI_OMO_CODICE (Function)
--
-- Dependencies:
-- STANDARD (Package)
--
CREATE OR REPLACE FUNCTION "CONVERTI_OMO_CODICE" (
P_CODICE_FISCALE IN VARCHAR2
) RETURN VARCHAR2 IS
V_RESULT VARCHAR2(16); -- Variabile per il codice risultante
V_LETTERE CONSTANT VARCHAR2(10) := 'LMNPQRSTUV'; -- Mappa lettere
V_NUMERI CONSTANT VARCHAR2(10) := '0123456789'; -- Mappa numeri
I PLS_INTEGER; -- Contatore per le posizioni
V_CHAR CHAR(1); -- Carattere corrente
BEGIN
-- Copia il codice fiscale originale
V_RESULT := P_CODICE_FISCALE;
-- Cicla sulle posizioni numeriche del codice fiscale (7, 8)
FOR I IN 7..8 LOOP
-- Controlla se il carattere è una lettera omocodica
V_CHAR := SUBSTR(V_RESULT, I, 1);
IF INSTR(V_LETTERE, V_CHAR) > 0 THEN
-- Sostituisci la lettera con il numero corrispondente
V_RESULT := SUBSTR(V_RESULT, 1, I - 1) ||
SUBSTR(V_NUMERI, INSTR(V_LETTERE, V_CHAR), 1) ||
SUBSTR(V_RESULT, I + 1);
END IF;
END LOOP;
-- Cicla sulle posizioni numeriche del codice fiscale (10, 11)
FOR I IN 10..11 LOOP
-- Controlla se il carattere è una lettera omocodica
V_CHAR := SUBSTR(V_RESULT, I, 1);
IF INSTR(V_LETTERE, V_CHAR) > 0 THEN
-- Sostituisci la lettera con il numero corrispondente
V_RESULT := SUBSTR(V_RESULT, 1, I - 1) ||
SUBSTR(V_NUMERI, INSTR(V_LETTERE, V_CHAR), 1) ||
SUBSTR(V_RESULT, I + 1);
END IF;
END LOOP;
-- Cicla per le posizioni 13, 14, 15
FOR I IN 13..15 LOOP
-- Controlla se il carattere è una lettera omocodica
V_CHAR := SUBSTR(V_RESULT, I, 1);
IF INSTR(V_LETTERE, V_CHAR) > 0 THEN
-- Sostituisci la lettera con il numero corrispondente
V_RESULT := SUBSTR(V_RESULT, 1, I - 1) ||
SUBSTR(V_NUMERI, INSTR(V_LETTERE, V_CHAR), 1) ||
SUBSTR(V_RESULT, I + 1);
END IF;
END LOOP;
RETURN V_RESULT;
EXCEPTION
-- Gestione errori
WHEN OTHERS THEN
RETURN NULL; -- Restituisci NULL in caso di errore
END CONVERTI_OMO_CODICE;
/
--
-- FNGETINTEGRAZIONE_POST (Function)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FNGETINTEGRAZIONE_POST" (
P_ID IN NUMBER
) RETURN VARCHAR IS
COSTO_VOLO NUMBER;
SCONTO_RESIDENTI NUMBER;
INTEGRAZIONE NUMBER;
PERC_NATIVITA NUMBER;
MINIMO_COSTO NUMBER;
SCONTO_MASSIMO NUMBER;
T_SCONTO_EROGATO NUMBER;
RESULT VARCHAR(255);
BEGIN
MINIMO_COSTO := 1;
SCONTO_MASSIMO := 250;
PERC_NATIVITA := 50;
SELECT
COSTO_TRATTA, SCONTO_TOTALE INTO
COSTO_VOLO, T_SCONTO_EROGATO FROM DOMANDA_SCONTI WHERE ID = P_ID;
SCONTO_RESIDENTI := ROUND((COSTO_VOLO*PERC_NATIVITA/100), 2);
IF SCONTO_RESIDENTI > SCONTO_MASSIMO THEN
SCONTO_RESIDENTI := SCONTO_MASSIMO;
END IF;
INTEGRAZIONE := SCONTO_RESIDENTI - T_SCONTO_EROGATO ;
RESULT := INTEGRAZIONE;
RETURN RESULT;
END FNGETINTEGRAZIONE_POST;
/
--
-- FNGETINTEGRAZIONE_PRE (Function)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- DOMANDA (Table)
-- DOMANDA_SCONTI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FNGETINTEGRAZIONE_PRE" (
P_ID IN NUMBER
) RETURN VARCHAR IS
T_ID_DOMANDA INT;
T_ISEE INT;
T_PRIORITY NUMBER;
T_BENEFICIARIO VARCHAR(255);
COSTO_VOLO NUMBER;
--TMP_COSTO_VOLO NUMBER;
T_COMPAGNIA_ID INT;
CATEGORIA_PRIORITARIA NUMBER;
SCONTO_RESIDENTI NUMBER;
SCONTO_PRIORITARI NUMBER;
SCONTO_TOTALE NUMBER;
INTEGRAZIONE NUMBER;
PERC_RESIDENTI NUMBER;
PERC_PRIORITARI NUMBER;
MINIMO_COSTO NUMBER;
SCONTO_MASSIMO NUMBER;
CTR_STATO INT;
--CTR_ADESIONE INT;
T_DATA_VOLO DATE;
--T_DATA_ADESIONE DATE;
T_DATA_ACQUISTO DATE;
T_ID_ACCOUNT INT;
T_SCONTO_EROGATO NUMBER;
--NUOVA_TRATTA INT;
RESULT VARCHAR(255);
BEGIN
MINIMO_COSTO := 1;
SCONTO_MASSIMO := 75;
PERC_RESIDENTI := 25;
PERC_PRIORITARI := 25;
SCONTO_PRIORITARI :=0;
--CTR_ADESIONE :=0;
--NUOVA_TRATTA :=0;
-- verifico se siamo in presenza di una nuova tratta
/*SELECT COUNT(ID) INTO NUOVA_TRATTA FROM DOMANDA_SCONTI WHERE ID = P_ID AND
(
AEROPORTO_PARTENZA_CODICE NOT IN ('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY') OR
AEROPORTO_DESTINAZIONE_CODICE NOT IN('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY')
);*/
SELECT
ID_DOMANDA, STATO, CODICE_FISCALE, COSTO_TRATTA, ISEE,
COMPAGNIA_ID, DATA_VOLO, DATA_ACQUISTO, SCONTO_TOTALE, PRIORITY INTO T_ID_DOMANDA, CTR_STATO, T_BENEFICIARIO,
COSTO_VOLO, T_ISEE, T_COMPAGNIA_ID, T_DATA_VOLO, T_DATA_ACQUISTO, T_SCONTO_EROGATO, T_PRIORITY FROM DOMANDA_SCONTI WHERE ID = P_ID;
-- se lo stato della richiesta di sconto è = 0
IF CTR_STATO = 0 THEN
SELECT ISEE, ID_ACCOUNT INTO T_ISEE, T_ID_ACCOUNT FROM DOMANDA WHERE ID = T_ID_DOMANDA;
SELECT PRIORITY INTO T_PRIORITY FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO AND ID_ACCOUNT = T_ID_ACCOUNT;
END IF;
/*IF T_COMPAGNIA_ID > 0 THEN
SELECT ADESIONE, DATA_ADESIONE INTO CTR_ADESIONE, T_DATA_ADESIONE FROM ANAG_COMPAGNIE WHERE ID = T_COMPAGNIA_ID;
END IF;*/
IF T_PRIORITY > 0 OR T_ISEE > 0 THEN
CATEGORIA_PRIORITARIA := 1;
ELSE
CATEGORIA_PRIORITARIA := 0;
END IF;
SCONTO_RESIDENTI := ROUND((COSTO_VOLO*PERC_RESIDENTI/100), 2);
IF CATEGORIA_PRIORITARIA = 1 THEN
SCONTO_PRIORITARI := ROUND((COSTO_VOLO*PERC_PRIORITARI/100), 2);
END IF;
SCONTO_TOTALE := SCONTO_RESIDENTI+SCONTO_PRIORITARI;
IF SCONTO_TOTALE > SCONTO_MASSIMO THEN
SCONTO_TOTALE := SCONTO_MASSIMO;
END IF;
INTEGRAZIONE := (SCONTO_TOTALE)-T_SCONTO_EROGATO;
RESULT := INTEGRAZIONE;
RETURN RESULT;
END FNGETINTEGRAZIONE_PRE;
/
--
-- FNGETSCONTO_MANUALE (Function)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- ANAG_COMPAGNIE (Table)
-- DOMANDA (Table)
-- DOMANDA_SCONTI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FNGETSCONTO_MANUALE" (
P_ID IN NUMBER,
P_BY_PASS_STATO IN INT,
P_FORZARESIDENZA IN INT
) RETURN VARCHAR IS
T_ID_DOMANDA INT;
T_ISEE INT;
T_PRIORITY NUMBER;
T_BENEFICIARIO VARCHAR(255);
COSTO_VOLO NUMBER;
TMP_COSTO_VOLO NUMBER;
T_COMPAGNIA_ID INT;
CATEGORIA_PRIORITARIA NUMBER;
SCONTO_RESIDENTI NUMBER;
SCONTO_PRIORITARI NUMBER;
SCONTO_TOTALE NUMBER;
PERC_RESIDENTI NUMBER;
PERC_PRIORITARI NUMBER;
MINIMO_COSTO NUMBER;
SCONTO_MASSIMO NUMBER;
SCONTO_MASSIMO_RESIDENTI NUMBER;
CTR_STATO INT;
CTR_ADESIONE INT;
T_DATA_VOLO DATE;
T_DATA_ADESIONE DATE;
T_DATA_ACQUISTO DATE;
T_ID_ACCOUNT INT;
NUOVA_TRATTA INT;
T_FORZA_RESIDENZA INT;
RESULT VARCHAR(255);
BEGIN
MINIMO_COSTO := 1;
SCONTO_MASSIMO := 75;
SCONTO_MASSIMO_RESIDENTI :=37.50;
PERC_RESIDENTI := 25;
PERC_PRIORITARI := 25;
SCONTO_PRIORITARI :=0;
CTR_ADESIONE :=0;
NUOVA_TRATTA :=0;
T_FORZA_RESIDENZA :=0;
-- verifico se siamo in presenza di una nuova tratta
SELECT COUNT(ID) INTO NUOVA_TRATTA FROM DOMANDA_SCONTI WHERE ID = P_ID AND
(
AEROPORTO_PARTENZA_CODICE NOT IN ('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY') OR
AEROPORTO_DESTINAZIONE_CODICE NOT IN('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY')
);
SELECT
ID_DOMANDA, STATO, CODICE_FISCALE, COSTO_TRATTA, ISEE,
COMPAGNIA_ID, DATA_VOLO, DATA_ACQUISTO, FORZA_RESIDENZA, PRIORITY INTO T_ID_DOMANDA, CTR_STATO, T_BENEFICIARIO,
COSTO_VOLO, T_ISEE, T_COMPAGNIA_ID, T_DATA_VOLO, T_DATA_ACQUISTO, T_FORZA_RESIDENZA, T_PRIORITY FROM DOMANDA_SCONTI WHERE ID = P_ID;
-- se lo stato della richiesta di sconto è = 0
IF CTR_STATO = 0 AND P_BY_PASS_STATO = 0 THEN
SELECT ISEE, ID_ACCOUNT INTO T_ISEE, T_ID_ACCOUNT FROM DOMANDA WHERE ID = T_ID_DOMANDA;
SELECT PRIORITY INTO T_PRIORITY FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO AND ID_ACCOUNT = T_ID_ACCOUNT;
END IF;
IF T_COMPAGNIA_ID > 0 THEN
SELECT ADESIONE, DATA_ADESIONE INTO CTR_ADESIONE, T_DATA_ADESIONE FROM ANAG_COMPAGNIE WHERE ID = T_COMPAGNIA_ID;
END IF;
IF T_PRIORITY > 0 OR T_ISEE > 0 THEN
CATEGORIA_PRIORITARIA := 1;
ELSE
CATEGORIA_PRIORITARIA := 0;
SCONTO_MASSIMO := SCONTO_MASSIMO_RESIDENTI;
END IF;
IF P_FORZARESIDENZA = 1 THEN
T_FORZA_RESIDENZA := 1;
ELSE
T_FORZA_RESIDENZA := T_FORZA_RESIDENZA;
END IF;
-- SE LA COMPAGNIA HA ADERITO ALLO SCONTO DEL 25% GIA APPLICATO AL PREZZO DEL BIGLIETTO NON CONSIDERO LO SCONTO RESIDENTI
IF NUOVA_TRATTA = 0 AND T_FORZA_RESIDENZA = 0 AND CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_ACQUISTO THEN
-- IF CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_ACQUISTO THEN
TMP_COSTO_VOLO := (COSTO_VOLO/(1-(PERC_RESIDENTI/100)));
SCONTO_MASSIMO := SCONTO_MASSIMO_RESIDENTI;
IF (TMP_COSTO_VOLO - COSTO_VOLO) > SCONTO_MASSIMO THEN
COSTO_VOLO := (COSTO_VOLO+SCONTO_MASSIMO);
ELSE
COSTO_VOLO := (COSTO_VOLO/(1-(PERC_RESIDENTI/100)));
END IF;
SCONTO_RESIDENTI := 0;
ELSE
SCONTO_RESIDENTI := ROUND((COSTO_VOLO*PERC_RESIDENTI/100), 2);
END IF;
IF CATEGORIA_PRIORITARIA = 1 THEN
SCONTO_PRIORITARI := ROUND((COSTO_VOLO*PERC_PRIORITARI/100), 2);
END IF;
SCONTO_TOTALE := SCONTO_RESIDENTI+SCONTO_PRIORITARI;
IF SCONTO_TOTALE > SCONTO_MASSIMO THEN
SCONTO_TOTALE := SCONTO_MASSIMO;
END IF;
RESULT := SCONTO_TOTALE;
RETURN RESULT;
END FNGETSCONTO_MANUALE;
/
--
-- FNGETSCONTO_OLD (Function)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- ANAG_COMPAGNIE (Table)
-- DOMANDA (Table)
-- DOMANDA_SCONTI (Table)
-- STANDARD (Package)
--
CREATE OR REPLACE FUNCTION "FNGETSCONTO_OLD" (
P_ID IN NUMBER,
P_TIPO IN VARCHAR
) RETURN VARCHAR IS
T_ID_DOMANDA INT;
T_ISEE NUMBER;
T_STUDENTE NUMBER;
T_DISABILE NUMBER;
T_BENEFICIARIO VARCHAR(255);
COSTO_VOLO NUMBER;
T_COMPAGNIA_ID INT;
CATEGORIA_PRIORITARIA NUMBER;
SCONTO_RESIDENTI NUMBER;
SCONTO_PRIORITARI NUMBER;
SCONTO_TOTALE NUMBER;
TRATTA_SCONTATA NUMBER;
CONTRIBUTO_TEORICO NUMBER;
CONTRIBUTO_REALE NUMBER;
PERC_RESIDENTI NUMBER;
PERC_PRIORITARI NUMBER;
MINIMO_COSTO NUMBER;
COSTO_MED NUMBER;
SCONTO_MASSIMO NUMBER;
CTR_STATO INT;
CTR_ADESIONE INT;
T_DATA_VOLO DATE;
T_DATA_ADESIONE DATE;
SCONTO_RESIDENTI_ADESIONE NUMBER;
COSTO_FINALE_VOLO NUMBER;
CTR_ADESIONE_SC_MAX NUMBER;
CONTRIBUTO_REALE_ADESIONE NUMBER;
RESULT VARCHAR(255);
BEGIN
MINIMO_COSTO := 50;
COSTO_MED := 62.5;
SCONTO_MASSIMO := 75;
PERC_RESIDENTI := 25;
PERC_PRIORITARI := 25;
SCONTO_PRIORITARI :=0;
CTR_ADESIONE :=0;
SCONTO_RESIDENTI_ADESIONE := 0;
SELECT
ID_DOMANDA, STATO, CODICE_FISCALE, STUDENTE, DISABILE, COSTO_TRATTA, ISEE,
COMPAGNIA_ID, DATA_VOLO INTO T_ID_DOMANDA, CTR_STATO, T_BENEFICIARIO, T_STUDENTE, T_DISABILE,
COSTO_VOLO, T_ISEE, T_COMPAGNIA_ID, T_DATA_VOLO FROM DOMANDA_SCONTI WHERE ID = P_ID;
-- se lo stato della richiesta di sconto è = 0
IF CTR_STATO = 0 THEN
SELECT STUDENTE, DISABILE INTO T_STUDENTE, T_DISABILE FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO;
SELECT ISEE INTO T_ISEE FROM DOMANDA WHERE ID = T_ID_DOMANDA;
END IF;
IF T_COMPAGNIA_ID > 0 THEN
SELECT ADESIONE, DATA_ADESIONE INTO CTR_ADESIONE, T_DATA_ADESIONE FROM ANAG_COMPAGNIE WHERE ID = T_COMPAGNIA_ID;
END IF;
IF T_STUDENTE > 0 OR T_DISABILE > 0 OR T_ISEE > 0 THEN
CATEGORIA_PRIORITARIA := 1;
ELSE
CATEGORIA_PRIORITARIA := 0;
END IF;
-- SE LA COMPAGNIA HA ADERITO ALLO SCONTO DEL 25% GIA APPLICATO AL PREZZO DEL BIGLIETTO NON CONSIDERO LO SCONTO RESIDENTI
IF CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_VOLO THEN
COSTO_VOLO := (COSTO_VOLO/(1-(PERC_RESIDENTI/100)));
SCONTO_RESIDENTI := 0;
ELSE
SCONTO_RESIDENTI := (COSTO_VOLO*PERC_RESIDENTI/100);
END IF;
IF CATEGORIA_PRIORITARIA = 1 THEN
SCONTO_PRIORITARI := (COSTO_VOLO*PERC_PRIORITARI/100);
END IF;
SCONTO_TOTALE := SCONTO_RESIDENTI+SCONTO_PRIORITARI;
TRATTA_SCONTATA:= COSTO_VOLO-SCONTO_TOTALE;
CONTRIBUTO_TEORICO := COSTO_VOLO-TRATTA_SCONTATA;
IF (COSTO_VOLO - CONTRIBUTO_TEORICO) < MINIMO_COSTO THEN
CONTRIBUTO_REALE := (COSTO_VOLO - MINIMO_COSTO);
ELSE
IF CONTRIBUTO_TEORICO > SCONTO_MASSIMO THEN
CONTRIBUTO_REALE := SCONTO_MASSIMO;
ELSE
CONTRIBUTO_REALE := CONTRIBUTO_TEORICO;
END IF;
END IF;
/*CASE
WHEN (COSTO_VOLO - CONTRIBUTO_TEORICO) < MINIMO_COSTO THEN
CONTRIBUTO_REALE := (COSTO_VOLO - MINIMO_COSTO);
WHEN (COSTO_VOLO - CONTRIBUTO_TEORICO) > MINIMO_COSTO THEN --AND (COSTO_VOLO - CONTRIBUTO_TEORICO) < SCONTO_MASSIMO
CONTRIBUTO_REALE := CONTRIBUTO_TEORICO;
WHEN CONTRIBUTO_TEORICO > SCONTO_MASSIMO THEN
CONTRIBUTO_REALE := SCONTO_MASSIMO;
ELSE
CONTRIBUTO_REALE := 0;
END CASE;*/
IF CONTRIBUTO_REALE < 0 THEN
CONTRIBUTO_REALE :=0;
END IF;
COSTO_FINALE_VOLO := (COSTO_VOLO - CONTRIBUTO_REALE);
-- SE LA COMPAGNIA HA ADERITO ALLO SCONTO DEL 25% GIA APPLICATO AL PREZZO DEL BIGLIETTO
IF CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_VOLO THEN
COSTO_FINALE_VOLO := (COSTO_VOLO - CONTRIBUTO_REALE);
IF (COSTO_FINALE_VOLO-CONTRIBUTO_REALE)>MINIMO_COSTO THEN
CTR_ADESIONE_SC_MAX := CONTRIBUTO_REALE;
ELSE
CTR_ADESIONE_SC_MAX := COSTO_FINALE_VOLO - MINIMO_COSTO;
END IF;
IF (CTR_ADESIONE_SC_MAX+CONTRIBUTO_REALE) > SCONTO_MASSIMO THEN
CONTRIBUTO_REALE_ADESIONE := SCONTO_MASSIMO-CONTRIBUTO_REALE;
ELSE
CONTRIBUTO_REALE_ADESIONE := CTR_ADESIONE_SC_MAX;
END IF;
CONTRIBUTO_REALE:= CONTRIBUTO_REALE_ADESIONE;
IF CONTRIBUTO_REALE < 0 THEN
CONTRIBUTO_REALE :=0;
END IF;
END IF;
CASE WHEN P_TIPO = 'CATEGORIA_PRIORITARIA' THEN
-- Restituisce solo L'INCIDENZA
RESULT := CATEGORIA_PRIORITARIA;
WHEN P_TIPO = 'SCONTO_TOTALE' THEN
-- Restituisce solo PERCENTUALE CONTRIBUTO
RESULT := SCONTO_TOTALE;
WHEN P_TIPO = 'CONTRIBUTO_TEORICO' THEN
-- Restituisce solo CONTRIBUTO TEORICO
RESULT := CONTRIBUTO_TEORICO;
WHEN P_TIPO = 'SCONTO_PRIORITARI' THEN
-- Restituisce solo CONTRIBUTO TEORICO
RESULT := SCONTO_PRIORITARI;
WHEN P_TIPO = 'TRATTA_SCONTATA' THEN
-- Restituisce solo CONTRIBUTO TEORICO
RESULT := TRATTA_SCONTATA;
ELSE
RESULT := CONTRIBUTO_REALE;
END CASE;
RETURN RESULT;
END FNGETSCONTO_OLD;
/
--
-- FNGETSCONTO_POST (Function)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FNGETSCONTO_POST" (
P_ID IN NUMBER,
P_TIPO IN VARCHAR
) RETURN VARCHAR IS
COSTO_VOLO NUMBER;
PERC_NATIVITA NUMBER;
SCONTO_NATIVITA NUMBER;
SCONTO_TOTALE NUMBER;
MINIMO_COSTO NUMBER;
SCONTO_MASSIMO NUMBER;
RESULT VARCHAR(255);
BEGIN
MINIMO_COSTO := 1;
SCONTO_MASSIMO := 250;
PERC_NATIVITA := 50;
SELECT
COSTO_TRATTA INTO
COSTO_VOLO FROM DOMANDA_SCONTI WHERE ID = P_ID;
SCONTO_NATIVITA := ROUND((COSTO_VOLO*PERC_NATIVITA/100), 2);
SCONTO_TOTALE := SCONTO_NATIVITA;
IF SCONTO_TOTALE > SCONTO_MASSIMO THEN
SCONTO_TOTALE := SCONTO_MASSIMO;
END IF;
RESULT := SCONTO_TOTALE;
RETURN RESULT;
END FNGETSCONTO_POST;
/
--
-- FNGETSCONTO_PRE (Function)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- ANAG_COMPAGNIE (Table)
-- DOMANDA (Table)
-- DOMANDA_SCONTI (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FNGETSCONTO_PRE" (
P_ID IN NUMBER,
P_TIPO IN VARCHAR
) RETURN VARCHAR IS
T_ID_DOMANDA INT;
T_ISEE INT;
T_PRIORITY NUMBER;
T_BENEFICIARIO VARCHAR(255);
COSTO_VOLO NUMBER;
TMP_COSTO_VOLO NUMBER;
T_COMPAGNIA_ID INT;
CATEGORIA_PRIORITARIA NUMBER;
SCONTO_RESIDENTI NUMBER;
SCONTO_PRIORITARI NUMBER;
SCONTO_TOTALE NUMBER;
PERC_RESIDENTI NUMBER;
PERC_PRIORITARI NUMBER;
MINIMO_COSTO NUMBER;
SCONTO_MASSIMO NUMBER;
SCONTO_MASSIMO_RESIDENTI NUMBER;
CTR_STATO INT;
CTR_ADESIONE INT;
T_DATA_VOLO DATE;
T_DATA_ADESIONE DATE;
T_DATA_ACQUISTO DATE;
T_ID_ACCOUNT INT;
NUOVA_TRATTA INT;
T_FORZA_RESIDENZA INT;
T_COMPAGNIA_NOSCORPORO INT;
RESULT VARCHAR(255);
BEGIN
MINIMO_COSTO := 1;
SCONTO_MASSIMO := 75;
SCONTO_MASSIMO_RESIDENTI :=37.50;
PERC_RESIDENTI := 25;
PERC_PRIORITARI := 25;
SCONTO_PRIORITARI :=0;
CTR_ADESIONE :=0;
NUOVA_TRATTA :=0;
T_FORZA_RESIDENZA :=0;
T_COMPAGNIA_NOSCORPORO :=28; -- ITA AIRWAYS non deve essere effettualo lo scorporo dello sconto residenti
-- verifico se siamo in presenza di una nuova tratta
SELECT COUNT(ID) INTO NUOVA_TRATTA FROM DOMANDA_SCONTI WHERE ID = P_ID AND
(
AEROPORTO_PARTENZA_CODICE NOT IN ('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY') OR
AEROPORTO_DESTINAZIONE_CODICE NOT IN('CIA','FCO','LIN','MXP','BGY', 'CTA','PMO','TPS','LMP','PNL','CIY')
);
SELECT
ID_DOMANDA, STATO, CODICE_FISCALE, COSTO_TRATTA, ISEE,
COMPAGNIA_ID, DATA_VOLO, DATA_ACQUISTO, FORZA_RESIDENZA, PRIORITY INTO T_ID_DOMANDA, CTR_STATO, T_BENEFICIARIO,
COSTO_VOLO, T_ISEE, T_COMPAGNIA_ID, T_DATA_VOLO, T_DATA_ACQUISTO, T_FORZA_RESIDENZA, T_PRIORITY FROM DOMANDA_SCONTI WHERE ID = P_ID;
-- se lo stato della richiesta di sconto è = 0
IF CTR_STATO = 0 THEN
SELECT ISEE, ID_ACCOUNT INTO T_ISEE, T_ID_ACCOUNT FROM DOMANDA WHERE ID = T_ID_DOMANDA;
SELECT PRIORITY INTO T_PRIORITY FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO AND ID_ACCOUNT = T_ID_ACCOUNT;
END IF;
IF T_COMPAGNIA_ID > 0 THEN
SELECT ADESIONE, DATA_ADESIONE INTO CTR_ADESIONE, T_DATA_ADESIONE FROM ANAG_COMPAGNIE WHERE ID = T_COMPAGNIA_ID;
END IF;
IF T_PRIORITY > 0 OR T_ISEE > 0 THEN
CATEGORIA_PRIORITARIA := 1;
ELSE
CATEGORIA_PRIORITARIA := 0;
SCONTO_MASSIMO := SCONTO_MASSIMO_RESIDENTI;
END IF;
-- SE LA COMPAGNIA HA ADERITO ALLO SCONTO DEL 25% GIA APPLICATO AL PREZZO DEL BIGLIETTO NON CONSIDERO LO SCONTO RESIDENTI
IF NUOVA_TRATTA = 0 AND T_FORZA_RESIDENZA = 0 AND CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_ACQUISTO THEN
-- IF CTR_ADESIONE = 1 AND T_DATA_ADESIONE <= T_DATA_ACQUISTO THEN
SCONTO_MASSIMO := SCONTO_MASSIMO_RESIDENTI;
SCONTO_RESIDENTI := 0;
IF (T_COMPAGNIA_NOSCORPORO != T_COMPAGNIA_ID) THEN
TMP_COSTO_VOLO := (COSTO_VOLO/(1-(PERC_RESIDENTI/100)));
IF (TMP_COSTO_VOLO - COSTO_VOLO) > SCONTO_MASSIMO THEN
COSTO_VOLO := (COSTO_VOLO+SCONTO_MASSIMO);
ELSE
COSTO_VOLO := (COSTO_VOLO/(1-(PERC_RESIDENTI/100)));
END IF;
END IF;
ELSE
SCONTO_RESIDENTI := ROUND((COSTO_VOLO*PERC_RESIDENTI/100), 2);
END IF;
IF CATEGORIA_PRIORITARIA = 1 THEN
SCONTO_PRIORITARI := ROUND((COSTO_VOLO*PERC_PRIORITARI/100), 2);
END IF;
SCONTO_TOTALE := SCONTO_RESIDENTI+SCONTO_PRIORITARI;
IF SCONTO_TOTALE > SCONTO_MASSIMO THEN
SCONTO_TOTALE := SCONTO_MASSIMO;
END IF;
CASE WHEN P_TIPO = 'CATEGORIA_PRIORITARIA' THEN
-- Restituisce solo L'INCIDENZA
RESULT := CATEGORIA_PRIORITARIA;
WHEN P_TIPO = 'SCONTO_PRIORITARI' THEN
RESULT := SCONTO_PRIORITARI;
WHEN P_TIPO = 'SCONTO_RESIDENTI' THEN
RESULT := SCONTO_RESIDENTI;
ELSE
RESULT := SCONTO_TOTALE;
END CASE;
RETURN RESULT;
END FNGETSCONTO_PRE;
/
--
-- GETPERIODOANNIMESIGIORNI (Function)
--
-- Dependencies:
-- DUAL (Synonym)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "GETPERIODOANNIMESIGIORNI" (
P_DATA_INIZIO IN DATE,
P_DATA_FINE IN DATE,
P_TIPO IN VARCHAR
) RETURN NUMBER IS
ANNI NUMBER;
MESI NUMBER;
GIORNI NUMBER;
PLUS NUMBER;
RESULT NUMBER;
DATA_FINE DATE;
BEGIN
ANNI := 0;
MESI := 0;
GIORNI := 0;
PLUS := 0;
RESULT := 0;
--DATA_INIZIO := TO_DATE('01/01/2000 00:00:00','dd/mm/YYYY hh24:mi:ss');
DATA_FINE := P_DATA_FINE; -- AGGIUNGO IL GIORNO ESTREMO DEL PERIODO
/*SELECT
TRUNC (MONTHS_BETWEEN (P_DATA_FINE, P_DATA_INIZIO) / 12),
MOD (TRUNC (MONTHS_BETWEEN (P_DATA_FINE, P_DATA_INIZIO)), 12),
(P_DATA_FINE - ADD_MONTHS (P_DATA_INIZIO, TRUNC(MONTHS_BETWEEN (P_DATA_FINE,P_DATA_INIZIO))))
INTO ANNI, MESI, GIORNI FROM DUAL;
*/
WITH T (START_DATE, END_DATE) AS (
SELECT P_DATA_INIZIO, DATA_FINE FROM DUAL
)
SELECT
TRUNC(MONTH_DIFF/12),
TRUNC(MOD(MONTH_DIFF, 12)),
TRUNC(END_DATE - ADD_MONTHS(START_DATE, MONTH_DIFF)) INTO ANNI, MESI, GIORNI
FROM (
SELECT START_DATE, END_DATE,
TRUNC(MONTHS_BETWEEN(END_DATE, START_DATE)) AS MONTH_DIFF
FROM T
);
--GIORNI := GIORNI+1;
IF GIORNI = 30 THEN
GIORNI := 0;
MESI := (MESI + 1);
IF MESI = 12 THEN
MESI := 0;
ANNI := (ANNI + 1);
END IF;
END IF;
CASE WHEN P_TIPO = 'ANNI' THEN
-- Restituisce solo il numero di anni
RESULT := ANNI;
WHEN P_TIPO = 'MESI' THEN
-- Restituisce solo il numero di mesi
RESULT := MESI;
WHEN P_TIPO = 'GIORNI' THEN
-- Restituisce solo il numero di giorni
RESULT := GIORNI;
ELSE
-- Restituisce solo il numero di anni frazionati sommando
IF MESI >= 6 THEN
PLUS := 1;
ELSE
PLUS := 0;
END IF;
RESULT := (ANNI+PLUS);
END CASE;
RETURN RESULT ;
END GETPERIODOANNIMESIGIORNI;
/
--
-- GET_IDENTIFICATIVO (Function)
--
-- Dependencies:
-- STANDARD (Package)
--
CREATE OR REPLACE FUNCTION "GET_IDENTIFICATIVO" (
P_ID IN NUMBER,
P_DATA_REGISTRAZIONE IN TIMESTAMP
)
RETURN VARCHAR2 IS
IDENTIFICATIVO VARCHAR2(30);
BEGIN
IDENTIFICATIVO := 'D'||TO_CHAR(P_DATA_REGISTRAZIONE,'YYYYmm')||LPAD(to_char(P_ID), 6, '0' );
RETURN IDENTIFICATIVO;
END;
/
--
-- VIEW_EXPORT_SCONTI_OPT (View)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- DOMANDA (Table)
-- DOMANDA_SCONTI (Table)
-- DOMANDA_SCONTI_INTEGRAZIONE (Table)
-- FNGETSCONTO_MANUALE (Function)
--
CREATE OR REPLACE FORCE VIEW VIEW_EXPORT_SCONTI_OPT
(ID, ID_DOMANDA, COGNOME, NOME, DATA_NASCITA,
RAPPORTO_PARENTELA, CODICE_FISCALE, COMUNE_RESIDENZA, PROV_RESIDENZA, CAP_RESIDENZA,
COMPAGNIA_AEREA, NUMERO_VOLO, DATA_VOLO, COSTO_TRATTA, AEROPORTO_PARTENZA,
AEROPORTO_PARTENZA_CODICE, AEROPORTO_DESTINAZIONE, AEROPORTO_DESTINAZIONE_CODICE, FILEPATH_BIGLIETTO, FILEPATH_CARTAIMBARCO,
ISEE, DATA_RILASCIO_ISEE, IBAN, ISTITUTO_CREDITO, FILIALE_CREDITO,
STATO, DATA_REGISTRAZIONE, ID_UID_FIREBASE, DATA_ESPORTAZIONE, DATA_ESITO,
DATA_EROGAZIONE, NOTE, SCONTO_TOTALE, COMPAGNIA_ID, DATA_ACQUISTO,
LOTTO, FLAG, PRIORITA, ID_ACCOUNT, FORZA_RESIDENZA,
CITTADINANZA, LOTTO_INTEGRAZIONE)
BEQUEATH DEFINER
AS
WITH
StatoCalcolato (ID, ID_DOMANDA, STATO_ATTIVO)
AS
(SELECT ID,
ID_DOMANDA,
CASE WHEN STATO >= 1 THEN 1 ELSE 0 END AS STATO_ATTIVO
FROM DOMANDA_SCONTI)
SELECT DS.ID,
DS.ID_DOMANDA,
DS.COGNOME,
DS.NOME,
DS.DATA_NASCITA,
DS.RAPPORTO_PARENTELA,
DS.CODICE_FISCALE,
CASE
WHEN DS.STATO >= 1 THEN DS.COMUNE_RESIDENZA
ELSE AF.COMUNE_RESIDENZA
END
AS COMUNE_RESIDENZA,
CASE
WHEN DS.STATO >= 1 THEN DS.PROV_RESIDENZA
ELSE AF.PROV_RESIDENZA
END
AS PROV_RESIDENZA,
CASE
WHEN DS.STATO >= 1 THEN DS.CAP_RESIDENZA
ELSE AF.CAP_RESIDENZA
END
AS CAP_RESIDENZA,
DS.COMPAGNIA_AEREA,
DS.NUMERO_VOLO,
DS.DATA_VOLO,
DS.COSTO_TRATTA,
DS.AEROPORTO_PARTENZA,
DS.AEROPORTO_PARTENZA_CODICE,
DS.AEROPORTO_DESTINAZIONE,
DS.AEROPORTO_DESTINAZIONE_CODICE,
DS.FILEPATH_BIGLIETTO,
DS.FILEPATH_CARTAIMBARCO,
CASE WHEN DS.STATO >= 1 THEN DS.ISEE ELSE D.ISEE END
AS ISEE,
CASE
WHEN DS.STATO >= 1 THEN DS.DATA_RILASCIO_ISEE
ELSE D.DATA_RILASCIO_ISEE
END
AS DATA_RILASCIO_ISEE,
CASE WHEN DS.STATO >= 1 THEN DS.IBAN ELSE D.IBAN END
AS IBAN,
CASE
WHEN DS.STATO >= 1 THEN DS.ISTITUTO_CREDITO
ELSE D.ISTITUTO_CREDITO
END
AS ISTITUTO_CREDITO,
CASE
WHEN DS.STATO >= 1 THEN DS.FILIALE_CREDITO
ELSE D.FILIALE_CREDITO
END
AS FILIALE_CREDITO,
DS.STATO,
DS.DATA_REGISTRAZIONE,
DS.ID_UID_FIREBASE,
DS.DATA_ESPORTAZIONE,
DS.DATA_ESITO,
DS.DATA_EROGAZIONE,
DS.NOTE,
TO_NUMBER (FNGETSCONTO_MANUALE (DS.ID, 1, 0))
AS SCONTO_TOTALE,
DS.COMPAGNIA_ID,
DS.DATA_ACQUISTO,
DS.LOTTO,
CASE WHEN DS.STATO >= 1 THEN AF.FLAG ELSE DS.FLAG END
AS FLAG,
CASE WHEN DS.STATO >= 1 THEN DS.PRIORITY ELSE AF.PRIORITY END
AS PRIORITA,
D.ID_ACCOUNT,
DS.FORZA_RESIDENZA,
DS.CITTADINANZA,
DI.LOTTO_INTEGRAZIONE
FROM DOMANDA_SCONTI DS
LEFT JOIN DOMANDA_SCONTI_INTEGRAZIONE DI
ON DI.ID_RICHIESTA = DS.ID
INNER JOIN DOMANDA D ON DS.ID_DOMANDA = D.ID
INNER JOIN ACCOUNT_NUCLEO_FAMILIARE AF
ON AF.ID_ACCOUNT = D.ID_ACCOUNT
AND DS.CODICE_FISCALE = AF.CODICE_FISCALE;
--
-- VIEW_TRATTE (View)
--
-- Dependencies:
-- AEROPORTI (Table)
--
CREATE OR REPLACE FORCE VIEW VIEW_TRATTE
(A_CODICE, A_NOME, R_CODICE, R_NOME)
BEQUEATH DEFINER
AS
SELECT A.CODICE AS A_CODICE, A.NOME AS A_NOME, R.CODICE AS R_CODICE, R.NOME AS R_NOME
FROM AEROPORTI A
CROSS JOIN AEROPORTI R
WHERE A.REGIONE = 19 AND R.REGIONE != 19
UNION
SELECT R.CODICE AS A_CODICE, R.NOME AS A_NOME, A.CODICE AS R_CODICE, A.NOME AS R_NOME
FROM AEROPORTI R
CROSS JOIN AEROPORTI A
WHERE A.REGIONE = 19 AND R.REGIONE != 19;
--
-- ACCOUNT_ANAGRAFICA_BI (Trigger)
--
-- Dependencies:
-- ACCOUNT_ANAGRAFICA (Table)
-- ACCOUNT_ANAG_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER ACCOUNT_ANAGRAFICA_BI
BEFORE INSERT ON ACCOUNT_ANAGRAFICA
FOR EACH ROW
BEGIN
SELECT ACCOUNT_ANAG_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- ACCOUNT_BI (Trigger)
--
-- Dependencies:
-- ACCOUNT (Table)
-- ACCOUNT_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER ACCOUNT_BI
BEFORE INSERT ON ACCOUNT
FOR EACH ROW
BEGIN
SELECT ACCOUNT_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- ACCOUNT_NUCLEO_BI (Trigger)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- ACCOUNT_NUCLEO_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER ACCOUNT_NUCLEO_BI
BEFORE INSERT ON ACCOUNT_NUCLEO_FAMILIARE
FOR EACH ROW
BEGIN
SELECT ACCOUNT_NUCLEO_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- ALLEGATI_BI (Trigger)
--
-- Dependencies:
-- ALLEGATI (Table)
-- ALLEGATI_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER ALLEGATI_BI
BEFORE INSERT ON ALLEGATI
FOR EACH ROW
BEGIN
SELECT ALLEGATI_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- ANAG_COMPAGNIE_TRG (Trigger)
--
-- Dependencies:
-- ANAG_COMPAGNIE (Table)
-- ANAG_COMPAGNIE_SEQ (Sequence)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER ANAG_COMPAGNIE_TRG
BEFORE INSERT
ON ANAG_COMPAGNIE
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
BEGIN
-- For Toad: Highlight column ID
:new.ID := ANAG_COMPAGNIE_SEQ.nextval;
END ANAG_COMPAGNIE_TRG;
/
--
-- ANAG_DICHIARAZIONI_BI (Trigger)
--
-- Dependencies:
-- ANAG_DICHIARAZIONI (Table)
-- ANAG_DICHIARAZIONI_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER ANAG_DICHIARAZIONI_BI
BEFORE INSERT ON ANAG_DICHIARAZIONI
FOR EACH ROW
BEGIN
SELECT ANAG_DICHIARAZIONI_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- AUDIT_RICHIESTA_INTEGRAZIONE_BI (Trigger)
--
-- Dependencies:
-- AUDIT_RICHIESTA_INTEGRAZIONE (Table)
-- AUDIT_RICHIESTA_INTEGRAZIONE_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER AUDIT_RICHIESTA_INTEGRAZIONE_BI
BEFORE INSERT ON AUDIT_RICHIESTA_INTEGRAZIONE
FOR EACH ROW
BEGIN
SELECT AUDIT_RICHIESTA_INTEGRAZIONE_ID_SEQ.nextval
INTO :new.ID_AUDIT
FROM dual;
END;
/
--
-- BANDI_BI (Trigger)
--
-- Dependencies:
-- BANDI (Table)
-- BANDI_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER BANDI_BI
BEFORE INSERT ON BANDI
FOR EACH ROW
BEGIN
SELECT BANDI_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- COMUNE_BI (Trigger)
--
-- Dependencies:
-- COMUNE (Table)
-- COMUNE_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER COMUNE_BI
BEFORE INSERT ON COMUNE
FOR EACH ROW
BEGIN
SELECT COMUNE_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- CUSTOMER_SATISFACTION_BI (Trigger)
--
-- Dependencies:
-- CUSTOMER_SATISFACTION (Table)
-- CUSTOMER_SATISFACTION_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER CUSTOMER_SATISFACTION_BI
BEFORE INSERT ON CUSTOMER_SATISFACTION
FOR EACH ROW
BEGIN
SELECT CUSTOMER_SATISFACTION_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- DOCUMENTIBANDO_BI (Trigger)
--
-- Dependencies:
-- DOCUMENTI_BANDO (Table)
-- DOCUMENTIBANDO_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER DOCUMENTIBANDO_BI
BEFORE INSERT ON DOCUMENTI_BANDO
FOR EACH ROW
BEGIN
SELECT DOCUMENTIBANDO_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- DOMANDA_BI (Trigger)
--
-- Dependencies:
-- DOMANDA (Table)
-- DOMANDA_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER DOMANDA_BI
BEFORE INSERT ON DOMANDA
FOR EACH ROW
BEGIN
SELECT DOMANDA_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- DOMANDA_EMAIL_BI (Trigger)
--
-- Dependencies:
-- DOMANDA_EMAIL (Table)
-- DOMANDA_EMAIL_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER DOMANDA_EMAIL_BI
BEFORE INSERT ON DOMANDA_EMAIL
FOR EACH ROW
BEGIN
SELECT DOMANDA_EMAIL_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- DOMANDA_SCONTI_BI (Trigger)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- DOMANDA_SCONTI_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER DOMANDA_SCONTI_BI
BEFORE INSERT ON DOMANDA_SCONTI
FOR EACH ROW
BEGIN
SELECT DOMANDA_SCONTI_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- DOMANDA_SCONTI_CONTROLLI_BI (Trigger)
--
-- Dependencies:
-- DOMANDA_SCONTI_CONTROLLI (Table)
-- DOMANDA_SCONTI_CONTROLLI_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER DOMANDA_SCONTI_CONTROLLI_BI
BEFORE INSERT ON DOMANDA_SCONTI_CONTROLLI
FOR EACH ROW
BEGIN
SELECT DOMANDA_SCONTI_CONTROLLI_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- DOMANDA_SCONTI_IMPORTI_LOG_BI (Trigger)
--
-- Dependencies:
-- DOMANDA_SCONTI_IMPORTI_LOG (Table)
-- DOMANDA_SCONTI_IMPORTI_LOG_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER DOMANDA_SCONTI_IMPORTI_LOG_BI
BEFORE INSERT
ON DOMANDA_SCONTI_IMPORTI_LOG
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
SELECT DOMANDA_SCONTI_IMPORTI_LOG_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- ESPORTAZIONI_TRG (Trigger)
--
-- Dependencies:
-- ESPORTAZIONI (Table)
-- ESPORTAZIONI_SEQ (Sequence)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER ESPORTAZIONI_TRG
BEFORE INSERT
ON ESPORTAZIONI
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
BEGIN
-- For Toad: Highlight column LOTTO
:new.LOTTO := ESPORTAZIONI_SEQ.nextval;
END ESPORTAZIONI_TRG;
/
--
-- FAQ_BI (Trigger)
--
-- Dependencies:
-- FAQ (Table)
-- FAQ_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER FAQ_BI
BEFORE INSERT ON FAQ
FOR EACH ROW
BEGIN
SELECT FAQ_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- FAQ_UTENTI_BI (Trigger)
--
-- Dependencies:
-- FAQ_UTENTI (Table)
-- FAQ_UTENTI_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER FAQ_UTENTI_BI
BEFORE INSERT ON FAQ_UTENTI
FOR EACH ROW
BEGIN
SELECT FAQ_UTENTI_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- IMPERSONIFICAZIONE_BI (Trigger)
--
-- Dependencies:
-- IMPERSONIFICAZIONE (Table)
-- IMPERSONIFICAZIONE_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER IMPERSONIFICAZIONE_BI
BEFORE INSERT ON IMPERSONIFICAZIONE
FOR EACH ROW
BEGIN
SELECT IMPERSONIFICAZIONE_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
-- ##############
/
--
-- INTEGRAZIONI_EMAIL_QUEUE_BI (Trigger)
--
-- Dependencies:
-- INTEGRAZIONI_EMAIL_QUEUE (Table)
-- INTEGRAZIONI_EMAIL_QUEUE_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER INTEGRAZIONI_EMAIL_QUEUE_BI
BEFORE INSERT ON INTEGRAZIONI_EMAIL_QUEUE
FOR EACH ROW
BEGIN
SELECT INTEGRAZIONI_EMAIL_QUEUE_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
--##########################
/
--
-- LOGS_BE_BI (Trigger)
--
-- Dependencies:
-- LOGS_BE (Table)
-- LOGS_BE_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER LOGS_BE_BI
BEFORE INSERT ON LOGS_BE
FOR EACH ROW
BEGIN
SELECT LOGS_BE_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- LOGS_BI (Trigger)
--
-- Dependencies:
-- LOGS (Table)
-- LOGS_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER LOGS_BI
BEFORE INSERT ON LOGS
FOR EACH ROW
BEGIN
SELECT LOGS_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- LOGS_P7M_BI (Trigger)
--
-- Dependencies:
-- LOGS_P7M (Table)
-- LOGS_P7M_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER LOGS_P7M_BI
BEFORE INSERT ON LOGS_P7M
FOR EACH ROW
BEGIN
SELECT LOGS_P7M_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- RICHIESTA_INTEGRAZIONE_BI (Trigger)
--
-- Dependencies:
-- RICHIESTA_INTEGRAZIONE (Table)
-- RICHIESTA_INTEGRAZIONE_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER RICHIESTA_INTEGRAZIONE_BI
BEFORE INSERT ON RICHIESTA_INTEGRAZIONE
FOR EACH ROW
BEGIN
SELECT RICHIESTA_INTEGRAZIONE_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- SPID_ACCESSI_BI (Trigger)
--
-- Dependencies:
-- SPID_ACCESSI (Table)
-- SPID_ACCESSI_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER SPID_ACCESSI_BI
BEFORE INSERT ON SPID_ACCESSI
FOR EACH ROW
BEGIN
SELECT SPID_ACCESSI_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- TRG_AUDIT_RICHIESTA_INTEGRAZIONE (Trigger)
--
-- Dependencies:
-- RICHIESTA_INTEGRAZIONE (Table)
-- AUDIT_RICHIESTA_INTEGRAZIONE (Table)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER TRG_AUDIT_RICHIESTA_INTEGRAZIONE
BEFORE UPDATE OF STATO ON RICHIESTA_INTEGRAZIONE
FOR EACH ROW
BEGIN
IF (:OLD.STATO IS NULL AND :NEW.STATO IS NOT NULL)
OR (:OLD.STATO IS NOT NULL AND :NEW.STATO IS NULL)
OR (:OLD.STATO != :NEW.STATO) THEN
INSERT INTO AUDIT_RICHIESTA_INTEGRAZIONE (
ID_INTEGRAZIONE,
STATO_PRECEDENTE,
STATO_ATTUALE,
ORIGINE
)
VALUES (
:OLD.ID,
:OLD.STATO,
:NEW.STATO,
'TRIGGER'
);
END IF;
END;
/
--
-- TRG_CAMBIA_STATO_SU_INSERIMENTO (Trigger)
--
-- Dependencies:
-- RICHIESTA_INTEGRAZIONE (Table)
-- DOMANDA_SCONTI (Table)
-- DBMS_OUTPUT (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER TRG_CAMBIA_STATO_SU_INSERIMENTO
AFTER INSERT ON RICHIESTA_INTEGRAZIONE
FOR EACH ROW
DECLARE
v_count NUMBER;
BEGIN
-- Controlla se esiste la domanda
SELECT COUNT(*) INTO v_count
FROM DOMANDA_SCONTI
WHERE ID = :NEW.ID_DOMANDA_SCONTI;
IF v_count = 1 THEN
-- Se esiste, aggiorna lo stato a 33
UPDATE DOMANDA_SCONTI
SET STATO = 33
WHERE ID = :NEW.ID_DOMANDA_SCONTI;
ELSE
-- Altrimenti segnala errore (DBMS_OUTPUT visibile solo se abilitato)
DBMS_OUTPUT.PUT_LINE('ID_DOMANDA_SCONTI ' || :NEW.ID_DOMANDA_SCONTI || ' non trovato in DOMANDA_SCONTI');
END IF;
EXCEPTION
WHEN OTHERS THEN
-- In caso di errore inaspettato, logga il messaggio
DBMS_OUTPUT.PUT_LINE('Errore nel trigger TRG_CAMBIA_STATO_SU_INSERIMENTO: ' || SQLERRM);
END;
/
--
-- UID_FIREBASE_ADMIN_BI (Trigger)
--
-- Dependencies:
-- UID_FIREBASE_ADMIN (Table)
-- UID_FIREBASE_ADMIN_ID_SEQ (Sequence)
-- DUAL (Synonym)
-- STANDARD (Package)
--
CREATE OR REPLACE TRIGGER UID_FIREBASE_ADMIN_BI
BEFORE INSERT ON UID_FIREBASE_ADMIN
FOR EACH ROW
BEGIN
SELECT UID_FIREBASE_ADMIN_ID_SEQ.nextval
INTO :new.ID
FROM dual;
END;
/
--
-- AEROPORTI_COMPAGNIE (Table)
--
-- Dependencies:
-- AEROPORTI (Table)
-- ANAG_COMPAGNIE (Table)
--
-- Row Count: 88
CREATE TABLE AEROPORTI_COMPAGNIE
(
AEROPORTO VARCHAR2(3 BYTE),
COMPAGNIA INTEGER
)
TABLESPACE BANDO_VOLI_TBS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
--
-- AERO_COMP_PK (Index)
--
-- Dependencies:
-- AEROPORTI_COMPAGNIE (Table)
--
CREATE UNIQUE INDEX AERO_COMP_PK ON AEROPORTI_COMPAGNIE
(AEROPORTO, COMPAGNIA)
TABLESPACE BANDO_VOLI_TBS
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
);
ALTER TABLE AEROPORTI_COMPAGNIE ADD (
CONSTRAINT AERO_COMP_PK
PRIMARY KEY
(AEROPORTO, COMPAGNIA)
USING INDEX AERO_COMP_PK
ENABLE VALIDATE);
--
-- SPAEROCOMPAGNIESAVE (Procedure)
--
-- Dependencies:
-- AEROPORTI_COMPAGNIE (Table)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SPAEROCOMPAGNIESAVE"
(
P_AEROPORTO VARCHAR2,
P_COMPAGNIA INT
) AS
INSUPDATE NUMBER;
BEGIN
SELECT COUNT(*) INTO INSUPDATE FROM AEROPORTI_COMPAGNIE WHERE AEROPORTO = P_AEROPORTO AND COMPAGNIA = P_COMPAGNIA;
IF INSUPDATE <= 0 THEN
INSERT INTO AEROPORTI_COMPAGNIE (AEROPORTO, COMPAGNIA) VALUES (P_AEROPORTO, P_COMPAGNIA);
END IF;
END SPAEROCOMPAGNIESAVE;
/
--
-- CALCOLAETAFROMTODATE (Function)
--
-- Dependencies:
-- GETPERIODOANNIMESIGIORNI (Function)
-- DUAL (Synonym)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION CALCOLAETAFROMTODATE (
P_START_DATA IN VARCHAR2,
P_END_DATA IN VARCHAR2
)
RETURN number IS
ETA number;
START_DATA_CALCOLO date;
END_DATA_CALCOLO date;
BEGIN
ETA := 0;-- Punti per Età
START_DATA_CALCOLO := TO_DATE(P_START_DATA,'dd/mm/YYYY hh24:mi:ss');-- Data definita dall'accordo sindacale
END_DATA_CALCOLO := TO_DATE(P_END_DATA,'dd/mm/YYYY hh24:mi:ss');-- Data definita dall'accordo sindacale
-- Calcolo del punteggio per anzianità di posizione
--SELECT (ROUND((END_DATA_CALCOLO - DATA_NASCITA)/365))
SELECT GETPERIODOANNIMESIGIORNI(START_DATA_CALCOLO, END_DATA_CALCOLO, 'ANNI')
INTO ETA
from DUAL;
IF ETA IS NULL THEN
ETA := 0;
END IF;
RETURN ETA;
END;
/
--
-- FNGETINTEGRAZIONE (Function)
--
-- Dependencies:
-- FNGETINTEGRAZIONE_POST (Function)
-- FNGETINTEGRAZIONE_PRE (Function)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FNGETINTEGRAZIONE" (
P_ID IN NUMBER,
P_DATA_VOLO IN DATE
) RETURN VARCHAR IS
T_DAL DATE;
T_AL DATE;
RESULT VARCHAR(255);
BEGIN
T_DAL := TO_DATE('2024-12-07', 'YYYY-MM-DD');
T_AL := TO_DATE('2025-01-06', 'YYYY-MM-DD');
IF P_DATA_VOLO BETWEEN T_DAL AND T_AL THEN
RESULT := FNGETINTEGRAZIONE_POST(P_ID);
ELSE
RESULT := FNGETINTEGRAZIONE_PRE(P_ID);
END IF;
RETURN RESULT;
END FNGETINTEGRAZIONE;
/
--
-- FNGETSCONTO (Function)
--
-- Dependencies:
-- FNGETSCONTO_POST (Function)
-- FNGETSCONTO_PRE (Function)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FNGETSCONTO" (
P_ID IN NUMBER,
P_DATA_VOLO IN DATE
) RETURN VARCHAR IS
T_DAL DATE;
T_AL DATE;
RESULT VARCHAR(255);
BEGIN
T_DAL := TO_DATE('2024-12-07', 'YYYY-MM-DD');
T_AL := TO_DATE('2025-01-06', 'YYYY-MM-DD');
IF P_DATA_VOLO BETWEEN T_DAL AND T_AL THEN
RESULT := FNGETSCONTO_POST(P_ID, '');
ELSE
RESULT := FNGETSCONTO_PRE(P_ID, '');
END IF;
RETURN RESULT;
END FNGETSCONTO;
/
--
-- VIEW_EXPORT_IBAN_AGGIORNATI (View)
--
-- Dependencies:
-- ACCOUNT (Table)
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- DOMANDA (Table)
-- DOMANDA_SCONTI (Table)
-- DOMANDA_SCONTI_INTEGRAZIONE (Table)
-- FNGETINTEGRAZIONE (Function)
-- FNGETSCONTO (Function)
--
CREATE OR REPLACE FORCE VIEW VIEW_EXPORT_IBAN_AGGIORNATI
(ID, ID_DOMANDA, COGNOME, NOME, DATA_NASCITA,
RAPPORTO_PARENTELA, CODICE_FISCALE, BENEFICIARIO_BONIFICO, COMUNE_RESIDENZA, PROV_RESIDENZA,
CAP_RESIDENZA, COMPAGNIA_AEREA, NUMERO_VOLO, DATA_VOLO, COSTO_TRATTA,
AEROPORTO_PARTENZA, AEROPORTO_PARTENZA_CODICE, AEROPORTO_DESTINAZIONE, AEROPORTO_DESTINAZIONE_CODICE, FILEPATH_BIGLIETTO,
FILEPATH_CARTAIMBARCO, ISEE, DATA_RILASCIO_ISEE, IBAN, ISTITUTO_CREDITO,
FILIALE_CREDITO, STATO, DATA_REGISTRAZIONE, ID_UID_FIREBASE, DATA_ESPORTAZIONE,
DATA_ESITO, DATA_EROGAZIONE, NOTE, SCONTO_TOTALE, COMPAGNIA_ID,
DATA_ACQUISTO, LOTTO, FLAG, PRIORITA, ID_ACCOUNT,
FORZA_RESIDENZA, CITTADINANZA, LOTTO_INTEGRAZIONE, FILEPATH_BIGLIETTO_HASH, FILEPATH_CARTAIMBARCO_HASH)
BEQUEATH DEFINER
AS
SELECT DS.ID,
DS.ID_DOMANDA,
DS.COGNOME,
DS.NOME,
DS.DATA_NASCITA,
DS.RAPPORTO_PARENTELA,
DS.CODICE_FISCALE,
CASE WHEN DS.RAPPORTO_PARENTELA > 0
THEN (SELECT CODICE_FISCALE FROM ACCOUNT WHERE ID = D.ID_ACCOUNT)
ELSE DS.CODICE_FISCALE END AS BENEFICIARIO_BONIFICO,
CASE
WHEN DS.STATO >= 1 THEN DS.COMUNE_RESIDENZA
ELSE AF.COMUNE_RESIDENZA
END
AS COMUNE_RESIDENZA,
CASE
WHEN DS.STATO >= 1 THEN DS.PROV_RESIDENZA
ELSE AF.PROV_RESIDENZA
END
AS PROV_RESIDENZA,
CASE
WHEN DS.STATO >= 1 THEN DS.CAP_RESIDENZA
ELSE AF.CAP_RESIDENZA
END
AS CAP_RESIDENZA,
DS.COMPAGNIA_AEREA,
DS.NUMERO_VOLO,
DS.DATA_VOLO,
DS.COSTO_TRATTA,
DS.AEROPORTO_PARTENZA,
DS.AEROPORTO_PARTENZA_CODICE,
DS.AEROPORTO_DESTINAZIONE,
DS.AEROPORTO_DESTINAZIONE_CODICE,
DS.FILEPATH_BIGLIETTO,
DS.FILEPATH_CARTAIMBARCO,
CASE WHEN DS.STATO >= 1 THEN DS.ISEE ELSE D.ISEE END
AS ISEE,
CASE
WHEN DS.STATO >= 1 THEN DS.DATA_RILASCIO_ISEE
ELSE D.DATA_RILASCIO_ISEE
END
AS DATA_RILASCIO_ISEE,
D.IBAN,
D.ISTITUTO_CREDITO,
D.FILIALE_CREDITO,
DS.STATO,
DS.DATA_REGISTRAZIONE,
DS.ID_UID_FIREBASE,
DS.DATA_ESPORTAZIONE,
DS.DATA_ESITO,
DS.DATA_EROGAZIONE,
DS.NOTE,
CASE
WHEN DS.STATO >= 1
THEN
CASE
WHEN DI.ID_RICHIESTA IS NOT NULL
THEN
( DS.SCONTO_TOTALE
+ TO_NUMBER (
FNGETINTEGRAZIONE (DS.ID, DS.DATA_VOLO)))
ELSE
DS.SCONTO_TOTALE
END
ELSE
TO_NUMBER (FNGETSCONTO (DS.ID, DS.DATA_VOLO))
END
AS SCONTO_TOTALE,
DS.COMPAGNIA_ID,
DS.DATA_ACQUISTO,
DS.LOTTO,
CASE WHEN DS.STATO >= 1 THEN AF.FLAG ELSE DS.FLAG END
AS FLAG,
CASE WHEN DS.STATO >= 1 THEN DS.PRIORITY ELSE AF.PRIORITY END
AS PRIORITA,
D.ID_ACCOUNT,
DS.FORZA_RESIDENZA,
DS.CITTADINANZA,
DI.LOTTO_INTEGRAZIONE,
DS.FILEPATH_BIGLIETTO_HASH,
DS.FILEPATH_CARTAIMBARCO_HASH
FROM DOMANDA_SCONTI DS
LEFT JOIN DOMANDA_SCONTI_INTEGRAZIONE DI
ON DI.ID_RICHIESTA = DS.ID
INNER JOIN DOMANDA D ON DS.ID_DOMANDA = D.ID
INNER JOIN ACCOUNT_NUCLEO_FAMILIARE AF
ON AF.ID_ACCOUNT = D.ID_ACCOUNT
AND DS.CODICE_FISCALE = AF.CODICE_FISCALE;
--
-- VIEW_EXPORT_INTEGRAZIONI (View)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- DOMANDA (Table)
-- DOMANDA_SCONTI (Table)
-- DOMANDA_SCONTI_INTEGRAZIONE (Table)
-- FNGETINTEGRAZIONE (Function)
-- FNGETSCONTO (Function)
--
CREATE OR REPLACE FORCE VIEW VIEW_EXPORT_INTEGRAZIONI
(ID, ID_DOMANDA, COGNOME, NOME, DATA_NASCITA,
RAPPORTO_PARENTELA, CODICE_FISCALE, COMUNE_RESIDENZA, PROV_RESIDENZA, CAP_RESIDENZA,
COMPAGNIA_AEREA, NUMERO_VOLO, DATA_VOLO, COSTO_TRATTA, AEROPORTO_PARTENZA,
AEROPORTO_PARTENZA_CODICE, AEROPORTO_DESTINAZIONE, AEROPORTO_DESTINAZIONE_CODICE, FILEPATH_BIGLIETTO, FILEPATH_CARTAIMBARCO,
ISEE, DATA_RILASCIO_ISEE, IBAN, ISTITUTO_CREDITO, FILIALE_CREDITO,
STATO, DATA_REGISTRAZIONE, ID_UID_FIREBASE, DATA_ESPORTAZIONE, DATA_ESITO,
DATA_EROGAZIONE, NOTE, SCONTO_TOTALE, COMPAGNIA_ID, DATA_ACQUISTO,
LOTTO, FLAG, PRIORITA, ID_ACCOUNT, FORZA_RESIDENZA,
CITTADINANZA, LOTTO_INTEGRAZIONE, INTEGRAZIONE, SCONTO_ORIGIN, FILEPATH_BIGLIETTO_HASH,
FILEPATH_CARTAIMBARCO_HASH)
BEQUEATH DEFINER
AS
SELECT DS.ID,
DS.ID_DOMANDA,
DS.COGNOME,
DS.NOME,
DS.DATA_NASCITA,
DS.RAPPORTO_PARENTELA,
DS.CODICE_FISCALE,
CASE
WHEN DS.STATO >= 1 THEN DS.COMUNE_RESIDENZA
ELSE AF.COMUNE_RESIDENZA
END
AS COMUNE_RESIDENZA,
CASE
WHEN DS.STATO >= 1 THEN DS.PROV_RESIDENZA
ELSE AF.PROV_RESIDENZA
END
AS PROV_RESIDENZA,
CASE
WHEN DS.STATO >= 1 THEN DS.CAP_RESIDENZA
ELSE AF.CAP_RESIDENZA
END
AS CAP_RESIDENZA,
DS.COMPAGNIA_AEREA,
DS.NUMERO_VOLO,
DS.DATA_VOLO,
DS.COSTO_TRATTA,
DS.AEROPORTO_PARTENZA,
DS.AEROPORTO_PARTENZA_CODICE,
DS.AEROPORTO_DESTINAZIONE,
DS.AEROPORTO_DESTINAZIONE_CODICE,
DS.FILEPATH_BIGLIETTO,
DS.FILEPATH_CARTAIMBARCO,
CASE WHEN DS.STATO >= 1 THEN DS.ISEE ELSE D.ISEE END
AS ISEE,
CASE
WHEN DS.STATO >= 1 THEN DS.DATA_RILASCIO_ISEE
ELSE D.DATA_RILASCIO_ISEE
END
AS DATA_RILASCIO_ISEE,
CASE WHEN DS.STATO >= 1 THEN DS.IBAN ELSE D.IBAN END
AS IBAN,
CASE
WHEN DS.STATO >= 1 THEN DS.ISTITUTO_CREDITO
ELSE D.ISTITUTO_CREDITO
END
AS ISTITUTO_CREDITO,
CASE
WHEN DS.STATO >= 1 THEN DS.FILIALE_CREDITO
ELSE D.FILIALE_CREDITO
END
AS FILIALE_CREDITO,
DS.STATO,
DS.DATA_REGISTRAZIONE,
DS.ID_UID_FIREBASE,
DS.DATA_ESPORTAZIONE,
DS.DATA_ESITO,
DS.DATA_EROGAZIONE,
DS.NOTE,
CASE
WHEN DS.STATO >= 1 THEN
CASE
WHEN DI.ID_RICHIESTA IS NOT NULL
THEN
( DS.SCONTO_TOTALE
+ TO_NUMBER (FNGETINTEGRAZIONE (DS.ID, DS.DATA_VOLO)))
ELSE
DS.SCONTO_TOTALE
END
ELSE TO_NUMBER (FNGETSCONTO (DS.ID, DS.DATA_VOLO))
END
AS SCONTO_TOTALE,
DS.COMPAGNIA_ID,
DS.DATA_ACQUISTO,
DS.LOTTO,
CASE WHEN DS.STATO >= 1 THEN AF.FLAG ELSE DS.FLAG END
AS FLAG,
CASE WHEN DS.STATO >= 1 THEN DS.PRIORITY ELSE AF.PRIORITY END
AS PRIORITA,
D.ID_ACCOUNT,
DS.FORZA_RESIDENZA,
DS.CITTADINANZA,
DI.LOTTO_INTEGRAZIONE,
TO_NUMBER (FNGETINTEGRAZIONE(DS.ID, DS.DATA_VOLO)) AS INTEGRAZIONE,
DS.SCONTO_TOTALE AS SCONTO_ORIGIN,
DS.FILEPATH_BIGLIETTO_HASH,
DS.FILEPATH_CARTAIMBARCO_HASH
FROM DOMANDA_SCONTI DS
LEFT JOIN DOMANDA_SCONTI_INTEGRAZIONE DI ON DI.ID_RICHIESTA = DS.ID
INNER JOIN DOMANDA D ON DS.ID_DOMANDA = D.ID
INNER JOIN ACCOUNT_NUCLEO_FAMILIARE AF
ON AF.ID_ACCOUNT = D.ID_ACCOUNT
AND DS.CODICE_FISCALE = AF.CODICE_FISCALE;
--
-- VIEW_EXPORT_SCONTI (View)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- DOMANDA (Table)
-- DOMANDA_SCONTI (Table)
-- DOMANDA_SCONTI_INTEGRAZIONE (Table)
-- FNGETINTEGRAZIONE (Function)
-- FNGETSCONTO (Function)
--
CREATE OR REPLACE FORCE VIEW VIEW_EXPORT_SCONTI
(ID, ID_DOMANDA, COGNOME, NOME, DATA_NASCITA,
RAPPORTO_PARENTELA, CODICE_FISCALE, COMUNE_RESIDENZA, PROV_RESIDENZA, CAP_RESIDENZA,
COMPAGNIA_AEREA, NUMERO_VOLO, DATA_VOLO, COSTO_TRATTA, AEROPORTO_PARTENZA,
AEROPORTO_PARTENZA_CODICE, AEROPORTO_DESTINAZIONE, AEROPORTO_DESTINAZIONE_CODICE, FILEPATH_BIGLIETTO, FILEPATH_CARTAIMBARCO,
ISEE, DATA_RILASCIO_ISEE, IBAN, ISTITUTO_CREDITO, FILIALE_CREDITO,
STATO, DATA_REGISTRAZIONE, ID_UID_FIREBASE, DATA_ESPORTAZIONE, DATA_ESITO,
DATA_EROGAZIONE, NOTE, SCONTO_TOTALE, COMPAGNIA_ID, DATA_ACQUISTO,
LOTTO, FLAG, PRIORITA, ID_ACCOUNT, FORZA_RESIDENZA,
CITTADINANZA, LOTTO_INTEGRAZIONE, FILEPATH_BIGLIETTO_HASH, FILEPATH_CARTAIMBARCO_HASH)
BEQUEATH DEFINER
AS
SELECT DS.ID,
DS.ID_DOMANDA,
DS.COGNOME,
DS.NOME,
DS.DATA_NASCITA,
DS.RAPPORTO_PARENTELA,
DS.CODICE_FISCALE,
CASE
WHEN DS.STATO >= 1 THEN DS.COMUNE_RESIDENZA
ELSE AF.COMUNE_RESIDENZA
END
AS COMUNE_RESIDENZA,
CASE
WHEN DS.STATO >= 1 THEN DS.PROV_RESIDENZA
ELSE AF.PROV_RESIDENZA
END
AS PROV_RESIDENZA,
CASE
WHEN DS.STATO >= 1 THEN DS.CAP_RESIDENZA
ELSE AF.CAP_RESIDENZA
END
AS CAP_RESIDENZA,
DS.COMPAGNIA_AEREA,
DS.NUMERO_VOLO,
DS.DATA_VOLO,
DS.COSTO_TRATTA,
DS.AEROPORTO_PARTENZA,
DS.AEROPORTO_PARTENZA_CODICE,
DS.AEROPORTO_DESTINAZIONE,
DS.AEROPORTO_DESTINAZIONE_CODICE,
DS.FILEPATH_BIGLIETTO,
DS.FILEPATH_CARTAIMBARCO,
CASE WHEN DS.STATO >= 1 THEN DS.ISEE ELSE D.ISEE END
AS ISEE,
CASE
WHEN DS.STATO >= 1 THEN DS.DATA_RILASCIO_ISEE
ELSE D.DATA_RILASCIO_ISEE
END
AS DATA_RILASCIO_ISEE,
CASE WHEN DS.STATO >= 1 THEN DS.IBAN ELSE D.IBAN END
AS IBAN,
CASE
WHEN DS.STATO >= 1 THEN DS.ISTITUTO_CREDITO
ELSE D.ISTITUTO_CREDITO
END
AS ISTITUTO_CREDITO,
CASE
WHEN DS.STATO >= 1 THEN DS.FILIALE_CREDITO
ELSE D.FILIALE_CREDITO
END
AS FILIALE_CREDITO,
DS.STATO,
DS.DATA_REGISTRAZIONE,
DS.ID_UID_FIREBASE,
DS.DATA_ESPORTAZIONE,
DS.DATA_ESITO,
DS.DATA_EROGAZIONE,
DS.NOTE,
CASE
WHEN DS.STATO >= 1
THEN
CASE
WHEN DI.ID_RICHIESTA IS NOT NULL
THEN
( DS.SCONTO_TOTALE
+ TO_NUMBER (
FNGETINTEGRAZIONE (DS.ID, DS.DATA_VOLO)))
ELSE
DS.SCONTO_TOTALE
END
ELSE
TO_NUMBER (FNGETSCONTO (DS.ID, DS.DATA_VOLO))
END
AS SCONTO_TOTALE,
DS.COMPAGNIA_ID,
DS.DATA_ACQUISTO,
DS.LOTTO,
CASE WHEN DS.STATO >= 1 THEN AF.FLAG ELSE DS.FLAG END
AS FLAG,
CASE WHEN DS.STATO >= 1 THEN DS.PRIORITY ELSE AF.PRIORITY END
AS PRIORITA,
D.ID_ACCOUNT,
DS.FORZA_RESIDENZA,
DS.CITTADINANZA,
DI.LOTTO_INTEGRAZIONE,
DS.FILEPATH_BIGLIETTO_HASH,
DS.FILEPATH_CARTAIMBARCO_HASH
FROM DOMANDA_SCONTI DS
LEFT JOIN DOMANDA_SCONTI_INTEGRAZIONE DI
ON DI.ID_RICHIESTA = DS.ID
INNER JOIN DOMANDA D ON DS.ID_DOMANDA = D.ID
INNER JOIN ACCOUNT_NUCLEO_FAMILIARE AF
ON AF.ID_ACCOUNT = D.ID_ACCOUNT
AND DS.CODICE_FISCALE = AF.CODICE_FISCALE;
--
-- PRC_RICALCOLA_SCONTO (Procedure)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- FNGETSCONTO (Function)
-- DBMS_OUTPUT (Synonym)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE PRC_RICALCOLA_SCONTO (
p_id IN DOMANDA_SCONTI.ID%TYPE
) IS
v_data_volo DOMANDA_SCONTI.DATA_VOLO%TYPE;
v_sconto VARCHAR2(255);
BEGIN
-- Recupero la data del volo
SELECT DATA_VOLO
INTO v_data_volo
FROM DOMANDA_SCONTI
WHERE ID = p_id;
-- Calcolo lo sconto
v_sconto := FNGETSCONTO(p_id, v_data_volo);
-- Aggiorno il campo (convertendo in numero)
UPDATE DOMANDA_SCONTI
SET SCONTO_TOTALE = TO_NUMBER(v_sconto)
WHERE ID = p_id;
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Nessun record trovato per ID=' || p_id);
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Errore: ' || SQLERRM);
ROLLBACK;
END PRC_RICALCOLA_SCONTO;
/
--
-- SPESPORTASCONTI (Procedure)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- FNGETSCONTO (Function)
-- VIEW_EXPORT_SCONTI (View)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE "SPESPORTASCONTI"
(
P_ID INT,
P_NUM_LOTTO INT
) AS
CTR_STATO INT;
CTR_PRES_ACC INT;
T_ID_DOMANDA INT;
T_ID_ACCOUNT INT;
T_BENEFICIARIO VARCHAR2(255);
T_COMUNE_RESIDENZA VARCHAR2(255);
T_PROV_RESIDENZA VARCHAR2(2);
T_CAP_RESIDENZA VARCHAR2(5);
T_FLAG VARCHAR2(1000);
T_ISEE INT;
T_PRIORITY INT;
T_DATA_RILASCIO_ISEE DATE;
T_IBAN VARCHAR2(255);
T_ISTITUTO_CREDITO VARCHAR2(255);
T_FILIALE_CREDITO VARCHAR2(255);
T_SCONTO_TOTALE NUMBER;
T_DATA_VOLO DATE;
BEGIN
CTR_PRES_ACC :=0;
SELECT STATO, ID_DOMANDA, CODICE_FISCALE, ID_ACCOUNT,ISEE,DATA_RILASCIO_ISEE,IBAN,ISTITUTO_CREDITO,FILIALE_CREDITO, COMUNE_RESIDENZA,PROV_RESIDENZA,CAP_RESIDENZA,FLAG,PRIORITA, DATA_VOLO
INTO CTR_STATO, T_ID_DOMANDA, T_BENEFICIARIO, T_ID_ACCOUNT,T_ISEE,T_DATA_RILASCIO_ISEE,T_IBAN,T_ISTITUTO_CREDITO,T_FILIALE_CREDITO,T_COMUNE_RESIDENZA,T_PROV_RESIDENZA,T_CAP_RESIDENZA,T_FLAG,T_PRIORITY, T_DATA_VOLO
FROM VIEW_EXPORT_SCONTI WHERE ID = P_ID;
-- SELECT STATO, ID_DOMANDA, CODICE_FISCALE INTO CTR_STATO, T_ID_DOMANDA, T_BENEFICIARIO FROM DOMANDA_SCONTI WHERE ID = P_ID;
/*Verifico la presenza del beneficiario nel nucleo familiare*/
--SELECT NVL(ID,0) INTO CTR_PRES_ACC FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO;
--SELECT COUNT(*) INTO CTR_PRES_ACC FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO;
-- IF CTR_STATO = 0 AND CTR_PRES_ACC > 0 THEN
IF CTR_STATO = 0 THEN
/*SELECT
ID_ACCOUNT,ISEE,DATA_RILASCIO_ISEE,IBAN,ISTITUTO_CREDITO,FILIALE_CREDITO
INTO
T_ID_ACCOUNT,T_ISEE,T_DATA_RILASCIO_ISEE,T_IBAN,T_ISTITUTO_CREDITO,T_FILIALE_CREDITO
FROM DOMANDA WHERE ID = T_ID_DOMANDA;
SELECT
COMUNE_RESIDENZA,PROV_RESIDENZA,CAP_RESIDENZA, FLAG, PRIORITY
INTO
T_COMUNE_RESIDENZA,T_PROV_RESIDENZA,T_CAP_RESIDENZA,T_FLAG, T_PRIORITY
FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO AND ID_ACCOUNT = T_ID_ACCOUNT;*/
T_SCONTO_TOTALE := TO_NUMBER(FNGETSCONTO(P_ID, T_DATA_VOLO));
UPDATE DOMANDA_SCONTI SET
COMUNE_RESIDENZA = T_COMUNE_RESIDENZA,
PROV_RESIDENZA = T_PROV_RESIDENZA,
CAP_RESIDENZA = T_CAP_RESIDENZA,
FLAG = T_FLAG,
ISEE = T_ISEE,
DATA_RILASCIO_ISEE = T_DATA_RILASCIO_ISEE,
IBAN = T_IBAN,
ISTITUTO_CREDITO = T_ISTITUTO_CREDITO,
FILIALE_CREDITO = T_FILIALE_CREDITO,
STATO = 1,
DATA_ESPORTAZIONE = SYSTIMESTAMP,
SCONTO_TOTALE = T_SCONTO_TOTALE,
LOTTO = P_NUM_LOTTO,
PRIORITY = T_PRIORITY
WHERE ID = P_ID;
END IF;
END SPESPORTASCONTI;
/
--
-- SPPRESAINCARICO_DDG_NATALIZIO (Procedure)
--
-- Dependencies:
-- ESPORTAZIONI (Table)
-- ESPORTAZIONI_SEQ (Sequence)
-- SPESPORTASCONTI (Procedure)
-- VIEW_EXPORT_SCONTI (View)
-- DUAL (Synonym)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE SPPRESAINCARICO_DDG_NATALIZIO (
DATA_INIZIO IN DATE,
DATA_FINE IN DATE
) AS
-- Dichiarazione delle variabili
V_ID VIEW_EXPORT_SCONTI.ID%TYPE;
V_NUM_LOTTO INT;
-- Cursor per la SELECT
CURSOR C_CURSOR IS
SELECT ID
FROM VIEW_EXPORT_SCONTI
WHERE DATA_REGISTRAZIONE BETWEEN DATA_INIZIO AND DATA_FINE
AND DATA_VOLO BETWEEN TO_DATE('07/12/2024 00:00:00','dd/mm/yyyy hh24:mi:ss') AND TO_DATE('06/01/2025 23:59:59','dd/mm/yyyy hh24:mi:ss') AND STATO = 0;
BEGIN
INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, DATA_FINE, 10);
SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL;
-- Apertura del cursore
OPEN C_CURSOR;
-- Loop attraverso i risultati della SELECT
LOOP
-- Recupero dei valori dalla riga corrente
FETCH C_CURSOR INTO V_ID;
-- Uscita dal loop quando non ci sono più righe
EXIT WHEN C_CURSOR%NOTFOUND;
-- Chiamata alla funzione con i valori recuperati
SPESPORTASCONTI(V_ID, V_NUM_LOTTO);
END LOOP;
-- Chiusura del cursore
CLOSE C_CURSOR;
END SPPRESAINCARICO_DDG_NATALIZIO;
/
--
-- SPPRESAINCARICO_PRIORITARI (Procedure)
--
-- Dependencies:
-- ESPORTAZIONI (Table)
-- ESPORTAZIONI_SEQ (Sequence)
-- SPESPORTASCONTI (Procedure)
-- VIEW_EXPORT_SCONTI (View)
-- DUAL (Synonym)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE SPPRESAINCARICO_PRIORITARI (
DATA_INIZIO IN DATE,
DATA_FINE IN DATE
) AS
-- Dichiarazione delle variabili
V_ID VIEW_EXPORT_SCONTI.ID%TYPE;
V_NUM_LOTTO INT;
-- Cursor per la SELECT
CURSOR C_CURSOR IS
SELECT ID
FROM VIEW_EXPORT_SCONTI
WHERE DATA_REGISTRAZIONE BETWEEN DATA_INIZIO AND DATA_FINE AND (ISEE = 1 OR PRIORITA = 1) AND STATO = 0;
BEGIN
INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, DATA_FINE, 1);
SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL;
-- Apertura del cursore
OPEN C_CURSOR;
-- Loop attraverso i risultati della SELECT
LOOP
-- Recupero dei valori dalla riga corrente
FETCH C_CURSOR INTO V_ID;
-- Uscita dal loop quando non ci sono più righe
EXIT WHEN C_CURSOR%NOTFOUND;
-- Chiamata alla funzione con i valori recuperati
SPESPORTASCONTI(V_ID, V_NUM_LOTTO);
END LOOP;
-- Chiusura del cursore
CLOSE C_CURSOR;
END SPPRESAINCARICO_PRIORITARI;
/
--
-- SPPRESAINCARICO_PRIORITARI_NATALE (Procedure)
--
-- Dependencies:
-- ESPORTAZIONI (Table)
-- ESPORTAZIONI_SEQ (Sequence)
-- SPESPORTASCONTI (Procedure)
-- VIEW_EXPORT_SCONTI (View)
-- DUAL (Synonym)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE SPPRESAINCARICO_PRIORITARI_NATALE (
DATA_INIZIO IN DATE,
DATA_FINE IN DATE
) AS
-- Dichiarazione delle variabili
V_ID VIEW_EXPORT_SCONTI.ID%TYPE;
V_NUM_LOTTO INT;
-- Cursor per la SELECT
CURSOR C_CURSOR IS
SELECT ID
FROM VIEW_EXPORT_SCONTI
WHERE DATA_REGISTRAZIONE BETWEEN DATA_INIZIO AND DATA_FINE AND DATA_VOLO < TO_DATE('07/12/2024 00:00:00','dd/mm/yyyy hh24:mi:ss') AND (ISEE = 1 OR PRIORITA = 1) AND STATO = 0;
BEGIN
INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, DATA_FINE, 1);
SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL;
-- Apertura del cursore
OPEN C_CURSOR;
-- Loop attraverso i risultati della SELECT
LOOP
-- Recupero dei valori dalla riga corrente
FETCH C_CURSOR INTO V_ID;
-- Uscita dal loop quando non ci sono più righe
EXIT WHEN C_CURSOR%NOTFOUND;
-- Chiamata alla funzione con i valori recuperati
SPESPORTASCONTI(V_ID, V_NUM_LOTTO);
END LOOP;
-- Chiusura del cursore
CLOSE C_CURSOR;
END SPPRESAINCARICO_PRIORITARI_NATALE;
/
--
-- SPPRESAINCARICO_RESIDENTI (Procedure)
--
-- Dependencies:
-- ESPORTAZIONI (Table)
-- ESPORTAZIONI_SEQ (Sequence)
-- SPESPORTASCONTI (Procedure)
-- VIEW_EXPORT_SCONTI (View)
-- DUAL (Synonym)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE SPPRESAINCARICO_RESIDENTI (
DATA_INIZIO IN DATE,
DATA_FINE IN DATE
) AS
-- Dichiarazione delle variabili
V_ID VIEW_EXPORT_SCONTI.ID%TYPE;
V_NUM_LOTTO INT;
-- Cursor per la SELECT
CURSOR C_CURSOR IS
SELECT ID
FROM VIEW_EXPORT_SCONTI
WHERE DATA_REGISTRAZIONE BETWEEN DATA_INIZIO AND DATA_FINE AND ISEE = 0 AND PRIORITA = 0 AND STATO = 0;
BEGIN
INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, DATA_FINE, 0);
SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL;
-- Apertura del cursore
OPEN C_CURSOR;
-- Loop attraverso i risultati della SELECT
LOOP
-- Recupero dei valori dalla riga corrente
FETCH C_CURSOR INTO V_ID;
-- Uscita dal loop quando non ci sono più righe
EXIT WHEN C_CURSOR%NOTFOUND;
-- Chiamata alla funzione con i valori recuperati
SPESPORTASCONTI(V_ID, V_NUM_LOTTO);
END LOOP;
-- Chiusura del cursore
CLOSE C_CURSOR;
END SPPRESAINCARICO_RESIDENTI;
/
--
-- SPPRESAINCARICO_RESIDENTI_NATALE (Procedure)
--
-- Dependencies:
-- ESPORTAZIONI (Table)
-- ESPORTAZIONI_SEQ (Sequence)
-- SPESPORTASCONTI (Procedure)
-- VIEW_EXPORT_SCONTI (View)
-- DUAL (Synonym)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE SPPRESAINCARICO_RESIDENTI_NATALE (
DATA_INIZIO IN DATE,
DATA_FINE IN DATE
) AS
-- Dichiarazione delle variabili
V_ID VIEW_EXPORT_SCONTI.ID%TYPE;
V_NUM_LOTTO INT;
-- Cursor per la SELECT
CURSOR C_CURSOR IS
SELECT ID
FROM VIEW_EXPORT_SCONTI
WHERE DATA_REGISTRAZIONE BETWEEN DATA_INIZIO AND DATA_FINE AND DATA_VOLO < TO_DATE('07/12/2024 00:00:00','dd/mm/yyyy hh24:mi:ss') AND ISEE = 0 AND PRIORITA = 0 AND STATO = 0;
BEGIN
INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO) VALUES (0, DATA_FINE, 0);
SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL;
-- Apertura del cursore
OPEN C_CURSOR;
-- Loop attraverso i risultati della SELECT
LOOP
-- Recupero dei valori dalla riga corrente
FETCH C_CURSOR INTO V_ID;
-- Uscita dal loop quando non ci sono più righe
EXIT WHEN C_CURSOR%NOTFOUND;
-- Chiamata alla funzione con i valori recuperati
SPESPORTASCONTI(V_ID, V_NUM_LOTTO);
END LOOP;
-- Chiusura del cursore
CLOSE C_CURSOR;
END SPPRESAINCARICO_RESIDENTI_NATALE;
/
--
-- SP_CONFERMA_VALIDATI (Procedure)
--
-- Dependencies:
-- DOMANDA_SCONTI (Table)
-- ESPORTAZIONI (Table)
-- ESPORTAZIONI_SEQ (Sequence)
-- VIEW_EXPORT_SCONTI (View)
-- DUAL (Synonym)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE SP_CONFERMA_VALIDATI (
LOTTO_FROM IN NUMBER
) AS
V_NUM_LOTTO NUMBER;
V_DATA_FILTRO DATE;
BEGIN
-- Recupero della data filtro dal lotto specificato
SELECT DATA_FILTRO INTO V_DATA_FILTRO
FROM ESPORTAZIONI
WHERE LOTTO = LOTTO_FROM;
-- Inserimento di un nuovo record in ESPORTAZIONI
INSERT INTO ESPORTAZIONI (LOTTO, DATA_FILTRO, TIPO)
VALUES (0, V_DATA_FILTRO, 0);
-- Recupero del valore corrente della sequenza
SELECT ESPORTAZIONI_SEQ.CURRVAL INTO V_NUM_LOTTO FROM DUAL;
-- Loop attraverso i risultati della SELECT
FOR rec IN (
SELECT ID
FROM VIEW_EXPORT_SCONTI
WHERE LOTTO = LOTTO_FROM AND NOTE LIKE '%[VALIDATA]%' AND STATO = 1
) LOOP
-- Aggiornamento della tabella DOMANDA_SCONTI
UPDATE DOMANDA_SCONTI
SET LOTTO = V_NUM_LOTTO,
STATO = 2,
DATA_ESITO = SYSTIMESTAMP
WHERE ID = rec.ID;
END LOOP;
END SP_CONFERMA_VALIDATI;
/
--
-- FN_ISCITTADINOUE (Function)
--
-- Dependencies:
-- COMUNE (Table)
-- CONVERTI_OMO_CODICE (Function)
-- VIEW_EXPORT_SCONTI (View)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FN_ISCITTADINOUE" (
P_ID IN NUMBER
) RETURN NUMBER IS
T_COD_CF VARCHAR2(4); -- Variabile per il codice comune
T_REGIONE VARCHAR2(255); -- Variabile per la regione
T_CITTADINANZA VARCHAR2(255); -- Variabile per la cittadinanza
BEGIN
-- Estrarre il codice comune direttamente
SELECT SUBSTR(CONVERTI_OMO_CODICE(CODICE_FISCALE), 12, 4), CITTADINANZA
INTO T_COD_CF, T_CITTADINANZA
FROM VIEW_EXPORT_SCONTI
WHERE ID = P_ID;
IF T_CITTADINANZA != '' THEN
SELECT CODICE_REGIONE
INTO T_REGIONE
FROM COMUNE
WHERE DESCRIZIONE = T_CITTADINANZA AND ATTIVO = 1;
ELSE
SELECT CODICE_REGIONE
INTO T_REGIONE
FROM COMUNE
WHERE COD_CF = T_COD_CF AND ATTIVO = 1;
END IF;
RETURN CASE
WHEN T_REGIONE = '' THEN 0
ELSE 1
END;
EXCEPTION
-- Gestione delle eccezioni (es. nessun record trovato)
WHEN NO_DATA_FOUND THEN
RETURN 0; -- Restituire 0 se non ci sono dati
WHEN OTHERS THEN
-- Log dell'errore se necessario (facoltativo)
RAISE; -- Ritornare l'errore originale
END FN_ISCITTADINOUE;
/
--
-- FN_ISNATIVO (Function)
--
-- Dependencies:
-- COMUNE (Table)
-- CONVERTI_OMO_CODICE (Function)
-- VIEW_EXPORT_SCONTI (View)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FN_ISNATIVO" (
P_ID IN NUMBER
) RETURN NUMBER IS
T_COD_CF VARCHAR2(4); -- Variabile per il codice comune
T_REGIONE NUMBER; -- Variabile per la regione
BEGIN
-- Estrarre il codice comune direttamente
SELECT SUBSTR(CONVERTI_OMO_CODICE(CODICE_FISCALE), 12, 4)
INTO T_COD_CF
FROM VIEW_EXPORT_SCONTI
WHERE ID = P_ID;
-- Verificare ed estrarre la regione associata al codice comune
SELECT REGIONE
INTO T_REGIONE
FROM COMUNE
WHERE COD_CF = T_COD_CF AND REGIONE = 19;
-- Restituire 1 se la regione è 19, altrimenti 0
RETURN CASE
WHEN T_REGIONE = 19 THEN 1
ELSE 0
END;
EXCEPTION
-- Gestione delle eccezioni (es. nessun record trovato)
WHEN NO_DATA_FOUND THEN
RETURN 0; -- Restituire 0 se non ci sono dati
WHEN OTHERS THEN
-- Log dell'errore se necessario (facoltativo)
RAISE; -- Ritornare l'errore originale
END FN_ISNATIVO;
/
--
-- FN_ISRESIDENTE (Function)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- COMUNE (Table)
-- DOMANDA (Table)
-- VIEW_EXPORT_SCONTI (View)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FN_ISRESIDENTE" (
P_ID IN NUMBER
) RETURN NUMBER IS
T_REGIONE NUMBER; -- Variabile per la regione
CTR_STATO INT;
T_ID_DOMANDA INT;
T_ID_ACCOUNT INT;
T_BENEFICIARIO VARCHAR2(255);
T_COMUNE_RESIDENZA VARCHAR2(255);
BEGIN
-- Estrarre il codice comune direttamente
SELECT ID_DOMANDA, STATO, CODICE_FISCALE, COMUNE_RESIDENZA
INTO T_ID_DOMANDA, CTR_STATO, T_BENEFICIARIO, T_COMUNE_RESIDENZA
FROM VIEW_EXPORT_SCONTI
WHERE ID = P_ID;
IF CTR_STATO = 0 THEN
SELECT ID_ACCOUNT INTO T_ID_ACCOUNT FROM DOMANDA WHERE ID = T_ID_DOMANDA;
SELECT DISTINCT(COMUNE_RESIDENZA) INTO T_COMUNE_RESIDENZA FROM ACCOUNT_NUCLEO_FAMILIARE WHERE CODICE_FISCALE = T_BENEFICIARIO AND ID_ACCOUNT = T_ID_ACCOUNT;
END IF;
-- Verificare ed estrarre la regione associata al codice comune
SELECT REGIONE
INTO T_REGIONE
FROM COMUNE
WHERE UPPER(DESCRIZIONE) = UPPER(T_COMUNE_RESIDENZA) AND REGIONE = 19 AND ATTIVO = 1;
-- Restituire 1 se CODICE_REGIONE è un comune italiano o di uno stato UE, altrimenti 0
RETURN CASE
WHEN T_REGIONE = 19 THEN 1
ELSE 0
END;
EXCEPTION
-- Gestione delle eccezioni (es. nessun record trovato)
WHEN NO_DATA_FOUND THEN
RETURN 0; -- Restituire 0 se non ci sono dati
WHEN OTHERS THEN
-- Log dell'errore se necessario (facoltativo)
RAISE; -- Ritornare l'errore originale
END FN_ISRESIDENTE;
/
--
-- FN_ISRESIDENTE_OPT (Function)
--
-- Dependencies:
-- ACCOUNT_NUCLEO_FAMILIARE (Table)
-- COMUNE (Table)
-- DOMANDA (Table)
-- VIEW_EXPORT_SCONTI (View)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE FUNCTION "FN_ISRESIDENTE_OPT" (
P_ID IN NUMBER
) RETURN NUMBER IS
T_REGIONE NUMBER;
T_COMUNE_RESIDENZA VARCHAR2(255);
BEGIN
-- Recupero i dettagli necessari in una singola query
SELECT
NVL(COMUNE_RESIDENZA, ''), REGIONE
INTO
T_COMUNE_RESIDENZA, T_REGIONE
FROM (
SELECT
VE.COMUNE_RESIDENZA,
C.REGIONE
FROM
VIEW_EXPORT_SCONTI VE
LEFT JOIN DOMANDA D ON VE.ID_DOMANDA = D.ID
LEFT JOIN ACCOUNT_NUCLEO_FAMILIARE ANF ON ANF.CODICE_FISCALE = VE.CODICE_FISCALE AND ANF.ID_ACCOUNT = D.ID_ACCOUNT
LEFT JOIN COMUNE C ON UPPER(C.DESCRIZIONE) = UPPER(VE.COMUNE_RESIDENZA) AND C.ATTIVO = 1
WHERE
VE.ID = P_ID AND VE.STATO = 0
) DATA;
-- Ritorna 1 se la regione è valida, altrimenti 0
RETURN CASE
WHEN T_REGIONE = 19 THEN 1
ELSE 0
END;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN 0; -- Nessun dato trovato
WHEN OTHERS THEN
RETURN 0; -- Opzionalmente logga errori qui
END FN_ISRESIDENTE_OPT;
/
--
-- SPPRESAINCARICO (Procedure)
--
-- Dependencies:
-- SPPRESAINCARICO_DDG_NATALIZIO (Procedure)
-- SPPRESAINCARICO_PRIORITARI (Procedure)
-- SPPRESAINCARICO_RESIDENTI (Procedure)
-- STANDARD (Package)
-- SYS_STUB_FOR_PURITY_ANALYSIS (Package)
--
CREATE OR REPLACE PROCEDURE SPPRESAINCARICO (
DATA_INIZIO IN DATE,
DATA_FINE IN DATE,
TIPO IN INT
) AS
BEGIN
CASE TIPO
WHEN 0 THEN
SPPRESAINCARICO_RESIDENTI(DATA_INIZIO, DATA_FINE);
WHEN 1 THEN
SPPRESAINCARICO_PRIORITARI(DATA_INIZIO, DATA_FINE);
ELSE
SPPRESAINCARICO_DDG_NATALIZIO(DATA_INIZIO, DATA_FINE);
END CASE;
END SPPRESAINCARICO;
/
ALTER TABLE ACCOUNT_NUCLEO_FAMILIARE ADD (
CONSTRAINT FK_ACCOUNT_NUCLEO
FOREIGN KEY (ID_ACCOUNT)
REFERENCES ACCOUNT (ID)
ENABLE VALIDATE);
ALTER TABLE DOMANDA ADD (
CONSTRAINT ACCOUNT_DOMANDA_R01
FOREIGN KEY (ID_ACCOUNT)
REFERENCES ACCOUNT (ID)
ENABLE VALIDATE);
ALTER TABLE DOMANDA_EMAIL ADD (
FOREIGN KEY (ID_DOMANDA)
REFERENCES DOMANDA (ID)
ENABLE VALIDATE);
ALTER TABLE DOMANDA_SCONTI ADD (
FOREIGN KEY (ID_DOMANDA)
REFERENCES DOMANDA (ID)
ENABLE VALIDATE);
ALTER TABLE DOMANDA_SCONTI_IMPORTI_LOG ADD (
CONSTRAINT DOMANDA_SCONTI_IMPORTI_LOG_R01
FOREIGN KEY (ID_DOMANDA_SCONTI)
REFERENCES DOMANDA_SCONTI (ID)
ENABLE VALIDATE);
ALTER TABLE DOMANDA_SCONTI_IMPORTI_LOG ADD (
CONSTRAINT FK_ID_DOMANDA_SCONTI
FOREIGN KEY (ID_DOMANDA)
REFERENCES DOMANDA (ID)
ENABLE VALIDATE);
ALTER TABLE DOMANDA_SCONTI_INTEGRAZIONE ADD (
CONSTRAINT DOMANDA_SCONTI_INTEGRAZIONE_R01
FOREIGN KEY (ID_RICHIESTA)
REFERENCES DOMANDA_SCONTI (ID)
ENABLE VALIDATE);
ALTER TABLE RICHIESTA_INTEGRAZIONE ADD (
CONSTRAINT FK_INTEGRAZIONE_DOMANDA
FOREIGN KEY (ID_DOMANDA_SCONTI)
REFERENCES DOMANDA_SCONTI (ID)
ENABLE VALIDATE);
ALTER TABLE AEROPORTI_COMPAGNIE ADD (
CONSTRAINT AEROPORTI_COMPAGNIE_R01
FOREIGN KEY (AEROPORTO)
REFERENCES AEROPORTI (CODICE)
ENABLE VALIDATE);
ALTER TABLE AEROPORTI_COMPAGNIE ADD (
CONSTRAINT AEROPORTI_COMPAGNIE_R02
FOREIGN KEY (COMPAGNIA)
REFERENCES ANAG_COMPAGNIE (ID)
ENABLE VALIDATE);