FZKH#87266 -- Implementatie -Overzicht Taken voor FZKH incl. Afdeling
svn path=/Customer/trunk/; revision=70501
This commit is contained in:
653
FZKH/FZKH.sql
653
FZKH/FZKH.sql
@@ -1562,8 +1562,14 @@ BEGIN
|
||||
|| rec_ins.ins_srtdeel_code;
|
||||
v_errorhint := 'Fout bij bepalen discipline';
|
||||
|
||||
v_ins_srtcontrole_info:='Afdeling : '||rec_ins.ins_srtcontrole_opm||CHR(14)||'Standaard taak periode : '||rec_ins.INS_SRTCONTROLE_PERIODE||CHR(13)||'Doorlooptijd :'||rec_ins.ins_srtcontrole_doorlooptijd;
|
||||
v_ins_srtcontrole_opm:='Afdeling : '||rec_ins.ins_srtcontrole_opm||CHR(14)||'Standaard taak periode : '||rec_ins.INS_SRTCONTROLE_PERIODE;
|
||||
IF LENGTH(rec_ins.ins_srtcontrole_opm)>0
|
||||
THEN
|
||||
v_ins_srtcontrole_info:='Afdeling : '||rec_ins.ins_srtcontrole_opm||CHR(10)||'Standaard taak periode : '||rec_ins.INS_SRTCONTROLE_PERIODE||CHR(10)||'Doorlooptijd :'||rec_ins.ins_srtcontrole_doorlooptijd;
|
||||
v_ins_srtcontrole_opm :='Afdeling : '||rec_ins.ins_srtcontrole_opm||CHR(10)||'Standaard taak periode : '||rec_ins.INS_SRTCONTROLE_PERIODE;
|
||||
ELSE
|
||||
v_ins_srtcontrole_info:='Standaard taak periode : '||rec_ins.INS_SRTCONTROLE_PERIODE||CHR(10)||'Doorlooptijd :'||rec_ins.ins_srtcontrole_doorlooptijd;
|
||||
v_ins_srtcontrole_opm:='Standaard taak periode : '||rec_ins.INS_SRTCONTROLE_PERIODE;
|
||||
END IF;
|
||||
|
||||
IF rec_ins.ins_discipline_omschrijving IS NULL
|
||||
THEN
|
||||
@@ -3824,17 +3830,29 @@ BEGIN
|
||||
from ins_srtcontroledl_xcp isx
|
||||
WHERE isx.ins_srtcontrole_key=v_srtcontrole_key
|
||||
AND ins_deel_key=v_ins_deel_key;
|
||||
|
||||
BEGIN
|
||||
-- Wat is de statdaar periode van deze srtcontrole
|
||||
v_aanduiding:='Periode niet gevonden voor object '||v_ins_deel||'-'|| v_srtcontrole_key;
|
||||
SELECT ins_srtcontrole_periode
|
||||
INTO v_ins_srtcontrole_periode
|
||||
FROm ins_srtcontrole
|
||||
WHERE ins_srtcontrole_key=v_srtcontrole_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
'Periode niet gevonden,voor object '||v_ins_deel||'-'|| v_srtcontrole_key||' Default periode naar 1',
|
||||
'Taak toegevoegd');
|
||||
v_ins_srtcontrole_periode:=1;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
IF v_count=0
|
||||
THEN
|
||||
THEN
|
||||
v_aanduiding:='Aanmaken XCP gaat fout voor object '||v_ins_deel||'-'|| v_srtcontrole_key;
|
||||
|
||||
INSERT INTO ins_srtcontroledl_xcp (ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_srtcontroledl_xcp_periode,
|
||||
@@ -3843,6 +3861,7 @@ BEGIN
|
||||
v_srtcontrole_key,
|
||||
fac.safe_to_number(v_ins_srtcontrole_periode),
|
||||
fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY'));
|
||||
|
||||
IF LENGTH(v_log_info) > 0
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
@@ -3923,25 +3942,25 @@ BEGIN
|
||||
END LOOP;
|
||||
|
||||
-- Gaan we nu alle MT taken die vaker bij een objectsoort voor komen een periode=0 geven zodat ze standaard niet bij een object worden getoont.
|
||||
UPDATE ins_srtcontrole
|
||||
SET ins_srtcontrole_periode=0
|
||||
WHERE ins_srtcontrole_key
|
||||
IN (
|
||||
SELECT isc2.ins_srtcontrole_key
|
||||
FROM (
|
||||
SELECT COUNT (*) AANTAL, ins_srtinstallatie_key
|
||||
FROM ins_srtcontrole isc
|
||||
WHERE isc.ctr_discipline_key IN ( 501, 502) -- A= MT Intern=501 MT Extern= 502
|
||||
AND ins_srtcontrole_niveau = 'S'
|
||||
AND isc.ins_srtcontrole_omschrijving LIKE 'Onderhoud - %'
|
||||
GROUP BY ins_srtinstallatie_key) ic,
|
||||
ins_srtcontrole isc2,
|
||||
ins_srtdeel isd
|
||||
WHERE ic.aantal > 1
|
||||
AND isc2.INS_SRTINSTALLATIE_KEY = ic.ins_srtinstallatie_key
|
||||
AND isc2.INS_SRTINSTALLATIE_KEY = isd.ins_srtdeel_key
|
||||
AND isc2.INS_SRTCONTROLE_OMSCHRIJVING LIKE 'Onderhoud - %'
|
||||
AND isc2.CTR_DISCIPLINE_KEY IN (501, 502)); -- A= MT Intern=501 MT Extern= 502
|
||||
-- UPDATE ins_srtcontrole
|
||||
-- SET ins_srtcontrole_periode=0
|
||||
-- WHERE ins_srtcontrole_key
|
||||
-- IN (
|
||||
-- SELECT isc2.ins_srtcontrole_key
|
||||
-- FROM (
|
||||
-- SELECT COUNT (*) AANTAL, ins_srtinstallatie_key
|
||||
-- FROM ins_srtcontrole isc
|
||||
-- WHERE isc.ctr_discipline_key IN ( 501, 502) -- A= MT Intern=501 MT Extern= 502
|
||||
-- AND ins_srtcontrole_niveau = 'S'
|
||||
-- AND isc.ins_srtcontrole_omschrijving LIKE 'Onderhoud - %'
|
||||
-- GROUP BY ins_srtinstallatie_key) ic,
|
||||
-- ins_srtcontrole isc2,
|
||||
-- ins_srtdeel isd
|
||||
-- WHERE ic.aantal > 1
|
||||
-- AND isc2.INS_SRTINSTALLATIE_KEY = ic.ins_srtinstallatie_key
|
||||
-- AND isc2.INS_SRTINSTALLATIE_KEY = isd.ins_srtdeel_key
|
||||
-- AND isc2.INS_SRTCONTROLE_OMSCHRIJVING LIKE 'Onderhoud - %'
|
||||
-- AND isc2.CTR_DISCIPLINE_KEY IN (501, 502)); -- A= MT Intern=501 MT Extern= 502
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
@@ -4079,6 +4098,500 @@ END;
|
||||
/
|
||||
-- RAPORTAGE VIEWS
|
||||
|
||||
CREATE OR REPLACE VIEW FZKH_v_monthly_recurring_tasks
|
||||
AS
|
||||
-- Inspecties die dit jaar en volgend jaar nog uitgevoerd moeten worden.
|
||||
SELECt x.*,
|
||||
(SELECT prs_afdeling_omschrijving
|
||||
FROM ins_v_deel_gegevens
|
||||
WHERE ins_deel_key=x.deel_key) afdeling
|
||||
FROM(
|
||||
SELECT ig.discipline,
|
||||
ig.soort,
|
||||
ig.groep,
|
||||
ig.soortcode,
|
||||
ig.omschrijving object,
|
||||
ig.opmerking,
|
||||
ig.locatie_omschrijving locatie,
|
||||
ig.gebouw,
|
||||
ig.ruimtenr,
|
||||
ig.perslid persoon,
|
||||
ig.aantal,
|
||||
ig.srtcontrole_omschrijving taak,
|
||||
ig.ins_srtcontrole_eenheid eenheid,
|
||||
ig.ins_srtcontrole_periode periode,
|
||||
ig.taaksoort,
|
||||
ig.ins_deelsrtcontrole_datum inspectiedatum,
|
||||
ig.controlemode_omschrijving taakafhandeling,
|
||||
ig.ins_deelsrtcontrole_opmerking inspectie_opmerking,
|
||||
ins_deelsrtcontrole_status inspectie_code,
|
||||
ig.deelsrtcontrole_status inspectie_status,
|
||||
ins_controlemode_success succesvol,
|
||||
TO_CHAR(ig.volgendedatum, 'MM') maand,
|
||||
TO_CHAR(ig.volgendedatum, 'YYYY') jaar,
|
||||
TO_CHAR(ig.volgendedatum, 'YYYY-MM') jaarmaand,
|
||||
ig.ins_deelsrtcontrole_datum_org orgdatum,
|
||||
ig.ins_deelsrtcontrole_plandatum plandatum,
|
||||
ig.volgendedatum,
|
||||
ig.vervaldatum,
|
||||
ig.ins_deel_key deel_key,
|
||||
ig.ins_srtcontrole_key,
|
||||
ig.ins_deelsrtcontrole_key
|
||||
FROM (WITH
|
||||
comps(ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_deelsrtcontrole_datum,
|
||||
ins_srtcontrole_mode,
|
||||
ins_srtcontrole_eenheid,
|
||||
ins_srtcontrole_periode,
|
||||
ins_srtcontrole_bits,
|
||||
volgendedatum,
|
||||
discipline,
|
||||
soort,
|
||||
groep,
|
||||
soortcode,
|
||||
omschrijving,
|
||||
opmerking,
|
||||
locatie_omschrijving,
|
||||
gebouw,
|
||||
ruimtenr,
|
||||
aantal,
|
||||
srtcontrole_omschrijving,
|
||||
taaksoort,
|
||||
ins_deelsrtcontrole_datum_org,
|
||||
controlemode_omschrijving,
|
||||
ins_deelsrtcontrole_opmerking,
|
||||
perslid,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
ins_deelsrtcontrole_status,
|
||||
ins_controlemode_success,
|
||||
deelsrtcontrole_status,
|
||||
vervaldatum,
|
||||
ins_deelsrtcontrole_key)
|
||||
AS
|
||||
(SELECT *
|
||||
FROM (
|
||||
-- 1a) Dit deel bepaald de laatste inspectie (geplande(0), gestarte(2), afgemeld(5) of verwerkt(6)),
|
||||
-- inclusief de allereerste inspectie die nog niet gereed gemeld is.
|
||||
SELECT di.deel_key ins_deel_key,
|
||||
xcp.ins_srtcontrole_key,
|
||||
di.ins_deelsrtcontrole_datum,
|
||||
xcp.ins_srtcontrole_mode,
|
||||
xcp.ins_srtcontrole_eenheid,
|
||||
xcp.ins_srtcontrole_periode,
|
||||
xcp.ins_srtcontrole_bits,
|
||||
COALESCE(di.ins_deelsrtcontrole_plandatum,
|
||||
CASE
|
||||
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
|
||||
AND di.ins_deelsrtcontrole_datum_org IS NULL
|
||||
THEN -- Gestart(2) en de allereerste inspectie (ins_deelsrtcontrole_datum_org is NULL).
|
||||
-- Periodieke taken:
|
||||
-- De startdatum is MAX(startdatum, aanmaakdatum/registratiedatum) en heeft altijd een waarde (ins_deel_aanmaak is altijd gevuld).
|
||||
-- Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
|
||||
-- Er geldt dan het volgende:
|
||||
-- Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
|
||||
-- Voor Vervanging(2) of Certificering(3):
|
||||
-- a) Als de startdatum het verst ligt: Eerste inspectie tonen op de startdatum.
|
||||
-- b) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
|
||||
-- De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest,
|
||||
-- zijn de startdatum en registratiedatum niet meer van belang.
|
||||
CASE
|
||||
-- Er geldt dat (ctr_ismjob = 0), dus de eerste when is toch niet geldig.
|
||||
--WHEN di.ctr_ismjob = 1
|
||||
--THEN
|
||||
-- ins_deelsrtcontrole_freezedate
|
||||
WHEN xcp.ctr_controle_type = 1
|
||||
THEN -- Controle(1).
|
||||
CASE
|
||||
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
|
||||
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
|
||||
THEN
|
||||
xcp.ins_srtcontroledl_xcp_startdat
|
||||
ELSE
|
||||
xcp.ins_deel_aanmaak
|
||||
END
|
||||
ELSE -- Vervanging(2), Certificering(3).
|
||||
CASE
|
||||
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
|
||||
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
|
||||
THEN
|
||||
xcp.ins_srtcontroledl_xcp_startdat
|
||||
ELSE
|
||||
fac.nextcyclusdate(
|
||||
-- er is nog geen inspectie geweest, dus de laatste inspectie is null
|
||||
COALESCE(
|
||||
NULL,
|
||||
GREATEST(
|
||||
COALESCE(xcp.ins_srtcontroledl_xcp_startdat,
|
||||
xcp.ins_deel_aanmaak),
|
||||
COALESCE(xcp.ins_deel_aanmaak,
|
||||
xcp.ins_srtcontroledl_xcp_startdat))),
|
||||
xcp.ins_srtcontrole_mode,
|
||||
xcp.ins_srtcontrole_eenheid,
|
||||
xcp.ins_srtcontrole_periode,
|
||||
xcp.ins_srtcontrole_bits,
|
||||
1, -- steps. De eerste inspectie is nog niet geweest dus 1 periode verder dan startdatum/aanmaakdatum.
|
||||
0) -- Er geldt dat (ctr_ismjob = 0)
|
||||
END
|
||||
END
|
||||
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
|
||||
AND di.ins_deelsrtcontrole_datum_org IS NOT NULL
|
||||
THEN -- Gestart(2) en niet de allereerste inspectie.
|
||||
di.ins_deelsrtcontrole_datum_org
|
||||
ELSE -- Status is Gereed gemeld(5) of Voltooid(6).
|
||||
CASE xcp.ins_srtcontrole_mode
|
||||
WHEN 0
|
||||
THEN -- Moment mode: ga uit van de originele berekende inspectiedatum.
|
||||
di.ins_deelsrtcontrole_datum_org
|
||||
ELSE -- Interval mode: ga uit van de werkelijke inspectiedatum.
|
||||
di.ins_deelsrtcontrole_datum
|
||||
END
|
||||
END) volgendedatum,
|
||||
discipline,
|
||||
soort,
|
||||
groep,
|
||||
soortcode,
|
||||
omschrijving,
|
||||
opmerking,
|
||||
locatie_omschrijving,
|
||||
gebouw,
|
||||
ruimtenr,
|
||||
aantal,
|
||||
srtcontrole_omschrijving,
|
||||
ctr_discipline_omschrijving taaksoort,
|
||||
ins_deelsrtcontrole_datum_org,
|
||||
controlemode_omschrijving,
|
||||
ins_deelsrtcontrole_opmerking,
|
||||
perslid,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
di.ins_deelsrtcontrole_status,
|
||||
COALESCE(
|
||||
(SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key =
|
||||
(SELECT di2.ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole di2
|
||||
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)),
|
||||
-1) ins_controlemode_success,
|
||||
CASE di.ins_deelsrtcontrole_status
|
||||
WHEN 0
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_pending')
|
||||
WHEN 2
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_gestart')
|
||||
WHEN 3
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_ter_uitvoer')
|
||||
WHEN 5
|
||||
THEN
|
||||
CASE
|
||||
WHEN ((SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key =
|
||||
(SELECT di2.ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole di2
|
||||
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
|
||||
1)
|
||||
THEN
|
||||
lcl.L('lcl_ins_controlemode_approved')
|
||||
ELSE
|
||||
lcl.L('lcl_ins_controlemode_deprecated')
|
||||
END
|
||||
WHEN 6
|
||||
THEN
|
||||
CASE
|
||||
WHEN ((SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key =
|
||||
(SELECT ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
|
||||
1)
|
||||
THEN
|
||||
lcl.L('lcl_ins_controlemode_approved')
|
||||
ELSE
|
||||
lcl.L('lcl_ins_controlemode_deprecated')
|
||||
END
|
||||
END deelsrtcontrole_status,
|
||||
xcp.ins_srtcontrole_eind vervaldatum,
|
||||
di.ins_deelsrtcontrole_key
|
||||
FROM ins_v_udr_deelinspect di,
|
||||
ins_v_defined_inspect_xcp xcp,
|
||||
ctr_disc_params dp
|
||||
WHERE di.ins_srtcontrole_key = xcp.ins_srtcontrole_key
|
||||
AND di.deel_key = xcp.ins_deel_key
|
||||
AND xcp.ctr_discipline_key = dp.ctr_ins_discipline_key
|
||||
AND dp.ctr_disc_params_ismjob = 0
|
||||
AND xcp.ins_srtcontrole_eenheid > 2
|
||||
AND xcp.ins_scenario_key = 1
|
||||
AND xcp.ins_srtcontrole_periode > 0
|
||||
AND di.ins_deelsrtcontrole_key = (SELECT MAX(ins_deelsrtcontrole_key)
|
||||
FROM ins_deelsrtcontrole id2
|
||||
WHERE id2.ins_deel_key = di.deel_key
|
||||
AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key
|
||||
AND id2.ins_scenario_key = 1)
|
||||
UNION ALL
|
||||
-- 1b) Dit deel bepaald de allereerste inspectie van een taak die nog niet ingepland of gestart is. Er is dus nog geen ins_deelsrtcontrole record van
|
||||
SELECT d.deel_key ins_deel_key,
|
||||
xcp.ins_srtcontrole_key,
|
||||
NULL,
|
||||
xcp.ins_srtcontrole_mode,
|
||||
xcp.ins_srtcontrole_eenheid,
|
||||
xcp.ins_srtcontrole_periode,
|
||||
xcp.ins_srtcontrole_bits,
|
||||
-- Gestart(2) en de allereerste inspectie (ins_deelsrtcontrole_datum_org is NULL).
|
||||
-- Periodieke taken:
|
||||
-- De startdatum is MAX(startdatum, aanmaakdatum/registratiedatum) en heeft altijd een waarde (ins_deel_aanmaak is altijd gevuld).
|
||||
-- Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
|
||||
-- Er geldt dan het volgende:
|
||||
-- Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
|
||||
-- Voor Vervanging(2) of Certificering(3):
|
||||
-- a) Als de startdatum het verst ligt: Eerste inspectie tonen op de startdatum.
|
||||
-- b) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
|
||||
-- De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest,
|
||||
-- zijn de startdatum en registratiedatum niet meer van belang.
|
||||
CASE
|
||||
-- Er geldt dat (ctr_ismjob = 0), dus de eerste when is toch niet geldig.
|
||||
--WHEN xcp.ctr_ismjob = 1
|
||||
--THEN
|
||||
-- xcp.ins_deelsrtcontrole_freezedate
|
||||
WHEN xcp.ctr_controle_type = 1
|
||||
THEN -- Controle(1).
|
||||
CASE
|
||||
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
|
||||
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
|
||||
THEN
|
||||
xcp.ins_srtcontroledl_xcp_startdat
|
||||
ELSE
|
||||
xcp.ins_deel_aanmaak
|
||||
END
|
||||
ELSE -- Vervanging(2), Certificering(3).
|
||||
CASE
|
||||
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
|
||||
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
|
||||
THEN
|
||||
xcp.ins_srtcontroledl_xcp_startdat
|
||||
ELSE
|
||||
fac.nextcyclusdate(
|
||||
-- er is nog geen inspectie geweest, dus de laatste inspectie is null
|
||||
COALESCE(
|
||||
NULL,
|
||||
GREATEST(
|
||||
COALESCE(xcp.ins_srtcontroledl_xcp_startdat,
|
||||
xcp.ins_deel_aanmaak),
|
||||
COALESCE(xcp.ins_deel_aanmaak,
|
||||
xcp.ins_srtcontroledl_xcp_startdat))),
|
||||
xcp.ins_srtcontrole_mode,
|
||||
xcp.ins_srtcontrole_eenheid,
|
||||
xcp.ins_srtcontrole_periode,
|
||||
xcp.ins_srtcontrole_bits,
|
||||
1, -- steps. De eerste inspectie is nog niet geweest dus 1 periode verder dan startdatum/aanmaakdatum.
|
||||
0) -- Er geldt dat (ctr_ismjob = 0)
|
||||
END
|
||||
END
|
||||
volgendedatum,
|
||||
d.discipline,
|
||||
d.soort,
|
||||
d.groep,
|
||||
d.soortcode,
|
||||
d.omschrijving,
|
||||
d.opmerking,
|
||||
d.locatie_omschrijving,
|
||||
d.gebouw,
|
||||
d.ruimtenr,
|
||||
d.aantal,
|
||||
(SELECT isc.ins_srtcontrole_omschrijving
|
||||
FROM ins_srtcontrole isc
|
||||
WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key) srtcontrole_omschrijving,
|
||||
(SELECT cd.ins_discipline_omschrijving
|
||||
FROM ctr_discipline cd,
|
||||
ins_srtcontrole isc
|
||||
WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key
|
||||
AND isc.ctr_discipline_key = cd.ins_discipline_key) taaksoort,
|
||||
ins_deelsrtcontrole_datum_org,
|
||||
NULL controlemode_omschrijving,
|
||||
ins_deelsrtcontrole_opmerking,
|
||||
NULL perslid,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
-1 ins_deelsrtcontrole_status,
|
||||
-1 ins_controlemode_success,
|
||||
lcl.L('lcl_ins_controlemode_notplaned') deelsrtcontrole_status,
|
||||
xcp.ins_srtcontrole_eind vervaldatum,
|
||||
NULL ins_deelsrtcontrole_key
|
||||
FROM ins_v_udr_deel d,
|
||||
ins_deelsrtcontrole idsc,
|
||||
ins_v_defined_inspect_xcp xcp,
|
||||
ctr_disc_params dp
|
||||
WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)
|
||||
AND xcp.ins_deel_key = idsc.ins_deel_key(+)
|
||||
AND xcp.ins_scenario_key = idsc.ins_scenario_key(+)
|
||||
AND xcp.ins_deel_key = d.deel_key
|
||||
AND xcp.ctr_discipline_key = dp.ctr_ins_discipline_key
|
||||
AND dp.ctr_disc_params_ismjob = 0
|
||||
AND xcp.ins_srtcontrole_eenheid > 2
|
||||
AND xcp.ins_scenario_key = 1
|
||||
AND idsc.ins_deel_key IS NULL
|
||||
AND idsc.ins_srtcontrole_key IS NULL
|
||||
AND xcp.ins_srtcontrole_periode > 0
|
||||
AND (idsc.ins_deelsrtcontrole_key IS NULL
|
||||
OR idsc.ins_deelsrtcontrole_key =
|
||||
(SELECT MAX(ins_deelsrtcontrole_key)
|
||||
FROM ins_deelsrtcontrole id2
|
||||
WHERE id2.ins_deel_key = d.deel_key
|
||||
AND id2.ins_srtcontrole_key = xcp.ins_srtcontrole_key
|
||||
AND id2.ins_scenario_key = 1)))
|
||||
UNION ALL
|
||||
-- 1c) Dit deel bepaalt/berekent de toekomstige inspecties van dit jaar en volgend jaar.
|
||||
SELECT m.ins_deel_key,
|
||||
m.ins_srtcontrole_key,
|
||||
NULL ins_deelsrtcontrole_datum,
|
||||
m.ins_srtcontrole_mode,
|
||||
m.ins_srtcontrole_eenheid,
|
||||
m.ins_srtcontrole_periode,
|
||||
m.ins_srtcontrole_bits,
|
||||
fac.nextcyclusdate(m.volgendedatum,
|
||||
m.ins_srtcontrole_mode,
|
||||
m.ins_srtcontrole_eenheid,
|
||||
m.ins_srtcontrole_periode,
|
||||
m.ins_srtcontrole_bits,
|
||||
1,
|
||||
0),
|
||||
m.discipline,
|
||||
m.soort,
|
||||
m.groep,
|
||||
m.soortcode,
|
||||
m.omschrijving,
|
||||
m.opmerking,
|
||||
m.locatie_omschrijving,
|
||||
m.gebouw,
|
||||
m.ruimtenr,
|
||||
m.aantal,
|
||||
m.srtcontrole_omschrijving,
|
||||
m.taaksoort,
|
||||
NULL ins_deelsrtcontrole_datum_org,
|
||||
NULL controlemode_omschrijving,
|
||||
NULL ins_deelsrtcontrole_opmerking,
|
||||
NULL perslid,
|
||||
NULL ins_deelsrtcontrole_plandatum,
|
||||
-1 ins_deelsrtcontrole_status,
|
||||
-1 ins_controlemode_success,
|
||||
lcl.L('lcl_ins_controlemode_notplaned') deelsrtcontrole_status,
|
||||
m.vervaldatum,
|
||||
NULL ins_deelsrtcontrole_key
|
||||
FROM comps m
|
||||
WHERE TRUNC(fac.nextcyclusdate(m.volgendedatum,
|
||||
m.ins_srtcontrole_mode,
|
||||
m.ins_srtcontrole_eenheid,
|
||||
m.ins_srtcontrole_periode,
|
||||
m.ins_srtcontrole_bits,
|
||||
1,
|
||||
0), 'YYYY') <=
|
||||
TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY'))
|
||||
SELECT *
|
||||
FROM comps) ig
|
||||
WHERE (ig.vervaldatum IS NULL
|
||||
OR ig.vervaldatum > ig.volgendedatum)
|
||||
AND ig.volgendedatum BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -12), 'YYYY') AND TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY')
|
||||
AND TRUNC(ig.volgendedatum, 'YYYY') < TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY') -- 1 januari in het jaar dat 2 jaar verder ligt niet meetellen.
|
||||
UNION ALL
|
||||
-- 2) Inspecties die vorig jaar en dit jaar zijn uitgevoerd, uitgezonderd de laatste.
|
||||
SELECT di.discipline,
|
||||
di.soort,
|
||||
di.groep,
|
||||
di.soortcode,
|
||||
di.omschrijving object,
|
||||
di.opmerking,
|
||||
di.locatie_omschrijving locatie,
|
||||
di.gebouw,
|
||||
di.ruimtenr,
|
||||
di.perslid persoon,
|
||||
di.aantal,
|
||||
di.srtcontrole_omschrijving taak,
|
||||
sc.ins_srtcontrole_eenheid eenheid,
|
||||
sc.ins_srtcontrole_periode periode,
|
||||
di.ctr_discipline_omschrijving taaksoort,
|
||||
di.ins_deelsrtcontrole_datum inspectiedatum,
|
||||
di.controlemode_omschrijving taakafhandeling,
|
||||
di.ins_deelsrtcontrole_opmerking inspectie_opmerking,
|
||||
(SELECT ins_deelsrtcontrole_status
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)
|
||||
inspectie_code,
|
||||
CASE (SELECT di2.ins_deelsrtcontrole_status
|
||||
FROM ins_deelsrtcontrole di2
|
||||
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)
|
||||
WHEN 0
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_pending')
|
||||
WHEN 2
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_gestart')
|
||||
WHEN 3
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_ter_uitvoer')
|
||||
WHEN 5
|
||||
THEN
|
||||
CASE
|
||||
WHEN ((SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key =
|
||||
(SELECT ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
|
||||
1)
|
||||
THEN
|
||||
lcl.L('lcl_ins_controlemode_approved')
|
||||
ELSE
|
||||
lcl.L('lcl_ins_controlemode_deprecated')
|
||||
END
|
||||
WHEN 6
|
||||
THEN
|
||||
CASE
|
||||
WHEN ((SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key =
|
||||
(SELECT ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
|
||||
1)
|
||||
THEN
|
||||
lcl.L('lcl_ins_controlemode_approved')
|
||||
ELSE
|
||||
lcl.L('lcl_ins_controlemode_deprecated')
|
||||
END
|
||||
END inspectie_status,
|
||||
COALESCE((SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key = (SELECT di2.ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole di2
|
||||
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)),
|
||||
-1) ins_controlemode_success,
|
||||
TO_CHAR(di.ins_deelsrtcontrole_datum, 'MM') maand,
|
||||
TO_CHAR(di.ins_deelsrtcontrole_datum, 'YYYY') jaar,
|
||||
TO_CHAR(di.ins_deelsrtcontrole_datum, 'YYYY-MM') jaarmaand,
|
||||
di.ins_deelsrtcontrole_datum_org orgdatum,
|
||||
di.ins_deelsrtcontrole_plandatum plandatum,
|
||||
di.ins_deelsrtcontrole_datum volgendedatum,
|
||||
di.vervaldatum,
|
||||
di.deel_key,
|
||||
sc.ins_srtcontrole_key,
|
||||
di.ins_deelsrtcontrole_key
|
||||
FROM ins_v_udr_deelinspect di,
|
||||
ins_srtcontrole sc,
|
||||
ctr_disc_params dp
|
||||
WHERE di.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||||
AND sc.ctr_discipline_key = dp.ctr_ins_discipline_key
|
||||
AND dp.ctr_disc_params_ismjob = 0
|
||||
AND sc.ins_srtcontrole_eenheid > 2
|
||||
AND di.ins_deelsrtcontrole_datum BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -12), 'YYYY')
|
||||
AND TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY')
|
||||
AND di.ins_deelsrtcontrole_key NOT IN (SELECT MAX(ins_deelsrtcontrole_key)
|
||||
FROM ins_deelsrtcontrole id2
|
||||
WHERE id2.ins_deel_key = di.deel_key
|
||||
AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key
|
||||
AND id2.ins_scenario_key = 1)
|
||||
) x;
|
||||
-- MT : RAPPORT TBV PROEFPLAATSINGEN
|
||||
|
||||
|
||||
@@ -4760,13 +5273,7 @@ AS
|
||||
iv.ins_deel_opmerking,
|
||||
pa.prs_afdeling_omschrijving,
|
||||
isc.ins_srtcontrole_omschrijving,
|
||||
CASE WHEN ids.ins_deelsrtcontrole_plandatum=NULL
|
||||
THEN
|
||||
TO_CHAR(ins.nextcyclusdate(iv.ins_deel_key,isc.INS_SRTCONTROLE_key,1),'DD-MM-YYYY')
|
||||
ELSE
|
||||
TO_CHAR( ids.INS_DEELSRTCONTROLE_PLANDATUM,'DD-MM-YYYY')
|
||||
END
|
||||
volgende_datum_onderhoud,
|
||||
TO_CHAR(ins.nextcyclusdate(iv.ins_deel_key,isc.INS_SRTCONTROLE_key,1),'DD-MM-YYYY') volgende_datum_onderhoud,
|
||||
(SELECT ikd.ins_kenmerkdeel_waarde
|
||||
from ins_kenmerkdeel ikd, ins_kenmerk ik
|
||||
WHERE ikd.ins_kenmerk_key = ik.ins_kenmerk_key
|
||||
@@ -4775,14 +5282,14 @@ AS
|
||||
AND ikd.ins_kenmerkdeel_verwijder IS NULL
|
||||
AND ik.ins_kenmerk_code='INSTAL_DATUM') installate_datum,
|
||||
i.ins_deel_image
|
||||
FROM ins_v_deel_gegevens iv, ins_deel i, ins_deelsrtcontrole ids, ins_srtcontrole isc, prs_afdeling pa
|
||||
FROM ins_v_deel_gegevens iv, ins_deel i, ins_srtcontroledl_xcp xcp, ins_srtcontrole isc, prs_afdeling pa
|
||||
WHERE UPPER (iv.ins_discipline_omschrijving) =
|
||||
UPPER ('Medische Techniek')
|
||||
AND iv.ins_deel_key=i.ins_deel_key
|
||||
AND i.ins_deel_actief=1
|
||||
AND i.ins_deel_actief=1
|
||||
AND (i.ins_deel_vervaldatum IS NULL OR i.ins_deel_vervaldatum>SYSDATE)
|
||||
AND iv.ins_deel_key = ids.ins_deel_key(+)
|
||||
AND isc.ins_srtcontrole_key(+) = ids.ins_srtcontrole_key
|
||||
AND xcp.INS_DEEL_KEY (+) = i.INS_DEEL_KEY
|
||||
AND isc.INS_SRTCONTROLE_KEY(+) = xcp.INS_SRTCONTROLE_KEY
|
||||
AND iv.prs_afdeling_key=pa.prs_afdeling_key;
|
||||
|
||||
|
||||
@@ -4828,31 +5335,8 @@ AS
|
||||
AND p.PRS_AFDELING_KEY = pa.PRS_AFDELING_KEY
|
||||
AND pa.PRS_AFDELING_VERWIJDER IS NULL
|
||||
AND p.PRS_PERSLID_VERWIJDER IS NULL) email
|
||||
FROM (
|
||||
-- lopende taken
|
||||
SELECT iv.ins_deel_key,
|
||||
iv.INS_DEEL_OMSCHRIJVING,
|
||||
iv.INS_DEEL_OPMERKING,
|
||||
CASE WHEN iv.PRS_AFDELING_key > 0 THEN 'Afdeling' ELSE 'Ruimte' END
|
||||
eigenaar_soort,
|
||||
COALESCE (iv.PRS_AFDELING_key, iv.ALG_RUIMTE_KEY)
|
||||
eigenaar_key,
|
||||
COALESCE (iv.PRS_AFDELING_OMSCHRIJVING, iv.ALG_RUIMTE_NR)
|
||||
locatie,
|
||||
isc.INS_SRTCONTROLE_OMSCHRIJVING,
|
||||
'Verwacht'
|
||||
status,
|
||||
TO_CHAR(TRUNC (ids.INS_DEELSRTCONTROLE_PLANDATUM),'DD-MM-YYYY')
|
||||
plandatum,
|
||||
'#000000' kleur
|
||||
FROM INS_V_DEEL_GEGEVENS iv, ins_deelsrtcontrole ids, ins_srtcontrole isc
|
||||
WHERE UPPER (iv.INS_DISCIPLINE_OMSCHRIJVING) =
|
||||
UPPER ('Medische Techniek')
|
||||
AND ids.INS_DEEL_KEY = iv.INS_DEEL_KEY
|
||||
AND isc.INS_SRTCONTROLE_KEY = ids.INS_SRTCONTROLE_KEY
|
||||
AND TRUNC (ids.INS_DEELSRTCONTROLE_PLANDATUM) BETWEEN TRUNC(ADD_MONTHS(SYSDATE,1),'MM') AND TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,3)))
|
||||
-- toekomsige taken zonder ins_deelsrtcontrole
|
||||
UNION
|
||||
FROM (
|
||||
-- toekomsige taken zonder ins_deelsrtcontrole
|
||||
SELECT iv.ins_deel_key,
|
||||
iv.INS_DEEL_OMSCHRIJVING,
|
||||
iv.INS_DEEL_OPMERKING,
|
||||
@@ -4868,19 +5352,19 @@ AS
|
||||
TO_CHAR(TRUNC(ins.nextcyclusdate(iv.ins_deel_key, isc.ins_srtcontrole_key, 1, 1), 'dd'),'DD-MM-YYYY')
|
||||
plandatum,
|
||||
'#000000' kleur
|
||||
FROM INS_V_DEEL_GEGEVENS iv, ins_deelsrtcontrole ids, ins_srtcontrole isc
|
||||
FROM INS_V_DEEL_GEGEVENS iv, ins_srtcontroledl_xcp xcp, ins_srtcontrole isc
|
||||
WHERE UPPER (iv.INS_DISCIPLINE_OMSCHRIJVING) =
|
||||
UPPER ('Medische Techniek')
|
||||
AND ids.INS_DEEL_KEY = iv.INS_DEEL_KEY
|
||||
AND isc.INS_SRTCONTROLE_KEY = ids.INS_SRTCONTROLE_KEY
|
||||
AND xcp.INS_DEEL_KEY = iv.INS_DEEL_KEY
|
||||
AND isc.INS_SRTCONTROLE_KEY = xcp.INS_SRTCONTROLE_KEY
|
||||
AND TRUNC(ins.nextcyclusdate(iv.ins_deel_key, isc.ins_srtcontrole_key, 1, 1), 'dd') <= TRUNC(ADD_MONTHS(SYSDATE,3), 'dd')
|
||||
AND (SELECT MAX(ins_deelsrtcontrole_key)
|
||||
FROM ins_deelsrtcontrole idsc2
|
||||
WHERE idsc2.ins_deel_key = iv.ins_deel_key
|
||||
AND idsc2.ins_srtcontrole_key = ids.ins_srtcontrole_key
|
||||
AND idsc2.ins_scenario_key = ids.ins_scenario_key
|
||||
AND idsc2.ins_srtcontrole_key = isc.ins_srtcontrole_key
|
||||
AND idsc2.ins_scenario_key = isc.ins_scenario_key
|
||||
AND idsc2.ins_deelsrtcontrole_status != 6) IS NULL
|
||||
-- ALl taken die al gestart en inbehandeling zijn
|
||||
-- ALl taken die al gestart en inbehandeling zijn maar nbiet via een melding
|
||||
UNION
|
||||
SELECT iv.ins_deel_key,
|
||||
iv.INS_DEEL_OMSCHRIJVING,
|
||||
@@ -4903,14 +5387,43 @@ AS
|
||||
'#000000'
|
||||
END kleur
|
||||
FROM INS_V_DEEL_GEGEVENS iv, ins_deelsrtcontrole ids, ins_srtcontrole isc
|
||||
WHERE ids.INS_DEEL_KEY = iv.INS_DEEL_KEY
|
||||
AND TRUNC (ids.INS_DEELSRTCONTROLE_PLANDATUM) <= TRUNC (SYSDATE - 1)
|
||||
WHERE ids.INS_DEEL_KEY = iv.INS_DEEL_KEY
|
||||
AND ids.INS_DEELSRTCONTROLE_STATUS IN (0,1,2) -- Ingepland, gestart of ter uitvoering
|
||||
AND isc.INS_SRTCONTROLE_KEY = ids.INS_SRTCONTROLE_KEY
|
||||
UNION
|
||||
-- ALle taken gestart via een melding
|
||||
SELECT iv.ins_deel_key,
|
||||
iv.INS_DEEL_OMSCHRIJVING,
|
||||
iv.INS_DEEL_OPMERKING,
|
||||
CASE WHEN iv.PRS_AFDELING_key > 0 THEN 'Afdeling' ELSE 'Ruimte' END
|
||||
eigenaar_soort,
|
||||
COALESCE (iv.PRS_AFDELING_key, iv.ALG_RUIMTE_KEY)
|
||||
eigenaar_key,
|
||||
COALESCE (iv.PRS_AFDELING_OMSCHRIJVING, iv.ALG_RUIMTE_NR)
|
||||
locatie,
|
||||
isc.INS_SRTCONTROLE_OMSCHRIJVING,
|
||||
'In behandeling'
|
||||
status,
|
||||
TO_CHAR(TRUNC (ids.INS_DEELSRTCONTROLE_PLANDATUM),'DD-MM-YYYY')
|
||||
plandatum,
|
||||
CASE WHEN TRUNC(SYSDATE)-TRUNC (ids.INS_DEELSRTCONTROLE_PLANDATUM)>30
|
||||
THEN
|
||||
'#FF0000'
|
||||
ELSE
|
||||
'#000000'
|
||||
END kleur
|
||||
FROM INS_V_DEEL_GEGEVENS iv, ins_deelsrtcontrole ids, ins_srtcontrole isc, mld_melding m, mld_melding_object mmo
|
||||
WHERE ids.INS_DEEL_KEY = iv.INS_DEEL_KEY
|
||||
AND ids.INS_DEELSRTCONTROLE_STATUS IN (0,1,2) -- Ingepland, gestart of ter uitvoering
|
||||
AND isc.INS_SRTCONTROLE_KEY = ids.INS_SRTCONTROLE_KEY
|
||||
AND (TRUNC (ids.INS_DEELSRTCONTROLE_PLANDATUM) BETWEEN TO_DATE('30-01-2024','DD-MM-YYYY') AND TRUNC(SYSDATE- 1))
|
||||
AND mmo.INS_DEEL_KEY = ids.INS_DEEL_KEY
|
||||
AND mmo.INS_DEELSRTCONTROLE_KEY = ids.INS_DEELSRTCONTROLE_KEY
|
||||
AND m.MLD_MELDING_KEY = mmo.MLD_MELDING_KEY
|
||||
AND m.MLD_MELDING_KEY = mmo.MLD_MELDING_KEY
|
||||
AND m.MLD_STDMELDING_KEY IN (1241,1261)
|
||||
) sel
|
||||
WHERE sel.eigenaar_soort = 'Afdeling'
|
||||
ORDER BY 5,9;
|
||||
WHERE sel.eigenaar_soort = 'Afdeling'
|
||||
ORDER BY 5,9;
|
||||
|
||||
CREATE OR REPLACE VIEW FZKH_V_NOTI_MTTAKEN
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user