Files
gateway-mnp-dbc/dbcmnpsrc/FE/mnpapp/script/gui/sql/esegui_donor.sql
2024-05-13 12:54:14 +02:00

282 lines
7.0 KiB
SQL

set echo on timing on time on verify off serveroutput on
--SPOOL LAST_AOM_DONOR_&1
DECLARE
/* Contatori DONOR */
SYSDATE_1 DATE;
SYSDATE_2 DATE;
CODICE_OLO NUMBER(8);
DESCRIZIONE_OLO VARCHAR2(100);
APPO_ACQUISITE NUMBER(10) :=0;
APPO_ANNULLATE_SCARTATE NUMBER(10) :=0;
APPO_ANNULLATE_SCARTATE1 NUMBER(10) :=0;
APPO_ANNULLATE_SCARTATE2 NUMBER(10) :=0;
APPO_PRESE_IN_CARICO NUMBER(10) :=0;
APPO_RITARDO_PRESA_IN_CARICO NUMBER(10) :=0;
APPO_IN_VALIDAZIONE_TIM NUMBER(10) :=0;
APPO_SOSPESE NUMBER(10) :=0;
APPO_IN_VALIDAZIONE_OGGI NUMBER(10) :=0;
APPO_RITARDO_VALIDAZIONE NUMBER(10) :=0;
APPO_VALIDATE_OK NUMBER(10) :=0;
APPO_VALIDATE_KO NUMBER(10) :=0;
APPO_RIFIUTATE NUMBER(10) :=0;
APPO_IN_CESSAZIONE NUMBER(10) :=0;
APPO_IN_CESSAZIONE_OGGI NUMBER(10) :=0;
APPO_RITARDO_ESPLETAMENTO NUMBER(10) :=0;
APPO_ESPLETATE NUMBER(10) :=0;
APPO_ESPLETATE1 NUMBER(10) :=0;
APPO_ESPLETATE2 NUMBER(10) :=0;
BEGIN
SELECT cod_olo ,
desc_olo
INTO codice_olo ,
descrizione_olo
FROM MNP_OLO
WHERE cod_olo = &1;
SELECT TRUNC(DWH.FUN_GIORNI_MENO(SYSDATE,1))
INTO SYSDATE_1
FROM DUAL;
SELECT TRUNC(DWH.FUN_GIORNI_MENO(SYSDATE,2))
INTO SYSDATE_2
FROM DUAL;
---
SELECT count(*)
INTO APPO_ACQUISITE
FROM MNP_RICHIESTA_VGR
WHERE STATO=1
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
---
SELECT count(*)
INTO APPO_ANNULLATE_SCARTATE1
FROM MNP_RICHIESTA_VGR GR
WHERE EXISTS
(SELECT SR.ID_RICHIESTA FROM MNP_STORICO_RICHIESTA SR
WHERE GR.ID_RICHIESTA=SR.ID_RICHIESTA
AND SR.DATA_LAVORAZIONE=SYSDATE_1
AND SR.STATO_A=4)
AND GR.STATO=4
AND GR.CODICE_OPERATORE_RECIPIENT=descrizione_olo;
SELECT count(*)
INTO APPO_ANNULLATE_SCARTATE2
FROM MNP_RICHIESTA_VGR GR
WHERE EXISTS
(SELECT SR.ID_RICHIESTA FROM MNP_STORICO_RICHIESTA SR
WHERE GR.ID_RICHIESTA=SR.ID_RICHIESTA
AND SR.DATA_LAVORAZIONE=SYSDATE_1
AND SR.STATO_A=12)
AND GR.STATO=12
AND GR.CODICE_OPERATORE_RECIPIENT=descrizione_olo;
APPO_ANNULLATE_SCARTATE := APPO_ANNULLATE_SCARTATE1 + APPO_ANNULLATE_SCARTATE2;
-----------
SELECT count(*)
INTO APPO_PRESE_IN_CARICO
FROM MNP_RICHIESTA_VGR
WHERE STATO=3
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
---------
SELECT count(*)
INTO APPO_RITARDO_PRESA_IN_CARICO
FROM MNP_RICHIESTA_VGR
WHERE STATO=1
AND DATARICEZIONERICHIESTA <= SYSDATE_2
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
---------
SELECT count(*)
INTO APPO_IN_VALIDAZIONE_TIM
FROM MNP_RICHIESTA_VGR
WHERE STATO=6
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
-------
SELECT count(*)
INTO APPO_SOSPESE
FROM MNP_RICHIESTA_VGR
WHERE STATO in (19,20)
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
--------
SELECT count(*)
INTO APPO_IN_VALIDAZIONE_OGGI
FROM MNP_RICHIESTA_VGR
WHERE STATO=6
AND DATA_VALIDAZIONE_MAX=TRUNC(sysdate)
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
--------
SELECT count(*)
INTO APPO_RITARDO_VALIDAZIONE
FROM MNP_RICHIESTA_VGR
WHERE STATO=6
AND DATA_VALIDAZIONE_MAX <=SYSDATE_1
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
--------
SELECT count(*)
INTO APPO_VALIDATE_OK
FROM MNP_RICHIESTA_VGR
WHERE STATO=7
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
-------
SELECT count(*)
INTO APPO_VALIDATE_KO
FROM MNP_RICHIESTA_VGR
WHERE STATO =8
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
--------
SELECT count(*)
INTO APPO_RIFIUTATE
FROM MNP_RICHIESTA_VGR GR
WHERE EXISTS
(SELECT SR.ID_RICHIESTA FROM MNP_STORICO_RICHIESTA SR
WHERE GR.ID_RICHIESTA=SR.ID_RICHIESTA
AND SR.DATA_LAVORAZIONE=TRUNC(sysdate)
AND SR.STATO_A=10)
AND GR.STATO=10
AND GR.CODICE_OPERATORE_RECIPIENT=descrizione_olo;
--------
SELECT count(*)
INTO APPO_IN_CESSAZIONE
FROM MNP_RICHIESTA_VGR
WHERE STATO in (9,14)
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
--------
SELECT count(*)
INTO APPO_IN_CESSAZIONE_OGGI
FROM MNP_RICHIESTA_VGR
WHERE STATO in (9,14)
AND DATA_CUT_OVER_CALC=TRUNC(sysdate)
AND CODICE_OPERATORE_RECIPIENT=descrizione_olo;
--------
SELECT count(*)
INTO APPO_RITARDO_ESPLETAMENTO
FROM MNP_RICHIESTA_VGR
WHERE STATO in (9,14)
AND DATA_CUT_OVER_CALC <TRUNC(sysdate)
AND CODICE_OPERATORE_RECIPIENT = descrizione_olo;
--------
SELECT count(*)
INTO APPO_ESPLETATE1
FROM MNP_RICHIESTA_VGR GR
WHERE EXISTS
(SELECT SR.ID_RICHIESTA FROM MNP_STORICO_RICHIESTA SR
WHERE GR.ID_RICHIESTA=SR.ID_RICHIESTA
AND SR.DATA_LAVORAZIONE=TRUNC(sysdate)
AND SR.STATO_A=15)
AND GR.STATO=15
AND GR.CODICE_OPERATORE_RECIPIENT= descrizione_olo;
SELECT count(*)
INTO APPO_ESPLETATE2
FROM MNP_RICHIESTA_VGR GR
WHERE EXISTS
(SELECT SR.ID_RICHIESTA FROM MNP_STORICO_RICHIESTA SR
WHERE GR.ID_RICHIESTA=SR.ID_RICHIESTA
AND SR.DATA_LAVORAZIONE=TRUNC(sysdate)
AND SR.STATO_A=16)
AND GR.STATO=16
AND GR.CODICE_OPERATORE_RECIPIENT= descrizione_olo;
APPO_ESPLETATE := APPO_ESPLETATE1 + APPO_ESPLETATE2;
DBMS_OUTPUT.PUT_LINE('AOM DONOR '||descrizione_olo||' per '||&1);
DBMS_OUTPUT.PUT_LINE( APPO_ACQUISITE);
DBMS_OUTPUT.PUT_LINE( APPO_ANNULLATE_SCARTATE1);
DBMS_OUTPUT.PUT_LINE( APPO_ANNULLATE_SCARTATE2);
DBMS_OUTPUT.PUT_LINE( APPO_PRESE_IN_CARICO);
DBMS_OUTPUT.PUT_LINE( APPO_RITARDO_PRESA_IN_CARICO);
DBMS_OUTPUT.PUT_LINE( APPO_IN_VALIDAZIONE_TIM);
DBMS_OUTPUT.PUT_LINE( APPO_SOSPESE);
DBMS_OUTPUT.PUT_LINE( APPO_IN_VALIDAZIONE_OGGI);
DBMS_OUTPUT.PUT_LINE( APPO_RITARDO_VALIDAZIONE);
DBMS_OUTPUT.PUT_LINE( APPO_VALIDATE_OK);
DBMS_OUTPUT.PUT_LINE( APPO_VALIDATE_KO);
DBMS_OUTPUT.PUT_LINE( APPO_RIFIUTATE);
DBMS_OUTPUT.PUT_LINE( APPO_IN_CESSAZIONE);
DBMS_OUTPUT.PUT_LINE( APPO_IN_CESSAZIONE_OGGI);
DBMS_OUTPUT.PUT_LINE( APPO_RITARDO_ESPLETAMENTO);
DBMS_OUTPUT.PUT_LINE( APPO_ESPLETATE);
DBMS_OUTPUT.PUT_LINE( APPO_ESPLETATE2);
DELETE MNP_GUI_DONOR
WHERE cod_olo = &1;
INSERT INTO MNP_GUI_DONOR
( COD_OLO,
ACQUISITE,
ANNULLATE_SCARTATE,
PRESE_IN_CARICO,
RITARDO_PRESA_IN_CARICO,
IN_VALIDAZIONE_TIM,
SOSPESE,
IN_VALIDAZIONE_OGGI,
RITARDO_VALIDAZIONE,
VALIDATE_OK,
VALIDATE_KO,
RIFIUTATE,
IN_CESSAZIONE,
IN_CESSAZIONE_OGGI,
RITARDO_ESPLETAMENTO,
ESPLETATE)
VALUES
(&1,
APPO_ACQUISITE,
APPO_ANNULLATE_SCARTATE,
APPO_PRESE_IN_CARICO,
APPO_RITARDO_PRESA_IN_CARICO,
APPO_IN_VALIDAZIONE_TIM,
APPO_SOSPESE,
APPO_IN_VALIDAZIONE_OGGI,
APPO_RITARDO_VALIDAZIONE,
APPO_VALIDATE_OK,
APPO_VALIDATE_KO,
APPO_RIFIUTATE,
APPO_IN_CESSAZIONE,
APPO_IN_CESSAZIONE_OGGI,
APPO_RITARDO_ESPLETAMENTO,
APPO_ESPLETATE);
COMMIT;
END;
/
EXIT