SET echo on timing on time on verify off serveroutput on

--SPOOL LAST_AOM_PORTING_&1

DECLARE
   /* Contatori PORTING */
   codice_olo              NUMBER (8);
   descrizione_olo         VARCHAR2 (100);
   appo_acquisite          NUMBER (10)    := 0;
   appo_scartate           NUMBER (10)    := 0;
   appo_attesa_evasione    NUMBER (10)    := 0;
   appo_non_evase_inviate   NUMBER (10)    := 0;
   appo_non_evase          NUMBER (10)    := 0;
   appo_evase    NUMBER (10)    := 0;
   appo_espletate          NUMBER (10)    := 0;
BEGIN
   SELECT cod_olo, desc_olo
     INTO codice_olo, descrizione_olo
     FROM mnp_olo
    WHERE cod_olo = &1;

---
   SELECT COUNT (*)
     INTO appo_acquisite
     FROM mnp_richiesta_porting_vgr gp
    WHERE stato = 1 AND codice_operatore_recipient = descrizione_olo;

   SELECT COUNT (*)
     INTO appo_scartate
     FROM mnp_richiesta_porting_vgr gp
    WHERE stato = 2 AND codice_operatore_recipient = descrizione_olo
    AND EXISTS (
             SELECT sp.id_richiesta
               FROM mnp_storico_porting sp
              WHERE sp.id_richiesta = gp.id_richiesta
                AND sp.stato_a=2 and sp.data_lavorazione=trunc(sysdate));

   SELECT COUNT (*)
     INTO appo_attesa_evasione
     FROM mnp_richiesta_porting_vgr gp
    WHERE stato = 3 AND codice_operatore_recipient = descrizione_olo;

   SELECT COUNT (*)
     INTO appo_non_evase_inviate
     FROM mnp_richiesta_porting_vgr gp
    WHERE stato = 7 AND codice_operatore_recipient = descrizione_olo;

   SELECT COUNT (*)
     INTO appo_non_evase
     FROM mnp_richiesta_porting_vgr gp
    WHERE stato = 5 AND codice_operatore_recipient = descrizione_olo;

   SELECT COUNT (*)
     INTO appo_evase
     FROM mnp_richiesta_porting_vgr gp
    WHERE stato = 4 
      AND codice_operatore_recipient = descrizione_olo;


   SELECT COUNT (*)
     INTO appo_espletate
     FROM mnp_richiesta_porting_vgr gp
    WHERE stato = 6 AND codice_operatore_recipient = descrizione_olo
    AND EXISTS (
             SELECT sp.id_richiesta
               FROM mnp_storico_porting sp
              WHERE sp.id_richiesta = gp.id_richiesta
                AND sp.stato_a=6 and sp.data_lavorazione=trunc(sysdate));

   DBMS_OUTPUT.put_line ('AOM RECIPIENT ' || descrizione_olo || ' per ' || &1);
   DBMS_OUTPUT.put_line (appo_acquisite);
   DBMS_OUTPUT.put_line (appo_scartate);
   DBMS_OUTPUT.put_line (appo_attesa_evasione);
   DBMS_OUTPUT.put_line (appo_non_evase_inviate);
   DBMS_OUTPUT.put_line (appo_non_evase);
   DBMS_OUTPUT.put_line (appo_evase);
   DBMS_OUTPUT.put_line (appo_espletate);

   DELETE      mnp_gui_porting
         WHERE cod_olo = &1;

   INSERT INTO mnp_gui_porting
               (cod_olo, acquisite, scartate, attesa_evasione,
                non_evase_inviate, non_evase, evase,
                espletate
               )
        VALUES (&1, appo_acquisite, appo_scartate, appo_attesa_evasione,
                appo_non_evase_inviate, appo_non_evase, appo_evase,
                appo_espletate
               );

   COMMIT;
END;
/

EXIT
