ASLE#61116 -- Overgang van GOM naar NH
svn path=/Customer/trunk/; revision=47338
This commit is contained in:
262
ASLE/asle.sql
262
ASLE/asle.sql
@@ -420,8 +420,8 @@ AS
|
||||
mld_opdr_opmerking,
|
||||
DECODE (o.mld_statusopdr_key, 9, 1, 6, 2, 8, 3, 5, 4, 0)
|
||||
opdr_status,
|
||||
DECODE ((SELECT mld_kenmerkopdr_waarde
|
||||
FROM mld_kenmerkopdr ko
|
||||
DECODE ((SELECT mld_kenmerkopdr_waarde
|
||||
FROM mld_kenmerkopdr ko
|
||||
WHERE ko.mld_opdr_key = o.mld_opdr_key
|
||||
AND ko.mld_kenmerk_key = 21), 1, 'Found clean') found_clean,
|
||||
COALESCE (
|
||||
@@ -564,7 +564,7 @@ CREATE OR REPLACE VIEW asle_v_rap_superv_sched_today (
|
||||
locatie,
|
||||
opdr_status,
|
||||
groep_naam,
|
||||
alg_ruimte_key)
|
||||
alg_ruimte_key)
|
||||
AS
|
||||
SELECT naam,
|
||||
plan_start,
|
||||
@@ -579,9 +579,9 @@ SELECT naam,
|
||||
locatie,
|
||||
opdr_status,
|
||||
groep_naam,
|
||||
alg_ruimte_key
|
||||
FROM asle_v_rap_supervisor_sched
|
||||
WHERE TO_DATE (fclt_f_datum, 'dd-mm-yyyy') = TRUNC(SYSDATE);
|
||||
alg_ruimte_key
|
||||
FROM asle_v_rap_supervisor_sched
|
||||
WHERE TO_DATE (fclt_f_datum, 'dd-mm-yyyy') = TRUNC(SYSDATE);
|
||||
|
||||
|
||||
|
||||
@@ -691,7 +691,7 @@ AS
|
||||
FROM asle_v_arrival
|
||||
GROUP BY tijdstip) a;
|
||||
|
||||
-- Rapport om aantal binnenkomende gasten af te zetten tegen het aantal theoretisch
|
||||
-- Rapport om aantal binnenkomende gasten af te zetten tegen het aantal theoretisch
|
||||
-- schoongemaakte kamers (= vertrek + 20 min)
|
||||
CREATE OR REPLACE VIEW asle_v_rap_arrival2
|
||||
(
|
||||
@@ -801,7 +801,9 @@ CREATE OR REPLACE VIEW asle_v_rap_schoonmaak_result
|
||||
stop,
|
||||
foundclean,
|
||||
noservice,
|
||||
herschoonmaak
|
||||
herschoonmaak,
|
||||
kamernr,
|
||||
supervisor
|
||||
)
|
||||
AS
|
||||
SELECT (SELECT prs_perslid_naam_friendly
|
||||
@@ -823,13 +825,13 @@ AS
|
||||
* 24
|
||||
* 60)
|
||||
tijd,
|
||||
(SELECT mld_kenmerkmelding_waarde
|
||||
FROM mld_kenmerkmelding km WHERE mld_kenmerk_key = 161
|
||||
AND mld_kenmerkmelding_verwijder IS NULL
|
||||
(SELECT mld_kenmerkmelding_waarde
|
||||
FROM mld_kenmerkmelding km WHERE mld_kenmerk_key = 161
|
||||
AND mld_kenmerkmelding_verwijder IS NULL
|
||||
AND km.mld_melding_key = o.mld_melding_key) volwassenen,
|
||||
(SELECT mld_kenmerkmelding_waarde
|
||||
FROM mld_kenmerkmelding km WHERE mld_kenmerk_key = 162
|
||||
AND mld_kenmerkmelding_verwijder IS NULL
|
||||
(SELECT mld_kenmerkmelding_waarde
|
||||
FROM mld_kenmerkmelding km WHERE mld_kenmerk_key = 162
|
||||
AND mld_kenmerkmelding_verwijder IS NULL
|
||||
AND km.mld_melding_key = o.mld_melding_key) kinderen,
|
||||
(SELECT COUNT ( * )
|
||||
FROM fac_tracking t
|
||||
@@ -852,7 +854,11 @@ AS
|
||||
AND ko.mld_opdr_key = s.mld_opdr_key),
|
||||
0)
|
||||
noservice,
|
||||
DECODE(o.mld_typeopdr_key, 101, 1, 0) herschoonmaak
|
||||
DECODE(o.mld_typeopdr_key, 101, 1, 0) herschoonmaak,
|
||||
r.alg_ruimte_nr,
|
||||
(SELECT prs_perslid_naam_friendly
|
||||
FROM prs_v_perslid_fullnames_all pf
|
||||
WHERE pf.prs_perslid_key = FAC.gettrackinguserkey ('ORDAFR', s.mld_opdr_key)) supervisor
|
||||
FROM mld_opdr o, asle_v_schoonmaak s, alg_v_ruimte_gegevens r
|
||||
WHERE o.mld_opdr_key = s.mld_opdr_key
|
||||
AND s.alg_ruimte_key = r.alg_ruimte_key
|
||||
@@ -868,7 +874,11 @@ AS
|
||||
0 stop,
|
||||
0 foundclean,
|
||||
1 noservice,
|
||||
0 herschoonmaak
|
||||
0 herschoonmaak,
|
||||
r.alg_ruimte_nr,
|
||||
(SELECT prs_perslid_naam_friendly
|
||||
FROM prs_v_perslid_fullnames_all pf
|
||||
WHERE pf.prs_perslid_key = FAC.gettrackinguserkey ('ORDAFR', s.mld_opdr_key)) supervisor
|
||||
FROM asle_v_schoonmaak_bron s, alg_v_ruimte_gegevens r
|
||||
WHERE s.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND s.mld_stdmelding_omschrijving = 'DND'
|
||||
@@ -1072,7 +1082,7 @@ AS
|
||||
PROCEDURE schedule_stats (p_import_key IN NUMBER,
|
||||
p_locatie_key IN NUMBER,
|
||||
p_date IN DATE);
|
||||
|
||||
|
||||
PROCEDURE estimate_workload (p_locatie_key IN NUMBER, p_date IN DATE);
|
||||
END;
|
||||
/
|
||||
@@ -1081,7 +1091,7 @@ CREATE OR REPLACE PACKAGE BODY ASLE
|
||||
AS
|
||||
PROCEDURE init_cleaning (p_locatie_key IN NUMBER, p_date IN DATE)
|
||||
AS
|
||||
CURSOR c
|
||||
CURSOR c
|
||||
IS SELECT prs_perslid_key, start_inzet
|
||||
FROM asle_imp_werkschema
|
||||
WHERE alg_locatie_key = p_locatie_key
|
||||
@@ -1096,7 +1106,7 @@ AS
|
||||
AND TRUNC (mld_melding_einddatum) = p_date
|
||||
AND mld_opdr_key IS NOT NULL
|
||||
GROUP BY prs_perslid_key;
|
||||
|
||||
|
||||
CURSOR c_opdr(c_perslid_key NUMBER)
|
||||
IS SELECT *
|
||||
FROM asle_v_schoonmaak
|
||||
@@ -1113,8 +1123,8 @@ AS
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
UPDATE asle_imp_werkschema
|
||||
SET min_num_clean = NULL,
|
||||
last_clean = start_inzet,
|
||||
SET min_num_clean = NULL,
|
||||
last_clean = start_inzet,
|
||||
num_clean = NULL,
|
||||
last_zone = NULL,
|
||||
efficiency = 1 / COALESCE (
|
||||
@@ -1123,7 +1133,7 @@ AS
|
||||
WHERE prs_link_key = prs_perslid_key
|
||||
AND prs_kenmerk_key = 1020),
|
||||
1)
|
||||
WHERE alg_locatie_key = p_locatie_key
|
||||
WHERE alg_locatie_key = p_locatie_key
|
||||
AND TRUNC (start_inzet) = p_date;
|
||||
|
||||
SELECT COUNT ( * )
|
||||
@@ -1138,7 +1148,7 @@ AS
|
||||
UPDATE asle_imp_werkschema
|
||||
SET min_num_clean = TRUNC (min_uren * 3 * efficiency)
|
||||
WHERE alg_locatie_key = p_locatie_key AND TRUNC (start_inzet) = p_date;
|
||||
|
||||
|
||||
SELECT SUM (COALESCE(min_num_clean, 0))
|
||||
INTO v_rooms_fix_cnt
|
||||
FROM asle_imp_werkschema
|
||||
@@ -1171,34 +1181,34 @@ AS
|
||||
FROM asle_imp_werkschema
|
||||
WHERE alg_locatie_key = p_locatie_key
|
||||
AND TRUNC (start_inzet) = p_date;
|
||||
|
||||
|
||||
DBMS_OUTPUT.put_line ('v_rooms_remaining:' || v_rooms_remaining);
|
||||
|
||||
|
||||
v_count := 0;
|
||||
FOR rec IN c
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
IF v_count >= v_rooms_remaining
|
||||
THEN
|
||||
EXIT;
|
||||
END IF;
|
||||
|
||||
|
||||
UPDATE asle_imp_werkschema
|
||||
SET num_clean = 1
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key
|
||||
AND TRUNC(start_inzet) = p_date;
|
||||
|
||||
|
||||
DBMS_OUTPUT.put_line ('Kamer toegevoegd aan :' || rec.prs_perslid_key);
|
||||
|
||||
|
||||
v_count := v_count + 1;
|
||||
END LOOP;
|
||||
|
||||
|
||||
UPDATE asle_imp_werkschema
|
||||
SET min_num_clean = min_num_clean + num_clean,
|
||||
num_clean = NULL
|
||||
WHERE alg_locatie_key = p_locatie_key
|
||||
AND num_clean = 1
|
||||
AND TRUNC (start_inzet) = p_date;
|
||||
|
||||
|
||||
|
||||
-- markeer de laatste zone, schoonmaaktijd en aantal gepoetste kamers in schoonmaaktabel.
|
||||
FOR rec IN c_opdr_prs
|
||||
@@ -1214,7 +1224,7 @@ AS
|
||||
EXIT;
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
|
||||
|
||||
-- bepaal het aantal schoongemaakte kamers in de tijd gezien.
|
||||
ASLE.estimate_workload (p_locatie_key, p_date);
|
||||
END;
|
||||
@@ -1404,7 +1414,7 @@ AS
|
||||
THEN
|
||||
v_efficiency := 1;
|
||||
END;
|
||||
|
||||
|
||||
BEGIN
|
||||
SELECT voorkeurzone, last_zone, last_clean, min_num_clean - num_clean, start_inzet, prs_perslid_voornaam
|
||||
INTO v_voorkeurzone, v_last_zone, v_last_clean, v_rooms_tb_cleaned, v_start_inzet, v_voornaam
|
||||
@@ -1433,20 +1443,20 @@ AS
|
||||
-- Om 12 uur is er lunchpauze, voor de mensen die voor xxx uur beginnen ???
|
||||
IF TO_NUMBER (TO_CHAR (v_last_clean, 'hh24')) < 12 -- start voor 12 uur
|
||||
AND TO_NUMBER (TO_CHAR (v_last_clean + 1/48, 'hh24')) >= 12 -- einde na 12 uur
|
||||
THEN
|
||||
THEN
|
||||
v_pauze := 30;
|
||||
END IF;
|
||||
|
||||
|
||||
-- *** Als mensen eerder dan 6 uur beginnen krijgen ze verplicht een pauze van een kwartier
|
||||
-- om 10 uur.
|
||||
IF v_start_inzet <= p_date + 0.25 -- 6 uur
|
||||
-- om 10 uur.
|
||||
IF v_start_inzet <= p_date + 0.25 -- 6 uur
|
||||
AND v_last_clean < p_date + 10/24 -- lastclean < 10 uur
|
||||
AND v_last_clean + (1/96) > p_date + 10/24 -- lastclean + 15 minuten groter dan 10 uur
|
||||
THEN
|
||||
v_pauze := 15;
|
||||
END IF;
|
||||
|
||||
IF v_pauze > 0
|
||||
|
||||
IF v_pauze > 0
|
||||
THEN
|
||||
UPDATE asle_imp_werkschema
|
||||
SET last_clean = last_clean + v_pauze/(24*60)
|
||||
@@ -1548,12 +1558,12 @@ AS
|
||||
DBMS_OUTPUT.put_line ('(' || p_perslid_key || ' ' || v_voornaam || ') *** toch schoonmaakactie gevonden in zone: ' || v_zone);
|
||||
EXIT;
|
||||
END;
|
||||
END LOOP;
|
||||
END IF;
|
||||
END LOOP;
|
||||
END IF;
|
||||
|
||||
IF v_found_mld IS NULL
|
||||
IF v_found_mld IS NULL
|
||||
THEN -- *** check
|
||||
|
||||
|
||||
-- geen zone gevonden waar gewerkt kan worden. Dit betekent dat we op zoek gaan naar de
|
||||
-- eerst mogelijke melding waarbij we de leegloop moeten accepteren.
|
||||
IF v_zone IS NULL
|
||||
@@ -1570,7 +1580,7 @@ AS
|
||||
|| p_perslid_key
|
||||
|| ' tijdstip:'
|
||||
|| TO_CHAR (v_last_clean, 'dd-mm-yyyy hh24:mi')
|
||||
|| ' zone:' || v_last_zone || ' -> ' || rec.zone
|
||||
|| ' zone:' || v_last_zone || ' -> ' || rec.zone
|
||||
|| ' schoonmaaktijd:' || to_char(rec.mld_melding_einddatum, 'hh24:mi')
|
||||
|| ' costs: ' || rec.costs
|
||||
|| ' aantal: ' || rec.aantal);
|
||||
@@ -1589,9 +1599,9 @@ AS
|
||||
END IF;
|
||||
END IF; -- *** end loop
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DBMS_OUTPUT.put_line ('(' || p_perslid_key || ' ' || v_voornaam || ') volgende schoonmaakmelding:' || v_found_mld);
|
||||
|
||||
@@ -1625,7 +1635,7 @@ AS
|
||||
|
||||
UPDATE asle_imp_werkschema
|
||||
SET last_clean = v_last_clean,
|
||||
last_zone = v_zone,
|
||||
last_zone = v_zone,
|
||||
num_clean = COALESCE (num_clean, 0) + 1
|
||||
WHERE prs_perslid_key = p_perslid_key AND TRUNC (start_inzet) = p_date;
|
||||
|
||||
@@ -1659,10 +1669,10 @@ AS
|
||||
RETURNING mld_opdr_key
|
||||
INTO v_opdr_key;
|
||||
|
||||
UPDATE asle_t_schoonmaak
|
||||
SET mld_opdr_key = v_opdr_key
|
||||
UPDATE asle_t_schoonmaak
|
||||
SET mld_opdr_key = v_opdr_key
|
||||
WHERE mld_melding_key = v_found_mld;
|
||||
|
||||
|
||||
MLD.updatemeldingstatus (v_found_mld, 0, 4);
|
||||
|
||||
INSERT INTO mld_kenmerkopdr (mld_opdr_key,
|
||||
@@ -1705,7 +1715,7 @@ AS
|
||||
v_old_perslid_key := -1;
|
||||
v_empty_count := 0;
|
||||
|
||||
DELETE asle_tmp_zone_wis
|
||||
DELETE asle_tmp_zone_wis
|
||||
WHERE alg_locatie_key = p_locatie_key
|
||||
AND TRUNC(tijdstip) = p_date;
|
||||
|
||||
@@ -1720,7 +1730,7 @@ AS
|
||||
THEN
|
||||
v_zone_count := v_zone_count + 1;
|
||||
v_old_zone := rec.zone;
|
||||
INSERT INTO asle_tmp_zone_wis (prs_perslid_key, tijdstip, alg_locatie_key)
|
||||
INSERT INTO asle_tmp_zone_wis (prs_perslid_key, tijdstip, alg_locatie_key)
|
||||
VALUES (rec.prs_perslid_key, rec.plan_start, p_locatie_key);
|
||||
END IF;
|
||||
|
||||
@@ -1754,7 +1764,7 @@ AS
|
||||
'Zone wisselingen:' || v_zone_count,
|
||||
'');
|
||||
END;
|
||||
|
||||
|
||||
PROCEDURE estimate_workload(p_locatie_key IN NUMBER, p_date IN DATE)
|
||||
AS
|
||||
v_count NUMBER;
|
||||
@@ -1765,7 +1775,7 @@ AS
|
||||
DELETE asle_tmp_est_cleaning
|
||||
WHERE alg_locatie_key = p_locatie_key
|
||||
AND TRUNC(eindtijd) = p_date;
|
||||
|
||||
|
||||
FOR rec IN (SELECT *
|
||||
FROM asle_imp_werkschema
|
||||
WHERE TRUNC (start_inzet) = p_date
|
||||
@@ -1774,7 +1784,7 @@ AS
|
||||
BEGIN
|
||||
v_count := 0;
|
||||
v_time_start := rec.start_inzet;
|
||||
|
||||
|
||||
BEGIN
|
||||
SELECT FAC.safe_to_number(prs_kenmerklink_waarde)
|
||||
INTO v_efficiency
|
||||
@@ -1786,14 +1796,14 @@ AS
|
||||
THEN
|
||||
v_efficiency := 1;
|
||||
END;
|
||||
|
||||
|
||||
WHILE v_count < rec.min_num_clean
|
||||
LOOP
|
||||
v_time_eind := v_time_start + v_efficiency / (24 * 3); -- 20 min
|
||||
|
||||
|
||||
INSERT INTO asle_tmp_est_cleaning (starttijd, eindtijd, alg_locatie_key)
|
||||
VALUES (v_time_start, v_time_eind, p_locatie_key);
|
||||
|
||||
|
||||
v_time_start := v_time_eind;
|
||||
v_count := v_count + 1;
|
||||
END LOOP;
|
||||
@@ -1836,7 +1846,7 @@ AS
|
||||
v_perslid_key PRS_PERSLID.PRS_PERSLID_KEY%TYPE;
|
||||
v_locatie_key ALG_LOCATIE.ALG_LOCATIE_KEY%TYPE;
|
||||
v_start_inzet DATE;
|
||||
|
||||
|
||||
v_tabel_leeggemaakt BOOLEAN;
|
||||
header_found BOOLEAN;
|
||||
BEGIN
|
||||
@@ -1894,31 +1904,31 @@ BEGIN
|
||||
FROM alg_locatie
|
||||
WHERE alg_locatie_verwijder IS NULL
|
||||
AND alg_locatie_code = v_locatie_code;
|
||||
|
||||
|
||||
v_errormsg := 'Bepalen medewerker';
|
||||
SELECT prs_perslid_key
|
||||
INTO v_perslid_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_verwijder IS NULL
|
||||
AND prs_perslid_nr = v_perslid_nr;
|
||||
|
||||
|
||||
v_errormsg := 'Bepalen inzet';
|
||||
IF v_datum_inzet IS NULL OR v_tijd_inzet IS NULL
|
||||
THEN
|
||||
THEN
|
||||
v_start_inzet := NULL;
|
||||
ELSE
|
||||
ELSE
|
||||
v_start_inzet := to_date(v_datum_inzet || ' ' || v_tijd_inzet, 'dd-mm-yyyy hh24:mi');
|
||||
END IF;
|
||||
|
||||
|
||||
IF NOT v_tabel_leeggemaakt AND v_start_inzet IS NOT NULL
|
||||
THEN
|
||||
DELETE asle_imp_werkschema
|
||||
WHERE trunc(start_inzet) = trunc(v_start_inzet)
|
||||
AND alg_locatie_key = v_locatie_key;
|
||||
|
||||
|
||||
v_tabel_leeggemaakt := TRUE;
|
||||
END IF;
|
||||
|
||||
|
||||
IF v_start_inzet IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO asle_imp_werkschema (prs_perslid_key,
|
||||
@@ -2048,7 +2058,7 @@ AS
|
||||
v_verw_start_schoonmaak DATE;
|
||||
v_vervaldatum DATE;
|
||||
v_usrtab_key NUMBER;
|
||||
|
||||
|
||||
v_tabel_leeggemaakt BOOLEAN;
|
||||
header_found BOOLEAN;
|
||||
BEGIN
|
||||
@@ -2105,110 +2115,110 @@ BEGIN
|
||||
ELSIF (header_found) AND v_timestamp_txt IS NOT NULL -- vermijdt lege regels.
|
||||
THEN
|
||||
|
||||
v_errormsg := 'Inlezen timestamp';
|
||||
v_errormsg := 'Inlezen timestamp';
|
||||
v_timestamp := TRUNC(SYSDATE) + p_offset;
|
||||
|
||||
|
||||
v_errormsg := 'Inlezen locatie';
|
||||
SELECT alg_locatie_key
|
||||
SELECT alg_locatie_key
|
||||
INTO v_locatie_key
|
||||
FROM alg_v_aanweziglocatie
|
||||
WHERE alg_locatie_code = v_locatie_code;
|
||||
|
||||
|
||||
v_errormsg := 'Inlezen kamer';
|
||||
IF LENGTH(v_kamer_nr) = 2
|
||||
THEN
|
||||
THEN
|
||||
v_kamer_nr := '0' || v_kamer_nr;
|
||||
END IF;
|
||||
|
||||
SELECT alg_ruimte_key
|
||||
|
||||
SELECT alg_ruimte_key
|
||||
INTO v_ruimte_key
|
||||
FROM alg_v_ruimte_gegevens
|
||||
WHERE alg_locatie_key = v_locatie_key
|
||||
AND alg_ruimte_nr = v_kamer_nr;
|
||||
|
||||
v_errormsg := 'Inlezen aantal_personen';
|
||||
v_errormsg := 'Inlezen aantal_personen';
|
||||
v_aantal_personen := to_number(v_aantal_personen_txt);
|
||||
|
||||
v_errormsg := 'Inlezen aantal_kinderen';
|
||||
v_aantal_kinderen := COALESCE(FAC.safe_to_number(v_aantal_junior_txt),0)
|
||||
v_errormsg := 'Inlezen aantal_kinderen';
|
||||
v_aantal_kinderen := COALESCE(FAC.safe_to_number(v_aantal_junior_txt),0)
|
||||
+ COALESCE(FAC.safe_to_number(v_aantal_kinderen_txt),0)
|
||||
+ COALESCE(FAC.safe_to_number(v_aantal_babies_txt),0);
|
||||
|
||||
v_errormsg := 'Inlezen aankomst datum';
|
||||
v_errormsg := 'Inlezen aankomst datum';
|
||||
v_aankomst_datum := to_date(v_aankomst_datum_txt, 'dd-mm-yyyy');
|
||||
|
||||
|
||||
v_errormsg := 'Inlezen vertrek datum';
|
||||
v_vertrek_datum := to_date(v_vertrek_datum_txt, 'dd-mm-yyyy');
|
||||
|
||||
-- Momenteel nog niet mogelijk, daarom wordt de verwachte checkout tijd gevuld met de
|
||||
-- Momenteel nog niet mogelijk, daarom wordt de verwachte checkout tijd gevuld met de
|
||||
-- vluchtgegevens uit de eigen tabel. 61 tijden gedurende de week 62 tijden in het weekend
|
||||
-- v_errormsg := 'Inlezen checkout tijd';
|
||||
-- IF v_verw_checkout_txt IS NULL OR v_verw_checkout_txt = 'N'
|
||||
-- THEN
|
||||
-- THEN
|
||||
-- v_verw_checkout := NULL;
|
||||
-- ELSE
|
||||
-- ELSE
|
||||
-- v_verw_checkout := to_date (v_vertrek_datum_txt || ' ' || SUBSTR(v_verw_checkout_txt,1,INSTR(v_verw_checkout_txt, ':', 1,2)-1), 'dd-mm-yyyy hh24:mi');
|
||||
-- END IF;
|
||||
-- END IF;
|
||||
|
||||
IF v_groep_naam LIKE 'DELTA %'
|
||||
IF v_groep_naam LIKE 'DELTA %'
|
||||
THEN
|
||||
IF v_ruimte_status = 'Departure'
|
||||
IF v_ruimte_status = 'Departure'
|
||||
THEN
|
||||
IF INSTR(v_groep_naam, ' 0') > 0
|
||||
THEN
|
||||
THEN
|
||||
v_groep_naam := REPLACE(v_groep_naam, 'DELTA 0', 'DL');
|
||||
ELSE
|
||||
v_groep_naam := REPLACE(v_groep_naam, 'DELTA ', 'DL');
|
||||
END IF;
|
||||
|
||||
|
||||
-- Kijk of het een werkdag is of het weekend
|
||||
-- afhankelijk daarvan gebruiken we de weekend eigen tabel key 62 of de werkdagen eigen tabel key = 61
|
||||
SELECT DECODE( to_char(v_timestamp, 'D'), 1,62,7,62,61)
|
||||
INTO v_usrtab_key
|
||||
FROM DUAL;
|
||||
|
||||
|
||||
v_errormsg := 'Zoek de vluchtgegevens van vlucht: ' || v_groep_naam;
|
||||
|
||||
|
||||
SELECT fac_usrdata_omschr, fac_usrdata_vervaldatum
|
||||
INTO v_verw_checkout_txt, v_vervaldatum
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = v_usrtab_key
|
||||
AND fac_usrdata_verwijder IS NULL
|
||||
AND UPPER(v_groep_naam) LIKE fac_usrdata_upper || '%';
|
||||
|
||||
|
||||
IF v_vervaldatum < TRUNC(v_timestamp)
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'W', 'Vertrektijden zijn te oud. Vlucht: ' || v_groep_naam, '');
|
||||
END IF;
|
||||
|
||||
v_verw_checkout := to_date (v_vertrek_datum_txt || ' ' || v_verw_checkout_txt, 'dd-mm-yyyy hh24:mi');
|
||||
END IF;
|
||||
END IF;
|
||||
v_type_gast := 'Crew';
|
||||
ELSE
|
||||
v_verw_checkout := NULL;
|
||||
v_type_gast := 'Individual';
|
||||
v_type_gast := 'Individual';
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Inlezen late checkout';
|
||||
IF UPPER(v_late_checkout_txt) = 'JA'
|
||||
THEN
|
||||
THEN
|
||||
v_late_checkout := 1;
|
||||
ELSE
|
||||
v_late_checkout := 0;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Bepalen type schoonmaak';
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Bepalen type schoonmaak';
|
||||
CASE v_ruimte_status
|
||||
WHEN 'Blocked' THEN v_type_schoonmaak := 'Blocked';
|
||||
WHEN 'Departure' THEN v_type_schoonmaak := 'Checkout';
|
||||
WHEN 'Free' THEN
|
||||
WHEN 'Free' THEN
|
||||
IF v_schoonmaak_status = 'Dirty' AND p_offset = 0
|
||||
THEN
|
||||
v_type_schoonmaak := 'Checkout';
|
||||
ELSE
|
||||
v_type_schoonmaak := NULL;
|
||||
END IF;
|
||||
WHEN 'Stay' THEN
|
||||
WHEN 'Stay' THEN
|
||||
IF v_type_gast = 'Crew'
|
||||
THEN
|
||||
v_type_schoonmaak := 'DND';
|
||||
@@ -2220,22 +2230,22 @@ BEGIN
|
||||
END IF;
|
||||
ELSE
|
||||
v_type_schoonmaak := NULL;
|
||||
END CASE;
|
||||
END CASE;
|
||||
|
||||
|
||||
|
||||
v_errormsg := 'Bepalen verw start schoonmaak';
|
||||
IF v_vertrek_datum_txt IS NULL THEN
|
||||
v_vertrek_datum_txt := TO_CHAR(SYSDATE + p_offset, 'dd-mm-yyyy');
|
||||
END IF;
|
||||
|
||||
|
||||
IF v_schoonmaak_status = 'Clean' AND v_ruimte_status = 'Free'
|
||||
THEN
|
||||
THEN
|
||||
v_verw_start_schoonmaak := TRUNC(SYSDATE + p_offset);
|
||||
ELSIF v_checkout_status = 'checked out' -- nog niet in gebruik
|
||||
THEN
|
||||
v_verw_start_schoonmaak := SYSDATE;
|
||||
ELSIF v_verw_checkout IS NOT NULL
|
||||
THEN
|
||||
THEN
|
||||
v_verw_start_schoonmaak := v_verw_checkout;
|
||||
ELSIF v_late_checkout = 1 AND v_type_schoonmaak = 'Checkout' -- nog niet in gebruik
|
||||
THEN
|
||||
@@ -2249,10 +2259,10 @@ BEGIN
|
||||
DELETE asle_imp_kamerschema
|
||||
WHERE 1=1 --trunc(timestamp) = trunc(v_timestamp)
|
||||
AND alg_locatie_key = v_locatie_key;
|
||||
|
||||
|
||||
v_tabel_leeggemaakt := TRUE;
|
||||
END IF;
|
||||
|
||||
|
||||
IF v_ruimte_status <> 'Arrival' -- aankomsten zijn niet interessant voor schoonmaak
|
||||
THEN
|
||||
INSERT INTO asle_imp_kamerschema (timestamp,
|
||||
@@ -2311,7 +2321,7 @@ BEGIN
|
||||
v_groep_naam || ' als ' || 'GROUP NAME' || ' - ' ||
|
||||
v_ruimte_status || ' als ' || 'OCCUPANCY' || ' - ' ||
|
||||
v_vertrek_datum_txt || ' als ' || 'DEPARTURE DAY' || ' - ' ||
|
||||
v_aankomst_datum_txt || ' als ' || 'ARRIVAL DAY'
|
||||
v_aankomst_datum_txt || ' als ' || 'ARRIVAL DAY'
|
||||
, 1, 1000),
|
||||
'');
|
||||
END IF;
|
||||
@@ -2451,7 +2461,7 @@ BEGIN
|
||||
-- pas de tabel werkschema aan en vul last_zone en num_clean
|
||||
-- met de actuele stand van zaken
|
||||
DELETE mld_opdr WHERE mld_opdr_key IN
|
||||
( SELECT mld_opdr_key
|
||||
( SELECT mld_opdr_key
|
||||
FROM asle_v_schoonmaak
|
||||
WHERE alg_locatie_key = v_locatie_key
|
||||
AND TRUNC(mld_melding_einddatum) = TRUNC (SYSDATE + p_offset)
|
||||
@@ -2462,7 +2472,7 @@ BEGIN
|
||||
9 -- afgerond
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
-- Verwijder achtergebleven tracking
|
||||
DELETE fac_tracking
|
||||
WHERE fac_tracking_key IN (
|
||||
@@ -2485,7 +2495,7 @@ BEGIN
|
||||
INTO v_ruimte_aanduiding
|
||||
FROM alg_v_ruimte_gegevens
|
||||
WHERE alg_ruimte_key = rec.alg_ruimte_key;
|
||||
|
||||
|
||||
v_errorhint := 'Kamernummer (key): ' || v_ruimte_aanduiding;
|
||||
|
||||
v_errormsg := 'Bepalen standaardmelding';
|
||||
@@ -2510,7 +2520,7 @@ BEGIN
|
||||
AND mld_meldbron_key = 6 -- System
|
||||
AND TRUNC (mld_melding_einddatum) =
|
||||
TRUNC (COALESCE(rec.verw_start_schoonmaak, SYSDATE+p_offset));
|
||||
|
||||
|
||||
v_errormsg := 'Controleer of melding al bestaat2';
|
||||
IF v_melding_key IS NOT NULL
|
||||
THEN
|
||||
@@ -2530,11 +2540,11 @@ BEGIN
|
||||
ins_srtdiscipline sd
|
||||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
AND m.mld_melding_key = v_melding_key;
|
||||
|
||||
|
||||
v_log := NULL;
|
||||
|
||||
|
||||
IF v_mld_stdmelding_key <> v_stdmelding_key
|
||||
THEN
|
||||
v_log :=
|
||||
@@ -2543,14 +2553,14 @@ BEGIN
|
||||
|| ' --> '
|
||||
|| v_stdmelding_omschrijving;
|
||||
END IF;
|
||||
|
||||
|
||||
IF rec.verw_start_schoonmaak <> v_melding_eindtijd
|
||||
THEN
|
||||
IF v_log IS NOT NULL
|
||||
THEN
|
||||
v_log := v_log || CHR (10);
|
||||
END IF;
|
||||
|
||||
|
||||
v_log :=
|
||||
'Gereed: '
|
||||
|| TO_CHAR (v_melding_eindtijd, 'dd-mm-yyyy hh24:mi')
|
||||
@@ -2558,14 +2568,14 @@ BEGIN
|
||||
|| TO_CHAR (rec.verw_start_schoonmaak,
|
||||
'dd-mm-yyyy hh24:mi');
|
||||
END IF;
|
||||
|
||||
|
||||
IF v_log IS NOT NULL
|
||||
THEN
|
||||
UPDATE mld_melding
|
||||
SET mld_stdmelding_key = v_stdmelding_key,
|
||||
mld_melding_einddatum = rec.verw_start_schoonmaak
|
||||
WHERE mld_melding_key = v_melding_key;
|
||||
|
||||
|
||||
v_log :=
|
||||
'*Melding '
|
||||
|| v_srtdiscipline_prefix
|
||||
@@ -2577,7 +2587,7 @@ BEGIN
|
||||
|| ') is gewijzigd'
|
||||
|| CHR (10)
|
||||
|| v_log;
|
||||
|
||||
|
||||
INSERT INTO fac_tracking (fac_srtnotificatie_key,
|
||||
fac_tracking_refkey,
|
||||
fac_tracking_oms,
|
||||
@@ -2631,14 +2641,14 @@ BEGIN
|
||||
mld.upsertmeldingkenmerk (162, -- aantal kinderen
|
||||
v_melding_key,
|
||||
rec.aantal_kinderen);
|
||||
|
||||
|
||||
SELECT count(*)
|
||||
INTO v_opdr_count
|
||||
FROM mld_opdr o
|
||||
WHERE o.mld_melding_key = v_melding_key;
|
||||
|
||||
|
||||
IF v_opdr_count = 0
|
||||
THEN
|
||||
THEN
|
||||
mld.setmeldingstatus (v_melding_key, 2, v_user_key);
|
||||
END IF;
|
||||
END;
|
||||
@@ -2718,12 +2728,12 @@ BEGIN
|
||||
v_loopcount := 0;
|
||||
v_room_planned := 1;
|
||||
|
||||
-- Om performance redenen slaan we de view asle_v_schoonmaak even plat om de planning
|
||||
-- Om performance redenen slaan we de view asle_v_schoonmaak even plat om de planning
|
||||
-- te genereren. Tijd met view is ongeveer 2min35 en bij tabel ongeveer 20 seconden.
|
||||
DELETE asle_t_schoonmaak;
|
||||
|
||||
INSERT INTO asle_t_schoonmaak
|
||||
SELECT *
|
||||
SELECT *
|
||||
FROM asle_v_schoonmaak
|
||||
WHERE TRUNC (mld_melding_einddatum) = TRUNC(SYSDATE+p_offset);
|
||||
|
||||
@@ -2749,12 +2759,12 @@ BEGIN
|
||||
-- DBMS_OUTPUT.put_line (v_opdr_key);
|
||||
EXIT;
|
||||
END LOOP;
|
||||
|
||||
|
||||
END;
|
||||
|
||||
v_loopcount := v_loopcount + 1;
|
||||
END LOOP;
|
||||
|
||||
|
||||
ASLE.schedule_stats (p_import_key, v_locatie_key, TRUNC(SYSDATE+p_offset));
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
@@ -2769,7 +2779,7 @@ EXCEPTION
|
||||
SUBSTR (v_errormsg, 1, 1000),
|
||||
v_errorhint);
|
||||
END;
|
||||
/
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE asle_import_kamerschema_1 (
|
||||
|
||||
Reference in New Issue
Block a user