Files
Customer/QUAW/QUAW.SQL
Suzan Wiegerinck 5885a590d9 QUAW#55035 Links genereren naar kennisbankitems
VIEW QUAW_V_BUDGETCODES

svn path=/Customer/trunk/; revision=51303
2021-05-06 15:44:28 +00:00

1741 lines
66 KiB
Plaintext

--
-- $Id$
--
-- Script containing customer specific sql statements for the FACILITOR database
DEFINE thisfile = 'QUAW.SQL'
DEFINE dbuser = '^QUAW'
DEFINE custid = 'QUAW'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile ('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
CREATE OR REPLACE PROCEDURE quaw_import_prs (p_import_key IN NUMBER)
AS
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (400);
v_errorhint VARCHAR2 (400);
v_aantal_in_FCLT NUMBER;
BEGIN
UPDATE FAC_IMP_FILE
SET fac_imp_file_line = REPLACE (fac_imp_file_line, ',', ';')
WHERE fac_import_key = p_import_key;
v_errorhint := 'Generieke update';
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
prs.import_perslid (
p_import_key,
'4;5;0;0;0;0;6;2;0;1;'
|| '0;0;0;0;0;8;9;10;0;0;'
|| '7;12;0;0;0;0;11;0;0;0;'
|| '0;0;0;0;0;0;0;0;0;0;'
|| '0;0;0;0;0;0',
'"First Name";"Last Name";"DisplayName";"Locatie";"Gebouwcode";"Afdelingscode";"Aanhef";"Telefoonnummer";"Mobiel";"Email";"ipPhone";"loginnaam"%');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END quaw_import_prs;
/
CREATE OR REPLACE PROCEDURE quaw_update_doorkiesnr (p_import_key IN NUMBER)
IS
CURSOR c_doorkiesnr
IS
SELECT '1000', P.PRS_PERSLID_KEY, I.PRS_KENMERK1
FROM prs_perslid p, fac_imp_perslid i
WHERE UPPER (P.PRS_PERSLID_OSLOGIN) = UPPER (I.PRS_PERSLID_OSLOGIN);
BEGIN
FOR rec IN c_doorkiesnr
LOOP
BEGIN
prs.upsertkenmerk (1000, rec.PRS_PERSLID_KEY, rec.PRS_KENMERK1);
END;
END LOOP;
END quaw_update_doorkiesnr;
/
CREATE OR REPLACE PROCEDURE quaw_update_prs (p_import_key IN NUMBER)
IS
-- Alle personen verwijderen die niet meer in import bestand voorkomen.
-- Key bij QUAW is SAMAccountName, hieronder de query om alle personen te verwijderen die:
-- a) niet meer in het importbestand staan, wel in Facilitor, en
-- b) waarvan de persoon in Facilitor niet begint met een _ in de loginnaam (ook van af blijven)
CURSOR c_del
IS
SELECT DISTINCT
p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
FROM fac_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames_all pf
WHERE p.prs_perslid_verwijder IS NULL
AND SUBSTR (p.prs_perslid_oslogin, 1, 1) <> '_'
AND pf.prs_perslid_key = p.prs_perslid_key
AND UPPER (p.prs_perslid_oslogin) NOT IN
(SELECT UPPER (I.PRS_PERSLID_OSLOGIN)
FROM fac_imp_perslid i)
ORDER BY 2;
v_count NUMBER;
BEGIN
-- generic update
SELECT COUNT ( * ) INTO v_count FROM fac_imp_perslid;
-- 'LOGIN' betekent dat op basis van Login wordt gematched.
-- 'NR' betekent dat op basis van Personeelsnummer wordt gematched.
-- 'A' betekent altijd alle (andere/overige) werkplekken verwijderen
prs.update_perslid (p_import_key, NULL , NULL);
quaw_update_doorkiesnr (p_import_key);
-- Verwijder personen die niet meer in de import voorkomen.
FOR rec IN c_del
LOOP
BEGIN
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
END;
END LOOP;
END quaw_update_prs;
/
-- QUAW#38329 QR code rapport
CREATE OR REPLACE VIEW QUAW_V_INS_QRC
(
hide_f_sort,
fclt_3d_discipline_key,
fclt_3d_locatie_key,
fclt_f_locatie,
fclt_f_gebouw,
plaats,
fclt_f_objectsoort,
fclt_f_identificatie,
ins_deel_key,
soortruimte,
ins_srtdeel_code,
ins_srtdeel_key,
ins_alg_ruimte_type,
alg_gebouw_code,
alg_verdieping_code,
alg_district_key,
ins_alg_ruimte_key,
hide_f_bookmark_id
)
AS
SELECT i.ins_deel_omschrijving hide_f_sort,
i.ins_discipline_key fclt_3d_discipline_key,
l.alg_locatie_key fclt_3d_locatie_key,
l.alg_locatie_omschrijving fclt_f_locatie,
o.alg_gebouw_omschrijving fclt_f_gebouw,
o.alg_plaatsaanduiding plaats,
s.ins_srtdeel_omschrijving fclt_f_objectsoort,
i.ins_deel_omschrijving fclt_f_identificatie,
i.ins_deel_key,
(SELECT r.alg_ruimte_omschrijving
FROM alg_ruimte r
WHERE r.alg_ruimte_key = i.ins_alg_ruimte_key)
soortruimte,
s.ins_srtdeel_code,
s.ins_srtdeel_key,
i.ins_alg_ruimte_type,
o.alg_gebouw_code,
o.alg_verdieping_code,
l.alg_district_key,
i.ins_alg_ruimte_key,
b.fac_bookmark_id hide_f_bookmark_id
FROM ins_deel i,
ins_v_alg_overzicht o,
ins_srtdeel s,
alg_locatie l,
alg_district di,
fac_bookmark b
WHERE b.fac_bookmark_naam = 'QRC_OBJECT'
AND ins_deel_verwijder IS NULL
AND COALESCE (i.ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE
AND i.ins_deel_module = 'INS'
AND i.ins_deel_parent_key IS NULL
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
AND o.alg_locatie_key = i.ins_alg_locatie_key
AND i.ins_alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = di.alg_district_key
AND s.ins_srtdeel_key = i.ins_srtdeel_key;
-- QUAW#39822 overzicht bezetting objecten van het soort vervoer (7-18 uur)
CREATE OR REPLACE VIEW QUAW_V_BEZETTING_VERVOER
(
MND,
CATALOGUS,
OBJECT,
AANTAL_RES,
BESCH_UREN,
BEZ_UREN,
PERC
)
AS
SELECT resbes.mnd,
resbes.ins_discipline_omschrijving,
resbes.res_deel_omschrijving,
SUM (resbez.aant) aantal_reserveringen,
ROUND (resbes.uren, 2) bes_uren,
SUM (ROUND (resbez.tot_uren, 2)) bez_uren,
ROUND (
( (SUM (ROUND (resbez.tot_uren, 2))
/ SUM (ROUND (resbes.uren, 2)))
* 100),
2)
AS perc
FROM ( --- aantal uren dat een object beschikbaar is per maand uitgaande van res_t1 (7) en res_t2 (23) en werkdagen
SELECT TO_CHAR (p.mnd, 'yyyy-mm') mnd,
rd.res_discipline_key,
ds.ins_discipline_omschrijving,
rd.res_deel_key,
rd.res_deel_omschrijving,
fac.count_work_days (p.mnd - 1, ADD_MONTHS (p.mnd, 1) - 1)
* 11 -- bij quaw voor auto's : 18-7 = 11
uren
FROM res_deel rd,
ins_deel d,
res_discipline ds,
( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'mm'), LEVEL - 26) mnd
FROM DUAL
CONNECT BY LEVEL <= 25) p
WHERE rd.res_ins_deel_key = d.ins_deel_key
AND COALESCE (d.ins_alg_ruimte_type_org,
d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
AND rd.res_deel_aanmaak < ADD_MONTHS (p.mnd, 1)
AND (rd.res_deel_verwijder IS NULL
OR rd.res_deel_verwijder >= p.mnd)
AND rd.res_discipline_key = ds.ins_discipline_key) resbes,
--- aantal reserveringen en totaal aantal uren dat een object 'bezet' is per maand uitgaande van 7- 18 uur en werkdagen
( SELECT TO_CHAR (rrd.res_rsv_deel_tot, 'yyyy-mm') mnd,
rd.res_discipline_key,
ds.ins_discipline_omschrijving,
rd.res_deel_omschrijving,
rd.res_deel_key,
COUNT ( * ) aant,
SUM(LEAST (
(rrd.res_rsv_deel_tot - TRUNC (rrd.res_rsv_deel_tot))
* 24,
18)
- GREATEST (
(rrd.res_rsv_deel_van
- TRUNC (rrd.res_rsv_deel_van))
* 24,
7))
tot_uren
FROM res_rsv_deel rrd,
res_rsv_ruimte rrr,
res_deel rd,
ins_deel d,
res_discipline ds
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rd.res_discipline_key = ds.ins_discipline_key
AND rrd.res_rsv_deel_dirtlevel = 0
AND TRUNC (rrd.res_rsv_deel_van) =
TRUNC (rrd.res_rsv_deel_tot) -- Eendaags!
AND rrd.res_rsv_deel_tot BETWEEN ADD_MONTHS (
TRUNC (SYSDATE, 'mm'),
-25)
AND TRUNC (SYSDATE, 'mm')
-- AND TO_CHAR (rrd.res_rsv_deel_tot, 'd') BETWEEN '2' AND '6' dit laat reserveringen weg die er wel in horen?!
AND NOT EXISTS
(SELECT 1
FROM mld_vrije_dagen
WHERE TRUNC (mld_vrije_dagen_datum) =
TRUNC (rrd.res_rsv_deel_tot))
--AND TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '17'
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '08'
--AND rrd.bez_bezoekers_key IS NULL -- Geen parkeerplaatsen!
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_ins_deel_key = d.ins_deel_key
-- AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
GROUP BY TO_CHAR (rrd.res_rsv_deel_tot, 'yyyy-mm'),
rd.res_discipline_key,
ds.ins_discipline_omschrijving,
rd.res_deel_omschrijving,
rd.res_deel_key
UNION ALL -- Meerdaagse voorzieningen!
SELECT TO_CHAR (p.dag, 'yyyy-mm') mnd,
rd.res_discipline_key,
ds.ins_discipline_omschrijving,
rd.res_deel_omschrijving,
rd.res_deel_key resource_key,
COUNT ( distinct rrr.res_reservering_key ) aant,
SUM(DECODE (
p.dag,
TRUNC (rrd.res_rsv_deel_van),
18
- GREATEST (
(rrd.res_rsv_deel_van
- TRUNC (rrd.res_rsv_deel_van))
* 24,
7),
TRUNC (rrd.res_rsv_deel_tot),
LEAST (
(rrd.res_rsv_deel_tot
- TRUNC (rrd.res_rsv_deel_tot))
* 24,
18)
- 7,
11)) -- = 18-7
uren
FROM res_rsv_deel rrd,
res_rsv_ruimte rrr,
res_deel rd,
ins_deel d,
res_discipline ds,
( SELECT TRUNC (SYSDATE, 'mm') - LEVEL dag
FROM DUAL
CONNECT BY LEVEL <=
TRUNC (SYSDATE, 'mm')
- ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -25)) p
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rd.res_discipline_key = ds.ins_discipline_key
AND rrd.res_rsv_deel_dirtlevel = 0
AND TRUNC (rrd.res_rsv_deel_van) !=
TRUNC (rrd.res_rsv_deel_tot) -- Meerdaags!
AND rrd.res_rsv_deel_tot BETWEEN ADD_MONTHS (
TRUNC (SYSDATE, 'mm'),
-25)
AND TRUNC (SYSDATE, 'mm')
--AND TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '17'
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '08'
--AND rrd.bez_bezoekers_key IS NULL -- Geen parkeerplaatsen!
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_ins_deel_key = d.ins_deel_key
-- AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
AND p.dag BETWEEN TRUNC (rrd.res_rsv_deel_van)
AND TRUNC (rrd.res_rsv_deel_tot)
AND TO_CHAR (p.dag, 'd') BETWEEN '2' AND '6'
AND NOT EXISTS
(SELECT 1
FROM mld_vrije_dagen
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (p.dag))
GROUP BY TO_CHAR (p.dag, 'yyyy-mm'),
rd.res_discipline_key,
ds.ins_discipline_omschrijving,
rd.res_deel_omschrijving,
rd.res_deel_key) resbez,
res_discipline rd
WHERE resbes.mnd = resbez.mnd(+)
AND resbes.res_discipline_key = resbez.res_discipline_key(+)
AND resbes.res_deel_key = resbez.res_deel_key(+)
AND resbes.res_discipline_key = rd.ins_discipline_key(+)
AND resbes.ins_discipline_omschrijving='Vervoersmiddelen'
AND resbes.uren > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van reserveerbare ruimte = res_ruimte)!
AND COALESCE (resbez.tot_uren, 1) > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van res_rsv_ruimte/deel)!
GROUP BY resbes.mnd,
resbes.ins_discipline_omschrijving,
resbes.res_deel_omschrijving,
resbes.uren
ORDER BY resbes.mnd,
resbes.ins_discipline_omschrijving,
resbes.res_deel_omschrijving;
-- QUAW#39822 overzicht bezetting objecten niet van het soort vervoer (7-23 uur)
CREATE OR REPLACE VIEW QUAW_V_BEZETTING_OBJ
(
MND,
CATALOGUS,
OBJECT,
AANTAL_RES,
BESCH_UREN,
BEZ_UREN,
PERC
)
AS
SELECT resbes.mnd,
resbes.ins_discipline_omschrijving,
resbes.res_deel_omschrijving,
SUM (resbez.aant) aantal_reserveringen,
ROUND (resbes.uren, 2) bes_uren,
SUM (ROUND (resbez.tot_uren, 2)) bez_uren,
ROUND (
( (SUM (ROUND (resbez.tot_uren, 2))
/ SUM (ROUND (resbes.uren, 2)))
* 100),
2)
AS perc
FROM ( --- aantal uren dat een object beschikbaar is per maand uitgaande van res_t1 (7) en res_t2 (23) en werkdagen
SELECT TO_CHAR (p.mnd, 'yyyy-mm') mnd,
rd.res_discipline_key,
ds.ins_discipline_omschrijving,
rd.res_deel_key,
rd.res_deel_omschrijving,
fac.count_work_days (p.mnd - 1, ADD_MONTHS (p.mnd, 1) - 1)
* 16 -- bij quaw: 23-7 = 16
uren
FROM res_deel rd,
ins_deel d,
res_discipline ds,
( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'mm'), LEVEL - 26) mnd
FROM DUAL
CONNECT BY LEVEL <= 25) p
WHERE rd.res_ins_deel_key = d.ins_deel_key
AND COALESCE (d.ins_alg_ruimte_type_org,
d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
AND rd.res_deel_aanmaak < ADD_MONTHS (p.mnd, 1)
AND (rd.res_deel_verwijder IS NULL
OR rd.res_deel_verwijder >= p.mnd)
AND rd.res_discipline_key = ds.ins_discipline_key) resbes,
--- aantal reserveringen en totaal aantal uren dat een object 'bezet' is per maand uitgaande van res_t1 (7) en res_t2 (23) en werkdagen
( SELECT TO_CHAR (rrd.res_rsv_deel_tot, 'yyyy-mm') mnd,
rd.res_discipline_key,
ds.ins_discipline_omschrijving,
rd.res_deel_omschrijving,
rd.res_deel_key,
COUNT ( * ) aant,
SUM(LEAST (
(rrd.res_rsv_deel_tot - TRUNC (rrd.res_rsv_deel_tot))
* 24,
23)
- GREATEST (
(rrd.res_rsv_deel_van
- TRUNC (rrd.res_rsv_deel_van))
* 24,
7))
tot_uren
FROM res_rsv_deel rrd,
res_rsv_ruimte rrr,
res_deel rd,
ins_deel d,
res_discipline ds
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rd.res_discipline_key = ds.ins_discipline_key
AND rrd.res_rsv_deel_dirtlevel = 0
AND TRUNC (rrd.res_rsv_deel_van) =
TRUNC (rrd.res_rsv_deel_tot) -- Eendaags!
AND rrd.res_rsv_deel_tot BETWEEN ADD_MONTHS (
TRUNC (SYSDATE, 'mm'),
-25)
AND TRUNC (SYSDATE, 'mm')
-- AND TO_CHAR (rrd.res_rsv_deel_tot, 'd') BETWEEN '2' AND '6' dit laat reserveringen weg die er wel in horen?!
AND NOT EXISTS
(SELECT 1
FROM mld_vrije_dagen
WHERE TRUNC (mld_vrije_dagen_datum) =
TRUNC (rrd.res_rsv_deel_tot))
--AND TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '17'
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '08'
--AND rrd.bez_bezoekers_key IS NULL -- Geen parkeerplaatsen!
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_ins_deel_key = d.ins_deel_key
-- AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
GROUP BY TO_CHAR (rrd.res_rsv_deel_tot, 'yyyy-mm'),
rd.res_discipline_key,
ds.ins_discipline_omschrijving,
rd.res_deel_omschrijving,
rd.res_deel_key
UNION ALL -- Meerdaagse voorzieningen!
SELECT TO_CHAR (p.dag, 'yyyy-mm') mnd,
rd.res_discipline_key,
ds.ins_discipline_omschrijving,
rd.res_deel_omschrijving,
rd.res_deel_key resource_key,
COUNT (DISTINCT rrr.res_reservering_key) aant,
SUM(DECODE (
p.dag,
TRUNC (rrd.res_rsv_deel_van),
23
- GREATEST (
(rrd.res_rsv_deel_van
- TRUNC (rrd.res_rsv_deel_van))
* 24,
7),
TRUNC (rrd.res_rsv_deel_tot),
LEAST (
(rrd.res_rsv_deel_tot
- TRUNC (rrd.res_rsv_deel_tot))
* 24,
23)
- 7,
16)) -- = 23-7
uren
FROM res_rsv_deel rrd,
res_rsv_ruimte rrr,
res_deel rd,
ins_deel d,
res_discipline ds,
( SELECT TRUNC (SYSDATE, 'mm') - LEVEL dag
FROM DUAL
CONNECT BY LEVEL <=
TRUNC (SYSDATE, 'mm')
- ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -25)) p
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rd.res_discipline_key = ds.ins_discipline_key
AND rrd.res_rsv_deel_dirtlevel = 0
AND TRUNC (rrd.res_rsv_deel_van) !=
TRUNC (rrd.res_rsv_deel_tot) -- Meerdaags!
AND rrd.res_rsv_deel_tot BETWEEN ADD_MONTHS (
TRUNC (SYSDATE, 'mm'),
-25)
AND TRUNC (SYSDATE, 'mm')
--AND TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '17'
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '08'
--AND rrd.bez_bezoekers_key IS NULL -- Geen parkeerplaatsen!
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_ins_deel_key = d.ins_deel_key
-- AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
AND p.dag BETWEEN TRUNC (rrd.res_rsv_deel_van)
AND TRUNC (rrd.res_rsv_deel_tot)
AND TO_CHAR (p.dag, 'd') BETWEEN '2' AND '6'
AND NOT EXISTS
(SELECT 1
FROM mld_vrije_dagen
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (p.dag))
GROUP BY TO_CHAR (p.dag, 'yyyy-mm'),
rd.res_discipline_key,
ds.ins_discipline_omschrijving,
rd.res_deel_omschrijving,
rd.res_deel_key) resbez,
res_discipline rd
WHERE resbes.mnd = resbez.mnd(+)
AND resbes.res_discipline_key = resbez.res_discipline_key(+)
AND resbes.res_deel_key = resbez.res_deel_key(+)
AND resbes.res_discipline_key = rd.ins_discipline_key(+)
AND resbes.ins_discipline_omschrijving <> 'Vervoersmiddelen'
AND resbes.uren > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van reserveerbare ruimte = res_ruimte)!
AND COALESCE (resbez.tot_uren, 1) > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van res_rsv_ruimte/deel)!
GROUP BY resbes.mnd,
resbes.ins_discipline_omschrijving,
resbes.res_deel_omschrijving,
resbes.uren
ORDER BY resbes.mnd,
resbes.ins_discipline_omschrijving,
resbes.res_deel_omschrijving;
CREATE OR REPLACE VIEW QUAW_V_RAP_SLA_DETAIL
(
prioriteit,
meldingnr,
opdracht,
vakgroeptype,
vakgroep,
melding,
onderwerp,
omschrijving,
afhandeling,
startdatum,
einddatum,
doorlooptijd,
status,
melder,
behandelaar,
organisatie,
oordeel,
reden
)
AS
SELECT prioriteittxt,
meldingnummer,
o.mld_opdr_id,
soortmelding vakgroeptype,
productgroep vakgroep,
subproductgroep melding,
COALESCE (km.fac_usrdata_omschr, m.onderwerp) onderwerp,
vomschrijving,
melding_opmerking,
melding_datum,
melding_afgemeld,
doorlooptijd_werkdgn,
melding_status,
melder,
behandelaar,
prs_bedrijf_naam,
rating,
reden.fac_usrdata_omschr reden
FROM mld_v_udr_melding m,
(SELECT mo.mld_melding_key,
mo.mld_opdr_key,
mo.mld_opdr_id,
b.prs_bedrijf_naam
FROM mld_opdr mo, prs_bedrijf b
WHERE mo.mld_uitvoerende_keys = b.prs_bedrijf_key) o,
(SELECT mld_melding_key, fac_usrdata_omschr
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE UD.FAC_USRDATA_key = mld_kenmerkmelding_waarde
AND mld_kenmerk_key IN
(3061,
3062,
3063,
3064,
3065,
3066,
3067,
3081,
3082,
3083,
3084)) km,
(SELECT mld_melding_key, fac_usrdata_omschr
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE ud.fac_usrdata_key = mld_kenmerkmelding_waarde
AND mld_kenmerk_key IN
('1501',
'2726',
'2724',
'2723',
'1411',
'1882',
'1884',
'1562',
'1885',
'1409',
'1506',
'1461',
'2843',
'2845',
'2861',
'2862',
'2864',
'2867',
'2868',
'3041',
'2844',
'2865',
'2863',
'1441',
'1442',
'1443',
'1444',
'1445',
'1446',
'1447',
'1545',
'1448',
'1481',
'2361',
'1483',
'1484',
'1485',
'1486',
'1896',
'1893',
'1502',
'1902',
'1503',
'1541',
'1542',
'1543',
'1901',
'1546',
'1505',
'1547',
'1548',
'1549',
'1504',
'1550',
'2041',
'1886',
'1426',
'1427',
'1428',
'1889',
'1887',
'1583',
'1888',
'1423',
'2001',
'1425',
'2846',
'2914',
'2922',
'2930',
'2946',
'2970',
'2955',
'3042',
'2906',
'2954',
'2971',
'1907',
'1908',
'1909',
'1910',
'1911',
'1913',
'1912',
'1914',
'1915',
'1916',
'1917',
'1918',
'1919',
'1920',
'1962',
'1921',
'1963',
'1964',
'2625',
'2624',
'1965',
'1981',
'1982',
'1984',
'1985',
'1924',
'1925',
'2623',
'1926',
'1521',
'1983')) reden
WHERE m.melding_key = o.mld_melding_key(+)
AND m.melding_key = km.mld_melding_key(+)
AND m.melding_key = reden.mld_melding_key(+);
CREATE OR REPLACE VIEW QUAW_V_RAP_SLA_REDEN_AANVRAAG
AS
SELECT soortmelding vakgroeptype,
productgroep vakgroep,
subproductgroep melding,
reden.fac_usrdata_omschr reden,
COUNT (meldingnummer) aant_mld,
SUM (CASE prioriteit WHEN 1 THEN 1 ELSE 0 END) aant_prio_kritiek,
SUM (CASE prioriteit WHEN 2 THEN 1 ELSE 0 END) aant_prio_hoog,
SUM (CASE prioriteit WHEN 3 THEN 1 ELSE 0 END) aant_prio_normaal,
SUM (CASE prioriteit WHEN 4 THEN 1 ELSE 0 END) aant_prio_laag,
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_kritiek,
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_hoog,
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_normaal,
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_laag,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 1 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_kritiek,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 2 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_hoog,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 3 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_normaal,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 4 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_laag,
NULLIF (
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_kritiek,
NULLIF (
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_hoog,
NULLIF (
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_normaal,
NULLIF (
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_laag
FROM mld_v_udr_melding m,
(SELECT mld_melding_key, fac_usrdata_omschr
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE ud.fac_usrdata_key = mld_kenmerkmelding_waarde
AND mld_kenmerk_key IN
(1501,
2726,
2724,
2723,
1411,
1882,
1884,
1562,
1885,
1409,
1506,
1461,
2843,
2844,
2845,
2861,
2862,
2866,
2864,
2865,
2868,
2867,
2863,
1441,
1442,
1443,
1444,
1445,
1446,
1447,
1545,
1448,
1481,
2361,
1483,
1484,
1485,
1486,
1896,
1892,
1893,
1894,
1895,
1502,
1902,
1503,
1541,
1542,
1543,
1901,
1546,
1505,
1547,
1548,
1549,
1504,
1550)) reden
WHERE m.melding_key = reden.mld_melding_key(+)
AND m.melding_status = 'Afgemeld'
GROUP BY soortmelding,
productgroep,
subproductgroep,
reden.fac_usrdata_omschr
ORDER BY soortmelding,
productgroep,
subproductgroep,
reden.fac_usrdata_omschr;
CREATE OR REPLACE VIEW QUAW_V_RAP_SLA_REDEN_STORING
AS
SELECT soortmelding vakgroeptype,
productgroep vakgroep,
subproductgroep melding,
reden.fac_usrdata_omschr reden,
COUNT (meldingnummer) aant_mld,
SUM (CASE prioriteit WHEN 1 THEN 1 ELSE 0 END) aant_prio_kritiek,
SUM (CASE prioriteit WHEN 2 THEN 1 ELSE 0 END) aant_prio_hoog,
SUM (CASE prioriteit WHEN 3 THEN 1 ELSE 0 END) aant_prio_normaal,
SUM (CASE prioriteit WHEN 4 THEN 1 ELSE 0 END) aant_prio_laag,
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_kritiek,
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_hoog,
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_normaal,
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_laag,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 1 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_kritiek,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 2 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_hoog,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 3 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_normaal,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 4 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_laag,
NULLIF (
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_kritiek,
NULLIF (
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_hoog,
NULLIF (
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_normaal,
NULLIF (
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_laag
FROM mld_v_udr_melding m,
(SELECT mld_melding_key, fac_usrdata_omschr
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE ud.fac_usrdata_key = mld_kenmerkmelding_waarde
AND mld_kenmerk_key IN
(2041,
1886,
1426,
1427,
1428,
1889,
1887,
1583,
1888,
1423,
2001,
1425,
2846,
2906,
2914,
2922,
2930,
2938,
2946,
2954,
2955,
2970,
2971,
1907,
1908,
1909,
1910,
1911,
1913,
1912,
1914,
1915,
1916,
1917,
1918,
1919,
1920,
1962,
1921,
1963,
1964,
2625,
2624,
1965,
1981,
1982,
1984,
1985,
1924,
1925,
2623,
1926,
1521,
1983)) reden
WHERE m.melding_key = reden.mld_melding_key(+)
AND m.melding_status = 'Afgemeld'
GROUP BY soortmelding,
productgroep,
subproductgroep,
reden.fac_usrdata_omschr
ORDER BY soortmelding,
productgroep,
subproductgroep,
reden.fac_usrdata_omschr;
CREATE OR REPLACE VIEW QUAW_V_RAP_SLA_BEHANDELAAR
AS
SELECT soortmelding vakgroeptype,
productgroep vakgroep,
subproductgroep melding,
behandelaar,
COUNT (meldingnummer) aant_mld,
SUM (CASE prioriteit WHEN 1 THEN 1 ELSE 0 END) aant_prio_kritiek,
SUM (CASE prioriteit WHEN 2 THEN 1 ELSE 0 END) aant_prio_hoog,
SUM (CASE prioriteit WHEN 3 THEN 1 ELSE 0 END) aant_prio_normaal,
SUM (CASE prioriteit WHEN 4 THEN 1 ELSE 0 END) aant_prio_laag,
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_kritiek,
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_hoog,
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_normaal,
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_laag,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 1 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_kritiek,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 2 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_hoog,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 3 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_normaal,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 4 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_laag,
NULLIF (
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_kritiek,
NULLIF (
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_hoog,
NULLIF (
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_normaal,
NULLIF (
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_laag
FROM mld_v_udr_melding m
WHERE m.melding_status = 'Afgemeld'
GROUP BY soortmelding,
productgroep,
subproductgroep,
behandelaar
ORDER BY soortmelding,
productgroep,
subproductgroep,
behandelaar;
CREATE OR REPLACE VIEW QUAW_V_RAP_SLA_MELDER
AS
SELECT soortmelding vakgroeptype,
productgroep vakgroep,
subproductgroep melding,
melder,
COUNT (meldingnummer) aant_mld,
SUM (CASE prioriteit WHEN 1 THEN 1 ELSE 0 END) aant_prio_kritiek,
SUM (CASE prioriteit WHEN 2 THEN 1 ELSE 0 END) aant_prio_hoog,
SUM (CASE prioriteit WHEN 3 THEN 1 ELSE 0 END) aant_prio_normaal,
SUM (CASE prioriteit WHEN 4 THEN 1 ELSE 0 END) aant_prio_laag,
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_kritiek,
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_hoog,
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_normaal,
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_laag,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 1 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_kritiek,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 2 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_hoog,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 3 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_normaal,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 4 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_laag,
NULLIF (
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_kritiek,
NULLIF (
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_hoog,
NULLIF (
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_normaal,
NULLIF (
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_laag
FROM mld_v_udr_melding m
WHERE m.melding_status = 'Afgemeld'
GROUP BY soortmelding,
productgroep,
subproductgroep,
melder
ORDER BY soortmelding,
productgroep,
subproductgroep,
melder;
-- QUAW#55035 Links genereren naar kennisbankitems. -daanb
CREATE OR REPLACE VIEW QUAW_V_RAP_FAQ_LINK
(
KENNISBANK_KEY,
KENNISBANK_VRAAG,
KENNISBANK_ANTWOORD,
KENNISBANK_LINK
)
AS
SELECT f.fac_faq_key,
f.fac_faq_question,
f.fac_faq_answer,
'https://'
|| LOWER ((SELECT fac_version_cust FROM fac_version))
|| '.facilitor.nl/appl/fac/fac_faq.asp?faq_key='
|| f.fac_faq_key
|| CHR (38)
|| 'role=bo'
|| CHR (38)
|| 'sso=1'
FROM fac_faq f ORDER BY f.fac_faq_key;
CREATE OR REPLACE VIEW QUAW_V_RAP_SLA_EXT_UITVOERENDE
AS
SELECT soortmelding vakgroeptype,
productgroep vakgroep,
subproductgroep melding,
prs_bedrijf_naam,
SUM (o.aantal) aant_opdr,
COUNT (meldingnummer) aantal_mld,
SUM (CASE prioriteit WHEN 1 THEN 1 ELSE 0 END) aant_prio_kritiek,
SUM (CASE prioriteit WHEN 2 THEN 1 ELSE 0 END) aant_prio_hoog,
SUM (CASE prioriteit WHEN 3 THEN 1 ELSE 0 END) aant_prio_normaal,
SUM (CASE prioriteit WHEN 4 THEN 1 ELSE 0 END) aant_prio_laag,
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_kritiek,
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_hoog,
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_normaal,
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee' THEN 1
ELSE 0
END)
sla_overschr_laag,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 1 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_kritiek,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 2 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_hoog,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 3 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_normaal,
(NULLIF (
(SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END)),
0)
/ (NULLIF ( (SUM (CASE prioriteit WHEN 4 THEN 1 ELSE 0 END)), 0)))
* 100
AS perc_overschr_laag,
NULLIF (
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 1 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_kritiek,
NULLIF (
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 2 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_hoog,
NULLIF (
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 3 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_normaal,
NULLIF (
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
uitvoering_sla_dagen
ELSE
0
END),
0)
/ NULLIF (
SUM(CASE
WHEN prioriteit = 4 AND uitvoering_sla_optijd = 'nee'
THEN
1
ELSE
0
END),
0)
AS gem_overschrtijd_laag
FROM mld_v_udr_melding m,
( SELECT b.prs_bedrijf_naam,
mo.mld_melding_key,
COUNT (mo.mld_opdr_key) AS aantal
FROM mld_opdr mo, prs_bedrijf b
WHERE mo.mld_uitvoerende_keys = b.prs_bedrijf_key
GROUP BY b.prs_bedrijf_naam, mo.mld_melding_key) o
WHERE m.melding_status = 'Afgemeld' AND m.melding_key = o.mld_melding_key
GROUP BY soortmelding,
productgroep,
subproductgroep,
prs_bedrijf_naam
ORDER BY soortmelding,
productgroep,
subproductgroep,
prs_bedrijf_naam;
CREATE OR REPLACE VIEW QUAW_V_BUDGETCODES
(
KEY,
BUDGETCODE
)
AS
SELECT PRS_KOSTENSOORT_KEY,
PRS_KOSTENSOORT_OMS || ' - ' || PRS_KOSTENSOORT_OPMERKING
FROM PRS_KOSTENSOORT;
CREATE OR REPLACE VIEW QUAW_V_FUNCTIES
(
PRS_FUNCTIE_KEY,
PRS_FUNCTIE_OMSCHRIJVING
)
AS
SELECT PRS_SRTPERSLID_KEY, PRS_SRTPERSLID_OMSCHRIJVING
FROM prs_SRTPERSLID
WHERE PRS_SRTPERSLID_VERWIJDER IS NULL;
COMMIT;
BEGIN
DBMS_UTILITY.COMPILE_SCHEMA (USER, FALSE);
END;
/
------ payload end ------
SET DEFINE OFF
BEGIN
adm.systrackscriptId ('$Id$', 0);
END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile