MNNL#62876 acceptatietijd per prio mogelijk

svn path=/Database/trunk/; revision=47648
This commit is contained in:
Peter Feij
2020-08-05 12:58:17 +00:00
parent a1cedcfd72
commit ad850edfe8
3 changed files with 22 additions and 12 deletions

View File

@@ -57,7 +57,7 @@ CREATE OR REPLACE PACKAGE mld AS
v_einduur OUT NUMBER,
v_werkdagen OUT NUMBER
);
FUNCTION getacceptdatum (startdate IN DATE, stdm_key IN NUMBER, alg_key IN NUMBER) RETURN DATE;
FUNCTION getacceptdatum (startdate IN DATE, stdm_key IN NUMBER, alg_key IN NUMBER, p_prio IN NUMBER DEFAULT 3) RETURN DATE;
FUNCTION getnettotijdsbesteding (p_opdr_key IN NUMBER, p_prs_key IN NUMBER DEFAULT NULL) RETURN NUMBER;
FUNCTION bepaalopdrmeldingvolgnr (p_melding_key IN NUMBER) RETURN NUMBER;
FUNCTION bepaalopdrcontractvolgnr (p_contract_key IN NUMBER) RETURN NUMBER;
@@ -2330,10 +2330,11 @@ CREATE OR REPLACE PACKAGE BODY mld AS
RETURN;
END;
FUNCTION getacceptdatum (startdate IN DATE, stdm_key IN NUMBER, alg_key IN NUMBER)
FUNCTION getacceptdatum (startdate IN DATE, stdm_key IN NUMBER, alg_key IN NUMBER, p_prio IN NUMBER DEFAULT 3)
RETURN DATE
IS
l_accepttijd_object mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie;
l_accepttijd_normaal mld_stdmelding.mld_stdmelding_t_accepttijd%TYPE := MLD_T_UITVOERTIJD(NULL, NULL); -- contructor initialisatie;
l_stdmelding_regime mld_stdmelding.mld_stdmelding_regime%TYPE;
l_ruimte_key alg_ruimte.alg_ruimte_key%TYPE;
l_beginuur alg_gebouw.alg_gebouw_beginuur%TYPE;
@@ -2341,13 +2342,24 @@ CREATE OR REPLACE PACKAGE BODY mld AS
l_werkdagen NUMBER;
l_uitvoertijdtype VARCHAR2(5);
BEGIN
SELECT mld_stdmelding_t_accepttijd,
SELECT DECODE (p_prio,
1, mld_stdmelding_t_accepttijd_pr1,
2, mld_stdmelding_t_accepttijd_pr2,
3, mld_stdmelding_t_accepttijd,
4, mld_stdmelding_t_accepttijd_pr4,
mld_stdmelding_t_accepttijd),
mld_stdmelding_t_accepttijd,
mld_stdmelding_regime
INTO l_accepttijd_object,
l_stdmelding_regime
INTO l_accepttijd_object, l_accepttijd_normaal, l_stdmelding_regime
FROM mld_stdmelding
WHERE mld_stdmelding_key = stdm_key;
-- Als je geen afwijkende acceptatietijd per prio hebt, dan is het die van Normaal
IF p_prio <> 3 AND l_accepttijd_object.tijdsduur IS NULL
THEN
l_accepttijd_object := l_accepttijd_normaal;
END IF;
-- mld_stdmelding_regime: 1) Kantoortijden regime
-- 2) Openingstijden regime
-- 3) 24/7 regime (negeert weekenden of vrije dagen)
@@ -2851,7 +2863,7 @@ IS
AND t.mld_srtkenmerk_verwijder IS NULL
AND v.mld_melding_key = pmelding_key
ORDER BY k.mld_kenmerk_volgnummer,
UPPER(COALESCE(mld_kenmerk_omschrijving, mld_srtkenmerk_omschrijving)); // field-order always in native language order
UPPER(COALESCE(mld_kenmerk_omschrijving, mld_srtkenmerk_omschrijving)); --field-order always in native language order
waarde mld_kenmerkmelding.mld_kenmerkmelding_waarde%TYPE;
builder VARCHAR2 (4000 CHAR);
BEGIN

View File

@@ -174,9 +174,10 @@ BEGIN
IF :new.mld_melding_acceptdatum_std IS NULL
OR UPDATING ('mld_melding_datum')
OR UPDATING ('mld_stdmelding_key')
OR UPDATING ('mld_melding_spoed')
THEN
:new.mld_melding_acceptdatum_std :=
mld.getacceptdatum (:new.mld_melding_datum, :new.mld_stdmelding_key, :new.mld_alg_onroerendgoed_keys);
mld.getacceptdatum (:new.mld_melding_datum, :new.mld_stdmelding_key, :new.mld_alg_onroerendgoed_keys, :new.mld_melding_spoed);
END IF;
-- Als prs_perslid_key_voor geen waarde heeft dan gelijk aan prs_perslid_key.

View File

@@ -1561,10 +1561,7 @@ AS
ELSE m.mld_melding_einddatum
END einddatum,
mld_melding_einddatum_std einddatum_std,
mld.getacceptdatum (m.mld_melding_datum,
m.mld_stdmelding_key,
og.alg_onroerendgoed_keys)
acceptdatum,
mld_melding_acceptdatum_std acceptdatum,
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5),
mld.getmeldingstatusdate (m.mld_melding_key, 1))
afgemeld,