SET ECHO ON
SET DEFINE ON
column fcltlogfile new_value fcltlogfile NOPRINT;
select UPPER(USER) || '_PCHD#30428' || '.lst' as fcltlogfile from dual;
spool &fcltlogfile
SET DEFINE OFF



/*create table tmp_imp_locatie2 (
fincode VARCHAR2(10),
kostenplaats VARCHAR2(10),
locatiecode VARCHAR2(10),
locatieomschrijving VARCHAR2(60))

drop table tmp_imp_locatie2

select distinct kostenplaats from tmp_imp_locatie2

select * from fac_usrdata

select * from fac_usrtab
*/

-- kostenplaatsen toevoegen aan eigen tabel
INSERT INTO fac_usrdata (fac_usrtab_key, fac_usrdata_code, fac_usrdata_omschr)
   SELECT DISTINCT 81, kostenplaats, kostenplaats
     FROM tmp_imp_locatie2
    WHERE kostenplaats <> 'Kostenplaa';

-- projectcodes toevoegen aan eigen tabel
INSERT INTO fac_usrdata (fac_usrtab_key,
                         fac_usrdata_code,
                         fac_usrdata_omschr,
                         fac_usrdata_parentkey)
   SELECT DISTINCT 82,
                   fincode,
                   locatiecode,
                   (SELECT fac_usrdata_key
                      FROM fac_usrdata
                     WHERE fac_usrdata_code = kostenplaats)
     FROM tmp_imp_locatie2
    WHERE kostenplaats <> 'Kostenplaa';

/*
select i.locatiecode, l.* from alg_locatie l, tmp_imp_locatie2 i where locatiecode in (
select locatiecode from tmp_imp_locatie2 i group by locatiecode having count(*) > 1)
and i.fincode = l.alg_locatie_code
*/


/*
select fincode, locatiecode, mld_alg_onroerendgoed_keys, alg_locatie_key, count(mld_melding_key) from tmp_imp_locatie2 i, alg_locatie l, mld_melding m where locatiecode in (
select locatiecode from tmp_imp_locatie2 group by locatiecode having count(*) > 1)
and i.fincode = l.alg_locatie_code
and l.alg_locatie_key  = m.mld_alg_locatie_key
group by fincode, locatiecode, alg_locatie_key, mld_alg_onroerendgoed_keys
*/

-- verwijder contractplaats records op gebouwniveau indien er al een entry op locatieniveau is
DELETE cnt_contract_plaats cp
 WHERE cnt_alg_plaats_code = 'G'
   AND EXISTS
          (SELECT cnt_contract_plaats_key
             FROM cnt_contract_plaats cpl, alg_gebouw g
            WHERE cpl.cnt_alg_plaats_key = g.alg_locatie_key
              AND cpl.cnt_contract_key = cp.cnt_contract_key
              AND cp.cnt_alg_plaats_key = g.alg_gebouw_key
              AND cpl.cnt_alg_plaats_code = 'L');

-- update scope records op gebouwniveau naar locatieniveau
UPDATE cnt_contract_plaats cp
   SET cnt_alg_plaats_key =
          (SELECT alg_locatie_key
             FROM alg_gebouw g
            WHERE g.alg_gebouw_key = cp.cnt_alg_plaats_key),
       cnt_alg_plaats_code = 'L'
 WHERE cnt_alg_plaats_code = 'G';

-- pas meldingen en contracten aan van de oude locatie/gebouw... naar de nieuwe 
--161 - 863 -> 45 - 509  --AME1(AVDB01 -> VW01)
UPDATE mld_melding
   SET mld_alg_locatie_key = 45, mld_alg_onroerendgoed_keys = 509
 WHERE mld_alg_onroerendgoed_keys = 863;

UPDATE cnt_contract_plaats
   SET cnt_alg_plaats_key = 45
 WHERE cnt_alg_plaats_key = 161 AND cnt_alg_plaats_code = 'L';

--101 - 724 -> 58 - 626    -- HAA1(VWT36 -> VIA02/900) bui

UPDATE mld_melding
   SET mld_alg_locatie_key = 58, mld_alg_onroerendgoed_keys = 626
 WHERE mld_alg_onroerendgoed_keys = 724;

UPDATE cnt_contract_plaats
   SET cnt_alg_plaats_key = 58
 WHERE cnt_alg_plaats_key = 101 AND cnt_alg_plaats_code = 'L';

--101 - 725 -> 58 - 516    -- HAA1(VWT36 -> VIA02/900) k

UPDATE mld_melding
   SET mld_alg_locatie_key = 58, mld_alg_onroerendgoed_keys = 516
 WHERE mld_alg_onroerendgoed_keys = 725;


-- 66 -> 85                          -- HOU2  VRC08 -> VWT09

UPDATE cnt_contract_plaats
   SET cnt_alg_plaats_key = 85
 WHERE cnt_alg_plaats_key = 66 AND cnt_alg_plaats_code = 'L';


--221 - 950 -> 88 - 531        -- PAP2 (VSO01 -> VSMC01) k

UPDATE mld_melding
   SET mld_alg_locatie_key = 88, mld_alg_onroerendgoed_keys = 531
 WHERE mld_alg_onroerendgoed_keys = 950;

UPDATE cnt_contract_plaats
   SET cnt_alg_plaats_key = 88
 WHERE cnt_alg_plaats_key = 221 AND cnt_alg_plaats_code = 'L';

--123 - 784 -> 122 - 788        -- THA1 (VWT38 -> VWT37)b

UPDATE mld_melding
   SET mld_alg_locatie_key = 122, mld_alg_onroerendgoed_keys = 788
 WHERE mld_alg_onroerendgoed_keys = 784;

--123 - 785 -> 122 - 789        -- THA1 (VWT38 -> VWT37) k

UPDATE mld_melding
   SET mld_alg_locatie_key = 122, mld_alg_onroerendgoed_keys = 789
 WHERE mld_alg_onroerendgoed_keys = 785;

UPDATE cnt_contract_plaats
   SET cnt_alg_plaats_key = 122
 WHERE cnt_alg_plaats_key = 123 AND cnt_alg_plaats_code = 'L';


--vsh02 (27) 611   -> HAA1 (58) 626
  --27 - 611 -> 58 - 626    -- HAA1(VSH02 -> VIA02/900) bui

UPDATE mld_melding
   SET mld_alg_locatie_key = 58, mld_alg_onroerendgoed_keys = 626
 WHERE mld_alg_onroerendgoed_keys = 611;

UPDATE cnt_contract_plaats
   SET cnt_alg_plaats_key = 58
 WHERE cnt_alg_plaats_key = 27 AND cnt_alg_plaats_code = 'L';

--vsh01 (61) 611   -> PAP2 (88) 626
  -- 61 - 61 -> 88 - 531    -- PAP2(VSH01 ->kantoor

UPDATE mld_melding
   SET mld_alg_locatie_key = 88, mld_alg_onroerendgoed_keys = 531
 WHERE mld_alg_onroerendgoed_keys = 61;

 -- 61 - 517 -> 88 - 531    -- PAP2(VSH01 -> kantoor

UPDATE mld_melding
   SET mld_alg_locatie_key = 88, mld_alg_onroerendgoed_keys = 531
 WHERE mld_alg_onroerendgoed_keys = 517;

 -- 61 - 572 -> 88 - 586    -- PAP2(VSH01 -> magazijn

UPDATE mld_melding
   SET mld_alg_locatie_key = 88, mld_alg_onroerendgoed_keys = 586
 WHERE mld_alg_onroerendgoed_keys = 572;

 -- 61 - 627 -> 88 - 641    -- PAP2(VSH01 -> bui

UPDATE mld_melding
   SET mld_alg_locatie_key = 88, mld_alg_onroerendgoed_keys = 641
 WHERE mld_alg_onroerendgoed_keys = 627;

UPDATE cnt_contract_plaats
   SET cnt_alg_plaats_key = 88
 WHERE cnt_alg_plaats_key = 61 AND cnt_alg_plaats_code = 'L';


--vsh03 (62)    -> ROT1 (261)
 -- 62 - 518 -> 261 - 531    -- ROT1(VSH03 ->kantoor

UPDATE mld_melding
   SET mld_alg_locatie_key = 261, mld_alg_onroerendgoed_keys = 990
 WHERE mld_alg_onroerendgoed_keys = 518;

 -- 62 - 573 -> 261 - 531    -- ROT1(VSH03 -> kantoor

UPDATE mld_melding
   SET mld_alg_locatie_key = 261, mld_alg_onroerendgoed_keys = 991
 WHERE mld_alg_onroerendgoed_keys = 573;

UPDATE cnt_contract_plaats
   SET cnt_alg_plaats_key = 261
 WHERE cnt_alg_plaats_key = 62 AND cnt_alg_plaats_code = 'L';


-- verwijder de gebouwen
UPDATE alg_gebouw
   SET alg_gebouw_verwijder = SYSDATE
 WHERE alg_locatie_key IN (161, 101, 221, 123, 66, 61,62, 27);
 
-- verwijder de locaties
UPDATE alg_locatie
   SET alg_locatie_verwijder = SYSDATE
 WHERE alg_locatie_key IN (161, 101, 221, 123, 66, 61,62, 27);

UPDATE alg_locatie l
   SET alg_locatie_code =
          (SELECT locatiecode
             FROM tmp_imp_locatie2 i
            WHERE l.alg_locatie_code = fincode),
       alg_locatie_omschrijving =
          (SELECT locatieomschrijving
             FROM tmp_imp_locatie2 i
            WHERE l.alg_locatie_code = fincode)
 WHERE l.alg_locatie_code IN (SELECT fincode FROM tmp_imp_locatie2)
   AND alg_locatie_verwijder IS NULL;


/*
SELECT *
  FROM alg_v_ruimte_gegevens rg, mld_melding m
 WHERE rg.alg_ruimte_key = m.mld_alg_onroerendgoed_keys
   AND alg_locatie_key IN (161, 101, 221, 123, 66)
*/

-- pas de code van het gebouw aan
UPDATE alg_gebouw g
   SET alg_gebouw_code =
             SUBSTR (alg_gebouw_code, 1, 1)
          || '-'
          || (SELECT alg_locatie_code
                FROM alg_locatie l
               WHERE l.alg_locatie_key = g.alg_locatie_key)
 WHERE alg_gebouw_verwijder IS NULL;
 
BEGIN adm.systrackscriptid('$Id$'); END;
/


COMMIT;

SPOOL OFF
