240 lines
10 KiB
SQL
240 lines
10 KiB
SQL
--
|
|
-- $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_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_aanduiding := rec.beznrTD || '-' || 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
|