BRCF#87236 Scope automatisch overzetten van contracten naar relatiebeheer
svn path=/Database/trunk/; revision=68995
This commit is contained in:
@@ -1794,8 +1794,10 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
l_alg_gebouw_key alg_v_allonrgoed_gegevens.alg_gebouw_key%TYPE;
|
||||
l_alg_verdieping_key alg_v_allonrgoed_gegevens.alg_verdieping_key %TYPE;
|
||||
l_alg_ruimte_key alg_v_allonrgoed_gegevens.alg_ruimte_key%TYPE;
|
||||
l_alg_type alg_v_allonrgoed_gegevens.alg_type%TYPE;
|
||||
l_prs_dienst_key NUMBER;
|
||||
l_prs_bedrijf_key prs_v_aanwezigbedrijf.prs_bedrijf_key%TYPE;
|
||||
l_cnt_contract_key cnt_contract.cnt_contract_key%TYPE;
|
||||
l_aantal NUMBER;
|
||||
l_bdl_tijdsduur prs_bedrijfdienstlocatie.prs_bdl_t_uitvoertijd.tijdsduur%TYPE;
|
||||
l_bdl_eenheid prs_bedrijfdienstlocatie.prs_bdl_t_uitvoertijd.eenheid%TYPE;
|
||||
@@ -1899,9 +1901,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
, mto.mld_typeopdr_fvs
|
||||
, mto.mld_typeopdr_gvs
|
||||
, mto.mld_typeopdr_isofferte
|
||||
, mld_typeopdr_kosten
|
||||
, mld_typeopdr_kosten_verplicht
|
||||
, mld_typeopdr_slamode
|
||||
, mto.mld_typeopdr_kosten
|
||||
, mto.mld_typeopdr_kosten_verplicht
|
||||
, mto.mld_typeopdr_slamode
|
||||
INTO l_mld_typeopdr_key
|
||||
, l_mld_typeopdr_fvs
|
||||
, l_mld_typeopdr_gvs
|
||||
@@ -2043,9 +2045,11 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
SELECT g.alg_gebouw_key
|
||||
, g.alg_verdieping_key
|
||||
, g.alg_ruimte_key
|
||||
, g.alg_type
|
||||
INTO l_alg_gebouw_key
|
||||
, l_alg_verdieping_key
|
||||
, l_alg_ruimte_key
|
||||
, l_alg_type
|
||||
FROM alg_v_allonrgoed_gegevens g
|
||||
WHERE g.alg_onroerendgoed_keys = l_mld_alg_onroerendgoed_keys;
|
||||
END IF;
|
||||
@@ -2066,7 +2070,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
|
||||
IF l_prs_dienst_key IS NOT NULL
|
||||
THEN
|
||||
-- Controleer of er <20><>n bedrijf is dat deze dienst levert (op deze locatie/dit gebouw)
|
||||
-- Controleer of er <20><>n bedrijf is dat deze dienst levert (op deze locatie/dit gebouw) via prs_bedrijfdienstlocatie
|
||||
IF l_alg_gebouw_key IS NOT NULL
|
||||
THEN
|
||||
SELECT MIN(bdl.prs_bedrijf_key) prs_bedrijf_key
|
||||
@@ -2081,10 +2085,13 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
, prs_v_aanwezigbedrijf b
|
||||
WHERE bdl.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND bdl.prs_dienst_key = l_prs_dienst_key
|
||||
AND ((bdl.alg_gebouw_key = l_alg_gebouw_key
|
||||
OR bdl.alg_gebouw_key IS NULL)
|
||||
AND (bdl.alg_locatie_key = l_mld_alg_locatie_key
|
||||
OR bdl.alg_locatie_key IS NULL))
|
||||
AND ( ( bdl.alg_gebouw_key = l_alg_gebouw_key
|
||||
OR bdl.alg_gebouw_key IS NULL
|
||||
)
|
||||
AND ( bdl.alg_locatie_key = l_mld_alg_locatie_key
|
||||
OR bdl.alg_locatie_key IS NULL
|
||||
)
|
||||
)
|
||||
AND bdl.mld_autoorder = 1;
|
||||
ELSIF l_mld_alg_locatie_key IS NOT NULL
|
||||
THEN
|
||||
@@ -2100,8 +2107,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
, prs_v_aanwezigbedrijf b
|
||||
WHERE bdl.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND bdl.prs_dienst_key = l_prs_dienst_key
|
||||
AND (bdl.alg_locatie_key = l_mld_alg_locatie_key
|
||||
OR bdl.alg_locatie_key IS NULL)
|
||||
AND ( bdl.alg_locatie_key = l_mld_alg_locatie_key
|
||||
OR bdl.alg_locatie_key IS NULL
|
||||
)
|
||||
AND bdl.mld_autoorder = 1;
|
||||
ELSE
|
||||
SELECT MIN(bdl.prs_bedrijf_key) prs_bedrijf_key
|
||||
@@ -2126,6 +2134,56 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
THEN
|
||||
l_prs_bedrijf_key := NULL;
|
||||
END IF;
|
||||
--
|
||||
-- Controleer of er <20><>n bedrijf is dat deze dienst levert (op deze locatie/dit gebouw) via cnt_contract_plaats
|
||||
IF l_aantal <> 1
|
||||
THEN
|
||||
IF l_mld_alg_onroerendgoed_keys IS NOT NULL
|
||||
THEN
|
||||
SELECT MIN(c.cnt_prs_bedrijf_key) cnt_prs_bedrijf_key
|
||||
, MIN(cp.cnt_contract_key) cnt_contract_key
|
||||
, COUNT(DISTINCT c.cnt_prs_bedrijf_key) aantal
|
||||
INTO l_prs_bedrijf_key
|
||||
, l_cnt_contract_key
|
||||
, l_aantal
|
||||
FROM cnt_contract c
|
||||
, cnt_contract_plaats cp
|
||||
, cnt_disc_params cd
|
||||
WHERE cp.cnt_contract_key = c.cnt_contract_key
|
||||
AND cd.cnt_ins_discipline_key = c.ins_discipline_key
|
||||
AND SYSDATE BETWEEN c.cnt_contract_looptijd_van
|
||||
AND c.cnt_contract_looptijd_tot
|
||||
AND c.cnt_contract_verwijder IS NULL
|
||||
AND cd.cnt_srtcontract_type IN (3,5)
|
||||
AND cp.cnt_alg_plaats_key = l_mld_alg_onroerendgoed_keys
|
||||
AND cp.cnt_alg_plaats_code = l_alg_type
|
||||
AND c.prs_dienst_key = l_prs_dienst_key;
|
||||
ELSE
|
||||
SELECT MIN(c.cnt_prs_bedrijf_key) cnt_prs_bedrijf_key
|
||||
, MIN(cp.cnt_contract_key) cnt_contract_key
|
||||
, COUNT(DISTINCT c.cnt_prs_bedrijf_key) aantal
|
||||
INTO l_prs_bedrijf_key
|
||||
, l_cnt_contract_key
|
||||
, l_aantal
|
||||
FROM cnt_contract c
|
||||
, cnt_contract_plaats cp
|
||||
, cnt_disc_params cd
|
||||
WHERE cp.cnt_contract_key = c.cnt_contract_key
|
||||
AND cd.cnt_ins_discipline_key = c.ins_discipline_key
|
||||
AND SYSDATE BETWEEN c.cnt_contract_looptijd_van
|
||||
AND c.cnt_contract_looptijd_tot
|
||||
AND c.cnt_contract_verwijder IS NULL
|
||||
AND cd.cnt_srtcontract_type IN (3,5)
|
||||
AND cp.cnt_alg_plaats_key = l_mld_alg_locatie_key
|
||||
AND cp.cnt_alg_plaats_code = 'L'
|
||||
AND c.prs_dienst_key = l_prs_dienst_key;
|
||||
END IF;
|
||||
IF l_aantal <> 1
|
||||
THEN
|
||||
l_prs_bedrijf_key := NULL;
|
||||
l_cnt_contract_key := NULL;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
IF l_prs_bedrijf_key IS NULL
|
||||
THEN
|
||||
@@ -2252,6 +2310,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
mld_opdr_bedrijfopdr_volgnr,
|
||||
mld_typeopdr_key,
|
||||
mld_uitvoerende_keys,
|
||||
cnt_contract_key,
|
||||
prs_perslid_key,
|
||||
prs_kostenplaats_key,
|
||||
prs_kostensoort_key,
|
||||
@@ -2267,6 +2326,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
mld.bepaalopdrmeldingvolgnr(p_melding_key),
|
||||
l_mld_typeopdr_key,
|
||||
l_prs_bedrijf_key,
|
||||
l_cnt_contract_key,
|
||||
CASE
|
||||
WHEN l_haswrite = 1
|
||||
THEN l_prs_perslid_key
|
||||
|
||||
Reference in New Issue
Block a user