SCHG#87582: Probleem bij aanmaak periodieke onderhoudsmeldingen wagenpark.
svn path=/Database/trunk/; revision=68002
This commit is contained in:
102
CTR/CTR_PAC.SRC
102
CTR/CTR_PAC.SRC
@@ -125,21 +125,54 @@ CREATE OR REPLACE PACKAGE BODY ctr AS
|
||||
|
||||
CURSOR c_taak_naar_ter_uitvoering
|
||||
IS
|
||||
-- Ingeplande taken.
|
||||
SELECT idsc.ins_deelsrtcontrole_key,
|
||||
idsc.ins_deel_key,
|
||||
idsc.ins_srtcontrole_key,
|
||||
idsc.ins_scenario_key,
|
||||
xcp.mld_stdmelding_key,
|
||||
sm.mld_stdmelding_default_disc,
|
||||
COALESCE(xcp.prs_kostenplaats_key,
|
||||
(SELECT prs_kostenplaats_key
|
||||
FROM alg_gebouw
|
||||
WHERE alg_gebouw_key = alg.alg_gebouw_key)) prs_kostenplaats_key,
|
||||
CASE
|
||||
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
|
||||
THEN
|
||||
COALESCE(xcp.prs_kostenplaats_key,
|
||||
(SELECT prs_kostenplaats_key
|
||||
FROM alg_gebouw
|
||||
WHERE alg_gebouw_key = (SELECT alg.alg_gebouw_key FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)))
|
||||
WHEN d.ins_alg_ruimte_type IN ('W')
|
||||
THEN
|
||||
COALESCE(xcp.prs_kostenplaats_key,
|
||||
(SELECT prs_kostenplaats_key
|
||||
FROM alg_gebouw
|
||||
WHERE alg_gebouw_key = (SELECT wpg.alg_gebouw_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)))
|
||||
ELSE
|
||||
NULL
|
||||
END prs_kostenplaats_key,
|
||||
xcp.ins_srtcontrole_omschrijving,
|
||||
xcp.ins_srtcontrole_info,
|
||||
isd.ins_srtdeel_omschrijving,
|
||||
alg.alg_locatie_key,
|
||||
alg.alg_onroerendgoed_keys,
|
||||
CASE
|
||||
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
|
||||
THEN
|
||||
(SELECT alg.alg_locatie_key FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)
|
||||
WHEN d.ins_alg_ruimte_type IN ('W')
|
||||
THEN
|
||||
(SELECT wpg.alg_locatie_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)
|
||||
WHEN d.ins_alg_ruimte_type IN ('P', 'A')
|
||||
THEN
|
||||
NULL
|
||||
END alg_locatie_key,
|
||||
CASE
|
||||
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
|
||||
THEN
|
||||
(SELECT alg.alg_onroerendgoed_keys FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)
|
||||
WHEN d.ins_alg_ruimte_type IN ('W')
|
||||
THEN
|
||||
(SELECT wpg.alg_ruimte_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)
|
||||
WHEN d.ins_alg_ruimte_type IN ('P', 'A')
|
||||
THEN
|
||||
NULL
|
||||
END alg_onroerendgoed_keys,
|
||||
CASE
|
||||
WHEN (SELECT COUNT(ins_deelsrtcontrole_key)
|
||||
FROM ins_deelsrtcontrole idsc2
|
||||
@@ -153,9 +186,8 @@ CREATE OR REPLACE PACKAGE BODY ctr AS
|
||||
END nextdate
|
||||
FROM ins_deelsrtcontrole idsc,
|
||||
ins_v_defined_inspect_xcp xcp,
|
||||
ins_deel d,
|
||||
ins_v_deelenonderdeel d,
|
||||
ins_srtdeel isd,
|
||||
alg_v_allonroerendgoed alg,
|
||||
mld_stdmelding sm
|
||||
WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key
|
||||
AND xcp.ins_deel_key = idsc.ins_deel_key
|
||||
@@ -163,8 +195,7 @@ CREATE OR REPLACE PACKAGE BODY ctr AS
|
||||
AND xcp.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND d.ins_deel_key = idsc.ins_deel_key
|
||||
AND d.ins_srtdeel_key = isd.ins_srtdeel_key
|
||||
AND d.ins_alg_ruimte_key = alg.alg_onroerendgoed_keys(+)
|
||||
AND d.ins_alg_ruimte_type = 'R'
|
||||
AND d.ins_alg_ruimte_type IN ('T', 'R', 'P', 'W', 'A')
|
||||
AND TRUNC(idsc.ins_deelsrtcontrole_plandatum, 'dd') <= TRUNC(SYSDATE, 'dd')
|
||||
AND (xcp.ins_srtcontrole_eind IS NULL OR xcp.ins_srtcontrole_eind > SYSDATE)
|
||||
AND d.ins_deel_verwijder IS NULL
|
||||
@@ -174,21 +205,54 @@ CREATE OR REPLACE PACKAGE BODY ctr AS
|
||||
AND xcp.ctr_ismjob = 0
|
||||
AND xcp.mld_stdmelding_key IS NOT NULL
|
||||
UNION
|
||||
-- Berekende taken t.o.v. de laatste inspectie (met historie).
|
||||
SELECT NULL ins_deelsrtcontrole_key,
|
||||
idsc.ins_deel_key,
|
||||
idsc.ins_srtcontrole_key,
|
||||
idsc.ins_scenario_key,
|
||||
xcp.mld_stdmelding_key,
|
||||
sm.mld_stdmelding_default_disc,
|
||||
COALESCE(xcp.prs_kostenplaats_key,
|
||||
(SELECT prs_kostenplaats_key
|
||||
FROM alg_gebouw
|
||||
WHERE alg_gebouw_key = alg.alg_gebouw_key)) prs_kostenplaats_key,
|
||||
CASE
|
||||
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
|
||||
THEN
|
||||
COALESCE(xcp.prs_kostenplaats_key,
|
||||
(SELECT prs_kostenplaats_key
|
||||
FROM alg_gebouw
|
||||
WHERE alg_gebouw_key = (SELECT alg.alg_gebouw_key FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)))
|
||||
WHEN d.ins_alg_ruimte_type IN ('W')
|
||||
THEN
|
||||
COALESCE(xcp.prs_kostenplaats_key,
|
||||
(SELECT prs_kostenplaats_key
|
||||
FROM alg_gebouw
|
||||
WHERE alg_gebouw_key = (SELECT wpg.alg_gebouw_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)))
|
||||
ELSE
|
||||
NULL
|
||||
END prs_kostenplaats_key,
|
||||
xcp.ins_srtcontrole_omschrijving,
|
||||
xcp.ins_srtcontrole_info,
|
||||
isd.ins_srtdeel_omschrijving,
|
||||
alg.alg_locatie_key,
|
||||
alg.alg_onroerendgoed_keys,
|
||||
CASE
|
||||
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
|
||||
THEN
|
||||
(SELECT alg.alg_locatie_key FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)
|
||||
WHEN d.ins_alg_ruimte_type IN ('W')
|
||||
THEN
|
||||
(SELECT wpg.alg_locatie_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)
|
||||
WHEN d.ins_alg_ruimte_type IN ('P', 'A')
|
||||
THEN
|
||||
NULL
|
||||
END alg_locatie_key,
|
||||
CASE
|
||||
WHEN d.ins_alg_ruimte_type IN ('T', 'R')
|
||||
THEN
|
||||
(SELECT alg.alg_onroerendgoed_keys FROM alg_v_allonroerendgoed alg WHERE alg.alg_onroerendgoed_keys = d.ins_alg_ruimte_key)
|
||||
WHEN d.ins_alg_ruimte_type IN ('W')
|
||||
THEN
|
||||
(SELECT wpg.alg_ruimte_key FROM prs_v_werkplek_gegevens wpg WHERE wpg.prs_werkplek_key = d.ins_alg_ruimte_key)
|
||||
WHEN d.ins_alg_ruimte_type IN ('P', 'A')
|
||||
THEN
|
||||
NULL
|
||||
END alg_onroerendgoed_keys,
|
||||
CASE
|
||||
WHEN (SELECT COUNT(ins_deelsrtcontrole_key)
|
||||
FROM ins_deelsrtcontrole idsc2
|
||||
@@ -202,9 +266,8 @@ CREATE OR REPLACE PACKAGE BODY ctr AS
|
||||
END nextdate
|
||||
FROM ins_deelsrtcontrole idsc,
|
||||
ins_v_defined_inspect_xcp xcp,
|
||||
ins_deel d,
|
||||
ins_v_deelenonderdeel d,
|
||||
ins_srtdeel isd,
|
||||
alg_v_allonroerendgoed alg,
|
||||
mld_stdmelding sm
|
||||
WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key
|
||||
AND xcp.ins_deel_key = idsc.ins_deel_key
|
||||
@@ -212,8 +275,7 @@ CREATE OR REPLACE PACKAGE BODY ctr AS
|
||||
AND xcp.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND d.ins_deel_key = idsc.ins_deel_key
|
||||
AND d.ins_srtdeel_key = isd.ins_srtdeel_key
|
||||
AND d.ins_alg_ruimte_key = alg.alg_onroerendgoed_keys(+)
|
||||
AND d.ins_alg_ruimte_type = 'R'
|
||||
AND d.ins_alg_ruimte_type IN ('T', 'R', 'P', 'W', 'A')
|
||||
AND TRUNC(ins.nextcyclusdate(idsc.ins_deel_key, idsc.ins_srtcontrole_key, 1, 1), 'dd') <= TRUNC(SYSDATE, 'dd')
|
||||
AND (xcp.ins_srtcontrole_eind IS NULL OR xcp.ins_srtcontrole_eind > SYSDATE)
|
||||
AND d.ins_deel_verwijder IS NULL
|
||||
|
||||
Reference in New Issue
Block a user