ARAI#30402: Inspecties met QR codes gaan niet goed tbv realtime monitoring.

svn path=/Database/trunk/; revision=22796
This commit is contained in:
Maykel Geerdink
2014-10-06 11:39:13 +00:00
parent e88c6ee5f9
commit 5552eb191d

View File

@@ -4208,44 +4208,50 @@ CREATE OR REPLACE PACKAGE BODY fac AS
p_steps IN NUMBER DEFAULT 0)
RETURN DATE
IS
inspdate DATE;
vandaagdate DATE;
toekomst BOOLEAN;
nuoftoekomst BOOLEAN;
inspdate DATE;
inspdate_trunc DATE;
vandaagdate DATE;
toekomst BOOLEAN;
nuoftoekomst BOOLEAN;
BEGIN
inspdate := p_date;
IF p_eenheid IS NULL
THEN
RETURN NULL;
ELSIF p_eenheid = 0
THEN
inspdate := TRUNC(p_date, 'HH24');
inspdate_trunc := TRUNC(p_date, 'HH24');
vandaagdate := TRUNC(SYSDATE, 'HH24');
ELSE
inspdate := TRUNC(p_date, 'DDD');
inspdate_trunc := TRUNC(p_date, 'DDD');
vandaagdate := TRUNC(SYSDATE, 'DDD');
END IF;
toekomst := inspdate > vandaagdate;
toekomst := inspdate_trunc > vandaagdate;
-- De volgende inspectiedatum berekenen.
-- Maar let op, er kan een datum in de toekomst meegegeven zijn. Dan deze ook weer opleveren en niet de volgende berekenen.
-- Bij het meegegeven van de huidige datum en steps is 0 de huidige controledatum weer teruggeven.
IF NOT (p_steps = 0 AND toekomst) -- p_steps != 0 || !toekomst
THEN
-- Calulate next cyclus date.
-- Calulate next cyclus date m.b.v. voledige datum met tijd.
inspdate := calcnextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits);
END IF;
-- insdate is nog steeds geTRUNCt
nuoftoekomst := inspdate >= vandaagdate;
-- Nu insdate_trunc van de next cyclus date weer bepalen
IF p_eenheid = 0
THEN
inspdate_trunc := TRUNC(inspdate, 'HH24');
ELSE
inspdate_trunc := TRUNC(inspdate, 'DDD');
END IF;
nuoftoekomst := inspdate_trunc >= vandaagdate;
IF p_steps = 0
THEN
IF nuoftoekomst
THEN
RETURN inspdate;
ELSE
RETURN nextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, 0);
RETURN nextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, 0); -- voledige datum met tijd gebruiken
END IF;
ELSIF p_steps > 1 AND nuoftoekomst
THEN
@@ -4254,7 +4260,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
THEN
RETURN inspdate;
ELSE
RETURN nextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, p_steps - 1);
RETURN nextcyclusdate (inspdate, p_mode, p_eenheid, p_periode, p_bits, p_steps - 1); -- voledige datum met tijd gebruiken
END IF;
END;