-- Customer specific once-script UWVA97_2
--
-- (c) 2015 Facilitor bv
SET ECHO ON
SPOOL xuwva97_2.lst
SET DEFINE OFF

-- UWVA#34967 omzetten ophaal naar oproepactiviteit gekopieerd uit UWVA#30641
SET SERVEROUTPUT ON size 1000000;

DECLARE
   oracle_err_num   NUMBER;
   oracle_err_mes   VARCHAR2 (255);
   v_aanduiding     VARCHAR2 (255);
   v_errormsg       VARCHAR2 (1024);
   v_errorhint      VARCHAR2 (1024);

   CURSOR c
   IS
      SELECT ac.bez_actie_omschrijving actie_oproep
            ,ac.bez_actie_key
            ,rr.res_ruimte_nr ruimte
            ,rrr.res_rsv_ruimte_key
            ,rrr.res_reservering_key||'/'||rrr.res_rsv_ruimte_volgnr deelres
            ,rrr.res_rsv_ruimte_van van
            ,a.bez_afspraak_key
            ,a.bez_actie_key actie_oud
        FROM bez_actie ac
            ,res_ruimte rr
            ,res_ruimte_opstelling ro
            ,res_rsv_ruimte rrr
            ,bez_afspraak a
       WHERE BITAND(ac.bez_actie_flags, 1) = 1
         AND rr.bez_actie_key = ac.bez_actie_key
         AND ro.res_ruimte_key = rr.res_ruimte_key
         AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
         AND a.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
         AND a.bez_afspraak_datum > TRUNC(SYSDATE)
         AND (   a.bez_actie_key != ac.bez_actie_key
              OR a.bez_actie_key IS NULL);
BEGIN
   FOR r IN c
   LOOP
      BEGIN
         v_aanduiding :=   'Afspraak '||r.bez_afspraak_key
                         ||' bij res '||r.deelres
                         ||' ('||r.res_rsv_ruimte_key
                         ||') in "'||r.ruimte
                         ||'" op '||TO_CHAR(r.van, 'dd-mm-yyyy hh24:mi');
         
         v_errorhint := 'Update bez_actie bij bez_afspraak';
         
         UPDATE bez_afspraak
            SET bez_actie_key = r.bez_actie_key
          WHERE bez_afspraak_key = r.bez_afspraak_key;

         DBMS_OUTPUT.PUT_LINE (v_aanduiding);
      EXCEPTION
         WHEN OTHERS
         THEN
            oracle_err_num := SQLCODE;
            oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
            v_errorhint := v_errormsg;
            v_errormsg :=
                  v_aanduiding
               || '(ORACLE error '
               || oracle_err_num
               || '/'
               || oracle_err_mes
               || ')';
            DBMS_OUTPUT.PUT_LINE ('Error: '||v_errormsg||'; Hint: '||v_errorhint);
      END;
   END LOOP;
END;
/

-- Alle res_ruimtes zonder default-activiteit een default toekennen
UPDATE res_ruimte
   SET bez_actie_key = 5
 WHERE bez_actie_key IS NULL;

-- Alle toekomstige afspraken die geen activiteit hebben, 'Ophalen' toekennen
UPDATE bez_afspraak
   SET bez_actie_key = 5
 WHERE bez_afspraak_datum > TRUNC(SYSDATE)
   AND bez_actie_key IS NULL;
   
COMMIT;   

--UWVA##33705: rap: Inzage hebben of de bijlage van objecten voor inspectie geüpload zijn.
CREATE TABLE uwva_flexfiles
(
   module            VARCHAR(10),
   prefix            VARCHAR2(1),
   object_key        NUMBER(10),
   kenmerk_key       NUMBER(10),
   file_name         VARCHAR2(256),
   file_size         NUMBER(10),
   file_hash         VARCHAR2(128)
);

--UWVA##33705: rap: Inzage hebben of de bijlage van objecten voor inspectie geüpload zijn.
CREATE OR REPLACE VIEW uwva_v_rap_inspect_file AS SELECT NULL x FROM DUAL;

INSERT INTO fac_usrrap (fac_usrrap_omschrijving,
                        fac_usrrap_view_name,
                        fac_usrrap_info,
                        fac_functie_key)
   SELECT   'INS: bijlagen bij inspecties',
            'uwva_v_rap_inspect_file',
            'Zitten er bijlagen bij inspecties',
            fac_functie_key
     FROM   fac_functie
    WHERE   fac_functie_code = 'WEB_USER20';

BEGIN adm.systrackscriptId('$Id$'); END;
/
COMMIT;
SPOOL OFF

@@uwva_misc.sql

BEGIN fac.registercustversion('UWVA', 97); END;
/
COMMIT;