NOUR#80194 (inzage) planning periodieke taken en workorders

svn path=/Customer/trunk/; revision=64136
This commit is contained in:
Suzan Wiegerinck
2024-04-02 13:43:47 +00:00
parent e518d9a3c5
commit 32ecb3e641

View File

@@ -10680,24 +10680,101 @@ SELECT bu.dag,
bu.prs_perslid_naam_friendly,
bu.prs_perslid_naam_full,
bu.beschikbare_uren,
nvl(opdr.tot_uren_gepland, 0) tot_uren_gepland,
bu.beschikbare_uren -
nvl(opdr.tot_uren_gepland, 0) uren_over
NVL (opdr.tot_uren_gepland, 0) tot_uren_gepland,
bu.beschikbare_uren - NVL (opdr.tot_uren_gepland, 0) uren_over
FROM nour_v_rap_beschikking_uitv bu,
( SELECT fac.safe_to_date (
TO_CHAR (o.mld_opdr_plandatum, 'DD-MM-YYYY'),
'DD-MM-YY') plandatum,
o.mld_uitvoerende_keys uitvoerende,
SUM (o.mld_opdr_uren) tot_uren_gepland
FROM mld_opdr o
WHERE o.mld_opdr_plandatum IS NOT NULL
AND o.mld_opdr_uren IS NOT NULL
GROUP BY fac.safe_to_date (
TO_CHAR (o.mld_opdr_plandatum, 'DD-MM-YYYY'),
'DD-MM-YY'),
o.mld_uitvoerende_keys) opdr
WHERE bu.datum = opdr.plandatum(+)
AND bu.prs_perslid_key = opdr.uitvoerende(+);
( SELECT plandatum, uitvoerende, SUM(uren) tot_uren_gepland
FROM (SELECT o.mld_opdr_key,
CASE
WHEN fac.safe_to_date (planning.uitvoerdatum, 'dd-mm-yyyy') IS NOT NULL
THEN
fac.safe_to_date (planning.uitvoerdatum, 'dd-mm-yyyy')
ELSE
TRUNC (o.mld_opdr_plandatum)
END plandatum,
o.mld_uitvoerende_keys uitvoerende,
CASE
WHEN planning.uren IS NOT NULL THEN planning.uren
ELSE TO_CHAR (o.mld_opdr_uren)
END uren
FROM mld_opdr o,
(SELECT dag.dag_1 uitvoerdatum, dag.mld_opdr_key, uren.uren_1 uren
FROM (SELECT ko.mld_kenmerkopdr_waarde dag_1, ko.mld_opdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 149
AND k.mld_kenmerk_groep = 1
AND UPPER (k.mld_kenmerk_omschrijving) = 'DAG 1') dag,
(SELECT ko.mld_kenmerkopdr_waarde uren_1, ko.mld_opdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1602
AND k.mld_kenmerk_groep = 1
AND UPPER (k.mld_kenmerk_omschrijving) = 'AANTAL UREN') uren
WHERE dag.mld_opdr_key = uren.mld_opdr_key
UNION ALL
SELECT dag.dag_2, dag.mld_opdr_key, uren.uren_2
FROM (SELECT ko.mld_kenmerkopdr_waarde dag_2, ko.mld_opdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 149
AND k.mld_kenmerk_groep = 2
AND UPPER (k.mld_kenmerk_omschrijving) = 'DAG 2') dag,
(SELECT ko.mld_kenmerkopdr_waarde uren_2, ko.mld_opdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1602
AND k.mld_kenmerk_groep = 2
AND UPPER (k.mld_kenmerk_omschrijving) = 'AANTAL UREN DAG 2') uren
WHERE dag.mld_opdr_key = uren.mld_opdr_key
UNION ALL
SELECT dag.dag_3, dag.mld_opdr_key, uren.uren_3
FROM (SELECT ko.mld_kenmerkopdr_waarde dag_3, ko.mld_opdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 149
AND k.mld_kenmerk_groep = 3
AND UPPER (k.mld_kenmerk_omschrijving) = 'DAG 3') dag,
(SELECT ko.mld_kenmerkopdr_waarde uren_3, ko.mld_opdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1602
AND k.mld_kenmerk_groep = 3
AND UPPER (k.mld_kenmerk_omschrijving) = 'AANTAL UREN DAG 3') uren
WHERE dag.mld_opdr_key = uren.mld_opdr_key
UNION ALL
SELECT dag.dag_4, dag.mld_opdr_key, uren.uren_4
FROM (SELECT ko.mld_kenmerkopdr_waarde dag_4, ko.mld_opdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 149
AND k.mld_kenmerk_groep = 4
AND UPPER (k.mld_kenmerk_omschrijving) = 'DAG 4') dag,
(SELECT ko.mld_kenmerkopdr_waarde uren_4, ko.mld_opdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1602
AND k.mld_kenmerk_groep = 4
AND UPPER (k.mld_kenmerk_omschrijving) = 'AANTAL UREN DAG 4') uren
WHERE dag.mld_opdr_key = uren.mld_opdr_key
UNION ALL
SELECT dag.dag_5, dag.mld_opdr_key, uren.uren_5
FROM (SELECT ko.mld_kenmerkopdr_waarde dag_5, ko.mld_opdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 149
AND k.mld_kenmerk_groep = 5
AND UPPER (k.mld_kenmerk_omschrijving) = 'DAG 5') dag,
(SELECT ko.mld_kenmerkopdr_waarde uren_5, ko.mld_opdr_key
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1602
AND k.mld_kenmerk_groep = 5
AND UPPER (k.mld_kenmerk_omschrijving) = 'AANTAL UREN DAG 5') uren
WHERE dag.mld_opdr_key = uren.mld_opdr_key) planning
WHERE planning.mld_opdr_key = o.mld_opdr_key)
GROUP BY plandatum, uitvoerende) opdr
WHERE bu.datum = opdr.plandatum(+) AND bu.prs_perslid_key = opdr.uitvoerende(+);
-- Stap 6: een view voor een kalender rapport met de beschikbare uren per uitvoerende
CREATE OR REPLACE VIEW NOUR_V_RAP_KALENDER_UREN