PNBR#62081: Inrichten bezoekersmodule + aanzetten; package uitbreiden voor bijwerken kenmerken
svn path=/Customer/trunk/; revision=47084
This commit is contained in:
346
PNBR/pnbr.sql
346
PNBR/pnbr.sql
@@ -146,6 +146,12 @@ AS
|
||||
p_kenmerkdomein_key NUMBER,
|
||||
p_kenmerk_waarde VARCHAR2)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
PROCEDURE set_kenmerk(p_module IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_link_key IN NUMBER,
|
||||
p_kenmerk_waarde IN VARCHAR2,
|
||||
p_history IN NUMBER);
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -488,6 +494,346 @@ AS
|
||||
v_kenmerk_waarde);
|
||||
END;
|
||||
|
||||
PROCEDURE set_kenmerk(p_module IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_link_key IN NUMBER,
|
||||
p_kenmerk_waarde IN VARCHAR2,
|
||||
p_history IN NUMBER)
|
||||
AS
|
||||
v_count NUMBER;
|
||||
v_niveau VARCHAR2 (1);
|
||||
BEGIN
|
||||
CASE p_module
|
||||
WHEN 'PRS'
|
||||
THEN
|
||||
-- niveau van prs_kenmerk ophalen, omdat deze ook in prs_kenmerklink wordt
|
||||
-- opgeslagen (da's dus redundant..?)
|
||||
SELECT prs_kenmerk_niveau
|
||||
INTO v_niveau
|
||||
FROM prs_kenmerk
|
||||
WHERE prs_kenmerk_key = p_kenmerk_key;
|
||||
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM prs_kenmerklink
|
||||
WHERE prs_link_key = p_link_key
|
||||
AND prs_kenmerk_key = p_kenmerk_key
|
||||
AND prs_kenmerklink_verwijder IS NULL;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
IF p_kenmerk_waarde IS NULL
|
||||
THEN
|
||||
DELETE prs_kenmerklink
|
||||
WHERE prs_link_key = p_link_key
|
||||
AND prs_kenmerk_key = p_kenmerk_key
|
||||
AND prs_kenmerklink_verwijder IS NULL;
|
||||
ELSE
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde = p_kenmerk_waarde
|
||||
WHERE prs_link_key = p_link_key
|
||||
AND prs_kenmerk_key = p_kenmerk_key
|
||||
AND prs_kenmerklink_verwijder IS NULL;
|
||||
END IF;
|
||||
ELSE
|
||||
IF p_kenmerk_key IS NOT NULL AND p_kenmerk_waarde IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO prs_kenmerklink (prs_kenmerk_key,
|
||||
prs_link_key,
|
||||
prs_kenmerklink_niveau,
|
||||
prs_kenmerklink_waarde)
|
||||
VALUES (p_kenmerk_key,
|
||||
p_link_key,
|
||||
v_niveau,
|
||||
p_kenmerk_waarde);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
WHEN 'ALG'
|
||||
THEN
|
||||
-- niveau van prs_kenmerk ophalen, omdat deze ook in prs_kenmerklink wordt
|
||||
-- opgeslagen (da's dus redundant..?)
|
||||
SELECT alg_kenmerk_niveau
|
||||
INTO v_niveau
|
||||
FROM alg_kenmerk
|
||||
WHERE alg_kenmerk_key = p_kenmerk_key;
|
||||
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM alg_onrgoedkenmerk
|
||||
WHERE alg_onrgoed_key = p_link_key
|
||||
AND alg_kenmerk_key = p_kenmerk_key
|
||||
AND alg_onrgoedkenmerk_verwijder IS NULL;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
IF p_kenmerk_waarde IS NULL
|
||||
THEN
|
||||
DELETE alg_onrgoedkenmerk
|
||||
WHERE alg_onrgoed_key = p_link_key
|
||||
AND alg_kenmerk_key = p_kenmerk_key
|
||||
AND alg_onrgoedkenmerk_verwijder IS NULL;
|
||||
ELSE
|
||||
UPDATE alg_onrgoedkenmerk
|
||||
SET alg_onrgoedkenmerk_waarde = p_kenmerk_waarde
|
||||
WHERE alg_onrgoed_key = p_link_key
|
||||
AND alg_kenmerk_key = p_kenmerk_key
|
||||
AND alg_onrgoedkenmerk_verwijder IS NULL;
|
||||
END IF;
|
||||
ELSE
|
||||
IF p_kenmerk_key IS NOT NULL AND p_kenmerk_waarde IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO alg_onrgoedkenmerk (alg_kenmerk_key,
|
||||
alg_onrgoed_key,
|
||||
alg_onrgoed_niveau,
|
||||
alg_onrgoedkenmerk_waarde)
|
||||
VALUES (p_kenmerk_key,
|
||||
p_link_key,
|
||||
v_niveau,
|
||||
p_kenmerk_waarde);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
WHEN 'BEZ'
|
||||
THEN
|
||||
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM bez_kenmerkwaarde
|
||||
WHERE bez_bezoekers_key = p_link_key
|
||||
AND bez_kenmerk_key = p_kenmerk_key
|
||||
AND bez_kenmerkwaarde_verwijder IS NULL;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
IF p_kenmerk_waarde IS NULL
|
||||
THEN
|
||||
DELETE bez_kenmerkwaarde
|
||||
WHERE bez_bezoekers_key = p_link_key
|
||||
AND bez_kenmerk_key = p_kenmerk_key
|
||||
AND bez_kenmerkwaarde_verwijder IS NULL;
|
||||
ELSE
|
||||
UPDATE bez_kenmerkwaarde
|
||||
SET bez_kenmerkwaarde_waarde = p_kenmerk_waarde
|
||||
WHERE bez_bezoekers_key = p_link_key
|
||||
AND bez_kenmerk_key = p_kenmerk_key
|
||||
AND bez_kenmerkwaarde_verwijder IS NULL;
|
||||
END IF;
|
||||
ELSE
|
||||
IF p_kenmerk_key IS NOT NULL AND p_kenmerk_waarde IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO bez_kenmerkwaarde (bez_kenmerk_key,
|
||||
bez_bezoekers_key,
|
||||
bez_kenmerkwaarde_waarde)
|
||||
VALUES (p_kenmerk_key,
|
||||
p_link_key,
|
||||
p_kenmerk_waarde);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
WHEN 'MLD'
|
||||
THEN
|
||||
-- melding- of opdrachtkenmerk?
|
||||
SELECT mld_kenmerk_niveau
|
||||
INTO v_niveau
|
||||
FROM mld_kenmerk
|
||||
WHERE mld_kenmerk_key = p_kenmerk_key;
|
||||
|
||||
CASE v_niveau
|
||||
WHEN 'O'
|
||||
THEN
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM mld_kenmerkopdr
|
||||
WHERE mld_opdr_key = p_link_key
|
||||
AND mld_kenmerk_key = p_kenmerk_key
|
||||
AND mld_kenmerkopdr_verwijder IS NULL;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
IF p_kenmerk_waarde IS NULL
|
||||
THEN
|
||||
DELETE mld_kenmerkopdr
|
||||
WHERE mld_opdr_key = p_link_key
|
||||
AND mld_kenmerk_key = p_kenmerk_key
|
||||
AND mld_kenmerkopdr_verwijder IS NULL;
|
||||
ELSE
|
||||
UPDATE mld_kenmerkopdr
|
||||
SET mld_kenmerkopdr_waarde = p_kenmerk_waarde
|
||||
WHERE mld_opdr_key = p_link_key
|
||||
AND mld_kenmerk_key = p_kenmerk_key
|
||||
AND mld_kenmerkopdr_verwijder IS NULL;
|
||||
END IF;
|
||||
ELSE
|
||||
IF p_kenmerk_key IS NOT NULL AND p_kenmerk_waarde IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO mld_kenmerkopdr (mld_kenmerk_key,
|
||||
mld_opdr_key,
|
||||
mld_kenmerkopdr_waarde)
|
||||
VALUES (p_kenmerk_key,
|
||||
p_link_key,
|
||||
p_kenmerk_waarde);
|
||||
END IF;
|
||||
END IF;
|
||||
WHEN 'S'
|
||||
THEN
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM mld_kenmerkmelding
|
||||
WHERE mld_melding_key = p_link_key
|
||||
AND mld_kenmerk_key = p_kenmerk_key
|
||||
AND mld_kenmerkmelding_verwijder IS NULL;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
IF p_kenmerk_waarde IS NULL
|
||||
THEN
|
||||
DELETE mld_kenmerkmelding
|
||||
WHERE mld_melding_key = p_link_key
|
||||
AND mld_kenmerk_key = p_kenmerk_key
|
||||
AND mld_kenmerkmelding_verwijder IS NULL;
|
||||
ELSE
|
||||
UPDATE mld_kenmerkmelding
|
||||
SET mld_kenmerkmelding_waarde = p_kenmerk_waarde
|
||||
WHERE mld_melding_key = p_link_key
|
||||
AND mld_kenmerk_key = p_kenmerk_key
|
||||
AND mld_kenmerkmelding_verwijder IS NULL;
|
||||
END IF;
|
||||
ELSE
|
||||
IF p_kenmerk_key IS NOT NULL AND p_kenmerk_waarde IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO mld_kenmerkmelding (mld_kenmerk_key,
|
||||
mld_melding_key,
|
||||
mld_kenmerkmelding_waarde)
|
||||
VALUES (p_kenmerk_key,
|
||||
p_link_key,
|
||||
p_kenmerk_waarde);
|
||||
END IF;
|
||||
END IF;
|
||||
END CASE;
|
||||
|
||||
WHEN 'FIN'
|
||||
THEN
|
||||
-- niveau van prs_kenmerk ophalen, omdat deze ook in prs_kenmerklink wordt
|
||||
-- opgeslagen (da's dus redundant..?)
|
||||
SELECT fin_kenmerk_type
|
||||
INTO v_niveau
|
||||
FROM fin_kenmerk
|
||||
WHERE fin_kenmerk_key = p_kenmerk_key;
|
||||
|
||||
|
||||
IF v_niveau = 'F'
|
||||
THEN
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM fin_kenmerkfactuur
|
||||
WHERE fin_factuur_key = p_link_key
|
||||
AND fin_kenmerk_key = p_kenmerk_key
|
||||
AND fin_kenmerkfactuur_verwijder IS NULL;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
IF p_kenmerk_waarde IS NULL
|
||||
THEN
|
||||
DELETE fin_kenmerkfactuur
|
||||
WHERE fin_factuur_key = p_link_key
|
||||
AND fin_kenmerk_key = p_kenmerk_key
|
||||
AND fin_kenmerkfactuur_verwijder IS NULL;
|
||||
ELSE
|
||||
UPDATE fin_kenmerkfactuur
|
||||
SET fin_kenmerkfactuur_waarde = p_kenmerk_waarde
|
||||
WHERE fin_factuur_key = p_link_key
|
||||
AND fin_kenmerk_key = p_kenmerk_key
|
||||
AND fin_kenmerkfactuur_verwijder IS NULL;
|
||||
END IF;
|
||||
ELSE
|
||||
IF p_kenmerk_key IS NOT NULL AND p_kenmerk_waarde IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO fin_kenmerkfactuur (fin_kenmerk_key,
|
||||
fin_factuur_key,
|
||||
fin_kenmerkfactuur_waarde)
|
||||
VALUES (p_kenmerk_key,
|
||||
p_link_key,
|
||||
p_kenmerk_waarde);
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
-- Kenmerk bij factuurregel
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM fin_kenmerkfactregel
|
||||
WHERE fin_factuurregel_key = p_link_key
|
||||
AND fin_kenmerk_key = p_kenmerk_key
|
||||
AND fin_kenmerkfactregel_verwijder IS NULL;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
IF p_kenmerk_waarde IS NULL
|
||||
THEN
|
||||
DELETE fin_kenmerkfactregel
|
||||
WHERE fin_factuurregel_key = p_link_key
|
||||
AND fin_kenmerk_key = p_kenmerk_key
|
||||
AND fin_kenmerkfactregel_verwijder IS NULL;
|
||||
ELSE
|
||||
UPDATE fin_kenmerkfactregel
|
||||
SET fin_kenmerkfactregel_waarde = p_kenmerk_waarde
|
||||
WHERE fin_factuurregel_key = p_link_key
|
||||
AND fin_kenmerk_key = p_kenmerk_key
|
||||
AND fin_kenmerkfactregel_verwijder IS NULL;
|
||||
END IF;
|
||||
ELSE
|
||||
IF p_kenmerk_key IS NOT NULL AND p_kenmerk_waarde IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO fin_kenmerkfactregel (fin_kenmerk_key,
|
||||
fin_factuurregel_key,
|
||||
fin_kenmerkfactregel_waarde)
|
||||
VALUES (p_kenmerk_key,
|
||||
p_link_key,
|
||||
p_kenmerk_waarde);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
WHEN 'RES'
|
||||
THEN
|
||||
-- res_rsv_ruimte kenmerk
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM res_kenmerkwaarde
|
||||
WHERE res_rsv_ruimte_key = p_link_key
|
||||
AND res_kenmerk_key = p_kenmerk_key
|
||||
AND res_kenmerkwaarde_verwijder IS NULL;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
IF p_kenmerk_waarde IS NULL
|
||||
THEN
|
||||
DELETE res_kenmerkwaarde
|
||||
WHERE res_rsv_ruimte_key = p_link_key
|
||||
AND res_kenmerk_key = p_kenmerk_key
|
||||
AND res_kenmerkwaarde_verwijder IS NULL;
|
||||
ELSE
|
||||
UPDATE res_kenmerkwaarde
|
||||
SET res_kenmerkreservering_waarde = p_kenmerk_waarde
|
||||
WHERE res_rsv_ruimte_key = p_link_key
|
||||
AND res_kenmerk_key = p_kenmerk_key
|
||||
AND res_kenmerkwaarde_verwijder IS NULL;
|
||||
END IF;
|
||||
ELSE
|
||||
IF p_kenmerk_key IS NOT NULL AND p_kenmerk_waarde IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO res_kenmerkwaarde (res_kenmerk_key,
|
||||
res_rsv_ruimte_key,
|
||||
res_kenmerkreservering_waarde)
|
||||
VALUES (p_kenmerk_key,
|
||||
p_link_key,
|
||||
p_kenmerk_waarde);
|
||||
END IF;
|
||||
END IF;
|
||||
END CASE;
|
||||
END;
|
||||
|
||||
|
||||
FUNCTION get_kenmerkwaarde (p_kenmerk_type VARCHAR2,
|
||||
p_kenmerkdomein_key NUMBER,
|
||||
|
||||
Reference in New Issue
Block a user