--
-- $Id$
--
-- Customer specific once-script RWSN64.
DEFINE thisfile = 'RWSN64.SQL'
DEFINE dbuser   = '^RWSN'

SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF

------ payload begin ------

-- RWSN#54446: Uitrol NVWA => Eigen tabel tbv. de mapping van de (interne)
--             bedrijfskey van het Derden-bedrijf (in dit geval NVWA) naar de
--             groepskey van de Default<Derden>-autorisatiegroep die aan alle
--             Derden-medewerkers (in dit geval NVWA) wordt toegekend.
INSERT INTO fac_usrtab (fac_usrtab_key,
                        fac_usrtab_naam,
                        fac_usrtab_omschrijving)
    VALUES (6, 'DerdenBedr2Rol', 'DerdenBedr2Rol Configuration');
COMMIT;

-- RWSN#54446: Uitrol NVWA => Nieuw PID-kenmerkveld om Derden uniek te kunnen
--             identificeren/matchen!
INSERT INTO prs_kenmerk (prs_kenmerk_key,
                         prs_kenmerk_niveau,
                         prs_kenmerk_volgnr,
                         prs_kenmerk_omschrijving,
                         prs_kenmerk_hint,
                         prs_kenmerk_kenmerktype,
                         prs_kenmerk_lengte)
    VALUES (1161,
            'P',
            51,
            'PID',
            'PersoneelsID',
            'C',
            100);
COMMIT;

-- RWSN#54446: Uitrol NVWA => PID-kenmerkveld voor bestaande NVWA-ers vullen
--             met e-mail adres (indien aanwezig).
--             Tevens - da's handig in de T-omgeving - alle personen met een
--             PID (logisch) verwijderen en daarna ook de PID zelf.
UPDATE prs_perslid p
   SET p.prs_perslid_verwijder = SYSDATE
 WHERE EXISTS
          (SELECT 1
             FROM prs_kenmerklink
            WHERE prs_kenmerk_key = 1161 AND prs_link_key = p.prs_perslid_key);

COMMIT;

DELETE FROM prs_kenmerklink
      WHERE prs_kenmerk_key = 1161;

COMMIT;

INSERT INTO prs_kenmerklink (prs_link_key,
                             prs_kenmerklink_niveau,
                             prs_kenmerk_key,
                             prs_kenmerklink_waarde)
   SELECT p1.prs_perslid_key,
          'P',
          1161,
          TRIM (p1.prs_perslid_email)
     FROM prs_v_aanwezigperslid p1, prs_v_afdeling_boom ab1
    WHERE p1.prs_perslid_email IS NOT NULL
          AND p1.prs_afdeling_key = ab1.prs_afdeling_key
          AND ab1.prs_bedrijf_key = 69664                      -- NWVA-bedrijf
          AND NOT EXISTS
                (SELECT 1
                   FROM prs_v_aanwezigperslid p2, prs_v_afdeling_boom ab2
                  WHERE p2.prs_perslid_email IS NOT NULL
                        AND p2.prs_afdeling_key = ab2.prs_afdeling_key
                        AND ab2.prs_bedrijf_key = 69664        -- NWVA-bedrijf
                        AND UPPER (TRIM (p2.prs_perslid_email)) = UPPER (TRIM (p1.prs_perslid_email))
                        AND p2.prs_perslid_key != p1.prs_perslid_key);

COMMIT;

-- RWSN#53968: Met RWSN61 is KNMI als intern bedrijf aangemaakt met key=3.
--             Er was echter al een persoon met key=3 (_GAST) en dat mag niet.
--             Om toekomstige problemen te voorkomen, met RWSN64 beter _GAST
--             helemaal verwijderen (was reeds logisch verwijderd en had geen
--             historie)!
DELETE FROM prs_perslid
      WHERE prs_perslid_key = 3;
COMMIT;

------ payload end   ------

SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/

COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile

@@rwsn.sql
