FMHN#88583 Aansluiting Zurichtoren op Facilitor

svn path=/Customer/; revision=69170
This commit is contained in:
Sander Schepers
2025-05-28 07:22:36 +00:00
parent 15d64ab76b
commit 8a034f020b
2 changed files with 476 additions and 0 deletions

View File

@@ -0,0 +1,238 @@
--
-- $Id$
--
-- Customer specific once-script FMHN#88583_BEZ.sql.
DEFINE thisfile = 'FMHN#88583_BEZ.sql'
DEFINE dbuser = '^FMHN'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
-- FMHN#88583: Migratie van bezoekersregistratie, reserveringen en catering voor nieuw pand Zurichtoren;
-- Hoofdbewoner is ACM.
DECLARE
c_fielddelimitor VARCHAR2 (1) := ';';
v_newline VARCHAR2 (1000); -- Input line
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (500);
v_afspraak_key NUMBER;
v_bezoeker_key NUMBER;
v_res_deel_key NUMBER;
CURSOR bez IS
SELECT csv.fac_import_key,
csv.fac_imp_csv_col06
AS beznrTD,
SUBSTR (csv.fac_imp_csv_col02, 1, 60)
AS bezoeker_naam,
SUBSTR (csv.fac_imp_csv_col12, 1, 10)
AS bezoeker_kenteken,
fac.safe_to_date (csv.fac_imp_csv_col01, 'YYYY-MM-DD HH24:MI')
AS verwacht_van,
fac.safe_to_date (csv.fac_imp_csv_col03, 'YYYY-MM-DD HH24:MI')
AS verwacht_tot,
fac.safe_to_date (csv.fac_imp_csv_col08, 'YYYY-MM-DD HH24:MI')
AS aankomst,
fac.safe_to_date (csv.fac_imp_csv_col09, 'YYYY-MM-DD HH24:MI')
AS vertrek,
COALESCE (contact.prs_perslid_key, 3)
AS key_contactp,
csv.fac_imp_csv_col04
AS naam_contactp,
csv.fac_imp_csv_col11
AS email_contactp,
SUBSTR (csv.fac_imp_csv_col13, 1, 20)
AS mob_contactp,
SUBSTR (csv.fac_imp_csv_col14, 1, 20)
AS tel_contactp,
csv.fac_imp_csv_col05
AS team,
csv.fac_imp_csv_col07
AS locatie,
csv.fac_imp_csv_col10
AS aanmaker_kaart,
csv.fac_imp_csv_col15
AS parkeerplaats_oms,
csv.fac_imp_csv_col16
AS organisatie,
DECODE (LOWER (csv.fac_imp_csv_col15),
'ja, toegang tot de expeditie', 'Expeditie',
'Zurichtoren')
AS expeditie,
DECODE (
LOWER (csv.fac_imp_csv_col15),
'nee, geen parkeerplaats voor de bezoeker, de bezoeker moet wel worden opgehaald', 44,
'ja, wel parkeerplaats voor de bezoeker en de bezoeker moet worden opgehaald', 44,
'ja, parkeerplaats gereserveerd voor de interne medewerker', 42,
'ja, toegang tot de expeditie', 43,
'parkeerplaats', 44,
NULL)
bez_actie_key,
DECODE (
LOWER (csv.fac_imp_csv_col15),
'nee, geen parkeerplaats voor de bezoeker, de bezoeker moet wel worden opgehaald', 'Nee',
'ja, wel parkeerplaats voor de bezoeker en de bezoeker moet worden opgehaald', 'Ja',
'ja, parkeerplaats gereserveerd voor de interne medewerker', 'Ja',
'ja, toegang tot de expeditie', 'Ja',
'parkeerplaats', 'Ja',
NULL)
parkeerplaats
FROM fac_imp_csv csv
LEFT JOIN prs_v_perslid_gegevens contact
ON LOWER (contact.prs_perslid_email) =
LOWER (csv.fac_imp_csv_col11)
WHERE LOWER (csv.fac_imp_csv_col06) <> 'bezoekersnummer'
-- AND csv.fac_imp_csv_col06 = 'V 107945'
-- AND csv.fac_imp_csv_col06 = 'V 108094'
-- AND csv.fac_imp_csv_col06 = 'V 107635'
ORDER BY csv.fac_imp_csv_key;
BEGIN
FOR rec IN bez
LOOP
BEGIN
v_aanduiding := rec.beznrTD || '-' || v_afspraak_key;
v_errormsg := 'Fout toevoegen afspraak';
INSERT INTO bez_afspraak (prs_perslid_key,
bez_afspraak_contact_key,
bez_afspraak_gastheer,
bez_afspraak_telefoonnr,
bez_afspraak_opmerking,
bez_afspraak_datum,
bez_afspraak_eind,
alg_locatie_key,
bez_afspraak_externnr,
bez_actie_key)
VALUES (rec.key_contactp,
rec.key_contactp,
rec.naam_contactp,
rec.tel_contactp,
rec.mob_contactp,
rec.verwacht_van,
rec.verwacht_tot,
1,
rec.beznrtd,
rec.bez_actie_key)
RETURNING bez_afspraak_key
INTO v_afspraak_key;
v_errormsg := 'Fout toevoegen bezoeker';
INSERT INTO bez_bezoekers (bez_afspraak_key,
bez_afspraak_naam,
bez_afspraak_bedrijf,
bez_bezoekers_kenteken)
VALUES (v_afspraak_key,
rec.bezoeker_naam,
rec.organisatie,
rec.bezoeker_kenteken)
RETURNING bez_bezoekers_key
INTO v_bezoeker_key;
INSERT INTO bez_kenmerkwaarde (bez_bezoekers_key,
bez_kenmerk_key,
bez_kenmerkwaarde_waarde)
VALUES (v_bezoeker_key, 1020, -- Kenmerk Ruimte
rec.expeditie);
FAC.trackaction ('BEZMUT',
v_afspraak_key,
COALESCE (rec.key_contactp, 3),
SYSDATE,
'Afspraak '
|| rec.beznrtd
|| ' geregistreerd door conversie');
IF rec.parkeerplaats = 'Ja'
THEN
BEGIN
-- Toevoegen parkeerplek
v_errormsg := 'Fout toevoegen parkeerplek';
SELECT r.res_deel_key
INTO v_res_deel_key
FROM res_deel r,
res_v_aanwezigins_deel rd,
ins_v_deel_gegevens d
WHERE r.res_discipline_key = 163 -- Reserveringscatalogus Bezoekers-parkeerplaatsen
AND r.res_deel_key = rd.res_deel_key
AND rd.ins_deel_key = d.ins_deel_key
AND d.alg_locatie_key = 1
AND d.alg_terreinsector_key = 39401 --Terrein Key Parkeerplaats Fictief
AND d.ins_discipline_key = 162 -- Objectdiscipline Parkeerplaatsen
AND NOT EXISTS
(SELECT 1
FROM res_rsv_deel d
WHERE d.res_deel_key =
r.res_deel_key
AND d.res_rsv_deel_van <
rec.verwacht_tot
AND d.res_rsv_deel_tot >
rec.verwacht_van)
AND ROWNUM = 1;
INSERT INTO res_rsv_deel (res_deel_key,
res_rsv_deel_aantal,
res_status_bo_key,
res_rsv_deel_van,
res_rsv_deel_tot,
bez_bezoekers_key)
VALUES (v_res_deel_key,
1,
2,
rec.verwacht_van,
rec.verwacht_tot,
v_bezoeker_key);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.imp_writelog (
rec.fac_import_key,
'E',
'Geen beschikbare res_deel gevonden voor tijd: '
|| TO_CHAR (rec.verwacht_van,
'YYYY-MM-DD HH24:MI')
|| ' - '
|| TO_CHAR (rec.verwacht_tot,
'YYYY-MM-DD HH24:MI'),
v_aanduiding);
END;
END IF;
fac.imp_writelog (
rec.fac_import_key,
'I',
'Bezoekafspraak is aangemaakt: ' || v_afspraak_key,
v_aanduiding);
END;
END LOOP;
END;
/
------ 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

View File

@@ -0,0 +1,238 @@
--
-- $Id$
--
-- Customer specific once-script FMHN#88583_BEZ.sql.
DEFINE thisfile = 'FMHN#88583_BEZ_TEST.sql'
DEFINE dbuser = '^FMHN_TEST'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
-- FMHN#88583: Migratie van bezoekersregistratie, reserveringen en catering voor nieuw pand Zurichtoren;
-- Hoofdbewoner is ACM.
DECLARE
c_fielddelimitor VARCHAR2 (1) := ';';
v_newline VARCHAR2 (1000); -- Input line
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (500);
v_afspraak_key NUMBER;
v_bezoeker_key NUMBER;
v_res_deel_key NUMBER;
CURSOR bez IS
SELECT csv.fac_import_key,
csv.fac_imp_csv_col06
AS beznrTD,
SUBSTR (csv.fac_imp_csv_col02, 1, 60)
AS bezoeker_naam,
SUBSTR (csv.fac_imp_csv_col12, 1, 10)
AS bezoeker_kenteken,
fac.safe_to_date (csv.fac_imp_csv_col01, 'YYYY-MM-DD HH24:MI')
AS verwacht_van,
fac.safe_to_date (csv.fac_imp_csv_col03, 'YYYY-MM-DD HH24:MI')
AS verwacht_tot,
fac.safe_to_date (csv.fac_imp_csv_col08, 'YYYY-MM-DD HH24:MI')
AS aankomst,
fac.safe_to_date (csv.fac_imp_csv_col09, 'YYYY-MM-DD HH24:MI')
AS vertrek,
COALESCE (contact.prs_perslid_key, 3)
AS key_contactp,
csv.fac_imp_csv_col04
AS naam_contactp,
csv.fac_imp_csv_col11
AS email_contactp,
SUBSTR (csv.fac_imp_csv_col13, 1, 20)
AS mob_contactp,
SUBSTR (csv.fac_imp_csv_col14, 1, 20)
AS tel_contactp,
csv.fac_imp_csv_col05
AS team,
csv.fac_imp_csv_col07
AS locatie,
csv.fac_imp_csv_col10
AS aanmaker_kaart,
csv.fac_imp_csv_col15
AS parkeerplaats_oms,
csv.fac_imp_csv_col16
AS organisatie,
DECODE (LOWER (csv.fac_imp_csv_col15),
'ja, toegang tot de expeditie', 'Expeditie',
'Zurichtoren')
AS expeditie,
DECODE (
LOWER (csv.fac_imp_csv_col15),
'nee, geen parkeerplaats voor de bezoeker, de bezoeker moet wel worden opgehaald', 44,
'ja, wel parkeerplaats voor de bezoeker en de bezoeker moet worden opgehaald', 44,
'ja, parkeerplaats gereserveerd voor de interne medewerker', 42,
'ja, toegang tot de expeditie', 43,
'parkeerplaats', 44,
NULL)
bez_actie_key,
DECODE (
LOWER (csv.fac_imp_csv_col15),
'nee, geen parkeerplaats voor de bezoeker, de bezoeker moet wel worden opgehaald', 'Nee',
'ja, wel parkeerplaats voor de bezoeker en de bezoeker moet worden opgehaald', 'Ja',
'ja, parkeerplaats gereserveerd voor de interne medewerker', 'Ja',
'ja, toegang tot de expeditie', 'Ja',
'parkeerplaats', 'Ja',
NULL)
parkeerplaats
FROM fac_imp_csv csv
LEFT JOIN prs_v_perslid_gegevens contact
ON LOWER (contact.prs_perslid_email) =
LOWER (csv.fac_imp_csv_col11)
WHERE LOWER (csv.fac_imp_csv_col06) <> 'bezoekersnummer'
-- AND csv.fac_imp_csv_col06 = 'V 107945'
-- AND csv.fac_imp_csv_col06 = 'V 108094'
-- AND csv.fac_imp_csv_col06 = 'V 107635'
ORDER BY csv.fac_imp_csv_key;
BEGIN
FOR rec IN bez
LOOP
BEGIN
v_aanduiding := rec.beznrTD || '-' || v_afspraak_key;
v_errormsg := 'Fout toevoegen afspraak';
INSERT INTO bez_afspraak (prs_perslid_key,
bez_afspraak_contact_key,
bez_afspraak_gastheer,
bez_afspraak_telefoonnr,
bez_afspraak_opmerking,
bez_afspraak_datum,
bez_afspraak_eind,
alg_locatie_key,
bez_afspraak_externnr,
bez_actie_key)
VALUES (rec.key_contactp,
rec.key_contactp,
rec.naam_contactp,
rec.tel_contactp,
rec.mob_contactp,
rec.verwacht_van,
rec.verwacht_tot,
1,
rec.beznrtd,
rec.bez_actie_key)
RETURNING bez_afspraak_key
INTO v_afspraak_key;
v_errormsg := 'Fout toevoegen bezoeker';
INSERT INTO bez_bezoekers (bez_afspraak_key,
bez_afspraak_naam,
bez_afspraak_bedrijf,
bez_bezoekers_kenteken)
VALUES (v_afspraak_key,
rec.bezoeker_naam,
rec.organisatie,
rec.bezoeker_kenteken)
RETURNING bez_bezoekers_key
INTO v_bezoeker_key;
INSERT INTO bez_kenmerkwaarde (bez_bezoekers_key,
bez_kenmerk_key,
bez_kenmerkwaarde_waarde)
VALUES (v_bezoeker_key, 1020, -- Kenmerk Ruimte
rec.expeditie);
FAC.trackaction ('BEZMUT',
v_afspraak_key,
COALESCE (rec.key_contactp, 3),
SYSDATE,
'Afspraak '
|| rec.beznrtd
|| ' geregistreerd door conversie');
IF rec.parkeerplaats = 'Ja'
THEN
BEGIN
-- Toevoegen parkeerplek
v_errormsg := 'Fout toevoegen parkeerplek';
SELECT r.res_deel_key
INTO v_res_deel_key
FROM res_deel r,
res_v_aanwezigins_deel rd,
ins_v_deel_gegevens d
WHERE r.res_discipline_key = 163 -- Reserveringscatalogus Bezoekers-parkeerplaatsen
AND r.res_deel_key = rd.res_deel_key
AND rd.ins_deel_key = d.ins_deel_key
AND d.alg_locatie_key = 1
AND d.alg_terreinsector_key = 39401 --Terrein Key Parkeerplaats Fictief
AND d.ins_discipline_key = 162 -- Objectdiscipline Parkeerplaatsen
AND NOT EXISTS
(SELECT 1
FROM res_rsv_deel d
WHERE d.res_deel_key =
r.res_deel_key
AND d.res_rsv_deel_van <
rec.verwacht_tot
AND d.res_rsv_deel_tot >
rec.verwacht_van)
AND ROWNUM = 1;
INSERT INTO res_rsv_deel (res_deel_key,
res_rsv_deel_aantal,
res_status_bo_key,
res_rsv_deel_van,
res_rsv_deel_tot,
bez_bezoekers_key)
VALUES (v_res_deel_key,
1,
2,
rec.verwacht_van,
rec.verwacht_tot,
v_bezoeker_key);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.imp_writelog (
rec.fac_import_key,
'E',
'Geen beschikbare res_deel gevonden voor tijd: '
|| TO_CHAR (rec.verwacht_van,
'YYYY-MM-DD HH24:MI')
|| ' - '
|| TO_CHAR (rec.verwacht_tot,
'YYYY-MM-DD HH24:MI'),
v_aanduiding);
END;
END IF;
fac.imp_writelog (
rec.fac_import_key,
'I',
'Bezoekafspraak is aangemaakt: ' || v_afspraak_key,
v_aanduiding);
END;
END LOOP;
END;
/
------ 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