/* DB34to35.SRC
 * Update script van FACILITOR schema
 * $Revision$
 * $Id$
 */
#include "prologue.inc"

COMMIT;

/////////////////////////////////////////////////////////////////////////////////////////// RWSN#51376
ALTER TABLE prs_bedrijfdienstlocatie
  ADD prs_bdl_t_uitvoertijd
      MLD_T_UITVOERTIJD
      DEFAULT MLD_T_UITVOERTIJD(NULL, NULL)
      CONSTRAINT prs_bdl_t_uitvoertijd CHECK(prs_bdl_t_uitvoertijd.tijdsduur >= 0);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#54013
ALTER TABLE mld_stdmelding
  ADD mld_stdmelding_code
      VARCHAR2(60)
      CONSTRAINT mld_u_mld_stdmelding_code UNIQUE;
ALTER TABLE mld_kenmerk
  ADD mld_kenmerk_code
      VARCHAR2(60)
      CONSTRAINT mld_u_mld_kenmerk_code UNIQUE;
ALTER TABLE mld_srtkenmerk
  ADD mld_srtkenmerk_code
      VARCHAR2(60)
      CONSTRAINT mld_u_mld_srtkenmerk_code UNIQUE;
ALTER TABLE ins_tab_discipline
  ADD ins_discipline_code
      VARCHAR2(60)
      CONSTRAINT ins_u_ins_discipline_code UNIQUE;
/////////////////////////////////////////////////////////////////////////////////////////// STAM#52848
DEF_MENUITEM(3, 'lcl_mobile_ins_fo'             , '', 'INS', 'appl/pda/ins_list.asp?urole=fo', 0, 0, 'WEB_INSFOF', 'R', '1',      'fa-arrow-circle-up');
/////////////////////////////////////////////////////////////////////////////////////////// BLCC#53564
ALTER TABLE mld_opdr
  ADD mld_opdr_parent_key
      NUMBER(10)
        CONSTRAINT mld_r_mld_opdr_key4 REFERENCES mld_opdr (mld_opdr_key);
/////////////////////////////////////////////////////////////////////////////////////////// PCHD#53859
CREATE TABLE ins_deel_note
(
    ins_deel_note_key
        NUMBER(10)
        PRIMARY KEY,
    ins_deel_key
        NUMBER(10)
        NOT NULL
        REFERENCES ins_deel (ins_deel_key)
        ON DELETE CASCADE,
    ins_deel_note_aanmaak
        DATE
        DEFAULT SYSDATE,
    prs_perslid_key
        NUMBER(10)
        REFERENCES prs_perslid (prs_perslid_key)
        ON DELETE SET NULL,
    ins_deel_note_omschrijving
        VARCHAR2(4000)
);
CREATE SEQUENCE ins_s_ins_deel_note_key MINVALUE 1;
create index ins_i_ins_deel_note1 on ins_deel_note(ins_deel_key);
/////////////////////////////////////////////////////////////////////////////////////////// HSLE#53849
ALTER TABLE mld_disc_params
  ADD mld_disc_params_nobnotify
        NUMBER(1)       -- valid are 0, 1
        DEFAULT 1
        NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// HSLE#39286
ALTER TABLE fac_faq
  ADD fac_functie_key
        NUMBER(10)
        REFERENCES fac_functie (fac_functie_key);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#54239
ALTER TABLE ins_deelsrtcontrole
  ADD ins_deelsrtcontrole_plan_opm
      VARCHAR2(4000);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#54465
ALTER TABLE fac_email_setting
  ADD fac_email_setting_attachext
      VARCHAR2(255);
/////////////////////////////////////////////////////////////////////////////////////////// NMMS#54500
ALTER TABLE mld_opdr_materiaal
      MODIFY mld_opdr_materiaal_prijs NUMBER(15,7);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#55003
UPDATE fac_usrrap ur
   SET ur.fac_usrrap_functie = 0
 WHERE ur.fac_usrrap_functie IS NULL;
ALTER TABLE fac_usrrap
      MODIFY fac_usrrap_functie NUMBER(3) DEFAULT 0 NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// MARX#53352
ALTER TABLE mld_opdr_materiaal
  ADD mld_opdr_materiaal_extra4
      VARCHAR2(4000);
ALTER TABLE mld_opdr_materiaal
  ADD mld_opdr_materiaal_id
     NUMBER(10);

/////////////////////////////////////////////////////////////////////////////////////////// MARX#53975
create index mld_i_mld_opdr17 on mld_opdr(mld_opdr_teverzenden);

ALTER TABLE mld_opdr DROP CONSTRAINT mld_c_mld_opdr_teverz;
ALTER TABLE mld_opdr
  ADD CONSTRAINT mld_c_mld_opdr_teverz CHECK(mld_opdr_teverzenden IS NULL
                                          OR mld_opdr_teverzenden = 1
                                          OR mld_opdr_teverzenden = 2);  /* NULL=niet verzenden, 1=verzende bij status 4 en 5, 2=altijd verzenden */


/////////////////////////////////////////////////////////////////////////////////////////// FSN#38509
// Iedereen *is* over naar JWT en SAML
DELETE FROM aut_idp
 WHERE aut_idp_type = 3; // GUID Deprecated

/////////////////////////////////////////////////////////////////////////////////////////// FSN#38888
DELETE FROM fac_usrrap
 WHERE LOWER(fac_usrrap_view_name) IN ('fac_v_perfmon_sample_user', 'fac_v_perfmon_sample_overall60', 'fac_v_perfmon_sample_ip');

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#36197
DEF_MENUITEM(2, 'lcl_menu_kpi_definitie'        , '', 'FAC', 'appl/mgt/kpi_definitie.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#54169
ALTER TABLE mld_melding
    ADD mld_melding_behandelaar2_key NUMBER (10)
        CONSTRAINT mld_r_prs_perslid_key12
        REFERENCES prs_perslid (prs_perslid_key);

ALTER TABLE mld_melding
    ADD mld_ins_discipline_key NUMBER (10)
        CONSTRAINT mld_r_ins_discipline_key4
        REFERENCES ins_tab_discipline(ins_discipline_key);

ALTER TABLE mld_stdmelding
    ADD mld_stdmelding_default_disc NUMBER(10)
        CONSTRAINT mld_r_ins_discipline_key5
        REFERENCES ins_tab_discipline(ins_discipline_key);

ALTER TABLE mld_disc_params
    ADD mld_disc_params_srtgroep NUMBER(1) DEFAULT(3);

ALTER TABLE mld_disc_params
    ADD mld_disc_params_bhgnotify NUMBER(1) DEFAULT(1) NOT NULL;

DEF_FAC_SRTNOT('MLDABH', 0, 'lcl_noti_MLDABH', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('MLDAB2', 0, 'lcl_noti_MLDAB2', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('MLDBHG', 0, 'lcl_noti_MLDBHG', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);

/////////////////////////////////////////////////////////////////////////////////////////// MNNL#53389
CREATE VIEW fac_v_udr_faq AS SELECT '' dummy FROM DUAL;
CREATE VIEW fac_v_udr_faqkenmerk_cnd AS SELECT '' dummy FROM DUAL;

INSERT INTO fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name,fac_usrrap_info, fac_functie_key, fac_usrrap_functie)
 SELECT 'UDR: Kennisbank','FAC_V_UDR_FAQ','Basisrapport voor kennisbank rapportages', fac_functie_key, 32
   FROM fac_functie WHERE fac_functie_code='WEB_UDRMAN'
    AND NOT EXISTS (SELECT '' FROM fac_usrrap WHERE UPPER(fac_usrrap_view_name)='FAC_V_UDR_FAQ');
INSERT INTO fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name,fac_usrrap_info, fac_functie_key, fac_usrrap_functie)
 SELECT 'UDR: Kennisbank plus','FAC_V_UDR_FAQKENMERK_CND','Basisrapport voor kennisbankgegevens+kenmerk rapportages', fac_functie_key, 32
   FROM fac_functie WHERE fac_functie_code='WEB_UDRMAN'
    AND NOT EXISTS (SELECT '' FROM fac_usrrap WHERE UPPER(fac_usrrap_view_name)='FAC_V_UDR_FAQKENMERK_CND');

/////////////////////////////////////////////////////////////////////////////////////////// MARX#54315
ALTER TABLE mld_kenmerk              -- 0=Nee (default), 1=Ja, 2=Ja, wissen bij hervatten.
  ADD mld_kenmerk_onderbreken
      NUMBER(1)
      DEFAULT 0
      NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#53571
ALTER TABLE mld_melding
  ADD mld_melding_publiek
      NUMBER(1)
      DEFAULT 0
      NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// TWYN#53814
ALTER TABLE prs_kostenplaats
  ADD ins_discipline_key
      NUMBER(10)
      CONSTRAINT prs_r_ins_discipline_key2 REFERENCES ins_tab_discipline(ins_discipline_key);

ALTER TABLE prs_kostenplaats
      DROP CONSTRAINT prs_u_prs_kostenplaats_upper
      DROP INDEX;

ALTER TABLE prs_kostenplaats
      ADD CONSTRAINT prs_u_prs_kostenplaats_upper
      UNIQUE(prs_kostenplaats_upper, prs_kostenplaats_verwijder, ins_discipline_key);

UPDATE prs_kostenplaats kp
   SET kp.ins_discipline_key = (SELECT pr.ins_discipline_key
                                  FROM bgt_project pr
                                     , prs_kostenplaatsgrp kg
                                 WHERE kg.bgt_project_key = pr.bgt_project_key
                                   AND kg.prs_kostenplaatsgrp_key = kp.prs_kostenplaatsgrp_key
                               );

ALTER TABLE prs_kostenplaatsgrp
      DROP CONSTRAINT prs_r_bgt_project_key2;

ALTER TABLE prs_kostenplaatsgrp
      DROP COLUMN bgt_project_key;

/////////////////////////////////////////////////////////////////////////////////////////// MARX#54385
ALTER TABLE mld_kenmerk
  ADD mld_kenmerk_obligation_fill  /* 0=Altijd in te vullen, 1=Alleen invulbaar bij verplichting */
      NUMBER(1)
      DEFAULT 0
      NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#54805
DELETE FAC_IMPORT
 WHERE FAC_IMPORT_DATUM_GELEZEN IS NULL;

/////////////////////////////////////////////////////////////////////////////////////////// DJIN#52552
ALTER TABLE bes_bestelopdr_item
  ADD bes_bestelopdr_item_opmerking
      VARCHAR2(100);

/////////////////////////////////////////////////////////////////////////////////////////// DJIN#53729
ALTER TABLE res_srtactiviteit
 DROP constraint res_c_srtactiviteit_anonym;

ALTER TABLE res_srtactiviteit
  ADD CONSTRAINT res_c_srtactiviteit_anonym CHECK(res_srtactiviteit_anonym IN (0,1,2));

/////////////////////////////////////////////////////////////////////////////////////////// XXXX#12345
ALTER TABLE fin_factuurregel
  ADD (fin_factuurregel_code
          VARCHAR2(30),
       fin_factuurregel_aantal
          NUMBER(8,2),
       fin_factuurregel_eenheid
          VARCHAR2(30),
       fin_factuurregel_id
          NUMBER(10));

ALTER TABLE fac_imp_factuur
  ADD (kenmerk13
          VARCHAR2(250),
       kenmerk14
          VARCHAR2(250),
       kenmerk15
          VARCHAR2(250),
       kenmerk16
          VARCHAR2(250),
       kenmerk17
          VARCHAR2(250),
       kenmerk18
          VARCHAR2(250),
       kenmerk19
          VARCHAR2(250),
       kenmerk20
          VARCHAR2(250),
       artikelcode
          VARCHAR2(30),
       factuurregelaantal
          NUMBER(8,2),
       eenheid
          VARCHAR2(30),
       opdrachtregelid
          NUMBER(10));

/////////////////////////////////////////////////////////////////////////////////////////// TWYN#55026
BEGIN
    adm.trydrop('INDEX jgl9');
    adm.trydrop('INDEX jgl10');
END;
/
CREATE INDEX bgt_bgt_budget_key_naar ON bgt_budgetmutatie(bgt_budget_key_naar);
CREATE INDEX bgt_bgt_budget_key_van  ON bgt_budgetmutatie(bgt_budget_key_van);
CREATE INDEX bgt_i_bgt_disc_params ON bgt_disc_params(bgt_ins_discipline_key);
CREATE INDEX bgt_i_bgt_budget ON bgt_budget(ins_discipline_key, bgt_project_key, bgt_kostenrubriek_key, prs_kostensoortgrp_key, prs_kostensoort_key);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#54581
ALTER TABLE ins_srtcontroledl_xcp ADD
(
    ins_srtcontroledl_xcp_prio
        NUMBER(1)
        DEFAULT(2)
        NOT NULL
);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#54582
ALTER TABLE ins_srtcontrole ADD
(
    prs_dienst_key NUMBER(10)
        CONSTRAINT ins_r_prs_dienst_key1 REFERENCES prs_dienst(prs_dienst_key)
);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#54238
ALTER TABLE alg_srtgebouw ADD
(
    alg_srtgebouw_aspect_max_vg     /* Veiligheid - Gezondheid */
        NUMBER(2)
        DEFAULT 1
        NOT NULL,
    alg_srtgebouw_aspect_max_ch     /* Cultuur Historische waarde */
        NUMBER(2)
        DEFAULT 2
        NOT NULL,
    alg_srtgebouw_aspect_max_gb     /* Gebruik en Bedrijfsproces */
        NUMBER(2)
        DEFAULT 3
        NOT NULL,
    alg_srtgebouw_aspect_max_tv     /* Technische Vervolgschade */
        NUMBER(2)
        DEFAULT 5
        NOT NULL,
    alg_srtgebouw_aspect_max_tk     /* Toename Klachtenonderhoud */
        NUMBER(2)
        DEFAULT 5
        NOT NULL,
    alg_srtgebouw_aspect_max_be     /* Beleving - Esthetica */
        NUMBER(2)
        DEFAULT 7
        NOT NULL,
    alg_srtgebouw_aspect_max_en     /* Energie (aanvulling) */
        NUMBER(2)
        DEFAULT 4
        NOT NULL
);


/////////////////////////////////////////////////////////////////////////////////////////// XXXX#12345


///////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////// GENERAL
// Iets prettiger
UPDATE fac_usrrap_cols
   SET fac_usrrap_cols_datatype = 'datetime'
 WHERE fac_usrrap_cols_column_name = 'fac_auditfail_datum'
   AND fac_usrrap_cols_datatype = 'date';

/////////////////////////////////////////////////////////////////////////////////////////// CLEANUP
/////////////////////////////////////////////////////////////////////////////////////////// MNNL#42727
ALTER TABLE mld_stdmelding DROP COLUMN ins_srtinst_verplicht;

///////////////////////////////////////////////////////////////////////////////////////////
REGISTERONCE('$Id$')

#include "epilogue.inc"
