Files
Customer/WTCA/wtca.sql
Erik Groener 59aab12f05 FSN#25012 Oplevering 5.2.3
svn path=/Customer/trunk/; revision=16162
2012-11-29 14:50:05 +00:00

3825 lines
187 KiB
SQL

-- Script containing customer specific db-configuration for WTCA.
-- (c) 2010 SG|facilitor bv
-- $Revision$
-- $Id$
--
-- Support: +31 53 4800700
set echo on
spool xwtca.lst
/* Formatted on 6-9-2010 15:44:44 (QP5 v5.115.810.9015) */
CREATE OR REPLACE PACKAGE WTCA
AS
-- PACKAGES voor de WTCA specifieke ondersteuning
PROCEDURE freezeopdrachten (p_uv_key IN NUMBER);
FUNCTION bepaal_wtc_kantooruren (van_date IN DATE, tot_date IN DATE)
RETURN NUMBER;
END;
/
/* Formatted on 16-9-2010 14:15:16 (QP5 v5.115.810.9015) */
CREATE OR REPLACE PACKAGE BODY WTCA
AS
PROCEDURE freezeopdrachten (p_uv_key IN NUMBER)
AS
-- Cursor loopt over alle opdrachten naar Uitvoerende 'p_uv_key' die voor
-- de 1e van deze maand (technisch) zijn afgerond; deze worden "bevroren"
-- ofwel administratief afgemeld!
CURSOR c1
IS
SELECT mld_opdr_key
FROM mld_opdr o, prs_kostenplaats kp
WHERE o.mld_statusopdr_key = 9 -- KV
AND o.mld_uitvoerende_keys = p_uv_key
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
AND kp.prs_kostenplaats_upper = 'WTC'
AND fac.gettrackingdate ('ORDAFR', o.mld_opdr_key) <
TO_DATE (TO_CHAR (SYSDATE, 'yyyymm') || '01',
'yyyymmdd');
c_applname VARCHAR2 (50) := 'FREEZE_OPDR';
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER (10);
v_count_upd NUMBER (10);
v_bedrijf_naam VARCHAR2 (30);
BEGIN
v_count_upd := 0;
-- Controleer bestaan uitvoerende.
v_errormsg := 'Fout bij bepalen uitvoerende.';
SELECT b.prs_bedrijf_naam
INTO v_bedrijf_naam
FROM prs_v_aanwezigbedrijf b
WHERE b.prs_bedrijf_key = p_uv_key AND b.prs_bedrijf_uitvoerende = 1;
-- AV-verklaren opdrachten naar Uitvoerende 'p_uv_key' die voor de 1e van
-- deze maand (technisch) zijn afgemeld!
FOR rec IN c1
LOOP
MLD.setopdrachtstatus (rec.mld_opdr_key, 7, 4);
v_count_upd := v_count_upd + 1;
COMMIT;
END LOOP;
fac.writelog (
c_applname,
'S',
'Proces: ' || TO_CHAR (v_count_upd) || ' opdrachten bevroren',
''
);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (c_applname,
'E',
v_errormsg,
'');
COMMIT;
END freezeopdrachten;
FUNCTION bepaal_wtc_kantooruren (van_date IN DATE, tot_date IN DATE)
RETURN NUMBER
IS
c_kt_van NUMBER := 8.5;
c_kt_tot NUMBER := 17.5;
v_dl NUMBER;
lbackwards BOOLEAN;
v_van_date DATE;
v_van_uur NUMBER;
v_tot_date DATE;
v_tot_uur NUMBER;
v_loop_date DATE;
v_count NUMBER;
BEGIN
v_dl := 0;
IF (van_date > tot_date)
THEN
v_van_date :=
TO_DATE (TO_CHAR (tot_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
v_tot_date :=
TO_DATE (TO_CHAR (van_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
lbackwards := TRUE;
ELSE
v_van_date :=
TO_DATE (TO_CHAR (van_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
v_tot_date :=
TO_DATE (TO_CHAR (tot_date, 'yyyymmddhh24mi'), 'yyyymmddhh24mi');
lbackwards := FALSE;
END IF;
v_loop_date := TRUNC (van_date);
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - c_kt_van) < 0)
THEN
v_van_uur := c_kt_van;
ELSE
IF ( ( ( (v_van_date - TRUNC (v_van_date)) * 24) - c_kt_tot) < 0)
THEN
v_van_uur := (v_van_date - TRUNC (v_van_date)) * 24;
ELSE
v_van_uur := c_kt_tot;
END IF;
END IF;
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - c_kt_van) < 0)
THEN
v_tot_uur := c_kt_van;
ELSE
IF ( ( ( (v_tot_date - TRUNC (v_tot_date)) * 24) - c_kt_tot) < 0)
THEN
v_tot_uur := (v_tot_date - TRUNC (v_tot_date)) * 24;
ELSE
v_tot_uur := c_kt_tot;
END IF;
END IF;
WHILE (v_loop_date <= v_tot_date)
LOOP
SELECT COUNT ( * )
INTO v_count
FROM mld_vrije_dagen
WHERE mld_vrije_dagen_datum = v_loop_date;
IF (v_count = 0 AND TO_CHAR (v_loop_date, 'd') NOT IN ('1', '7'))
THEN
CASE
WHEN TRUNC (v_van_date) = TRUNC (v_tot_date)
THEN
v_dl := v_dl + (v_tot_uur - v_van_uur);
WHEN v_loop_date = TRUNC (v_van_date)
THEN
v_dl := v_dl + (c_kt_tot - v_van_uur);
WHEN v_loop_date = TRUNC (v_tot_date)
THEN
v_dl := v_dl + (v_tot_uur - c_kt_van);
ELSE
v_dl := v_dl + (c_kt_tot - c_kt_van);
END CASE;
END IF;
v_loop_date := v_loop_date + 1;
END LOOP;
IF lbackwards
THEN
RETURN 0 - v_dl;
ELSE
RETURN v_dl;
END IF;
END;
END;
/
/* Formatted on 5-1-2011 16:38:28 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_stdmld_lijst
(
stdmld_key,
stdmld_oms
)
AS
SELECT sm.mld_stdmelding_key stdmld_key,
sd.ins_srtdiscipline_prefix
|| '-'
|| td.ins_discipline_omschrijving
|| '-'
|| sm.mld_stdmelding_omschrijving
stdmld_oms
FROM mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd
WHERE sm.mld_stdmelding_verwijder IS NULL
AND sm.mld_ins_discipline_key = td.ins_discipline_key
AND td.ins_discipline_verwijder IS NULL
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND sd.ins_srtdiscipline_verwijder IS NULL;
/* Formatted on 5-5-2011 14:02:02 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_opdr_op_afmmaand
(
fclt_f_maand,
sla,
fclt_f_prefix,
opdr,
fclt_f_kdrager,
fclt_f_kdrager_oms,
corr_kdrager,
fclt_f_maatschap,
fclt_f_ksoort,
fclt_f_ksoort_oms,
org_ksoort,
fclt_f_gebouw_terrein,
verdieping,
ruimte,
fclt_f_vakgroep,
fclt_f_melding,
omschrijving,
opmerking,
aanmaak,
gepland,
gereed,
status,
fclt_f_uitvoerende,
contactpersoon,
kosten,
fclt_3d_afdeling_key
)
AS
SELECT a.maand,
COALESCE (c2.sla, a.sla),
COALESCE (c2.prefix, a.prefix),
a.opdracht,
a.kdrager,
a.kdrager_oms,
c1.corr_kdrager,
COALESCE (d.geb_maatschap, e.ter_maatschap),
COALESCE (c2.corr_ksoort, a.ksoort),
COALESCE (c2.corr_ksoort_oms, a.ksoort_oms),
DECODE (c2.corr_ksoort,
NULL, NULL,
a.ksoort || '-' || a.ksoort_oms),
DECODE (f.kdeel,
63, a.gebouw_terrein || ' (H)', -- Toevoeging (H)
37, a.gebouw_terrein || ' (I)', -- Toevoeging (I)
a.gebouw_terrein),
a.verdieping,
a.ruimte,
COALESCE (c2.vakgroep, a.vakgroep),
COALESCE (c2.melding, a.melding),
a.oms,
a.opm,
a.datum_aanmaak,
a.datum_gepland,
a.datum_gereed,
a.status,
a.bedrijf,
a.cp,
DECODE (f.kdeel,
NULL, a.kosten,
ROUND ( (f.kdeel * a.kosten) / 100, 2)),
b.afdeling
FROM (SELECT o.mld_opdr_key,
COALESCE (og.alg_gebouw_key,
og.alg_terreinsector_key)
gebter_key,
DECODE (
o.mld_statusopdr_key,
1,
TO_CHAR (
fac.gettrackingdate (
'ORDCAN',
o.mld_opdr_key
),
'yyyy-mm'
),
7,
TO_CHAR (
COALESCE (
fac.gettrackingdate (
'ORDAFR',
o.mld_opdr_key
),
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
)
),
'yyyy-mm'
),
9,
TO_CHAR (
fac.gettrackingdate (
'ORDAFR',
o.mld_opdr_key
),
'yyyy-mm'
),
'Lopend'
)
maand,
TO_CHAR (m.mld_melding_uitvoertijd)
sla,
sd.ins_srtdiscipline_prefix prefix,
o.mld_melding_key
|| '/'
|| o.mld_opdr_bedrijfopdr_volgnr
opdracht,
kp.prs_kostenplaats_nr kdrager,
kp.prs_kostenplaats_omschrijving
kdrager_oms,
COALESCE (ksm.prs_kostensoort_oms,
ksv.prs_kostensoort_oms)
ksoort,
DECODE (
ksm.prs_kostensoort_oms,
NULL,
ksv.prs_kostensoort_opmerking,
ksm.prs_kostensoort_opmerking
)
ksoort_oms,
COALESCE (og.alg_terreinsector_code,
og.alg_gebouw_code)
gebouw_terrein,
og.alg_verdieping_code verdieping,
og.alg_ruimte_nr ruimte,
td.ins_discipline_omschrijving
vakgroep,
sm.mld_stdmelding_omschrijving
melding,
o.mld_opdr_omschrijving oms,
o.mld_opdr_opmerking opm,
TO_CHAR (o.mld_opdr_datumbegin,
'dd-mm-yyyy')
datum_aanmaak, -- Of verzonden?
TO_CHAR (
fac.datumtijdplusuitvoertijd (
o.mld_opdr_datumbegin,
m.mld_melding_uitvoertijd,
'DAGEN'
),
'dd-mm-yyyy'
)
datum_gepland,
TO_CHAR (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
'dd-mm-yyyy'
)
datum_gereed,
so.mld_statusopdr_omschrijving status,
b.prs_bedrijf_naam bedrijf,
o.mld_opdr_contactpersoon cp,
o.mld_opdr_kosten kosten
FROM mld_opdr o,
prs_bedrijf b,
mld_melding m,
alg_v_allonrgoed_gegevens og,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_kostensoort ksm,
prs_kostensoort ksv,
prs_kostenplaats kp,
mld_statusopdr so
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND m.mld_alg_onroerendgoed_keys =
og.alg_onroerendgoed_keys
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.prs_kostensoort_key =
ksm.prs_kostensoort_key(+)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.prs_kostensoort_key =
ksv.prs_kostensoort_key(+)
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND o.prs_kostenplaats_key =
kp.prs_kostenplaats_key
AND o.mld_statusopdr_key =
so.mld_statusopdr_key) a
LEFT JOIN
(SELECT DISTINCT
o.mld_opdr_key,
p.prs_afdeling_key afdeling
FROM mld_opdr o,
prs_bedrijf b,
prs_contactpersoon cp,
prs_perslid p
WHERE o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND b.prs_bedrijf_key =
cp.prs_bedrijf_key
AND cp.prs_perslid_key =
p.prs_perslid_key) b
ON a.mld_opdr_key = b.mld_opdr_key
LEFT JOIN
(SELECT ko.mld_opdr_key,
ud.fac_usrdata_omschr corr_kdrager
FROM mld_v_aanwezigkenmerkopdr ko,
fac_v_aanwezigusrdata ud
WHERE ko.mld_kenmerk_key = 1 -- Corr. kdrager
AND ud.fac_usrdata_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) c1
ON a.mld_opdr_key = c1.mld_opdr_key
LEFT JOIN
(SELECT ko.mld_opdr_key,
TO_CHAR (sm.mld_stdmelding_uitvoertijd) sla,
COALESCE (ksm.prs_kostensoort_oms,
ksv.prs_kostensoort_oms)
corr_ksoort,
DECODE (ksm.prs_kostensoort_oms,
NULL,
ksv.prs_kostensoort_opmerking,
ksm.prs_kostensoort_opmerking)
corr_ksoort_oms,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_kostensoort ksm,
prs_kostensoort ksv
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.prs_kostensoort_key =
ksm.prs_kostensoort_key(+)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.prs_kostensoort_key =
ksv.prs_kostensoort_key(+)
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) c2
ON a.mld_opdr_key = c2.mld_opdr_key
LEFT JOIN
(SELECT ok.alg_onrgoed_key,
ud.fac_usrdata_omschr geb_maatschap
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1020 -- Maatschap
AND ud.fac_usrdata_key =
fac.safe_to_number (
ok.alg_onrgoedkenmerk_waarde
)) d
ON a.gebter_key = d.alg_onrgoed_key
LEFT JOIN
(SELECT ok.alg_onrgoed_key,
ud.fac_usrdata_omschr ter_maatschap
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1040 -- Maatschap
AND ud.fac_usrdata_key =
fac.safe_to_number (
ok.alg_onrgoedkenmerk_waarde
)) e
ON a.gebter_key = e.alg_onrgoed_key
LEFT JOIN
(SELECT g.alg_gebouw_key, 63 kdeel -- 63% van A-HI (=1572) op TH
FROM alg_gebouw g
WHERE g.alg_gebouw_key = 1572
UNION ALL
SELECT g.alg_gebouw_key, 37 kdeel -- 37% van A-HI (=1572) op TI
FROM alg_gebouw g
WHERE g.alg_gebouw_key = 1572) f
ON a.gebter_key = f.alg_gebouw_key;
/* Formatted on 6-2-2012 14:28:28 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_opdr_op_newmaand
(
fclt_f_maand,
sla,
fclt_f_prefix,
opdr,
fclt_f_kdrager,
fclt_f_kdrager_oms,
corr_kdrager,
fclt_f_maatschap,
fclt_f_ksoort,
fclt_f_ksoort_oms,
org_ksoort,
fclt_f_gebouw_terrein,
verdieping,
ruimte,
fclt_f_vakgroep,
fclt_f_melding,
omschrijving,
opmerking,
aanmaak,
gepland,
gereed,
status,
fclt_f_uitvoerende,
contactpersoon,
kosten,
fclt_3d_afdeling_key
)
AS
SELECT a.maand,
COALESCE (c2.sla, a.sla),
COALESCE (c2.prefix, a.prefix),
a.opdracht,
a.kdrager,
a.kdrager_oms,
c1.corr_kdrager,
COALESCE (d.geb_maatschap, e.ter_maatschap),
COALESCE (c2.corr_ksoort, a.ksoort),
COALESCE (c2.corr_ksoort_oms, a.ksoort_oms),
DECODE (c2.corr_ksoort,
NULL, NULL,
a.ksoort || '-' || a.ksoort_oms),
DECODE (f.kdeel,
63, a.gebouw_terrein || ' (H)', -- Toevoeging (H)
37, a.gebouw_terrein || ' (I)', -- Toevoeging (I)
a.gebouw_terrein),
a.verdieping,
a.ruimte,
COALESCE (c2.vakgroep, a.vakgroep),
COALESCE (c2.melding, a.melding),
a.oms,
a.opm,
a.datum_aanmaak,
a.datum_gepland,
a.datum_gereed,
a.status,
a.bedrijf,
a.cp,
DECODE (f.kdeel,
NULL, a.kosten,
ROUND ( (f.kdeel * a.kosten) / 100, 2)),
b.afdeling
FROM (SELECT o.mld_opdr_key,
COALESCE (og.alg_gebouw_key,
og.alg_terreinsector_key)
gebter_key,
TO_CHAR (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
'yyyy-mm'
)
maand,
TO_CHAR (m.mld_melding_uitvoertijd)
sla,
sd.ins_srtdiscipline_prefix prefix,
o.mld_melding_key
|| '/'
|| o.mld_opdr_bedrijfopdr_volgnr
opdracht,
kp.prs_kostenplaats_nr kdrager,
kp.prs_kostenplaats_omschrijving
kdrager_oms,
COALESCE (ksm.prs_kostensoort_oms,
ksv.prs_kostensoort_oms)
ksoort,
DECODE (
ksm.prs_kostensoort_oms,
NULL,
ksv.prs_kostensoort_opmerking,
ksm.prs_kostensoort_opmerking
)
ksoort_oms,
COALESCE (og.alg_terreinsector_code,
og.alg_gebouw_code)
gebouw_terrein,
og.alg_verdieping_code verdieping,
og.alg_ruimte_nr ruimte,
td.ins_discipline_omschrijving
vakgroep,
sm.mld_stdmelding_omschrijving
melding,
o.mld_opdr_omschrijving oms,
o.mld_opdr_opmerking opm,
TO_CHAR (o.mld_opdr_datumbegin,
'dd-mm-yyyy')
datum_aanmaak, -- Of verzonden?
TO_CHAR (
fac.datumtijdplusuitvoertijd (
o.mld_opdr_datumbegin,
m.mld_melding_uitvoertijd,
'DAGEN'
),
'dd-mm-yyyy'
)
datum_gepland,
TO_CHAR (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
'dd-mm-yyyy'
)
datum_gereed,
so.mld_statusopdr_omschrijving status,
b.prs_bedrijf_naam bedrijf,
o.mld_opdr_contactpersoon cp,
o.mld_opdr_kosten kosten
FROM mld_opdr o,
prs_bedrijf b,
mld_melding m,
alg_v_allonrgoed_gegevens og,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_kostensoort ksm,
prs_kostensoort ksv,
prs_kostenplaats kp,
mld_statusopdr so
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND m.mld_alg_onroerendgoed_keys =
og.alg_onroerendgoed_keys
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.prs_kostensoort_key =
ksm.prs_kostensoort_key(+)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.prs_kostensoort_key =
ksv.prs_kostensoort_key(+)
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND o.prs_kostenplaats_key =
kp.prs_kostenplaats_key
AND o.mld_statusopdr_key =
so.mld_statusopdr_key) a
LEFT JOIN
(SELECT DISTINCT
o.mld_opdr_key,
p.prs_afdeling_key afdeling
FROM mld_opdr o,
prs_bedrijf b,
prs_contactpersoon cp,
prs_perslid p
WHERE o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND b.prs_bedrijf_key =
cp.prs_bedrijf_key
AND cp.prs_perslid_key =
p.prs_perslid_key) b
ON a.mld_opdr_key = b.mld_opdr_key
LEFT JOIN
(SELECT ko.mld_opdr_key,
ud.fac_usrdata_omschr corr_kdrager
FROM mld_v_aanwezigkenmerkopdr ko,
fac_v_aanwezigusrdata ud
WHERE ko.mld_kenmerk_key = 1 -- Corr. kdrager
AND ud.fac_usrdata_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) c1
ON a.mld_opdr_key = c1.mld_opdr_key
LEFT JOIN
(SELECT ko.mld_opdr_key,
TO_CHAR (sm.mld_stdmelding_uitvoertijd) sla,
COALESCE (ksm.prs_kostensoort_oms,
ksv.prs_kostensoort_oms)
corr_ksoort,
DECODE (ksm.prs_kostensoort_oms,
NULL,
ksv.prs_kostensoort_opmerking,
ksm.prs_kostensoort_opmerking)
corr_ksoort_oms,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_kostensoort ksm,
prs_kostensoort ksv
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.prs_kostensoort_key =
ksm.prs_kostensoort_key(+)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.prs_kostensoort_key =
ksv.prs_kostensoort_key(+)
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) c2
ON a.mld_opdr_key = c2.mld_opdr_key
LEFT JOIN
(SELECT ok.alg_onrgoed_key,
ud.fac_usrdata_omschr geb_maatschap
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1020 -- Maatschap
AND ud.fac_usrdata_key =
fac.safe_to_number (
ok.alg_onrgoedkenmerk_waarde
)) d
ON a.gebter_key = d.alg_onrgoed_key
LEFT JOIN
(SELECT ok.alg_onrgoed_key,
ud.fac_usrdata_omschr ter_maatschap
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1040 -- Maatschap
AND ud.fac_usrdata_key =
fac.safe_to_number (
ok.alg_onrgoedkenmerk_waarde
)) e
ON a.gebter_key = e.alg_onrgoed_key
LEFT JOIN
(SELECT g.alg_gebouw_key, 63 kdeel -- 63% van A-HI (=1572) op TH
FROM alg_gebouw g
WHERE g.alg_gebouw_key = 1572
UNION ALL
SELECT g.alg_gebouw_key, 37 kdeel -- 37% van A-HI (=1572) op TI
FROM alg_gebouw g
WHERE g.alg_gebouw_key = 1572) f
ON a.gebter_key = f.alg_gebouw_key;
/* Formatted on 20-12-2011 14:14:14 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_opdr_mi_oms
(
fclt_f_maand,
fclt_f_bedrijf,
opdr,
fclt_f_kdrager,
fclt_f_kdrager_oms,
fclt_f_prefix,
fclt_f_vakgroep,
fclt_f_melding,
omschrijving,
opmerking,
aanmaak_melding,
sla,
gepland_melding,
sp_afhandeltijd,
sp_afh_ok,
uv_responsetijd,
uv_rsp_ok,
uv_afhandeltijd,
uv_afh_ok,
fclt_3d_afdeling_key
)
AS
SELECT DECODE (
opdr.status_key,
NULL,
DECODE (meld.status_key,
1, TO_CHAR (meld.mldrej, 'yyyy-mm'),
5, TO_CHAR (meld.mldafm, 'yyyy-mm'),
'Lopend'),
1,
TO_CHAR (opdr.ordcan, 'yyyy-mm'),
6,
TO_CHAR (opdr.ordafm, 'yyyy-mm'),
7,
TO_CHAR (opdr.ordafm, 'yyyy-mm'),
9,
TO_CHAR (opdr.ordafm, 'yyyy-mm'),
'Lopend'
)
maand,
DECODE (opdr.status_key,
1, opdr.bedrijf || '/GEANNULEERD',
opdr.bedrijf),
meld.mld_key
|| DECODE (opdr.volgnr, NULL, NULL, '/' || opdr.volgnr),
opdr.kostenplaats,
opdr.kostenplaats_oms,
COALESCE (CORR.prefix, meld.prefix),
COALESCE (CORR.vakgroep, meld.vakgroep),
COALESCE (CORR.melding, meld.melding),
DECODE (opdr.status_key, NULL, meld.oms, opdr.oms),
DECODE (opdr.status_key, NULL, meld.status, opdr.opm),
TO_CHAR (meld.mldnew, 'dd-mm-yyyy hh24:mi') aanmaak,
TO_CHAR (COALESCE (CORR.sla, meld.sla)) sla,
TO_CHAR (
fac.datumtijdplusuitvoertijd (meld.mldnew,
COALESCE (CORR.sla, meld.sla),
'DAGEN'),
'dd-mm-yyyy hh24:mi'
)
gepland,
DECODE (
opdr.ordnew,
NULL,
NULL,
TO_CHAR(FLOOR(wtca.bepaal_wtc_kantooruren (meld.mldnew,
opdr.ordnew)
/ 9))
|| 'd-'
|| TO_CHAR(MOD (
FLOOR(wtca.bepaal_wtc_kantooruren (meld.mldnew,
opdr.ordnew)),
9
))
|| 'u-'
|| TO_CHAR(MOD (
ROUND (
wtca.bepaal_wtc_kantooruren (meld.mldnew,
opdr.ordnew)
* 60,
0
),
60
))
|| 'm'
)
sp_afhandeltijd,
DECODE (
opdr.ordnew,
NULL,
DECODE (meld.status_key, 1, '-', 6, '-', NULL),
DECODE (
meld.prio,
1,
'-',
2,
'-',
3,
DECODE (
SIGN(ROUND (
wtca.bepaal_wtc_kantooruren (
meld.mldnew,
COALESCE (opdr.ordnew, SYSDATE)
)
* 60,
0
)
- 30), -- Harde afspraak 30m
1,
'Nee',
'Ja'
),
DECODE (
SIGN(ROUND (
wtca.bepaal_wtc_kantooruren (
meld.mldnew,
COALESCE (opdr.ordnew, SYSDATE)
)
* 60,
0
)
- 60), -- Harde afspraak 60m
1,
'Nee',
'Ja'
)
)
)
sp_afh_ok,
DECODE (
opdr.ordacp,
NULL,
NULL,
TO_CHAR (FLOOR (opdr.ordacp - opdr.ordnew)) || 'd-'
|| TO_CHAR (
MOD (FLOOR ( (opdr.ordacp - opdr.ordnew) * 24), 24)
)
|| 'u-'
|| TO_CHAR(MOD (
ROUND ( (opdr.ordacp - opdr.ordnew) * 24 * 60,
0),
60
))
|| 'm'
)
uv_responsetijd,
DECODE (
opdr.ordnew,
NULL,
DECODE (meld.status_key, 1, '-', 6, '-', NULL),
DECODE (
meld.prio,
1,
'-',
2,
'-',
3,
DECODE (
SIGN(FLOOR( (COALESCE (opdr.ordacp, SYSDATE)
- opdr.ordnew)
* 24)
- 4), -- Harde afspraak 4 uur
1,
'Nee',
'Ja'
),
DECODE (
SIGN(FAC.count_work_days_incltime (
opdr.ordnew,
COALESCE (opdr.ordacp, SYSDATE)
)
- 1), -- Harde afspraak 24 uur
1,
'Nee',
'Ja'
)
)
)
uv_rsp_ok,
DECODE (
opdr.ordafm,
NULL,
DECODE (
opdr.ordcan,
NULL,
NULL,
TO_CHAR (FLOOR (opdr.ordcan - opdr.ordnew)) || 'd-'
|| TO_CHAR(MOD (
ROUND ( (opdr.ordcan - opdr.ordnew) * 24, 0),
24
))
|| 'u'
),
TO_CHAR (FLOOR (opdr.ordafm - opdr.ordnew)) || 'd-'
|| TO_CHAR (
MOD (ROUND ( (opdr.ordafm - opdr.ordnew) * 24, 0), 24)
)
|| 'u'
)
afhandeltijd,
DECODE (
opdr.ordnew,
NULL,
DECODE (meld.status_key, 1, '-', 6, '-', NULL),
DECODE (
meld.prio,
1,
'-',
2,
'-',
DECODE (
SIGN(FAC.count_work_days_incltime (
opdr.ordnew,
COALESCE (opdr.ordafm, SYSDATE)
)
- COALESCE (CORR.sla, meld.sla)),
1,
'Nee',
'Ja'
)
)
)
uv_afh_ok,
scope.afd_key
FROM (SELECT m.mld_melding_key mld_key,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding,
m.mld_melding_spoed prio,
m.mld_melding_uitvoertijd sla,
m.mld_melding_status status_key,
s.mld_statuses_omschrijving status,
m.mld_melding_omschrijving oms,
fac.gettrackingdate ('MLDNEW',
m.mld_melding_key)
mldnew,
fac.gettrackingdate ('MLDREJ',
m.mld_melding_key)
mldrej,
fac.gettrackingdate ('MLDAFM',
m.mld_melding_key)
mldafm
FROM mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
mld_statuses s
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND m.mld_melding_status = mld_statuses_key)
meld
LEFT JOIN
(SELECT o.mld_melding_key,
COALESCE (sm.mld_stdmelding_uitvoertijd, 0)
sla,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_opdr o,
mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd
WHERE o.mld_opdr_key = ko.mld_opdr_key
AND ko.mld_kenmerk_key = 41 -- Corr. melding
AND ko.mld_opdr_key = o.mld_opdr_key
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) CORR
ON meld.mld_key = CORR.mld_melding_key
LEFT JOIN
(SELECT o.mld_melding_key mld_key,
o.mld_opdr_bedrijfopdr_volgnr volgnr,
o.mld_opdr_key opdr_key,
o.mld_statusopdr_key status_key,
o.mld_opdr_omschrijving oms,
o.mld_opdr_opmerking opm,
b.prs_bedrijf_naam bedrijf,
kp.prs_kostenplaats_nr kostenplaats,
kp.prs_kostenplaats_omschrijving kostenplaats_oms,
fac.gettrackingdate ('ORDNEW', o.mld_opdr_key)
ordnew,
o.mld_opdr_verzonden verzonden,
fac.gettrackingdate ('ORDACP', o.mld_opdr_key)
ordacp,
fac.gettrackingdate ('ORDCAN', o.mld_opdr_key)
ordcan,
fac.gettrackingdate ('ORDAFM', o.mld_opdr_key)
ordafm
FROM mld_opdr o, prs_bedrijf b, prs_kostenplaats kp
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND o.prs_kostenplaats_key =
kp.prs_kostenplaats_key) opdr
ON meld.mld_key = opdr.mld_key
LEFT JOIN
(SELECT DISTINCT
o.mld_opdr_key opdr_key, p.prs_afdeling_key afd_key
FROM mld_opdr o,
prs_bedrijf b,
prs_contactpersoon cp,
prs_perslid p
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND b.prs_bedrijf_key = cp.prs_bedrijf_key
AND cp.prs_perslid_key = p.prs_perslid_key) scope
ON opdr.opdr_key = scope.opdr_key;
/* Formatted on 11-2-2011 11:15:45 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_opdr_mi_ppi
(
fclt_f_maand,
fclt_f_bedrijf,
fclt_f_prefix,
fclt_f_vakgroep,
fclt_f_melding,
aant_opdr,
acceptatie_op_tijd,
acceptatie_perc,
uitvoering_op_tijd,
uitvoering_perc
)
AS
SELECT x.maand,
x.bedrijf,
x.prefix,
x.vakgroep,
x.melding,
x.aant_opdrachten,
x.acceptatie_op_tijd,
REPLACE (
TO_CHAR (x.acceptatie_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
acceptatie_perc,
x.uitvoering_op_tijd,
REPLACE (
TO_CHAR (x.uitvoering_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
uitvoering_perc
FROM ( SELECT maand,
bedrijf,
COALESCE (CORR.prefix, opdr.prefix) prefix,
COALESCE (CORR.vakgroep, opdr.vakgroep) vakgroep,
COALESCE (CORR.melding, opdr.melding) melding,
COUNT (opdr_key) aant_opdrachten,
SUM (acceptoptijd) acceptatie_op_tijd,
SUM(DECODE (
SIGN(opdr.afmelddagen
- COALESCE (CORR.sla, opdr.sla)),
1,
0,
1
))
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
DECODE (
o.mld_statusopdr_key,
6,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
7,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
9,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
'Lopend'
)
maand,
b.prs_bedrijf_naam bedrijf,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding,
m.mld_melding_uitvoertijd sla,
DECODE (
m.mld_melding_spoed,
3,
DECODE (
SIGN(FLOOR( (COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
- fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
))
* 24)
- 4), -- Harde afspraak 4 uur
1,
0,
1
),
DECODE (
SIGN(FAC.count_work_days_incltime (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
)
- 1), -- Harde afspraak 24 uur
1,
0,
1
)
)
acceptoptijd,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
SYSDATE
)
)
afmelddagen
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_bedrijf b
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.mld_statusopdr_key <> 1
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) CORR
ON opdr.opdr_key = CORR.mld_opdr_key
GROUP BY maand,
bedrijf,
COALESCE (CORR.prefix, opdr.prefix),
COALESCE (CORR.vakgroep, opdr.vakgroep),
COALESCE (CORR.melding, opdr.melding)) x
UNION ALL
SELECT x.maand,
x.bedrijf,
x.prefix,
x.vakgroep,
x.melding,
x.aant_opdrachten,
x.acceptatie_op_tijd,
REPLACE (
TO_CHAR (x.acceptatie_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
acceptatie_perc,
x.uitvoering_op_tijd,
REPLACE (
TO_CHAR (x.uitvoering_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
uitvoering_perc
FROM ( SELECT maand,
bedrijf || '/GEANNULEERD' bedrijf,
COALESCE (CORR.prefix, opdr.prefix) prefix,
COALESCE (CORR.vakgroep, opdr.vakgroep) vakgroep,
COALESCE (CORR.melding, opdr.melding) melding,
COUNT (opdr_key) aant_opdrachten,
SUM (acceptoptijd) acceptatie_op_tijd,
SUM(DECODE (
SIGN(opdr.afmelddagen
- COALESCE (CORR.sla, opdr.sla)),
1,
0,
1
))
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
TO_CHAR (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
'yyyy-mm'
)
maand,
b.prs_bedrijf_naam bedrijf,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding,
m.mld_melding_uitvoertijd sla,
DECODE (
m.mld_melding_spoed,
3,
DECODE (
SIGN(FLOOR( (COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
- fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
))
* 24)
- 4), -- Harde afspraak 4 uur
1,
0,
1
),
DECODE (
SIGN(FAC.count_work_days_incltime (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
)
- 1), -- Harde afspraak 24 uur
1,
0,
1
)
)
acceptoptijd,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
SYSDATE
)
)
afmelddagen
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_bedrijf b
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.mld_statusopdr_key = 1
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) CORR
ON opdr.opdr_key = CORR.mld_opdr_key
GROUP BY maand,
bedrijf,
COALESCE (CORR.prefix, opdr.prefix),
COALESCE (CORR.vakgroep, opdr.vakgroep),
COALESCE (CORR.melding, opdr.melding)) x
UNION ALL
SELECT x.maand,
x.bedrijf,
x.prefix,
x.vakgroep,
x.melding || '/KRITIEK-DRINGEND',
x.aant_opdrachten,
TO_NUMBER (NULL),
'-' acceptatie_perc,
TO_NUMBER (NULL),
'-' uitvoering_perc
FROM ( SELECT maand,
bedrijf,
COALESCE (CORR.prefix, opdr.prefix) prefix,
COALESCE (CORR.vakgroep, opdr.vakgroep) vakgroep,
COALESCE (CORR.melding, opdr.melding) melding,
COUNT (opdr_key) aant_opdrachten
FROM (SELECT o.mld_opdr_key opdr_key,
DECODE (
o.mld_statusopdr_key,
6,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
7,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
9,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
'Lopend'
)
maand,
b.prs_bedrijf_naam bedrijf,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_bedrijf b
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.mld_statusopdr_key <> 1
AND m.mld_melding_spoed IN (1, 2)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) CORR
ON opdr.opdr_key = CORR.mld_opdr_key
GROUP BY maand,
bedrijf,
COALESCE (CORR.prefix, opdr.prefix),
COALESCE (CORR.vakgroep, opdr.vakgroep),
COALESCE (CORR.melding, opdr.melding)) x
UNION ALL
SELECT x.maand,
x.bedrijf,
x.prefix,
x.vakgroep,
x.melding || '/KRITIEK-DRINGEND',
x.aant_opdrachten,
TO_NUMBER (NULL),
'-' acceptatie_perc,
TO_NUMBER (NULL),
'-' uitvoering_perc
FROM ( SELECT maand,
bedrijf || '/GEANNULEERD' bedrijf,
COALESCE (CORR.prefix, opdr.prefix) prefix,
COALESCE (CORR.vakgroep, opdr.vakgroep) vakgroep,
COALESCE (CORR.melding, opdr.melding) melding,
COUNT (opdr_key) aant_opdrachten
FROM (SELECT o.mld_opdr_key opdr_key,
TO_CHAR (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
'yyyy-mm'
)
maand,
b.prs_bedrijf_naam bedrijf,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_bedrijf b
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.mld_statusopdr_key = 1
AND m.mld_melding_spoed IN (1, 2)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) CORR
ON opdr.opdr_key = CORR.mld_opdr_key
GROUP BY maand,
bedrijf,
COALESCE (CORR.prefix, opdr.prefix),
COALESCE (CORR.vakgroep, opdr.vakgroep),
COALESCE (CORR.melding, opdr.melding)) x;
/* Formatted on 6-1-2011 10:28:58 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_opdr_mi_ppi2
(
fclt_f_maand,
fclt_f_bedrijf,
fclt_f_kdrager,
fclt_f_kdrager_oms,
aant_opdr,
acceptatie_op_tijd,
acceptatie_perc,
uitvoering_op_tijd,
uitvoering_perc
)
AS
SELECT x.maand,
x.bedrijf,
x.kostenplaats,
x.kostenplaats_oms,
x.aant_opdrachten,
x.acceptatie_op_tijd,
REPLACE (
TO_CHAR (x.acceptatie_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
acceptatie_perc,
x.uitvoering_op_tijd,
REPLACE (
TO_CHAR (x.uitvoering_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
uitvoering_perc
FROM ( SELECT maand,
bedrijf,
kostenplaats,
kostenplaats_oms,
COUNT (opdr_key) aant_opdrachten,
SUM (acceptoptijd) acceptatie_op_tijd,
SUM (afmeldoptijd) uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
DECODE (
o.mld_statusopdr_key,
6,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
7,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
9,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
'Lopend'
)
maand,
b.prs_bedrijf_naam bedrijf,
kp.prs_kostenplaats_nr kostenplaats,
kp.prs_kostenplaats_omschrijving
kostenplaats_oms,
DECODE (
m.mld_melding_spoed,
3,
DECODE (
SIGN(FLOOR( (COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
- fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
))
* 24)
- 4), -- Harde afspraak 4 uur
1,
0,
1
),
DECODE (
SIGN(FAC.count_work_days_incltime (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
)
- 1), -- Harde afspraak 24 uur
1,
0,
1
)
)
acceptoptijd,
DECODE (
SIGN(FAC.count_work_days_incltime (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
- m.mld_melding_uitvoertijd),
1,
0,
1
)
afmeldoptijd
FROM mld_opdr o,
mld_melding m,
prs_bedrijf b,
prs_kostenplaats kp
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.prs_kostenplaats_key =
kp.prs_kostenplaats_key
AND o.mld_statusopdr_key <> 1
AND m.mld_melding_spoed IN (3, 4))
GROUP BY maand,
bedrijf,
kostenplaats,
kostenplaats_oms) x
UNION ALL
SELECT x.maand,
x.bedrijf,
x.kostenplaats,
x.kostenplaats_oms,
x.aant_opdrachten,
x.acceptatie_op_tijd,
REPLACE (
TO_CHAR (x.acceptatie_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
acceptatie_perc,
x.uitvoering_op_tijd,
REPLACE (
TO_CHAR (x.uitvoering_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
uitvoering_perc
FROM ( SELECT maand,
bedrijf || '/GEANNULEERD' bedrijf,
kostenplaats,
kostenplaats_oms,
COUNT (opdr_key) aant_opdrachten,
SUM (acceptoptijd) acceptatie_op_tijd,
SUM (afmeldoptijd) uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
TO_CHAR (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
'yyyy-mm'
)
maand,
b.prs_bedrijf_naam bedrijf,
kp.prs_kostenplaats_nr kostenplaats,
kp.prs_kostenplaats_omschrijving
kostenplaats_oms,
DECODE (
m.mld_melding_spoed,
3,
DECODE (
SIGN(FLOOR( (COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
- fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
))
* 24)
- 4), -- Harde afspraak 4 uur
1,
0,
1
),
DECODE (
SIGN(FAC.count_work_days_incltime (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
)
- 1), -- Harde afspraak 24 uur
1,
0,
1
)
)
acceptoptijd,
DECODE (
SIGN(FAC.count_work_days_incltime (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDCAN',
o.mld_opdr_key
),
SYSDATE
)
)
- m.mld_melding_uitvoertijd),
1,
0,
1
)
afmeldoptijd
FROM mld_opdr o,
mld_melding m,
prs_bedrijf b,
prs_kostenplaats kp
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.prs_kostenplaats_key =
kp.prs_kostenplaats_key
AND o.mld_statusopdr_key = 1
AND m.mld_melding_spoed IN (3, 4))
GROUP BY maand,
bedrijf,
kostenplaats,
kostenplaats_oms) x
UNION ALL
SELECT x.maand,
x.bedrijf,
x.kostenplaats,
x.kostenplaats_oms,
x.aant_opdrachten,
TO_NUMBER (NULL),
'-' acceptatie_perc,
TO_NUMBER (NULL),
'-' uitvoering_perc
FROM ( SELECT maand,
bedrijf,
kostenplaats,
kostenplaats_oms,
COUNT (opdr_key) aant_opdrachten
FROM (SELECT o.mld_opdr_key opdr_key,
DECODE (
o.mld_statusopdr_key,
6,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
7,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
9,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
'Lopend'
)
maand,
b.prs_bedrijf_naam bedrijf,
kp.prs_kostenplaats_nr kostenplaats,
kp.prs_kostenplaats_omschrijving
kostenplaats_oms,
DECODE (
SIGN(FLOOR( (COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
- fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
))
* 24)
- 4), -- Harde afspraak 4 uur
1,
0,
1
)
acceptoptijd,
DECODE (
SIGN(FAC.count_work_days_incltime (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
- m.mld_melding_uitvoertijd),
1,
0,
1
)
afmeldoptijd
FROM mld_opdr o,
mld_melding m,
prs_bedrijf b,
prs_kostenplaats kp
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.prs_kostenplaats_key =
kp.prs_kostenplaats_key
AND o.mld_statusopdr_key <> 1
AND m.mld_melding_spoed IN (1, 2))
GROUP BY maand,
bedrijf,
kostenplaats,
kostenplaats_oms) x
UNION ALL
SELECT x.maand,
x.bedrijf,
x.kostenplaats,
x.kostenplaats_oms,
x.aant_opdrachten,
TO_NUMBER (NULL),
'-' acceptatie_perc,
TO_NUMBER (NULL),
'-' uitvoering_perc
FROM ( SELECT maand,
bedrijf || '/GEANNULEERD' bedrijf,
kostenplaats,
kostenplaats_oms,
COUNT (opdr_key) aant_opdrachten
FROM (SELECT o.mld_opdr_key opdr_key,
TO_CHAR (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
'yyyy-mm'
)
maand,
b.prs_bedrijf_naam bedrijf,
kp.prs_kostenplaats_nr kostenplaats,
kp.prs_kostenplaats_omschrijving
kostenplaats_oms,
DECODE (
SIGN(FLOOR( (COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
- fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
))
* 24)
- 4), -- Harde afspraak 4 uur
1,
0,
1
)
acceptoptijd,
DECODE (
SIGN(FAC.count_work_days_incltime (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDCAN',
o.mld_opdr_key
),
SYSDATE
)
)
- m.mld_melding_uitvoertijd),
1,
0,
1
)
afmeldoptijd
FROM mld_opdr o,
mld_melding m,
prs_bedrijf b,
prs_kostenplaats kp
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.prs_kostenplaats_key =
kp.prs_kostenplaats_key
AND o.mld_statusopdr_key = 1
AND m.mld_melding_spoed IN (1, 2))
GROUP BY maand,
bedrijf,
kostenplaats,
kostenplaats_oms) x;
/* Formatted on 24-2-2012 10:28:42 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_mld_structuur
(
fclt_f_vakgroeptype,
fclt_f_prefix,
fclt_f_vakgroep,
fclt_f_melding,
fclt_f_groep,
fclt_f_ksoort,
ksoort_oms,
acc_tijd,
sla_krit,
sla_hoog,
sla_norm,
sla_laag,
m_totaal,
m_lopend,
fclt_f_dienst,
aanwijzing
)
AS
SELECT x.vakgroeptype,
x.prefix,
x.vakgroep,
x.melding,
x.groep,
x.ksoort,
x.ksoort_oms,
x.acc_tijd,
x.sla_krit,
x.sla_hoog,
x.sla_norm,
x.sla_laag,
y.m_totaal,
z.m_lopend,
d.prs_dienst_omschrijving,
x.aanwijzing
FROM (SELECT sm.mld_stdmelding_key,
DECODE (sd.ins_srtdiscipline_verwijder,
NULL, '',
'XXX-')
|| sd.ins_srtdiscipline_omschrijving
vakgroeptype,
sd.ins_srtdiscipline_prefix prefix,
DECODE (td.ins_discipline_verwijder,
NULL, '',
'XXX-')
|| td.ins_discipline_omschrijving
vakgroep,
DECODE (sm.mld_stdmelding_verwijder,
NULL, '',
'XXX-')
|| sm.mld_stdmelding_omschrijving
melding,
smg.mld_stdmeldinggroep_naam groep,
k.prs_kostensoort_oms ksoort,
k.prs_kostensoort_opmerking ksoort_oms,
TO_CHAR (sm.mld_stdmelding_urgentie) acc_tijd,
TO_CHAR (sm.mld_stdmelding_uitvoertijd_pr1)
sla_krit,
TO_CHAR (sm.mld_stdmelding_uitvoertijd_pr2)
sla_hoog,
TO_CHAR (sm.mld_stdmelding_uitvoertijd)
sla_norm,
TO_CHAR (sm.mld_stdmelding_uitvoertijd_pr4)
sla_laag,
sm.prs_dienst_key,
sm.mld_stdmelding_hint aanwijzing
FROM ins_srtdiscipline sd,
ins_tab_discipline td,
mld_stdmelding sm,
mld_stdmeldinggroep smg,
prs_kostensoort k
WHERE sd.ins_srtdiscipline_module = 'MLD'
--AND sd.ins_srtdiscipline_verwijder IS NULL
AND sd.ins_srtdiscipline_key =
td.ins_srtdiscipline_key
--AND td.ins_discipline_verwijder IS NULL
AND td.ins_discipline_key =
sm.mld_ins_discipline_key
--AND sm.mld_stdmelding_verwijder IS NULL
AND sm.mld_stdmeldinggroep_key = smg.mld_stdmeldinggroep_key(+)
AND sm.prs_kostensoort_key =
k.prs_kostensoort_key(+)) x
LEFT JOIN
( SELECT mld_stdmelding_key, COUNT ( * ) m_totaal
FROM mld_melding
GROUP BY mld_stdmelding_key) y
ON x.mld_stdmelding_key = y.mld_stdmelding_key
LEFT JOIN
( SELECT mld_stdmelding_key, COUNT ( * ) m_lopend
FROM mld_melding
WHERE mld_melding_status NOT IN (1, 5, 6)
GROUP BY mld_stdmelding_key) z
ON x.mld_stdmelding_key = z.mld_stdmelding_key
LEFT JOIN
prs_dienst d
ON x.prs_dienst_key = d.prs_dienst_key;
/* Formatted on 5-5-2011 14:02:24 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_maand_actual
(
maand,
sla,
fclt_f_prefix,
opdr,
fclt_f_kdrager,
fclt_f_kdrager_oms,
corr_kdrager,
fclt_f_maatschap,
fclt_f_ksoort,
fclt_f_ksoort_oms,
org_ksoort,
fclt_f_gebouw_terrein,
verdieping,
ruimte,
fclt_f_vakgroep,
fclt_f_melding,
omschrijving,
opmerking,
aanmaak,
gepland,
gereed,
fclt_f_uitvoerende,
contactpersoon,
kosten,
fclt_3d_afdeling_key
)
AS
SELECT TO_CHAR (SYSDATE, 'yyyy-mm'),
COALESCE (c2.sla, a.sla),
COALESCE (c2.prefix, a.prefix),
a.opdracht,
a.kdrager,
a.kdrager_oms,
c1.corr_kdrager,
COALESCE (d.geb_maatschap, e.ter_maatschap),
COALESCE (c2.corr_ksoort, a.ksoort),
COALESCE (c2.corr_ksoort_oms, a.ksoort_oms),
DECODE (c2.corr_ksoort,
NULL, NULL,
a.ksoort || '-' || a.ksoort_oms),
DECODE (f.kdeel,
63, a.gebouw_terrein || ' (H)', -- Toevoeging (H)
37, a.gebouw_terrein || ' (I)', -- Toevoeging (I)
a.gebouw_terrein),
a.verdieping,
a.ruimte,
COALESCE (c2.vakgroep, a.vakgroep),
COALESCE (c2.melding, a.melding),
a.oms,
a.opm,
a.datum_aanmaak,
a.datum_gepland,
a.datum_gereed,
a.bedrijf,
a.cp,
DECODE (f.kdeel,
NULL, a.kosten,
ROUND ( (f.kdeel * a.kosten) / 100, 2)),
b.afdeling
FROM (SELECT o.mld_opdr_key,
COALESCE (og.alg_gebouw_key,
og.alg_terreinsector_key)
gebter_key,
TO_CHAR (m.mld_melding_uitvoertijd)
sla,
sd.ins_srtdiscipline_prefix prefix,
o.mld_melding_key
|| '/'
|| o.mld_opdr_bedrijfopdr_volgnr
opdracht,
kp.prs_kostenplaats_nr kdrager,
kp.prs_kostenplaats_omschrijving
kdrager_oms,
COALESCE (ksm.prs_kostensoort_oms,
ksv.prs_kostensoort_oms)
ksoort,
DECODE (
ksm.prs_kostensoort_oms,
NULL,
ksv.prs_kostensoort_opmerking,
ksm.prs_kostensoort_opmerking
)
ksoort_oms,
COALESCE (og.alg_terreinsector_code,
og.alg_gebouw_code)
gebouw_terrein,
og.alg_verdieping_code verdieping,
og.alg_ruimte_nr ruimte,
td.ins_discipline_omschrijving
vakgroep,
sm.mld_stdmelding_omschrijving
melding,
o.mld_opdr_omschrijving oms,
o.mld_opdr_opmerking opm,
TO_CHAR (o.mld_opdr_datumbegin,
'dd-mm-yyyy')
datum_aanmaak, -- Of verzonden?
TO_CHAR (
fac.datumtijdplusuitvoertijd (
o.mld_opdr_datumbegin,
m.mld_melding_uitvoertijd,
'DAGEN'
),
'dd-mm-yyyy'
)
datum_gepland,
TO_CHAR (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
'dd-mm-yyyy'
)
datum_gereed,
b.prs_bedrijf_naam bedrijf,
o.mld_opdr_contactpersoon cp,
o.mld_opdr_kosten kosten
FROM mld_opdr o,
prs_bedrijf b,
mld_melding m,
alg_v_allonrgoed_gegevens og,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_kostensoort ksm,
prs_kostensoort ksv,
prs_kostenplaats kp
WHERE o.mld_statusopdr_key = 9
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.mld_melding_key =
m.mld_melding_key
AND m.mld_alg_onroerendgoed_keys =
og.alg_onroerendgoed_keys
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND sm.prs_kostensoort_key =
ksm.prs_kostensoort_key(+)
AND td.prs_kostensoort_key =
ksv.prs_kostensoort_key(+)
AND o.prs_kostenplaats_key =
kp.prs_kostenplaats_key
AND kp.prs_kostenplaats_upper = 'WTC'
AND fac.gettrackingdate (
'ORDAFR',
o.mld_opdr_key
) <
TO_DATE (
TO_CHAR (SYSDATE, 'yyyymm')
|| '01',
'yyyymmdd'
)) a
LEFT JOIN
(SELECT DISTINCT
o.mld_opdr_key,
p.prs_afdeling_key afdeling
FROM mld_opdr o,
prs_bedrijf b,
prs_contactpersoon cp,
prs_perslid p
WHERE b.prs_bedrijf_key =
cp.prs_bedrijf_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND cp.prs_perslid_key =
p.prs_perslid_key) b
ON a.mld_opdr_key = b.mld_opdr_key
LEFT JOIN
(SELECT ko.mld_opdr_key,
ud.fac_usrdata_omschr corr_kdrager
FROM mld_kenmerkopdr ko, fac_usrdata ud
WHERE ko.mld_kenmerk_key = 1 -- Corr. kdrager
AND ud.fac_usrdata_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) c1
ON a.mld_opdr_key = c1.mld_opdr_key
LEFT JOIN
(SELECT ko.mld_opdr_key,
TO_CHAR (sm.mld_stdmelding_uitvoertijd) sla,
COALESCE (ksm.prs_kostensoort_oms,
ksv.prs_kostensoort_oms)
corr_ksoort,
DECODE (ksm.prs_kostensoort_oms,
NULL,
ksv.prs_kostensoort_opmerking,
ksm.prs_kostensoort_opmerking)
corr_ksoort_oms,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_kostensoort ksm,
prs_kostensoort ksv
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.prs_kostensoort_key =
ksm.prs_kostensoort_key(+)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.prs_kostensoort_key =
ksv.prs_kostensoort_key(+)
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) c2
ON a.mld_opdr_key = c2.mld_opdr_key
LEFT JOIN
(SELECT ok.alg_onrgoed_key,
ud.fac_usrdata_omschr geb_maatschap
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1020 -- Maatschap
AND ud.fac_usrdata_key =
fac.safe_to_number (
ok.alg_onrgoedkenmerk_waarde
)) d
ON a.gebter_key = d.alg_onrgoed_key
LEFT JOIN
(SELECT ok.alg_onrgoed_key,
ud.fac_usrdata_omschr ter_maatschap
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1040 -- Maatschap
AND ud.fac_usrdata_key =
fac.safe_to_number (
ok.alg_onrgoedkenmerk_waarde
)) e
ON a.gebter_key = e.alg_onrgoed_key
LEFT JOIN
(SELECT g.alg_gebouw_key, 63 kdeel -- 63% van A-HI (=1572) op TH
FROM alg_gebouw g
WHERE g.alg_gebouw_key = 1572
UNION ALL
SELECT g.alg_gebouw_key, 37 kdeel -- 37% van A-HI (=1572) op TI
FROM alg_gebouw g
WHERE g.alg_gebouw_key = 1572) f
ON a.gebter_key = f.alg_gebouw_key;
/* Formatted on 5-5-2011 14:02:24 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_maand_frozen
(
fclt_f_archief,
sla,
fclt_f_prefix,
opdr,
fclt_f_kdrager,
fclt_f_kdrager_oms,
corr_kdrager,
fclt_f_maatschap,
fclt_f_ksoort,
fclt_f_ksoort_oms,
org_ksoort,
fclt_f_gebouw_terrein,
verdieping,
ruimte,
fclt_f_vakgroep,
fclt_f_melding,
omschrijving,
opmerking,
aanmaak,
gepland,
gereed,
fclt_f_uitvoerende,
contactpersoon,
kosten,
fclt_3d_afdeling_key
)
AS
SELECT a.datum_frozen,
COALESCE (c2.sla, a.sla),
COALESCE (c2.prefix, a.prefix),
a.opdracht,
a.kdrager,
a.kdrager_oms,
c1.corr_kdrager,
COALESCE (d.geb_maatschap, e.ter_maatschap),
COALESCE (c2.corr_ksoort, a.ksoort),
COALESCE (c2.corr_ksoort_oms, a.ksoort_oms),
DECODE (c2.corr_ksoort,
NULL, NULL,
a.ksoort || '-' || a.ksoort_oms),
DECODE (f.kdeel,
63, a.gebouw_terrein || ' (H)', -- Toevoeging (H)
37, a.gebouw_terrein || ' (I)', -- Toevoeging (I)
a.gebouw_terrein),
a.verdieping,
a.ruimte,
COALESCE (c2.vakgroep, a.vakgroep),
COALESCE (c2.melding, a.melding),
a.oms,
a.opm,
a.datum_aanmaak,
a.datum_gepland,
a.datum_gereed,
a.bedrijf,
a.cp,
DECODE (f.kdeel,
NULL, a.kosten,
ROUND ( (f.kdeel * a.kosten) / 100, 2)),
b.afdeling
FROM (SELECT o.mld_opdr_key,
COALESCE (og.alg_gebouw_key,
og.alg_terreinsector_key)
gebter_key,
TO_CHAR (
fac.gettrackingdate (
'ORDVER',
o.mld_opdr_key
),
'yyyy-mm-dd'
)
datum_frozen,
TO_CHAR (m.mld_melding_uitvoertijd)
sla,
sd.ins_srtdiscipline_prefix prefix,
o.mld_melding_key
|| '/'
|| o.mld_opdr_bedrijfopdr_volgnr
opdracht,
kp.prs_kostenplaats_nr kdrager,
kp.prs_kostenplaats_omschrijving
kdrager_oms,
COALESCE (ksm.prs_kostensoort_oms,
ksv.prs_kostensoort_oms)
ksoort,
DECODE (
ksm.prs_kostensoort_oms,
NULL,
ksv.prs_kostensoort_opmerking,
ksm.prs_kostensoort_opmerking
)
ksoort_oms,
COALESCE (og.alg_terreinsector_code,
og.alg_gebouw_code)
gebouw_terrein,
og.alg_verdieping_code verdieping,
og.alg_ruimte_nr ruimte,
td.ins_discipline_omschrijving
vakgroep,
sm.mld_stdmelding_omschrijving
melding,
o.mld_opdr_omschrijving oms,
o.mld_opdr_opmerking opm,
TO_CHAR (o.mld_opdr_datumbegin,
'dd-mm-yyyy')
datum_aanmaak, -- Of verzonden?
TO_CHAR (
fac.datumtijdplusuitvoertijd (
o.mld_opdr_datumbegin,
m.mld_melding_uitvoertijd,
'DAGEN'
),
'dd-mm-yyyy'
)
datum_gepland,
TO_CHAR (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
'dd-mm-yyyy'
)
datum_gereed,
b.prs_bedrijf_naam bedrijf,
o.mld_opdr_contactpersoon cp,
o.mld_opdr_kosten kosten
FROM mld_opdr o,
prs_bedrijf b,
mld_melding m,
alg_v_allonrgoed_gegevens og,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_kostensoort ksm,
prs_kostensoort ksv,
prs_kostenplaats kp
WHERE o.mld_statusopdr_key = 7
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.mld_melding_key =
m.mld_melding_key
AND m.mld_alg_onroerendgoed_keys =
og.alg_onroerendgoed_keys
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND sm.prs_kostensoort_key =
ksm.prs_kostensoort_key(+)
AND td.prs_kostensoort_key =
ksv.prs_kostensoort_key(+)
AND o.prs_kostenplaats_key =
kp.prs_kostenplaats_key
AND kp.prs_kostenplaats_upper = 'WTC')
a
LEFT JOIN
(SELECT DISTINCT
o.mld_opdr_key,
p.prs_afdeling_key afdeling
FROM mld_opdr o,
prs_bedrijf b,
prs_contactpersoon cp,
prs_perslid p
WHERE b.prs_bedrijf_key =
cp.prs_bedrijf_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND cp.prs_perslid_key =
p.prs_perslid_key) b
ON a.mld_opdr_key = b.mld_opdr_key
LEFT JOIN
(SELECT ko.mld_opdr_key,
ud.fac_usrdata_omschr corr_kdrager
FROM mld_kenmerkopdr ko, fac_usrdata ud
WHERE ko.mld_kenmerk_key = 1 -- Corr. kdrager
AND ud.fac_usrdata_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) c1
ON a.mld_opdr_key = c1.mld_opdr_key
LEFT JOIN
(SELECT ko.mld_opdr_key,
TO_CHAR (sm.mld_stdmelding_uitvoertijd) sla,
COALESCE (ksm.prs_kostensoort_oms,
ksv.prs_kostensoort_oms)
corr_ksoort,
DECODE (ksm.prs_kostensoort_oms,
NULL,
ksv.prs_kostensoort_opmerking,
ksm.prs_kostensoort_opmerking)
corr_ksoort_oms,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_kostensoort ksm,
prs_kostensoort ksv
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.prs_kostensoort_key =
ksm.prs_kostensoort_key(+)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.prs_kostensoort_key =
ksv.prs_kostensoort_key(+)
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) c2
ON a.mld_opdr_key = c2.mld_opdr_key
LEFT JOIN
(SELECT ok.alg_onrgoed_key,
ud.fac_usrdata_omschr geb_maatschap
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1020 -- Maatschap
AND ud.fac_usrdata_key =
fac.safe_to_number (
ok.alg_onrgoedkenmerk_waarde
)) d
ON a.gebter_key = d.alg_onrgoed_key
LEFT JOIN
(SELECT ok.alg_onrgoed_key,
ud.fac_usrdata_omschr ter_maatschap
FROM alg_v_aanwezigonrgoedkenmerk ok,
fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1040 -- Maatschap
AND ud.fac_usrdata_key =
fac.safe_to_number (
ok.alg_onrgoedkenmerk_waarde
)) e
ON a.gebter_key = e.alg_onrgoed_key
LEFT JOIN
(SELECT g.alg_gebouw_key, 63 kdeel -- 63% van A-HI (=1572) op TH
FROM alg_gebouw g
WHERE g.alg_gebouw_key = 1572
UNION ALL
SELECT g.alg_gebouw_key, 37 kdeel -- 37% van A-HI (=1572) op TI
FROM alg_gebouw g
WHERE g.alg_gebouw_key = 1572) f
ON a.gebter_key = f.alg_gebouw_key;
/* Formatted on 20-9-2010 15:25:35 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_freezeopdrachten
(
fclt_f_uitvoerende,
hide_f_bedrijf_key,
-- kdrager,
-- kdrager_oms,
-- maatschap,
aantal,
kosten
)
AS
SELECT x.bedrijf,
x.bedrijf_key,
-- y.kostenplaats,
-- y.kostenplaats_oms,
-- y.maatschap,
TO_CHAR (DECODE (y.aantal, NULL, 0, y.aantal)),
y.kosten
FROM (SELECT b.prs_bedrijf_key bedrijf_key,
b.prs_bedrijf_naam bedrijf
FROM prs_bedrijf b
WHERE prs_bedrijf_uitvoerende = 1) x
LEFT JOIN
( SELECT o.mld_uitvoerende_keys bedrijf_key,
-- kp.prs_kostenplaats_nr kostenplaats,
-- kp.prs_kostenplaats_omschrijving kostenplaats_oms,
-- fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde)
-- maatschap,
COUNT ( * ) aantal,
SUM (o.mld_opdr_kosten) kosten
FROM mld_opdr o, prs_kostenplaats kp
-- mld_melding m,
-- alg_v_allonrgoed_gegevens og,
-- alg_onrgoedkenmerk ok
WHERE o.mld_statusopdr_key = 9
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
-- AND o.mld_melding_key = m.mld_melding_key
-- AND m.mld_alg_onroerendgoed_keys =
-- og.alg_onroerendgoed_keys
-- AND og.alg_gebouw_key = ok.alg_onrgoed_key(+)
AND kp.prs_kostenplaats_upper = 'WTC'
AND fac.gettrackingdate ('ORDAFR', o.mld_opdr_key) <
TO_DATE (TO_CHAR (SYSDATE, 'yyyymm') || '01',
'yyyymmdd')
GROUP BY o.mld_uitvoerende_keys) y
-- kp.prs_kostenplaats_nr,
-- kp.prs_kostenplaats_omschrijving,
-- fac.safe_to_number (
-- ok.alg_onrgoedkenmerk_waarde
-- )) y
ON x.bedrijf_key = y.bedrijf_key
WHERE y.aantal IS NOT NULL;
/* Formatted on 5-10-2011 11:02:04 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_lev_perf
(
fclt_f_maand,
fclt_f_bedrijf,
aant_opdr,
acceptatie_op_tijd,
acceptatie_perc,
uitvoering_op_tijd,
uitvoering_perc,
binnen_norm
)
AS
SELECT x.maand,
x.bedrijf,
x.aant_opdrachten,
x.acceptatie_op_tijd,
REPLACE (
TO_CHAR (x.acceptatie_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
acceptatie_perc,
x.uitvoering_op_tijd,
REPLACE (
TO_CHAR (x.uitvoering_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
uitvoering_perc,
DECODE (
x.aant_opdrachten,
0,
'Ja',
DECODE (
SIGN (
(x.uitvoering_op_tijd * 100 / x.aant_opdrachten) - 80
),
1,
'Ja',
'Nee'
)
)
norm
FROM ( SELECT opdr.maand,
DECODE (mc.prs_kenmerklink_waarde,
'81', 'Fac. maincontractor',
opdr.bedrijf)
bedrijf,
COUNT (opdr_key) aant_opdrachten,
SUM (acceptoptijd) acceptatie_op_tijd,
SUM(DECODE (
SIGN(opdr.afmelddagen
- COALESCE (CORR.sla, opdr.sla)),
1,
0,
1
))
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
o.mld_uitvoerende_keys bedrijf_key,
DECODE (
o.mld_statusopdr_key,
6,
TO_CHAR (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
'yyyy-mm'
),
7,
TO_CHAR (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
'yyyy-mm'
),
9,
TO_CHAR (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
'yyyy-mm'
),
'Lopend'
)
maand,
b.prs_bedrijf_naam bedrijf,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding,
m.mld_melding_uitvoertijd sla,
DECODE (
m.mld_melding_spoed,
3,
DECODE (
SIGN(FLOOR( (COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
- fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
))
* 24)
- 4), -- Harde afspraak 4 uur
1,
0,
1
),
DECODE (
SIGN(FAC.count_work_days_incltime (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
)
- 1), -- Harde afspraak 24 uur
1,
0,
1
)
)
acceptoptijd,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
afmelddagen
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_bedrijf b
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.mld_statusopdr_key <> 1
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding,
COALESCE (
sm.mld_stdmelding_uitvoertijd,
0
)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) CORR
ON opdr.opdr_key = CORR.mld_opdr_key
LEFT JOIN
(SELECT kl.prs_link_key, kl.prs_kenmerklink_waarde -- Ja of Nee
FROM prs_kenmerklink kl
WHERE kl.prs_kenmerk_key = 1060 -- Facilitaire maincontractor
AND kl.prs_kenmerklink_niveau = 'B') mc
ON opdr.bedrijf_key = mc.prs_link_key
GROUP BY maand,
DECODE (mc.prs_kenmerklink_waarde,
'81', 'Fac. maincontractor',
opdr.bedrijf)) x;
/* Formatted on 19-9-2011 14:30:36 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW wtca_v_rap_lev_perf_details
(
fclt_f_maand,
fclt_f_bedrijf,
fclt_f_sla,
aant_opdr,
acceptatie_op_tijd,
acceptatie_perc,
uitvoering_op_tijd,
uitvoering_perc,
binnen_norm
)
AS
SELECT x.maand,
x.bedrijf,
DECODE (x.sla, NULL, 'Onbekend', TO_CHAR (x.sla) || ' dag(en)')
sla,
x.aant_opdrachten,
x.acceptatie_op_tijd,
REPLACE (
TO_CHAR (x.acceptatie_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
acceptatie_perc,
x.uitvoering_op_tijd,
REPLACE (
TO_CHAR (x.uitvoering_op_tijd * 100 / x.aant_opdrachten,
'990D99'),
'.',
','
)
uitvoering_perc,
DECODE (
x.aant_opdrachten,
0,
'Ja',
DECODE (
SIGN (
(x.uitvoering_op_tijd * 100 / x.aant_opdrachten) - 80
),
1,
'Ja',
'Nee'
)
)
norm
FROM ( SELECT maand,
bedrijf,
COALESCE (CORR.sla, opdr.sla) sla,
COUNT (opdr_key) aant_opdrachten,
SUM (acceptoptijd) acceptatie_op_tijd,
SUM(DECODE (
SIGN(opdr.afmelddagen
- COALESCE (CORR.sla, opdr.sla)),
1,
0,
1
))
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
DECODE (
o.mld_statusopdr_key,
6,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
7,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
9,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
'Lopend'
)
maand,
b.prs_bedrijf_naam bedrijf,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding,
m.mld_melding_uitvoertijd sla,
DECODE (
m.mld_melding_spoed,
3,
DECODE (
SIGN(FLOOR( (COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
- fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
))
* 24)
- 4), -- Harde afspraak 4 uur
1,
0,
1
),
DECODE (
SIGN(FAC.count_work_days_incltime (
fac.gettrackingdate (
'ORDNEW',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDACP',
o.mld_opdr_key
),
SYSDATE
)
)
- 1), -- Harde afspraak 24 uur
1,
0,
1
)
)
acceptoptijd,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
SYSDATE
)
)
afmelddagen
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_bedrijf b
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.mld_statusopdr_key <> 1
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) CORR
ON opdr.opdr_key = CORR.mld_opdr_key
GROUP BY maand, bedrijf, COALESCE (CORR.sla, opdr.sla)) x
UNION ALL
SELECT x.maand,
x.bedrijf,
x.sla,
x.aant_opdrachten,
TO_NUMBER (NULL),
'-' acceptatie_perc,
TO_NUMBER (NULL),
'-' uitvoering_perc,
'?' norm
FROM ( SELECT maand,
bedrijf,
'KRITIEK' sla,
COUNT (opdr_key) aant_opdrachten
FROM (SELECT o.mld_opdr_key opdr_key,
DECODE (
o.mld_statusopdr_key,
6,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
7,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
9,
TO_CHAR (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
'yyyy-mm'
),
'Lopend'
)
maand,
b.prs_bedrijf_naam bedrijf,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_bedrijf b
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key =
sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys =
b.prs_bedrijf_key
AND o.mld_statusopdr_key <> 1
AND m.mld_melding_spoed IN (1, 2)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
sd.ins_srtdiscipline_prefix prefix,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)
AND sm.mld_ins_discipline_key =
td.ins_discipline_key
AND td.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key) CORR
ON opdr.opdr_key = CORR.mld_opdr_key
GROUP BY maand, bedrijf) x;
-- WTCA#21826: Dashboards tbv. percentage van openstaande opdrachten dat nog op
-- tijd is.
/* Formatted on 9-2-2012 17:45:32 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_HUURDER
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (meld_key) totaal
FROM (SELECT meld.meld_key,
DECODE (SIGN (meld.afmelddagen - meld.sla), 1, 0, 1)
uitvoering_op_tijd
FROM (SELECT m.mld_melding_key meld_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('MLDNEW',
m.mld_melding_key),
COALESCE (
fac.gettrackingdate ('MLDREJ',
m.mld_melding_key),
COALESCE (
fac.gettrackingdate (
'MLDAFM',
m.mld_melding_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_melding m
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0)) meld);
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_UITV
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o,
mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key) x;
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_COFELY
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys = 1363 -- Cofely
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key) x;
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_DS
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys = 382 -- Derksen Singerling
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key) x;
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_MITSUBISHI
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys = 422 -- Mitsubishi
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key) x;
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_MANNTECH
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys = 1403 -- Manntech
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key) x;
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_SCHELDEBOUW
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys = 1771 -- Scheldebouw
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key) x;
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_BEHEERMIJ
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys = 5 -- Beheermij
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key) x;
-- WTCA#24447
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_ECOSMART
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys = 383 -- EcoSmart
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key) x;
-- WTCA#24447
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_EW
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys = 387 -- EW
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key) x;
-- WTCA#24447
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_FORTRON
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_uitvoerende_keys = 384 -- Fortron
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd,
0)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key) x;
-- WTCA#24447 - Deprecated per WTCA18, maar waarom verwijderen? Wie weet gaat
-- WTC in de toekomst wel weer met een Facilitaire maincontractor
-- werken...
/* Formatted on 9-2-2012 9:58:30 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_FMC
(
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT SUM (uitvoering_op_tijd) aantal, COUNT (opdr_key) totaal
FROM (SELECT opdr.opdr_key,
DECODE (
SIGN (
opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)
),
1,
0,
1
)
uitvoering_op_tijd
FROM (SELECT o.mld_opdr_key opdr_key,
o.mld_uitvoerende_keys bedrijf_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate (
'ORDCAN',
o.mld_opdr_key
),
COALESCE (
fac.gettrackingdate (
'ORDAFM',
o.mld_opdr_key
),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_statusopdr_key IN
(2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (
sm.mld_stdmelding_uitvoertijd,
0
)
sla
FROM mld_v_aanwezigkenmerkopdr ko,
mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (
ko.mld_kenmerkopdr_waarde
)) CORR
ON opdr.opdr_key = CORR.mld_opdr_key
LEFT JOIN
(SELECT kl.prs_link_key, kl.prs_kenmerklink_waarde -- Ja of Nee
FROM prs_kenmerklink kl
WHERE kl.prs_kenmerk_key = 1060 -- Facilitaire maincontractor
AND kl.prs_kenmerklink_niveau = 'B') mc
ON opdr.bedrijf_key = mc.prs_link_key
WHERE mc.prs_kenmerklink_waarde = '81') -- Ja
x;
/* Formatted on 26-3-2012 12:58:58 (QP5 v5.115.810.9015) */
CREATE OR REPLACE VIEW WTCA_V_GRAPH_PPI_MY_OPDR
(
FCLT_3D_AFDELING_KEY,
FCLT_XAS_,
FCLT_YAS_
)
AS
SELECT uitv.prs_afdeling_key,
SUM(DECODE (
SIGN (opdr.afmelddagen - COALESCE (CORR.sla, opdr.sla)),
NULL,
0,
1,
0,
1
))
aantal,
COUNT (opdr.mld_opdr_key) totaal
FROM (SELECT DISTINCT b.prs_bedrijf_key, p.prs_afdeling_key
FROM prs_v_aanwezigbedrijf b,
prs_contactpersoon cp,
prs_v_aanwezigperslid p
WHERE b.prs_bedrijf_uitvoerende = 1
AND b.prs_bedrijf_key = cp.prs_bedrijf_key
AND cp.prs_perslid_key = p.prs_perslid_key) uitv
LEFT JOIN
(SELECT o.mld_uitvoerende_keys,
o.mld_opdr_key,
m.mld_melding_uitvoertijd sla,
FAC.count_work_days_incltime (
fac.gettrackingdate ('ORDNEW', o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDCAN',
o.mld_opdr_key),
COALESCE (
fac.gettrackingdate ('ORDAFM',
o.mld_opdr_key),
SYSDATE
)
)
)
afmelddagen
FROM mld_opdr o, mld_melding m
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_statusopdr_key IN (2, 3, 4, 5, 8, 10)
AND m.mld_melding_spoed IN (3, 4)) opdr
ON uitv.prs_bedrijf_key = opdr.mld_uitvoerende_keys
LEFT JOIN
(SELECT ko.mld_opdr_key,
COALESCE (sm.mld_stdmelding_uitvoertijd, 0) sla
FROM mld_v_aanwezigkenmerkopdr ko, mld_stdmelding sm
WHERE ko.mld_kenmerk_key = 41 -- Corr. melding
AND sm.mld_stdmelding_key =
fac.safe_to_number (ko.mld_kenmerkopdr_waarde))
CORR
ON opdr.mld_opdr_key = CORR.mld_opdr_key
GROUP BY uitv.prs_afdeling_key;
BEGIN adm.systrackscript('$Workfile: wtca.sql $', '$Revision$', 0); END;
/
BEGIN fac.registercustversion('WTCA', 18); END;
/
COMMIT;
spool off