All Downloads are FREE. Search and download functionalities are using the official Maven repository.

expsigladb.View.V_UTENTE_UNITA_ORGANIZZATIVA.sql Maven / Gradle / Ivy

There is a newer version: 6.6.11
Show newest version
--------------------------------------------------------
--  DDL for View V_UTENTE_UNITA_ORGANIZZATIVA
--------------------------------------------------------

  CREATE OR REPLACE FORCE VIEW "V_UTENTE_UNITA_ORGANIZZATIVA" ("CD_UTENTE", "ESERCIZIO", "ESERCIZIO_INIZIO", "CD_UNITA_ORGANIZZATIVA", "CD_PROPRIO_UNITA", "CD_TIPO_UNITA", "FL_CDS", "FL_UO_CDS", "FL_RUBRICA", "CD_UNITA_PADRE", "LIVELLO", "DS_UNITA_ORGANIZZATIVA", "PRC_COPERTURA_OBBLIG_2", "PRC_COPERTURA_OBBLIG_3", "DACR", "CD_AREA_RICERCA", "FL_PRESIDENTE_AREA", "CD_RESPONSABILE", "UTCR", "DUVA", "CD_RESPONSABILE_AMM", "UTUV", "PG_VER_REC", "ESERCIZIO_FINE", "CD_AREA_SCIENTIFICA", "ID_FUNZIONE_PUBBLICA", "CODICEAOOIPA") AS
  SELECT
--
-- Date: 25/03/2010
-- Version: 1.8
--
-- Ritorna tutte le UO su cui UTENTE ha almeno un accesso proprio o ereditato
-- Non controlla validita dell'STO
--
-- History:
--
-- Date: 10/07/2001
-- Version: 1.0
-- Creazione
--
-- Date: 27/08/2001
-- Version: 1.1
-- Aggiunta fl_presidente_area a tabella UNITA_ORGANIZZATIVA
--
-- Date: 09/11/2001
-- Version: 1.2
-- modifiche per eliminazione ESERCIZIO dalla chiave della struttura organizz.
--
-- Date: 20/06/2002
-- Version: 1.3
-- Aggiunto CD_AREA_SCIENTIFICA
--
-- Date: 13/11/2002
-- Version: 1.4
-- Fix eliminazione distinct perche viene fatta una UNION
--
-- Date: 14/11/2002
-- Version: 1.5
-- Ottimizzazione sostanziale per introduzione exists al post di select diretta su UTENTE_UNITA_XXXX
-- Rimossa la join con ruolo visto che esiste foreign key tra UTENTE_UNITA_RUOLO e RUOLO
--
-- Date: 18/11/2002
-- Version: 1.6
-- Errore estrazione UO indotte da utenza template
--
-- Date: 12/12/2002
-- Version: 1.7
-- Limitazione esercizi a quelli maggiori o uguali esercizio inizio specificato in CONFIGURAZIONE_CNR
--
-- Date: 25/03/2010
-- Version: 1.8
-- Aggiunto ID_FUNZIONE_PUBBLICA
--
-- Body:
--
-- UO indotte da UTENTE_UNITA_ACCESSO
-- UO indotte da UTENTE_UNITA_RUOLO
--
          utente.cd_utente, v_unita_organizzativa.esercizio,
          v_unita_organizzativa.esercizio_inizio,
          v_unita_organizzativa.cd_unita_organizzativa,
          v_unita_organizzativa.cd_proprio_unita,
          v_unita_organizzativa.cd_tipo_unita, v_unita_organizzativa.fl_cds,
          v_unita_organizzativa.fl_uo_cds, v_unita_organizzativa.fl_rubrica,
          v_unita_organizzativa.cd_unita_padre, v_unita_organizzativa.livello,
          v_unita_organizzativa.ds_unita_organizzativa,
          v_unita_organizzativa.prc_copertura_obblig_2,
          v_unita_organizzativa.prc_copertura_obblig_3,
          v_unita_organizzativa.dacr, v_unita_organizzativa.cd_area_ricerca,
          v_unita_organizzativa.fl_presidente_area,
          v_unita_organizzativa.cd_responsabile, v_unita_organizzativa.utcr,
          v_unita_organizzativa.duva,
          v_unita_organizzativa.cd_responsabile_amm,
          v_unita_organizzativa.utuv, v_unita_organizzativa.pg_ver_rec,
          v_unita_organizzativa.esercizio_fine,
          v_unita_organizzativa.cd_area_scientifica,
          v_unita_organizzativa.id_funzione_pubblica,
          v_unita_organizzativa.codiceAooIpa
     FROM v_unita_organizzativa, utente, configurazione_cnr
    WHERE configurazione_cnr.esercizio = 0
      AND configurazione_cnr.cd_unita_funzionale = '*'
      AND configurazione_cnr.cd_chiave_primaria = 'ESERCIZIO_SPECIALE'
      AND configurazione_cnr.cd_chiave_secondaria = 'ESERCIZIO_PARTENZA'
      AND v_unita_organizzativa.esercizio >= configurazione_cnr.im01
      AND (   EXISTS (
                 SELECT 1
                   FROM utente_unita_accesso
                  WHERE cd_unita_organizzativa = v_unita_organizzativa.cd_uo
                    AND cd_utente = utente.cd_utente)
           OR EXISTS (
                 SELECT 1
                   FROM utente_unita_ruolo a
                  WHERE a.cd_unita_organizzativa = v_unita_organizzativa.cd_uo
                    AND a.cd_utente = utente.cd_utente)
          )
   UNION
   SELECT
--
-- UO indotte da UTENTE_UNITA_ACCESSO ATTRAVERSO UTENTE TEMPLATE
--
          utente.cd_utente, v_unita_organizzativa.esercizio,
          v_unita_organizzativa.esercizio_inizio,
          v_unita_organizzativa.cd_unita_organizzativa,
          v_unita_organizzativa.cd_proprio_unita,
          v_unita_organizzativa.cd_tipo_unita, v_unita_organizzativa.fl_cds,
          v_unita_organizzativa.fl_uo_cds, v_unita_organizzativa.fl_rubrica,
          v_unita_organizzativa.cd_unita_padre, v_unita_organizzativa.livello,
          v_unita_organizzativa.ds_unita_organizzativa,
          v_unita_organizzativa.prc_copertura_obblig_2,
          v_unita_organizzativa.prc_copertura_obblig_3,
          v_unita_organizzativa.dacr, v_unita_organizzativa.cd_area_ricerca,
          v_unita_organizzativa.fl_presidente_area,
          v_unita_organizzativa.cd_responsabile, v_unita_organizzativa.utcr,
          v_unita_organizzativa.duva,
          v_unita_organizzativa.cd_responsabile_amm,
          v_unita_organizzativa.utuv, v_unita_organizzativa.pg_ver_rec,
          v_unita_organizzativa.esercizio_fine,
          v_unita_organizzativa.cd_area_scientifica,
          v_unita_organizzativa.id_funzione_pubblica,
          v_unita_organizzativa.codiceAooIpa
     FROM v_unita_organizzativa,
          utente utente_templ,
          utente,
          configurazione_cnr
    WHERE configurazione_cnr.esercizio = 0
      AND configurazione_cnr.cd_unita_funzionale = '*'
      AND configurazione_cnr.cd_chiave_primaria = 'ESERCIZIO_SPECIALE'
      AND configurazione_cnr.cd_chiave_secondaria = 'ESERCIZIO_PARTENZA'
      AND v_unita_organizzativa.esercizio >= configurazione_cnr.im01
      AND utente_templ.cd_utente = utente.cd_utente_templ
      AND (   EXISTS (
                 SELECT 1
                   FROM utente_unita_accesso
                  WHERE cd_unita_organizzativa = v_unita_organizzativa.cd_uo
                    AND cd_utente = utente_templ.cd_utente)
           OR EXISTS (
                 SELECT 1
                   FROM utente_unita_ruolo a
                  WHERE a.cd_unita_organizzativa = v_unita_organizzativa.cd_uo
                    AND a.cd_utente = utente_templ.cd_utente)
          )
   UNION
   SELECT utente.cd_utente, v_unita_organizzativa.esercizio,
          v_unita_organizzativa.esercizio_inizio,
          v_unita_organizzativa.cd_unita_organizzativa,
          v_unita_organizzativa.cd_proprio_unita,
          v_unita_organizzativa.cd_tipo_unita, v_unita_organizzativa.fl_cds,
          v_unita_organizzativa.fl_uo_cds, v_unita_organizzativa.fl_rubrica,
          v_unita_organizzativa.cd_unita_padre, v_unita_organizzativa.livello,
          v_unita_organizzativa.ds_unita_organizzativa,
          v_unita_organizzativa.prc_copertura_obblig_2,
          v_unita_organizzativa.prc_copertura_obblig_3,
          v_unita_organizzativa.dacr, v_unita_organizzativa.cd_area_ricerca,
          v_unita_organizzativa.fl_presidente_area,
          v_unita_organizzativa.cd_responsabile, v_unita_organizzativa.utcr,
          v_unita_organizzativa.duva,
          v_unita_organizzativa.cd_responsabile_amm,
          v_unita_organizzativa.utuv, v_unita_organizzativa.pg_ver_rec,
          v_unita_organizzativa.esercizio_fine,
          v_unita_organizzativa.cd_area_scientifica,
          v_unita_organizzativa.id_funzione_pubblica,
          v_unita_organizzativa.codiceAooIpa
     FROM v_unita_organizzativa, utente, configurazione_cnr
    WHERE configurazione_cnr.esercizio = 0
      AND configurazione_cnr.cd_unita_funzionale = '*'
      AND configurazione_cnr.cd_chiave_primaria = 'ESERCIZIO_SPECIALE'
      AND configurazione_cnr.cd_chiave_secondaria = 'ESERCIZIO_PARTENZA'
      AND v_unita_organizzativa.esercizio >= configurazione_cnr.im01
      AND utente.fl_supervisore = 'Y'
      AND EXISTS (
             SELECT 1
               FROM ruolo_accesso, ruolo, ass_tipo_ruolo_privilegio
              WHERE ruolo_accesso.cd_ruolo = ruolo.cd_ruolo
                AND ruolo.tipo = ass_tipo_ruolo_privilegio.tipo
                AND ass_tipo_ruolo_privilegio.cd_privilegio = 'SUPVIS');

   COMMENT ON TABLE "V_UTENTE_UNITA_ORGANIZZATIVA"  IS 'Vista estrazione tutte le unita organizzative su cui UTENTE ha almeno un accesso proprio o ereditato. Non controlla validita dell''STO';




© 2015 - 2024 Weber Informatics LLC | Privacy Policy