NOUR#80194 (inzage) planning periodieke taken en workorders

svn path=/Customer/trunk/; revision=63193
This commit is contained in:
Suzan Wiegerinck
2024-01-16 15:51:21 +00:00
parent a628650cc7
commit e6419e3f5c

View File

@@ -54,6 +54,9 @@ CREATE OR REPLACE PACKAGE NOUR AS
p_waarde IN VARCHAR2,
p_historymode IN VARCHAR2);
PRAGMA RESTRICT_REFERENCES (NOUR_f_pct_gemeensch,WNDS, WNPS);
PROCEDURE update_planning_wo (p_mld_opdr_key IN NUMBER);
END NOUR;
/
@@ -374,6 +377,60 @@ AS
END;
END IF;
END Kmd_Update_Kenmerkdeel;
PROCEDURE update_planning_wo (p_mld_opdr_key IN NUMBER)
AS
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (200);
v_result NUMBER;
v_uren_new NUMBER;
v_uren NUMBER;
BEGIN
-- Als het aantal te verwachte uitvoerdagen is gevuld wordt er dus met een planning gewerkt
-- Dan de uren uit deze planning optellen en vergelijken met de opdrachturen hiermee
-- Wijken deze af tov elkaar, dan opdrachturen bijwerken!
SELECT 1
INTO v_result
FROM mld_srtkenmerk sk, mld_kenmerk k, mld_kenmerkopdr ko
WHERE sk.mld_srtkenmerk_key = 1601
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND ko.mld_opdr_key = p_mld_opdr_key;
SELECT SUM (fac.safe_to_number (ko.mld_kenmerkopdr_waarde)),
NVL (o.mld_opdr_uren, 0)
INTO v_uren_new, v_uren
FROM mld_srtkenmerk sk,
mld_kenmerk k,
mld_kenmerkopdr ko,
mld_opdr o
WHERE sk.mld_srtkenmerk_key = 1602
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND ko.mld_opdr_key = o.mld_opdr_key
AND o.mld_opdr_key = p_mld_opdr_key
GROUP BY ko.mld_opdr_key, o.mld_opdr_uren;
IF v_result = 1 AND v_uren <> v_uren_new
THEN
UPDATE mld_opdr o
SET o.mld_opdr_uren = v_uren_new
WHERE o.mld_opdr_key = p_mld_opdr_key;
-- aanmaken ordtrk in fac_tracking
INSERT INTO fac_tracking (fac_srtnotificatie_key,
fac_tracking_refkey,
fac_tracking_oms)
VALUES (
662,
p_mld_opdr_key,
'Aantal uren bijgewerkt op basis van ingevulde werkplanning');
COMMIT;
END IF;
END update_planning_wo;
END NOUR;
/
@@ -10461,20 +10518,20 @@ SELECT DISTINCT
CREATE OR REPLACE VIEW NOUR_V_BESCHIKKING
(
PRS_PERSLID_KEY,
PLANDAG,
PLANDAG,
BESCHIKBARE_TIJD_UREN
)
AS
SELECT i.prs_perslid_key,
UPPER (
SELECT i.prs_perslid_key,
UPPER (
DECODE (i.prs_perslid_inzetbaar_dag,
1, 'Maandag',
2, 'Dinsdag',
3, 'Woensdag',
4, 'Donderdag',
5, 'Vrijdag',
6, 'Zaterdag',
7, 'Zondag')) AS plandag,
1, 'Monday',
2, 'Tuesday',
3, 'Wednesday',
4, 'Thursday',
5, 'Friday',
6, 'Saturday',
7, 'Sunday')) AS plandag_eng,
(i.prs_perslid_inzetbaar_tot - i.prs_perslid_inzetbaar_van) / 60 beschikbare_tijd_uren
FROM prs_perslid_inzetbaar i;
@@ -10488,7 +10545,8 @@ AS
NVL (b.beschikbare_tijd_uren, 0) beschikbare_uren
FROM nour_v_intern_uitv uitv, nour_v_plandag dat, nour_v_beschikking b
WHERE b.prs_perslid_key(+) = uitv.prs_perslid_key
AND b.plandag(+) = dat.dag
AND upper(b.plandag(+)) = upper(dat.dag)
OR upper(b.plandag_eng(+))= upper(dat.dag )
ORDER BY dat.datum;
-- Stap 4: een view voor een kalender rapport met opdrachten waar een planning en raming op zit