ASLE#31926 -- implementatie Asito Leisure.
svn path=/Customer/trunk/; revision=24843
This commit is contained in:
174
ASLE/asle.sql
174
ASLE/asle.sql
@@ -8,6 +8,14 @@
|
||||
SPOOL xasle.lst
|
||||
SET ECHO ON
|
||||
|
||||
/*
|
||||
create table asle_tmp_zone_wis (tijdstip DATE, prs_perslid_key NUMBER(10), alg_locatie_key NUMBER(10))
|
||||
|
||||
select tijd, count(tijd) from (select to_char(tijdstip, 'hh24') tijd from asle_tmp_zone_wis)
|
||||
group by tijd
|
||||
order by tijd
|
||||
|
||||
*/
|
||||
|
||||
CREATE OR REPLACE VIEW asle_v_ruimte_gegevens
|
||||
( alg_locatie_key,
|
||||
@@ -182,6 +190,79 @@ AS
|
||||
AND o.mld_opdr_key = s.mld_opdr_key
|
||||
AND o.mld_opdr_key = ks.mld_opdr_key(+);
|
||||
|
||||
CREATE OR REPLACE VIEW asle_v_work_list_supervisor
|
||||
(
|
||||
timestamp,
|
||||
datum,
|
||||
naam,
|
||||
ruimte,
|
||||
type_schoonmaak,
|
||||
opmerking_sup,
|
||||
locatie,
|
||||
opdr_status,
|
||||
volgorde,
|
||||
plan_eind
|
||||
)
|
||||
AS
|
||||
SELECT (volgorde
|
||||
|| TO_CHAR (COALESCE (plan_eind, SYSDATE + 1), 'yyyymmddhh24mi'))
|
||||
timestamp,
|
||||
datum,
|
||||
prs_perslid_naam,
|
||||
alg_ruimte_nr,
|
||||
type_schoonmaak,
|
||||
opmerking_sup,
|
||||
alg_locatie_omschrijving,
|
||||
status,
|
||||
volgorde,
|
||||
plan_eind
|
||||
FROM (SELECT TO_CHAR (mld_melding_einddatum, 'dd-mm-yyyy') datum,
|
||||
(SELECT prs_perslid_voornaam
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_perslid_key = s.prs_perslid_key)
|
||||
prs_perslid_naam,
|
||||
'K' || rg.alg_ruimte_nr alg_ruimte_nr,
|
||||
mld_stdmelding_omschrijving type_schoonmaak,
|
||||
rg.opmerking_sup,
|
||||
rg.alg_locatie_omschrijving,
|
||||
DECODE (mld_statusopdr_omschrijving,
|
||||
'Geaccepteerd', 'Gestart',
|
||||
'Toegekend', 'Gepland',
|
||||
'Afgemeld', 'Klaar',
|
||||
'')
|
||||
status,
|
||||
DECODE (mld_statusopdr_omschrijving,
|
||||
'Geaccepteerd', '2',
|
||||
'Toegekend', '3',
|
||||
'Afgemeld', '1',
|
||||
'9')
|
||||
volgorde,
|
||||
DECODE (
|
||||
mld_statusopdr_omschrijving,
|
||||
'Geaccepteerd',
|
||||
mld.getopdrachtstatusdate (mld_opdr_key, 8),
|
||||
'Afgemeld',
|
||||
mld.getopdrachtstatusdate (mld_opdr_key,
|
||||
mld_statusopdr_key),
|
||||
plan_eind)
|
||||
plan_eind
|
||||
FROM (SELECT prs_perslid_naam,
|
||||
plan_start,
|
||||
mld_melding_einddatum,
|
||||
mld_stdmelding_omschrijving,
|
||||
prs_perslid_key,
|
||||
alg_ruimte_key,
|
||||
b.mld_statusopdr_key,
|
||||
mld_statusopdr_omschrijving,
|
||||
plan_eind,
|
||||
mld_opdr_key
|
||||
FROM asle_v_schoonmaak_bron b, mld_statusopdr so
|
||||
WHERE b.mld_statusopdr_key = so.mld_statusopdr_key(+)
|
||||
AND TRUNC (mld_melding_einddatum) >
|
||||
TRUNC (SYSDATE - 27)) s,
|
||||
asle_v_ruimte_gegevens rg
|
||||
WHERE rg.alg_ruimte_key = s.alg_ruimte_key(+));
|
||||
|
||||
CREATE OR REPLACE VIEW asle_v_rap_schoonmaak_sched
|
||||
(
|
||||
fclt_f_datum,
|
||||
@@ -226,38 +307,53 @@ CREATE OR REPLACE VIEW asle_v_rap_supervisor_sched
|
||||
type_schoonmaak,
|
||||
start_inzet,
|
||||
opmerking_sup,
|
||||
locatie
|
||||
locatie,
|
||||
opdr_status
|
||||
)
|
||||
AS
|
||||
SELECT TO_CHAR (mld_melding_einddatum, 'dd-mm-yyyy') datum,
|
||||
SELECT TO_CHAR (einddatum, 'dd-mm-yyyy') datum,
|
||||
(SELECT prs_perslid_voornaam
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_perslid_key = s.prs_perslid_key)
|
||||
prs_perslid_naam,
|
||||
TO_CHAR (plan_start, 'hh24:mi') plan_start,
|
||||
TO_CHAR (mld_melding_einddatum, 'hh24:mi') beschikbaar,
|
||||
rg.zone,
|
||||
zone,
|
||||
SUBSTR (compartiment, 1, 1),
|
||||
rg.compartiment,
|
||||
rg.alg_ruimte_nr,
|
||||
compartiment,
|
||||
alg_ruimte_nr,
|
||||
mld_stdmelding_omschrijving type_schoonmaak,
|
||||
(SELECT TO_CHAR (start_inzet, 'hh24:mi')
|
||||
FROM asle_imp_werkschema w
|
||||
WHERE TRUNC (s.mld_melding_einddatum) = TRUNC (w.start_inzet)
|
||||
AND w.prs_perslid_key = s.prs_perslid_key)
|
||||
start_inzet,
|
||||
rg.opmerking_sup,
|
||||
rg.alg_locatie_omschrijving
|
||||
FROM (SELECT prs_perslid_naam,
|
||||
plan_start,
|
||||
mld_melding_einddatum,
|
||||
mld_stdmelding_omschrijving,
|
||||
prs_perslid_key,
|
||||
alg_ruimte_key
|
||||
FROM asle_v_schoonmaak_bron
|
||||
WHERE TRUNC (mld_melding_einddatum) > TRUNC (SYSDATE - 7)) s,
|
||||
asle_v_ruimte_gegevens rg
|
||||
WHERE rg.alg_ruimte_key = s.alg_ruimte_key(+);
|
||||
opmerking_sup,
|
||||
alg_locatie_omschrijving,
|
||||
mld_statusopdr_omschrijving status
|
||||
FROM (SELECT *
|
||||
FROM (SELECT prs_perslid_naam,
|
||||
plan_start,
|
||||
mld_melding_einddatum,
|
||||
mld_stdmelding_omschrijving,
|
||||
prs_perslid_key,
|
||||
alg_ruimte_key,
|
||||
b.mld_statusopdr_key,
|
||||
mld_statusopdr_omschrijving
|
||||
FROM asle_v_schoonmaak_bron b, mld_statusopdr so
|
||||
WHERE b.mld_statusopdr_key = so.mld_statusopdr_key(+)
|
||||
AND TRUNC (mld_melding_einddatum) >
|
||||
TRUNC (SYSDATE - 7)) s
|
||||
RIGHT OUTER JOIN
|
||||
(SELECT *
|
||||
FROM asle_v_ruimte_gegevens rg,
|
||||
(SELECT DISTINCT
|
||||
TRUNC (mld_melding_einddatum) einddatum
|
||||
FROM asle_v_schoonmaak_bron
|
||||
WHERE TRUNC (mld_melding_einddatum) >
|
||||
TRUNC (SYSDATE - 7))) rg
|
||||
ON rg.alg_ruimte_key = s.alg_ruimte_key
|
||||
AND TRUNC (mld_melding_einddatum) = rg.einddatum) s;
|
||||
|
||||
CREATE OR REPLACE VIEW asle_v_rap_leegloop
|
||||
(
|
||||
@@ -273,6 +369,8 @@ AS
|
||||
FROM asle_imp_kamerschema s2
|
||||
WHERE s2.alg_locatie_key = e1.alg_locatie_key
|
||||
AND s2.timestamp = TRUNC (e1.starttijd)
|
||||
AND NOT ( ruimte_status = 'Free'
|
||||
AND schoonmaak_status = 'Clean')
|
||||
AND s2.verw_start_schoonmaak <= e1.starttijd)
|
||||
aantal_kamers2,
|
||||
(SELECT COUNT ( * )
|
||||
@@ -283,7 +381,7 @@ AS
|
||||
aantal
|
||||
FROM ( SELECT starttijd, alg_locatie_key
|
||||
FROM asle_tmp_est_cleaning
|
||||
WHERE TRUNC (starttijd) = TRUNC (SYSDATE)
|
||||
WHERE TRUNC (starttijd) > TRUNC(SYSDATE-7)
|
||||
GROUP BY starttijd, alg_locatie_key) e1;
|
||||
|
||||
CREATE OR REPLACE VIEW asle_v_rap_kamer_beschikbaar
|
||||
@@ -723,6 +821,8 @@ AS
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
|
||||
DBMS_OUTPUT.put_line ('zone zonder schoonmaker:' || v_zone);
|
||||
|
||||
IF v_zone IS NULL
|
||||
@@ -786,7 +886,7 @@ AS
|
||||
ELSE
|
||||
v_stdmelding_omschrijving := '';
|
||||
v_melding_einddatum := NULL;
|
||||
v_schoonmaaktijd := 20;
|
||||
v_schoonmaaktijd := 5;
|
||||
|
||||
END IF;
|
||||
|
||||
@@ -881,6 +981,10 @@ AS
|
||||
v_old_perslid_key := -1;
|
||||
v_empty_count := 0;
|
||||
|
||||
DELETE asle_tmp_zone_wis
|
||||
WHERE alg_locatie_key = p_locatie_key
|
||||
AND TRUNC(tijdstip) = p_date;
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
IF rec.prs_perslid_key <> v_old_perslid_key
|
||||
@@ -892,6 +996,8 @@ 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)
|
||||
VALUES (rec.prs_perslid_key, rec.plan_start, p_locatie_key);
|
||||
END IF;
|
||||
|
||||
IF rec.plan_start < rec.mld_melding_einddatum
|
||||
@@ -959,7 +1065,7 @@ AS
|
||||
|
||||
WHILE v_count < rec.min_num_clean
|
||||
LOOP
|
||||
v_time_eind := v_time_start + 1 / (24 * 3 * v_efficiency); -- 20 min
|
||||
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);
|
||||
@@ -1112,8 +1218,8 @@ BEGIN
|
||||
v_start_inzet,
|
||||
SUBSTR (v_trolleynr, 1, 10),
|
||||
SUBSTR (v_voorkeurzone, 1, 10),
|
||||
fac.safe_to_number(v_min_uren),
|
||||
fac.safe_to_number (v_max_uren),
|
||||
fac.safe_to_number(REPLACE(v_min_uren, ',', '.')),
|
||||
fac.safe_to_number (REPLACE(v_max_uren, ',', '.')),
|
||||
SUBSTR (COALESCE(v_voorkeurzone, '-1'), 1, 10),
|
||||
v_start_inzet);
|
||||
END IF;
|
||||
@@ -1163,6 +1269,14 @@ EXCEPTION
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE asle_update_werkschema (
|
||||
p_import_key IN NUMBER)
|
||||
AS
|
||||
BEGIN
|
||||
fac.imp_writelog (p_import_key, 'S', 'Inlezen werkschema voltooid', '');
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE asle_import_kamerschema (
|
||||
p_import_key IN NUMBER,
|
||||
p_offset IN NUMBER)
|
||||
@@ -1329,7 +1443,7 @@ BEGIN
|
||||
INTO v_verw_checkout_txt, v_vervaldatum
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = v_usrtab_key
|
||||
AND fac_usrdata_upper = UPPER(v_groep_naam);
|
||||
AND UPPER(v_groep_naam) LIKE fac_usrdata_upper || '%';
|
||||
|
||||
IF v_vervaldatum < TRUNC(v_timestamp)
|
||||
THEN
|
||||
@@ -1352,7 +1466,7 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Bepalen type schoonmaak';
|
||||
IF v_schoonmaak_status = 'Clean'
|
||||
IF v_schoonmaak_status = 'Clean' AND p_offset = 0
|
||||
THEN
|
||||
CASE v_ruimte_status
|
||||
WHEN 'Blocked' THEN v_type_schoonmaak := 'Blocked';
|
||||
@@ -1365,7 +1479,13 @@ BEGIN
|
||||
ELSE
|
||||
CASE v_ruimte_status
|
||||
WHEN 'Departure' THEN v_type_schoonmaak := 'Checkout';
|
||||
WHEN 'Free' THEN v_type_schoonmaak := 'Checkout';
|
||||
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 'Blocked' THEN v_type_schoonmaak := 'Blocked';
|
||||
WHEN 'Stay' THEN
|
||||
IF v_type_gast = 'Crew'
|
||||
@@ -1387,7 +1507,7 @@ BEGIN
|
||||
v_vertrek_datum_txt := TO_CHAR(SYSDATE + p_offset, 'dd-mm-yyyy');
|
||||
END IF;
|
||||
|
||||
IF v_schoonmaak_status = 'Clean'
|
||||
IF v_schoonmaak_status = 'Clean' AND v_ruimte_status = 'Free'
|
||||
THEN
|
||||
v_verw_start_schoonmaak := TRUNC(SYSDATE + p_offset);
|
||||
ELSIF v_checkout_status = 'checked out'
|
||||
@@ -1888,7 +2008,7 @@ END;
|
||||
--/
|
||||
|
||||
|
||||
BEGIN fac.registercustversion('ASLE', 1); END;
|
||||
BEGIN fac.registercustversion('ASLE', 3); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
|
||||
Reference in New Issue
Block a user