BAUS#79594 Implementatie Bausch & Lomb, rapportage geplande taken
svn path=/Customer/trunk/; revision=63022
This commit is contained in:
483
BAUS/baus.sql
483
BAUS/baus.sql
@@ -644,6 +644,489 @@ AS
|
||||
AND doc.ins_srtcontrole_key(+) = udr.ins_srtcontrole_key
|
||||
AND dienst.ins_srtcontrole_key(+) = udr.ins_srtcontrole_key;
|
||||
|
||||
CREATE OR REPLACE VIEW BAUS_V_RAP_UDR_TAKEN
|
||||
AS
|
||||
SELECT ig.discipline,
|
||||
ig.soort,
|
||||
ig.groep,
|
||||
ig.soortcode,
|
||||
ig.ins_deel_key,
|
||||
ig.omschrijving
|
||||
object,
|
||||
ig.opmerking,
|
||||
ig.locatie_omschrijving
|
||||
locatie,
|
||||
ig.gebouw,
|
||||
ig.ruimtenr,
|
||||
ig.perslid
|
||||
persoon,
|
||||
ig.ins_srtcontrole_key,
|
||||
ig.srtcontrole_omschrijving
|
||||
taak,
|
||||
ig.taaksoort,
|
||||
ig.ins_deelsrtcontrole_key,
|
||||
ig.ins_deelsrtcontrole_datum_org
|
||||
orginele_datum,
|
||||
ig.ins_deelsrtcontrole_plandatum
|
||||
geplande_uitvoerdatum,
|
||||
ig.ins_deelsrtcontrole_datum
|
||||
inspectiedatum,
|
||||
ig.controlemode_omschrijving,
|
||||
ig.ins_deelsrtcontrole_opmerking
|
||||
inspectie_opmerking,
|
||||
ins_deelsrtcontrole_status,
|
||||
ins_deelsrtcontrole_status_omschr,
|
||||
deelsrtcontrole_result,
|
||||
CASE ins_deelsrtcontrole_status
|
||||
WHEN 0 THEN TO_CHAR (ig.volgendedatum, 'MM')
|
||||
WHEN 5 THEN TO_CHAR (ig.volgende_keer, 'MM')
|
||||
WHEN 6 THEN TO_CHAR (ig.volgende_keer, 'MM')
|
||||
ELSE TO_CHAR (ig.volgendedatum, 'MM')
|
||||
END
|
||||
maand,
|
||||
CASE ins_deelsrtcontrole_status
|
||||
WHEN 0 THEN TO_CHAR (ig.volgendedatum, 'YYYY')
|
||||
WHEN 5 THEN TO_CHAR (ig.volgende_keer, 'YYYY')
|
||||
WHEN 6 THEN TO_CHAR (ig.volgende_keer, 'YYYY')
|
||||
ELSE TO_CHAR (ig.volgendedatum, 'YYYY')
|
||||
END
|
||||
jaar,
|
||||
CASE ins_deelsrtcontrole_status
|
||||
WHEN 0 THEN TO_CHAR (ig.volgendedatum, 'YYYY-MM')
|
||||
WHEN 5 THEN TO_CHAR (ig.volgende_keer, 'YYYY-MM')
|
||||
WHEN 6 THEN TO_CHAR (ig.volgende_keer, 'YYYY-MM')
|
||||
ELSE TO_CHAR (ig.volgendedatum, 'YYYY-MM')
|
||||
END
|
||||
jaarmaand,
|
||||
ig.vervaldatum,
|
||||
CASE ins_deelsrtcontrole_status
|
||||
WHEN 0 THEN TRUNC (ig.volgendedatum)
|
||||
WHEN 5 THEN TRUNC (ig.volgende_keer)
|
||||
WHEN 6 THEN TRUNC (ig.volgende_keer)
|
||||
ELSE ig.volgendedatum
|
||||
END
|
||||
eerstcolgende_actie,
|
||||
dienst.prs_dienst_omschrijving,
|
||||
COALESCE (doc.document_vereist, 'Nee')
|
||||
document_vereist,
|
||||
COALESCE (doc.document_ontvangen, 'N.v.t.')
|
||||
document_bijgesloten,
|
||||
bedrijf.bedrijf,
|
||||
instructie.instructies,
|
||||
CASE
|
||||
WHEN ins_deelsrtcontrole_status = 6
|
||||
AND TRUNC (ins_deelsrtcontrole_datum_org) <
|
||||
TRUNC (ins_deelsrtcontrole_datum)
|
||||
THEN
|
||||
'Te laat'
|
||||
WHEN ins_deelsrtcontrole_status = 6
|
||||
AND TRUNC (ins_deelsrtcontrole_datum_org) >=
|
||||
TRUNC (ins_deelsrtcontrole_datum)
|
||||
THEN
|
||||
'Op tijd'
|
||||
WHEN ins_deelsrtcontrole_status = 5
|
||||
AND TRUNC (ins_deelsrtcontrole_datum_org) <
|
||||
TRUNC (ins_deelsrtcontrole_datum)
|
||||
THEN
|
||||
'Te laat'
|
||||
WHEN ins_deelsrtcontrole_status = 5
|
||||
AND TRUNC (ins_deelsrtcontrole_datum_org) >=
|
||||
TRUNC (ins_deelsrtcontrole_datum)
|
||||
THEN
|
||||
'Op tijd'
|
||||
WHEN ins_deelsrtcontrole_status = 0
|
||||
AND TRUNC (ins_deelsrtcontrole_datum_org) >
|
||||
TRUNC (SYSDATE)
|
||||
THEN
|
||||
'Op tijd'
|
||||
WHEN ins_deelsrtcontrole_status = 0
|
||||
AND TRUNC (ins_deelsrtcontrole_datum_org) <=
|
||||
TRUNC (SYSDATE)
|
||||
THEN
|
||||
'Te laat'
|
||||
END
|
||||
optijd
|
||||
FROM (WITH
|
||||
comps (ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_deelsrtcontrole_datum,
|
||||
volgendedatum,
|
||||
volgende_keer,
|
||||
discipline,
|
||||
soort,
|
||||
groep,
|
||||
soortcode,
|
||||
omschrijving,
|
||||
opmerking,
|
||||
locatie_omschrijving,
|
||||
gebouw,
|
||||
ruimtenr,
|
||||
srtcontrole_omschrijving,
|
||||
taaksoort,
|
||||
ins_deelsrtcontrole_datum_org,
|
||||
controlemode_omschrijving,
|
||||
ins_deelsrtcontrole_opmerking,
|
||||
perslid,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
ins_deelsrtcontrole_status,
|
||||
ins_deelsrtcontrole_status_omschr,
|
||||
ins_controlemode_success,
|
||||
deelsrtcontrole_result,
|
||||
vervaldatum,
|
||||
ins_deelsrtcontrole_key)
|
||||
AS
|
||||
(SELECT *
|
||||
FROM (SELECT di.deel_key
|
||||
ins_deel_key,
|
||||
xcp.ins_srtcontrole_key,
|
||||
di.ins_deelsrtcontrole_datum,
|
||||
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).
|
||||
CASE
|
||||
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 (
|
||||
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,
|
||||
fac.nextcyclusdatedeel (
|
||||
di.deel_key,
|
||||
xcp.ins_srtcontrole_key,
|
||||
0)
|
||||
volgende_keer,
|
||||
discipline,
|
||||
soort,
|
||||
groep,
|
||||
soortcode,
|
||||
omschrijving,
|
||||
opmerking,
|
||||
locatie_omschrijving,
|
||||
gebouw,
|
||||
ruimtenr,
|
||||
srtcontrole_omschrijving,
|
||||
ctr_discipline_omschrijving
|
||||
taaksoort,
|
||||
ins_deelsrtcontrole_datum_org,
|
||||
controlemode_omschrijving,
|
||||
ins_deelsrtcontrole_opmerking,
|
||||
perslid,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
di.ins_deelsrtcontrole_status,
|
||||
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
|
||||
lcl.L (
|
||||
'lcl_ins_controle_afgemeld')
|
||||
WHEN 6
|
||||
THEN
|
||||
lcl.L (
|
||||
'lcl_ins_controle_afgerond')
|
||||
END
|
||||
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
|
||||
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
|
||||
resultaat,
|
||||
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
|
||||
--- dit zijn de niet geplande taken?
|
||||
SELECT d.deel_key
|
||||
ins_deel_key,
|
||||
xcp.ins_srtcontrole_key,
|
||||
NULL,
|
||||
CASE
|
||||
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 (
|
||||
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,
|
||||
fac.nextcyclusdatedeel (
|
||||
d.deel_key,
|
||||
xcp.ins_srtcontrole_key,
|
||||
0)
|
||||
volgende_keer,
|
||||
d.discipline,
|
||||
d.soort,
|
||||
d.groep,
|
||||
d.soortcode,
|
||||
d.omschrijving,
|
||||
d.opmerking,
|
||||
d.locatie_omschrijving,
|
||||
d.gebouw,
|
||||
d.ruimtenr,
|
||||
(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,
|
||||
ins_deelsrtcontrole_status,
|
||||
lcl.L ('lcl_ins_controlemode_notplaned')
|
||||
deelsrtcontrole_status,
|
||||
0
|
||||
ins_controlemode_success,
|
||||
''
|
||||
resultaat,
|
||||
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))))
|
||||
SELECT *
|
||||
FROM comps) ig,
|
||||
(SELECT sc.ins_srtcontrole_key,
|
||||
'Ja' document_vereist,
|
||||
COALESCE (DECODE (kw.ins_kmdeelsrtcontr_waarde, 1, 'Ja'),
|
||||
'Nee') AS document_ontvangen
|
||||
FROM ins_srtkenmerk sk,
|
||||
ins_kenmerk k,
|
||||
ins_srtcontrole sc,
|
||||
ins_kmdeelsrtcontr kw
|
||||
WHERE k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||||
AND k.ins_kenmerk_bewerkniveau = 'D'
|
||||
AND k.ins_kenmerk_niveau = 'C'
|
||||
AND sc.ins_srtcontrole_key = k.ins_srtinstallatie_key
|
||||
AND k.ins_kenmerk_verwijder IS NULL
|
||||
AND sk.ins_srtkenmerk_key = 161
|
||||
AND kw.ins_kenmerk_key(+) = k.ins_kenmerk_key
|
||||
AND UPPER (k.ins_kenmerk_omschrijving) =
|
||||
'DOCUMENT ONTVANGEN') doc,
|
||||
( SELECT d.ins_deel_key,
|
||||
LISTAGG (b.prs_bedrijf_naam, CHR (10)) ---- scheidingsteken een enter
|
||||
WITHIN GROUP (ORDER BY d.ins_deel_key) bedrijf
|
||||
FROM ins_srtkenmerk sk,
|
||||
ins_kenmerk k,
|
||||
ins_kenmerkdeel kd,
|
||||
ins_deel d,
|
||||
prs_bedrijf b
|
||||
WHERE sk.ins_srtkenmerk_key = 41
|
||||
AND sk.ins_srtkenmerk_key = k.ins_srtkenmerk_key
|
||||
AND k.ins_kenmerk_key = kd.ins_kenmerk_key
|
||||
AND kd.ins_deel_key = d.ins_deel_key
|
||||
AND k.ins_kenmerk_bewerkniveau = 'D'
|
||||
AND k.ins_kenmerk_verwijder IS NULL
|
||||
AND b.prs_bedrijf_key =
|
||||
fac.safe_to_number (kd.ins_kenmerkdeel_waarde)
|
||||
GROUP BY d.ins_deel_key) bedrijf,
|
||||
( SELECT sc.ins_srtcontrole_key,
|
||||
LISTAGG (
|
||||
k.ins_kenmerk_omschrijving
|
||||
|| ' '
|
||||
|| REPLACE (k.ins_kenmerk_default, '<br/>', CHR (10)),
|
||||
CHR (10) || CHR (10))
|
||||
WITHIN GROUP (ORDER BY sc.ins_srtcontrole_key) instructies
|
||||
FROM ins_srtkenmerk sk, ins_kenmerk k, ins_srtcontrole sc
|
||||
WHERE k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||||
AND k.ins_kenmerk_bewerkniveau = 'D'
|
||||
AND k.ins_kenmerk_niveau = 'C'
|
||||
AND sc.ins_srtcontrole_key = k.ins_srtinstallatie_key
|
||||
AND k.ins_kenmerk_verwijder IS NULL
|
||||
AND sk.ins_srtkenmerk_key = 61
|
||||
GROUP BY sc.ins_srtcontrole_key) instructie,
|
||||
(SELECT c.ins_srtcontrole_key, d.prs_dienst_omschrijving
|
||||
FROM ins_srtcontrole c, prs_dienst d
|
||||
WHERE d.prs_dienst_key = c.prs_dienst_key) dienst
|
||||
WHERE (ig.vervaldatum IS NULL OR ig.vervaldatum > ig.volgendedatum)
|
||||
AND bedrijf.ins_deel_key(+) = ig.ins_deel_key
|
||||
AND instructie.ins_srtcontrole_key(+) = ig.ins_srtcontrole_key
|
||||
AND doc.ins_srtcontrole_key(+) = ig.ins_srtcontrole_key
|
||||
AND dienst.ins_srtcontrole_key(+) = ig.ins_srtcontrole_key;
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user