2112 lines
98 KiB
SQL
2112 lines
98 KiB
SQL
CREATE TABLE mnp_report_agcom
|
|
(
|
|
anno Varchar(4),
|
|
mese Varchar(2),
|
|
tipo Varchar(10),
|
|
csv Varchar(4000),
|
|
data_creazione DATE DEFAULT SYSDATE NOT NULL
|
|
)
|
|
TABLESPACE TAB_DWH
|
|
/
|
|
ALTER TABLE mnp_report_agcom ADD (
|
|
CONSTRAINT PK_mnp_report_agcom
|
|
PRIMARY KEY
|
|
(anno,mese,tipo)
|
|
USING INDEX
|
|
TABLESPACE TAB_IDX_MEDIUM
|
|
);
|
|
|
|
------------package
|
|
-----------------------------------------------------------------
|
|
-----------------------------------------------------------------
|
|
-----------------------------------------------------------------
|
|
|
|
CREATE OR REPLACE PACKAGE dwh.agcom
|
|
IS
|
|
PROCEDURE runallbydate;
|
|
|
|
PROCEDURE runall (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc1r (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc2r (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc3r (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc3d (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc4r (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc4d (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc5t (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc6 (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc5a (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc5s (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc7 (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc8r_1 (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc8r_2 (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calc8r_3 (anno IN VARCHAR, mese IN VARCHAR);
|
|
|
|
PROCEDURE calcdatigenerali (anno IN VARCHAR, mese IN VARCHAR);
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PACKAGE BODY dwh.agcom
|
|
IS
|
|
PROCEDURE runall (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
BEGIN
|
|
calc1r (anno, mese);
|
|
calc2r (anno, mese);
|
|
calc3r (anno, mese);
|
|
calc3d (anno, mese);
|
|
calc4r (anno, mese);
|
|
calc4d (anno, mese);
|
|
calc5t (anno, mese);
|
|
calc6 (anno, mese);
|
|
calc5a (anno, mese);
|
|
calc5s (anno, mese);
|
|
calc7 (anno, mese);
|
|
calc8r_1 (anno, mese);
|
|
calc8r_2 (anno, mese);
|
|
calc8r_3 (anno, mese);
|
|
calcdatigenerali (anno, mese);
|
|
END;
|
|
|
|
PROCEDURE runallbydate
|
|
IS
|
|
anno VARCHAR (4);
|
|
mese VARCHAR (2);
|
|
BEGIN
|
|
anno := TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy');
|
|
mese := TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'mm');
|
|
runall (anno, mese);
|
|
END;
|
|
|
|
PROCEDURE calc1r (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '1R';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT 'TIMG' || ';' || donor || ';' || richieste || ';' AS csv
|
|
FROM (SELECT NVL (an.id_amministrativo, ss.don) donor, ss.rec recipient,
|
|
NVL (SUM (ss.richieste), 0) richieste
|
|
FROM (SELECT codice_operatore_don_eff don, codice_operatore_rec_eff rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND a.richiestaadhoc = 0
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = -1
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION ALL
|
|
SELECT a.codice_operatore_donating don,
|
|
a.codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gest_rich_donor_virt@mnp a
|
|
WHERE a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.codice_operatore_recipient = 'TIMG'
|
|
AND a.richiestaadhoc = 0
|
|
AND a.id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
|
|
mnp.mnp_anagrafica_operatori@mnp an
|
|
WHERE an.id_operatore = ss.don (+)
|
|
GROUP BY an.id_amministrativo, ss.don, ss.rec
|
|
ORDER BY ss.don);
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
PROCEDURE calc2r (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '2R';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res
|
|
IS
|
|
SELECT 'TIMG' || ';' || donor || ';' || richieste || ';' AS csv
|
|
FROM (SELECT NVL (an.id_amministrativo, ss.don) donor, ss.rec recipient,
|
|
NVL (SUM (ss.richieste),0) richieste
|
|
FROM (SELECT codice_operatore_don_eff don, codice_operatore_rec_eff rec,
|
|
COUNT (id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp
|
|
WHERE codice_operatore_rec_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
AND stato IN (2, 3)
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT codice_operatore_donating don, codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gest_rich_donor_virt@mnp a
|
|
WHERE a.codice_operatore_recipient = 'TIMG'
|
|
AND a.richiestaadhoc = 0
|
|
AND stato IN (1, 3)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
|
|
mnp.mnp_anagrafica_operatori@mnp an
|
|
WHERE an.id_operatore = ss.don(+)
|
|
GROUP BY an.id_amministrativo, ss.don, ss.rec
|
|
ORDER BY ss.don);
|
|
BEGIN
|
|
OPEN cur_res;
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
PROCEDURE calc3r (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '3R';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT d || ';' || DON || ';' || v || ';' AS csv
|
|
FROM (
|
|
SELECT 1 AS ord, '1 - NON UNIVOCITÀ DEL CODICE RICHIESTA' AS d, g.codice_operatore_don_eff don,
|
|
NVL (COUNT (g.id_richiesta), 0) v
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp g
|
|
WHERE stato IN (9)
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_rec_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
GROUP BY g.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 2 AS ord,
|
|
DECODE (c.codice_causale,
|
|
3, '2 - MANUTENZIONE PROGRAMMATA',
|
|
8, '3 - OVERFLOW',
|
|
7, '4 - WAITING LIST',
|
|
NULL
|
|
) AS d,
|
|
codice_operatore_don_eff AS don, COUNT (g.causale_accodamento) AS v
|
|
FROM mnp.mnp_causale_accodamento@mnp c, mnp.mnp_gestione_richiesta_rec@mnp g
|
|
WHERE stato IN (5)
|
|
AND g.causale_accodamento = c.desc_causale
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_rec_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
AND c.codice_causale IN (3, 7, 8)
|
|
GROUP BY 2,
|
|
DECODE (c.codice_causale,
|
|
3, '2 - MANUTENZIONE PROGRAMMATA',
|
|
8, '3 - OVERFLOW',
|
|
7, '4 - WAITING LIST',
|
|
NULL
|
|
),
|
|
codice_operatore_don_eff
|
|
UNION
|
|
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS d,
|
|
a.codice_operatore_don_eff AS don, COUNT (c.cod_causale_rifiuto)
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp a, mnp.mnp_causale_rifiuto@mnp c
|
|
WHERE a.codice_rifiuto_validazione LIKE '%' || c.cod_causale_rifiuto || ';%'
|
|
AND stato = 7
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_rec_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
|
|
GROUP BY 3, c.cod_causale_rifiuto || '-' || c.causale, a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 15 AS ord, 'VALIDATE POSITIVAMENTE' AS d, a.codice_operatore_don_eff AS don,
|
|
COUNT (s.id_richiesta) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 8
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
GROUP BY 15, 'VALIDATE POSITIVAMENTE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 4 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 3
|
|
GROUP BY 4, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 1 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 5 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 6
|
|
GROUP BY 5, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 2 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 6 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 9
|
|
GROUP BY 6, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 3 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 7 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 12
|
|
GROUP BY 7, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 4 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 8 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 15
|
|
GROUP BY 8, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 5 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 9 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 18
|
|
GROUP BY 9, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 6 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 10 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 21
|
|
GROUP BY 10, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 7 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 11 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 24
|
|
GROUP BY 11, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 8 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 12 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 27
|
|
GROUP BY 12, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 9 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 13 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 30
|
|
GROUP BY 13, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 10 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 14 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 33
|
|
GROUP BY 14, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 11 CAUSALE', a.codice_operatore_don_eff
|
|
)
|
|
ORDER BY ord;
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
PROCEDURE calc3d (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '3D';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT d || ';' || REC || ';' || v || ';' AS csv
|
|
FROM (
|
|
SELECT 1 AS ord, '1 - NON UNIVOCITÀ DEL CODICE RICHIESTA' AS d, G.CODICE_OPERATORE_REC_EFF as REC, NVL(COUNT (g.id_richiesta),0) as V
|
|
FROM mnp.mnp_gestione_richiesta@mnp g
|
|
WHERE stato IN (12)
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_don_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
GROUP BY G.CODICE_OPERATORE_REC_EFF
|
|
UNION
|
|
SELECT 2 AS ord,
|
|
DECODE (c.codice_causale,
|
|
3, '2 - MANUTENZIONE PROGRAMMATA',
|
|
8, '3 - OVERFLOW',
|
|
7, '4 - WAITING LIST',
|
|
NULL
|
|
) AS d, G.CODICE_OPERATORE_REC_EFF AS REC, COUNT (g.cod_controllo_presaincarico) AS v
|
|
FROM mnp.mnp_causale_accodamento@mnp c, mnp.mnp_gestione_richiesta@mnp g
|
|
WHERE stato IN (4)
|
|
AND g.cod_controllo_presaincarico = c.codice_causale
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_don_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
GROUP BY 2 ,
|
|
DECODE (c.codice_causale,
|
|
3, '2 - MANUTENZIONE PROGRAMMATA',
|
|
8, '3 - OVERFLOW',
|
|
7, '4 - WAITING LIST',
|
|
NULL
|
|
) , G.CODICE_OPERATORE_REC_EFF
|
|
UNION
|
|
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS D, A.CODICE_OPERATORE_REC_EFF AS REC,
|
|
COUNT (c.cod_causale_rifiuto) AS V
|
|
FROM mnp.mnp_gestione_richiesta@mnp a, mnp.mnp_causale_rifiuto@mnp c
|
|
WHERE a.codice_rifiuto_validazione LIKE
|
|
'%' || c.cod_causale_rifiuto || ';%'
|
|
AND stato = 10
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_don_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
|
|
group by 3 , c.cod_causale_rifiuto || '-' || c.causale , A.CODICE_OPERATORE_REC_EFF
|
|
|
|
UNION
|
|
SELECT 5 AS ord, 'VALIDATE POSITIVAMENTE' AS d, A.CODICE_OPERATORE_REC_EFF as REC,
|
|
COUNT (s.id_richiesta) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s,
|
|
mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
GROUP BY 5 , 'VALIDATE POSITIVAMENTE' , A.CODICE_OPERATORE_REC_EFF
|
|
UNION
|
|
|
|
|
|
SELECT 6 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 3
|
|
GROUP BY 4, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 1 CAUSALE', a.codice_operatore_don_eff
|
|
|
|
|
|
UNION
|
|
SELECT 7 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 6
|
|
GROUP BY 7, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 2 CAUSALE', a.codice_operatore_don_eff
|
|
|
|
UNION
|
|
SELECT 8 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 9
|
|
GROUP BY 8, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 3 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 9 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 12
|
|
GROUP BY 9, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 4 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 10 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 15
|
|
GROUP BY 10, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 5 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 11 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 18
|
|
GROUP BY 11, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 6 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 12 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 21
|
|
GROUP BY 12, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 7 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 13 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 24
|
|
GROUP BY 12, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 8 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 13 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 27
|
|
GROUP BY 13, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 9 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 14 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 30
|
|
GROUP BY 14, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 10 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 15 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 33
|
|
GROUP BY 15, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 11 CAUSALE', a.codice_operatore_don_eff
|
|
)
|
|
ORDER BY ord;
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
----------------------------------------------------------------------------------------------
|
|
PROCEDURE calc4r (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '4R';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT d || ';' || DON || ';' || v || ';' AS csv
|
|
FROM (
|
|
SELECT 1 AS ord, '1 - NON UNIVOCITÀ DEL CODICE RICHIESTA' AS d, g.codice_operatore_don_eff don,
|
|
NVL (COUNT (g.id_richiesta), 0) v
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp g
|
|
WHERE stato IN (9)
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_rec_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY g.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 2 AS ord,
|
|
DECODE (c.codice_causale,
|
|
3, '2 - MANUTENZIONE PROGRAMMATA',
|
|
8, '3 - OVERFLOW',
|
|
7, '4 - WAITING LIST',
|
|
NULL
|
|
) AS d,
|
|
codice_operatore_don_eff AS don, COUNT (g.causale_accodamento) AS v
|
|
FROM mnp.mnp_causale_accodamento@mnp c, mnp.mnp_gestione_richiesta_rec@mnp g
|
|
WHERE stato IN (5)
|
|
AND g.causale_accodamento = c.desc_causale
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_rec_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
AND c.codice_causale IN (3, 7, 8)
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 2,
|
|
DECODE (c.codice_causale,
|
|
3, '2 - MANUTENZIONE PROGRAMMATA',
|
|
8, '3 - OVERFLOW',
|
|
7, '4 - WAITING LIST',
|
|
NULL
|
|
),
|
|
codice_operatore_don_eff
|
|
UNION
|
|
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS d,
|
|
a.codice_operatore_don_eff AS don, COUNT (c.cod_causale_rifiuto)
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp a, mnp.mnp_causale_rifiuto@mnp c
|
|
WHERE a.codice_rifiuto_validazione LIKE '%' || c.cod_causale_rifiuto || ';%'
|
|
AND stato = 7
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_rec_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 3, c.cod_causale_rifiuto || '-' || c.causale, a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 15 AS ord, 'VALIDATE POSITIVAMENTE' AS d, a.codice_operatore_don_eff AS don,
|
|
COUNT (s.id_richiesta) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 8
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 15, 'VALIDATE POSITIVAMENTE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 4 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 3
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 4, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 1 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 5 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 6
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 5, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 2 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 6 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 9
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 6, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 3 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 7 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 12
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 7, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 4 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 8 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 15
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 8, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 5 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 9 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 18
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 9, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 6 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 10 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 21
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 10, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 7 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 11 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 24
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 11, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 8 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 12 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 27
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 12, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 9 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 13 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 30
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 13, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 11 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 14 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp s, mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_rec_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 33
|
|
AND FLAG_PREVALIDAZIONE ='Y'
|
|
GROUP BY 14, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 11 CAUSALE', a.codice_operatore_don_eff
|
|
)
|
|
ORDER BY ord;
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
PROCEDURE calc4d (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '4D';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
|
|
SELECT d || ';' || REC || ';' || v || ';' AS csv
|
|
FROM (
|
|
SELECT 1 AS ord, '1 - NON UNIVOCITÀ DEL CODICE RICHIESTA' AS d, G.CODICE_OPERATORE_REC_EFF as REC, NVL(COUNT (g.id_richiesta),0) as V
|
|
FROM mnp.mnp_gestione_richiesta@mnp g
|
|
WHERE stato IN (12)
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_don_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY G.CODICE_OPERATORE_REC_EFF
|
|
UNION
|
|
SELECT 2 AS ord,
|
|
DECODE (c.codice_causale,
|
|
3, '2 - MANUTENZIONE PROGRAMMATA',
|
|
8, '3 - OVERFLOW',
|
|
7, '4 - WAITING LIST',
|
|
NULL
|
|
) AS d, G.CODICE_OPERATORE_REC_EFF AS REC, COUNT (g.cod_controllo_presaincarico) AS v
|
|
FROM mnp.mnp_causale_accodamento@mnp c, mnp.mnp_gestione_richiesta@mnp g
|
|
WHERE stato IN (4)
|
|
AND g.cod_controllo_presaincarico = c.codice_causale
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_don_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 2 ,
|
|
DECODE (c.codice_causale,
|
|
3, '2 - MANUTENZIONE PROGRAMMATA',
|
|
8, '3 - OVERFLOW',
|
|
7, '4 - WAITING LIST',
|
|
NULL
|
|
) , G.CODICE_OPERATORE_REC_EFF
|
|
UNION
|
|
SELECT 3 AS ord, c.cod_causale_rifiuto || '-' || c.causale AS D, A.CODICE_OPERATORE_REC_EFF AS REC,
|
|
COUNT (c.cod_causale_rifiuto) AS V
|
|
FROM mnp.mnp_gestione_richiesta@mnp a, mnp.mnp_causale_rifiuto@mnp c
|
|
WHERE a.codice_rifiuto_validazione LIKE
|
|
'%' || c.cod_causale_rifiuto || ';%'
|
|
AND stato = 10
|
|
AND dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND codice_operatore_don_eff = 'TIMG'
|
|
AND richiestaadhoc = 0
|
|
AND c.cod_causale_rifiuto BETWEEN 20 AND 30
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
group by 3 , c.cod_causale_rifiuto || '-' || c.causale , A.CODICE_OPERATORE_REC_EFF
|
|
|
|
UNION
|
|
SELECT 5 AS ord, 'VALIDATE POSITIVAMENTE' AS d, A.CODICE_OPERATORE_REC_EFF as REC,
|
|
COUNT (s.id_richiesta) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s,
|
|
mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 7
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 5 , 'VALIDATE POSITIVAMENTE' , A.CODICE_OPERATORE_REC_EFF
|
|
UNION
|
|
|
|
|
|
SELECT 6 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 1 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 3
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 4, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 1 CAUSALE', a.codice_operatore_don_eff
|
|
|
|
|
|
UNION
|
|
SELECT 7 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 2 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 6
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 7, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 2 CAUSALE', a.codice_operatore_don_eff
|
|
|
|
UNION
|
|
SELECT 8 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 3 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 9
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 8, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 3 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 9 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 4 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 12
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 9, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 4 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 10 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 5 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 15
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 10, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 5 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 11 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 6 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 18
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 11, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 6 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 12 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 7 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 21
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 12, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 7 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 13 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 8 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 24
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 12, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 8 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 13 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 9 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 27
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 13, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 9 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 14 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 10 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 30
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 14, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 10 CAUSALE', a.codice_operatore_don_eff
|
|
UNION
|
|
SELECT 15 AS ord, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE- 11 CAUSALE' AS d,
|
|
a.codice_operatore_don_eff AS don, NVL (COUNT (a.id_richiesta), 0) AS v
|
|
FROM mnp.mnp_storico_richiesta@mnp s, mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE a.id_richiesta = s.id_richiesta
|
|
AND s.stato_a = 10
|
|
AND a.dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.richiestaadhoc = 0
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND LENGTH (a.codice_rifiuto_validazione) = 33
|
|
AND FLAG_PREVALIDAZIONE = 'Y'
|
|
GROUP BY 15, 'RICHIESTE NUMEROSITA DI CAUSALI CONTEMPORANEE 11 CAUSALE', a.codice_operatore_don_eff
|
|
)
|
|
ORDER BY ord;
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
----------------------------------------------------------------------------------------------
|
|
PROCEDURE calc5t (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '5T';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT donor || ';' || recipient || ';' || richieste || ';' AS csv
|
|
FROM (SELECT NVL (an.id_amministrativo, ss.don) donor, ss.rec recipient,
|
|
SUM (ss.richieste) richieste
|
|
FROM (SELECT 'REC' AS processo, codice_operatore_don_eff don,
|
|
codice_operatore_rec_eff rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 12
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = -1
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT 'DV', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gest_rich_donor_virt@mnp a
|
|
WHERE id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 11
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient
|
|
UNION
|
|
SELECT 'DON', codice_operatore_don_eff don,
|
|
codice_operatore_rec_eff rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta@mnp
|
|
WHERE stato_a = 16
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT 'RV', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gest_rich_rec_virt@mnp a
|
|
WHERE id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_rec_virt@mnp
|
|
WHERE stato_a = 12
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_rec_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient
|
|
UNION
|
|
SELECT 'TP', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta_porting@mnp a
|
|
WHERE id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_porting@mnp
|
|
WHERE stato_a = 6
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
|
|
mnp.mnp_anagrafica_operatori@mnp an
|
|
WHERE an.id_operatore = ss.don
|
|
GROUP BY an.id_amministrativo, ss.don, ss.rec
|
|
ORDER BY ss.don);
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
PROCEDURE calc6 (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '6';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT donor || ';' || recipient || ';' || richieste || ';' AS csv
|
|
FROM (SELECT NVL (an.id_amministrativo, ss.don) donor, ss.rec recipient,
|
|
SUM (ss.richieste) richieste
|
|
FROM (SELECT 'REC' AS processo, codice_operatore_don_eff don,
|
|
codice_operatore_rec_eff rec,
|
|
COUNT (a.codice_gruppo) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE richiestaadhoc = 1
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 12
|
|
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
|
|
))
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = -1
|
|
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
|
|
))
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT 'DV', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.codice_gruppo) AS richieste
|
|
FROM mnp.mnp_gest_rich_donor_virt@mnp a
|
|
WHERE richiestaadhoc = 1
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 11
|
|
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
|
|
))
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
|
|
))
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient
|
|
UNION
|
|
SELECT 'DON', codice_operatore_don_eff don,
|
|
codice_operatore_rec_eff rec,
|
|
COUNT (a.codice_gruppo) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE richiestaadhoc = 1
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta@mnp
|
|
WHERE stato_a = 16
|
|
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
|
|
))
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT 'RV', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.codice_gruppo) AS richieste
|
|
FROM mnp.mnp_gest_rich_rec_virt@mnp a
|
|
WHERE richiestaadhoc = 1
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_rec_virt@mnp
|
|
WHERE stato_a = 12
|
|
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
|
|
))
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_rec_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND data_lavorazione BETWEEN (data_inizio) AND (data_fine
|
|
))
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
|
|
mnp.mnp_anagrafica_operatori@mnp an
|
|
WHERE an.id_operatore = ss.don
|
|
GROUP BY an.id_amministrativo, ss.don, ss.rec
|
|
ORDER BY ss.don);
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
PROCEDURE calc5a (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '5A';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT donor || ';' || recipient || ';' || richieste || ';' AS csv
|
|
FROM (SELECT NVL (an.id_amministrativo, ss.don) donor, ss.rec recipient,
|
|
SUM (ss.richieste) richieste
|
|
FROM (SELECT 'REC' AS processo, codice_operatore_don_eff don,
|
|
codice_operatore_rec_eff rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE richiestaadhoc = 1
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 12
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = -1
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT 'DV', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gest_rich_donor_virt@mnp a
|
|
WHERE richiestaadhoc = 1
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 11
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient
|
|
UNION
|
|
SELECT 'DON', codice_operatore_don_eff don,
|
|
codice_operatore_rec_eff rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE richiestaadhoc = 1
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta@mnp
|
|
WHERE stato_a = 16
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT 'RV', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gest_rich_rec_virt@mnp a
|
|
WHERE richiestaadhoc = 1
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_rec_virt@mnp
|
|
WHERE stato_a = 12
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_rec_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
|
|
mnp.mnp_anagrafica_operatori@mnp an
|
|
WHERE an.id_operatore = ss.don
|
|
GROUP BY an.id_amministrativo, ss.don, ss.rec
|
|
ORDER BY ss.don);
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
PROCEDURE calc5s (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '5S';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT donor || ';' || recipient || ';' || richieste || ';' AS csv
|
|
FROM (SELECT NVL (an.id_amministrativo, ss.don) donor, ss.rec recipient,
|
|
SUM (ss.richieste) richieste
|
|
FROM (SELECT 'REC' AS processo, codice_operatore_don_eff don,
|
|
codice_operatore_rec_eff rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE richiestaadhoc = 0
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 12
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = -1
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT 'DV', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gest_rich_donor_virt@mnp a
|
|
WHERE richiestaadhoc = 0
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 11
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient
|
|
UNION
|
|
SELECT 'DON', codice_operatore_don_eff don,
|
|
codice_operatore_rec_eff rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE richiestaadhoc = 0
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta@mnp
|
|
WHERE stato_a = 16
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT 'RV', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gest_rich_rec_virt@mnp a
|
|
WHERE richiestaadhoc = 0
|
|
AND id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_rec_virt@mnp
|
|
WHERE stato_a = 12
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_rec_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND data_lavorazione BETWEEN data_inizio AND data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
|
|
mnp.mnp_anagrafica_operatori@mnp an
|
|
WHERE an.id_operatore = ss.don
|
|
GROUP BY an.id_amministrativo, ss.don, ss.rec
|
|
ORDER BY ss.don);
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
PROCEDURE calc7 (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '7';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT x.donor || ';' || x.recipient || ';' || x.richieste || ';' AS csv
|
|
FROM (SELECT NVL (an.id_amministrativo, ss.don) donor, ss.rec recipient,
|
|
SUM (ss.richieste) richieste
|
|
FROM (SELECT 'REC' AS processo, codice_operatore_don_eff don,
|
|
codice_operatore_rec_eff rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp a
|
|
WHERE id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 12
|
|
AND data_lavorazione <= data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta_rec@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = -1
|
|
AND data_lavorazione <= data_fine)
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT 'DV', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gest_rich_donor_virt@mnp a
|
|
WHERE id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 11
|
|
AND data_lavorazione <= data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_don_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND data_lavorazione <= data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient
|
|
UNION
|
|
SELECT 'DON', codice_operatore_don_eff don,
|
|
codice_operatore_rec_eff rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_richiesta@mnp
|
|
WHERE stato_a = 16
|
|
AND data_lavorazione <= data_fine)
|
|
GROUP BY codice_operatore_don_eff, codice_operatore_rec_eff
|
|
UNION
|
|
SELECT 'RV', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gest_rich_rec_virt@mnp a
|
|
WHERE id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_rec_virt@mnp
|
|
WHERE stato_a = 12
|
|
AND data_lavorazione <= data_fine)
|
|
AND id_richiesta NOT IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_rich_rec_virt@mnp
|
|
WHERE stato_a = 3
|
|
AND stato_da = 1
|
|
AND data_lavorazione <= data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient
|
|
UNION
|
|
SELECT 'TP', codice_operatore_donating don,
|
|
codice_operatore_recipient rec,
|
|
COUNT (a.id_richiesta) AS richieste
|
|
FROM mnp.mnp_gestione_richiesta_porting@mnp a
|
|
WHERE id_richiesta IN (
|
|
SELECT id_richiesta
|
|
FROM mnp.mnp_storico_porting@mnp
|
|
WHERE stato_a = 6
|
|
AND data_lavorazione <= data_fine)
|
|
GROUP BY codice_operatore_donating, codice_operatore_recipient) ss,
|
|
mnp.mnp_anagrafica_operatori@mnp an
|
|
WHERE an.id_operatore = ss.don
|
|
GROUP BY an.id_amministrativo, ss.don, ss.rec
|
|
ORDER BY ss.don) x;
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
--------------
|
|
--------------
|
|
PROCEDURE calc8r_1 (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '8R_1';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT donating || ';' || tempo_medio_attivazione || ';' AS csv
|
|
FROM (SELECT k.donating,
|
|
ROUND (AVG (k.data_lavorazione - k.dataricezionerichiesta),
|
|
2
|
|
) AS tempo_medio_attivazione,
|
|
COUNT (k.id_richiesta)
|
|
FROM (SELECT r.codice_operatore_don_eff AS donating, r.dataricezionerichiesta,
|
|
r.id_richiesta, st.data_lavorazione
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp r,
|
|
mnp.mnp_storico_richiesta_rec@mnp st
|
|
WHERE r.data_cut_over_aom BETWEEN data_inizio AND data_fine
|
|
AND r.stato = 12
|
|
AND r.codice_operatore_rec_eff = 'TIMG'
|
|
AND r.richiestaadhoc = 0
|
|
AND r.id_richiesta = st.id_richiesta
|
|
AND st.stato_a = 12
|
|
AND r.msisdn NOT IN (
|
|
SELECT gg.msisdn
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp gg,
|
|
mnp.mnp_storico_richiesta_rec@mnp gs
|
|
WHERE gs.stato_a = 7
|
|
AND gg.id_richiesta = gs.id_richiesta
|
|
AND gs.data_lavorazione >= SYSDATE - 30)
|
|
UNION
|
|
SELECT r.codice_operatore_don_eff AS donating, xx.dataricezionerichiesta,
|
|
r.id_richiesta, st.data_lavorazione
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp r,
|
|
mnp.mnp_storico_richiesta_rec@mnp st,
|
|
(SELECT gg.msisdn, gg.dataricezionerichiesta
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp gg,
|
|
mnp.mnp_storico_richiesta_rec@mnp gs
|
|
WHERE gs.stato_a = 7
|
|
AND gg.id_richiesta = gs.id_richiesta
|
|
AND gs.data_lavorazione >= SYSDATE - 30) xx
|
|
WHERE r.data_cut_over_aom BETWEEN data_inizio AND data_fine
|
|
AND r.stato = 12
|
|
AND r.codice_operatore_rec_eff = 'TIMG'
|
|
AND r.richiestaadhoc = 0
|
|
AND r.id_richiesta = st.id_richiesta
|
|
AND st.stato_a = 12
|
|
AND xx.msisdn = r.msisdn
|
|
AND r.msisdn IN (
|
|
SELECT gg.msisdn
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp gg,
|
|
mnp.mnp_storico_richiesta_rec@mnp gs
|
|
WHERE gs.stato_a = 7
|
|
AND gg.id_richiesta = gs.id_richiesta
|
|
AND gs.data_lavorazione >= SYSDATE - 30)) k
|
|
GROUP BY k.donating);
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
--------------
|
|
PROCEDURE calc8r_2 (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '8R_2';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT donating || ';' || tempo_medio_realizzazione || ';' AS csv
|
|
FROM (SELECT r.codice_operatore_don_eff AS donating,
|
|
AVG
|
|
(fun_giorni_lavorativi (r.data_cut_over_aom, st.data_lavorazione)
|
|
) AS tempo_medio_realizzazione
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp r,
|
|
mnp.mnp_storico_richiesta_rec@mnp st
|
|
WHERE r.data_cut_over_aom BETWEEN data_inizio AND data_fine
|
|
AND (st.stato_da = 2 AND st.stato_a = 4)
|
|
AND r.stato = 12
|
|
AND r.codice_operatore_rec_eff = 'TIMG'
|
|
AND r.richiestaadhoc = 0
|
|
AND r.id_richiesta = st.id_richiesta
|
|
GROUP BY r.codice_operatore_don_eff
|
|
UNION
|
|
SELECT dv.codice_operatore_donating AS donating,
|
|
AVG
|
|
(fun_giorni_lavorativi (dv.data_cut_over_eff, stdv.data_lavorazione)
|
|
) AS tempo_medio_realizzazione
|
|
FROM mnp.mnp_gest_rich_donor_virt@mnp dv,
|
|
mnp.mnp_storico_rich_don_virt@mnp stdv
|
|
WHERE dv.data_cut_over_eff BETWEEN data_inizio AND data_fine
|
|
AND (stdv.stato_da = 1 AND stdv.stato_a = 2)
|
|
AND dv.stato = 11
|
|
AND dv.codice_operatore_recipient = 'TIMG'
|
|
AND dv.richiestaadhoc = 0
|
|
AND dv.id_richiesta = stdv.id_richiesta
|
|
GROUP BY dv.codice_operatore_donating);
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
PROCEDURE calc8r_3 (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT '8R_3';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE)
|
|
IS
|
|
SELECT donating || ';' || num_richieste || ';' AS csv
|
|
FROM (SELECT r.codice_operatore_don_eff AS donating, COUNT (*) AS num_richieste
|
|
FROM mnp.mnp_gestione_richiesta_rec@mnp r
|
|
WHERE r.stato = 11
|
|
AND r.data_cut_over_aom BETWEEN data_inizio AND data_fine
|
|
AND r.codice_operatore_recipient = 'TIMG'
|
|
AND r.richiestaadhoc = 0
|
|
AND r.espletamentoterzeparti IS NOT NULL
|
|
GROUP BY r.codice_operatore_don_eff
|
|
UNION
|
|
SELECT dv.codice_operatore_donating, COUNT (*) AS num_richieste
|
|
FROM mnp.mnp_gest_rich_donor_virt@mnp dv
|
|
WHERE dv.data_cut_over_eff BETWEEN data_inizio AND data_fine
|
|
AND ((dv.stato = 8 AND flag_esp = 1) OR (dv.stato = 10 AND flag_esp = 0))
|
|
AND dv.codice_operatore_recipient = 'TIMG'
|
|
AND dv.richiestaadhoc = 0
|
|
AND dv.espletamentoterzeparti IS NOT NULL
|
|
GROUP BY dv.codice_operatore_donating);
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
|
|
OPEN cur_res (data_inizio, data_fine);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
|
|
PROCEDURE calcdatigenerali (anno IN VARCHAR, mese IN VARCHAR)
|
|
IS
|
|
-- COSTANTI
|
|
tipo VARCHAR (10) NOT NULL DEFAULT 'DatiG';
|
|
returncar VARCHAR (1) NOT NULL DEFAULT CHR (13);
|
|
spaziocar VARCHAR (1) NOT NULL DEFAULT CHR (10);
|
|
--
|
|
data_inizio DATE;
|
|
data_fine DATE;
|
|
data_inizio_mp DATE;
|
|
data_fine_mp DATE;
|
|
line VARCHAR (1000);
|
|
csv VARCHAR (4000);
|
|
|
|
CURSOR cur_res (data_inizio DATE, data_fine DATE, data_inizio_mp DATE, data_fine_mp DATE)
|
|
IS
|
|
SELECT csv
|
|
FROM (SELECT 'Mese di riferimento (mm/aaaa)' || ';' || mese||'/'|| anno || ';' AS csv,
|
|
2 ordine
|
|
FROM DUAL
|
|
UNION
|
|
SELECT 'Codice dell''operatore' || ';' || 'TIM' || ';' AS csv, 1 ordine
|
|
FROM DUAL
|
|
UNION
|
|
SELECT 'Numero di giorni di manutenzione programmata nel mese di riferimento'
|
|
|| ';'
|
|
|| x.totale
|
|
|| ';' AS csv,
|
|
8 ordine
|
|
FROM (SELECT COUNT (*) totale
|
|
FROM mnp.mnp_data_manutenzione@mnp a
|
|
WHERE data_manutenzione BETWEEN data_inizio AND data_fine) x
|
|
UNION
|
|
SELECT 'Numero di giorni lavorativi del mese di riferimento'
|
|
|| ';'
|
|
|| x.totale
|
|
|| ';' AS csv,
|
|
7 ordine
|
|
FROM (SELECT dwh.fun_giorni_lavorativi (data_fine, data_inizio) totale
|
|
FROM DUAL) x
|
|
UNION
|
|
SELECT 'Numero totale di richieste ricevute come donating nel mese di riferimento'
|
|
|| ';'
|
|
|| x.totale
|
|
|| ';' AS csv,
|
|
6 ordine
|
|
FROM (SELECT SUM (num) totale
|
|
FROM (SELECT COUNT (*) AS num
|
|
FROM mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND a.richiestaadhocaom = 0
|
|
UNION
|
|
SELECT COUNT (*) AS num
|
|
FROM mnp.mnp_gest_rich_rec_virt@mnp b
|
|
WHERE dataricezionerichiesta BETWEEN data_inizio AND data_fine
|
|
AND b.codice_operatore_donating = 'TIMG'
|
|
AND b.richiestaadhoc = 0)) x
|
|
UNION
|
|
SELECT 'Numero di giorni di manutenzione programmata nel mese precedente a quello di riferimento'
|
|
|| ';'
|
|
|| x.totale
|
|
|| ';' AS csv,
|
|
5 ordine
|
|
FROM (SELECT COUNT (*) totale
|
|
FROM mnp.mnp_data_manutenzione@mnp a
|
|
WHERE data_manutenzione BETWEEN data_inizio_mp AND data_fine_mp) x
|
|
UNION
|
|
SELECT 'Numero di giorni lavorativi del mese precedente a quello di riferimento'
|
|
|| ';'
|
|
|| x.totale
|
|
|| ';' AS csv,
|
|
4 ordine
|
|
FROM (SELECT dwh.fun_giorni_lavorativi (data_fine_mp, data_inizio_mp) totale
|
|
FROM DUAL) x
|
|
UNION
|
|
SELECT 'Numero totale di richieste ricevute come donating nel mese precedente a quello di riferimento'
|
|
|| ';'
|
|
|| x.totale
|
|
|| ';' AS csv,
|
|
3 ordine
|
|
FROM (SELECT SUM (num) totale
|
|
FROM (SELECT COUNT (*) AS num
|
|
FROM mnp.mnp_gestione_richiesta@mnp a
|
|
WHERE dataricezionerichiesta BETWEEN data_inizio_mp AND data_fine_mp
|
|
AND a.codice_operatore_don_eff = 'TIMG'
|
|
AND a.richiestaadhocaom = 0
|
|
UNION
|
|
SELECT COUNT (*) AS num
|
|
FROM mnp.mnp_gest_rich_rec_virt@mnp b
|
|
WHERE dataricezionerichiesta BETWEEN data_inizio_mp AND data_fine_mp
|
|
AND b.codice_operatore_donating = 'TIMG'
|
|
AND b.richiestaadhoc = 0)) x
|
|
UNION
|
|
SELECT 'Capacità di evasione messa disposizione nel mese di riferimento'
|
|
|| ';'
|
|
|| x.totale
|
|
|| ';' AS csv,
|
|
11 ordine
|
|
FROM (SELECT CAPACITA_TOTALE AS TOTALE FROM MNP.MNP_EVASIONE@MNP WHERE ID_OPERATORE ='TIMG') x )
|
|
ORDER BY ordine;
|
|
BEGIN
|
|
data_inizio := TO_DATE (anno || '-' || mese || '-01', 'yyyy-mm-dd');
|
|
data_fine := LAST_DAY (data_inizio);
|
|
data_inizio_mp := ADD_MONTHS (data_inizio, -1);
|
|
data_fine_mp := LAST_DAY (data_inizio_mp);
|
|
|
|
OPEN cur_res (data_inizio, data_fine, data_inizio_mp, data_fine_mp);
|
|
|
|
LOOP
|
|
FETCH cur_res
|
|
INTO line;
|
|
|
|
EXIT WHEN cur_res%NOTFOUND;
|
|
csv := csv || line || returncar || spaziocar;
|
|
END LOOP;
|
|
|
|
CLOSE cur_res;
|
|
|
|
INSERT INTO mnp_report_agcom
|
|
(anno, mese, tipo, csv
|
|
)
|
|
VALUES (anno, mese, tipo, csv
|
|
);
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
DBMS_OUTPUT.put_line (SQLERRM);
|
|
END;
|
|
END;
|
|
/ |