BAMG#67179 -- Kostenplaatsen in import aanpassen
svn path=/Customer/trunk/; revision=54129
This commit is contained in:
101
BAMG/bamg.sql
101
BAMG/bamg.sql
@@ -456,53 +456,74 @@ BEGIN
|
||||
SET prs_perslid_externsyncdate = SYSDATE
|
||||
WHERE prs_perslid_key = v_perslid_key;
|
||||
|
||||
-- Welke kostenplaats staat er geregistreerd bij de persoon
|
||||
v_kostenplaats_nr := FLX.getflex ('PRS', 1000, v_perslid_key, 'P');
|
||||
IF COALESCE(v_kostenplaats_nr, '999') <> COALESCE(rec.prs_kenmerk3, '999')
|
||||
|
||||
-- Check of de persoon maandaat heeft op alle kostenplaatsen
|
||||
SELECT COUNT(*)
|
||||
INTO v_count
|
||||
FROM prs_perslidkostenplaats
|
||||
WHERE prs_perslid_key = v_perslid_key
|
||||
AND prs_perslidkostenplaats_boeken = 1
|
||||
AND prs_kostenplaats_key IS NULL;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
-- verwijder het oude mandaat en voeg een nieuw mandaat toe.
|
||||
-- eerst gaan we kijken of de nieuwe kostenplaats al bestaat.
|
||||
IF rec.prs_kenmerk3 IS NOT NULL
|
||||
IF v_kostenplaats_nr IS NOT NULL
|
||||
THEN
|
||||
-- Dan zetten maken we de kostenplaats leeg bij de persoon. Als iemand daarna
|
||||
-- de mandatering van alle kostenplaatsen verwijderd, wordt bij de import de
|
||||
-- default kostenplaats weer gelinkt.
|
||||
FLX.setflex ('PRS', 1000, v_perslid_key, 'P', NULL);
|
||||
END IF;
|
||||
ELSE
|
||||
IF COALESCE(v_kostenplaats_nr, '999') <> COALESCE(rec.prs_kenmerk3, '999')
|
||||
THEN
|
||||
-- verwijder het oude mandaat en voeg een nieuw mandaat toe.
|
||||
-- eerst gaan we kijken of de nieuwe kostenplaats al bestaat.
|
||||
IF rec.prs_kenmerk3 IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT prs_kostenplaats_key
|
||||
INTO v_kostenplaats_key_new
|
||||
FROM prs_kostenplaats
|
||||
WHERE prs_kostenplaats_nr = rec.prs_kenmerk3
|
||||
AND prs_kostenplaats_module = 'PRS';
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
INSERT INTO prs_kostenplaats( prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaats_module)
|
||||
VALUES (rec.prs_kenmerk3, rec.prs_kenmerk4, 'PRS')
|
||||
RETURNING prs_kostenplaats_key INTO v_kostenplaats_key_new;
|
||||
END;
|
||||
ELSE
|
||||
v_kostenplaats_key_new := -1;
|
||||
END IF;
|
||||
|
||||
-- nu gaan we de key van de oude kostenplaats opzoeken
|
||||
BEGIN
|
||||
SELECT prs_kostenplaats_key
|
||||
INTO v_kostenplaats_key_new
|
||||
INTO v_kostenplaats_key_oud
|
||||
FROM prs_kostenplaats
|
||||
WHERE prs_kostenplaats_nr = rec.prs_kenmerk3
|
||||
WHERE prs_kostenplaats_nr = v_kostenplaats_nr
|
||||
AND prs_kostenplaats_module = 'PRS';
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
INSERT INTO prs_kostenplaats( prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaats_module)
|
||||
VALUES (rec.prs_kenmerk3, rec.prs_kenmerk4, 'PRS')
|
||||
RETURNING prs_kostenplaats_key INTO v_kostenplaats_key_new;
|
||||
v_kostenplaats_key_oud := -1;
|
||||
END;
|
||||
ELSE
|
||||
v_kostenplaats_key_new := -1;
|
||||
|
||||
DELETE prs_perslidkostenplaats
|
||||
WHERE prs_perslid_key = v_perslid_key
|
||||
AND prs_kostenplaats_key = v_kostenplaats_key_oud;
|
||||
|
||||
IF v_kostenplaats_key_new <> -1
|
||||
THEN
|
||||
INSERT INTO prs_perslidkostenplaats (prs_perslid_key, prs_kostenplaats_key, prs_perslidkostenplaats_boeken, prs_perslidkostenplaats_inzage)
|
||||
VALUES (v_perslid_key, v_kostenplaats_key_new, 1, 0);
|
||||
END IF;
|
||||
|
||||
-- Pas de kostenplaats aan bij de persoon.
|
||||
FLX.setflex ('PRS', 1000, v_perslid_key, 'P', rec.prs_kenmerk3);
|
||||
END IF;
|
||||
|
||||
-- nu gaan we de key van de oude kostenplaats opzoeken
|
||||
BEGIN
|
||||
SELECT prs_kostenplaats_key
|
||||
INTO v_kostenplaats_key_oud
|
||||
FROM prs_kostenplaats
|
||||
WHERE prs_kostenplaats_nr = v_kostenplaats_nr
|
||||
AND prs_kostenplaats_module = 'PRS';
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_kostenplaats_key_oud := -1;
|
||||
END;
|
||||
|
||||
DELETE prs_perslidkostenplaats
|
||||
WHERE prs_perslid_key = v_perslid_key
|
||||
AND prs_kostenplaats_key = v_kostenplaats_key_oud;
|
||||
|
||||
IF v_kostenplaats_key_new <> -1
|
||||
THEN
|
||||
INSERT INTO prs_perslidkostenplaats (prs_perslid_key, prs_kostenplaats_key, prs_perslidkostenplaats_boeken, prs_perslidkostenplaats_inzage)
|
||||
VALUES (v_perslid_key, v_kostenplaats_key_new, 1, 0);
|
||||
END IF;
|
||||
|
||||
-- Pas de kostenplaats aan bij de persoon.
|
||||
FLX.setflex ('PRS', 1000, v_perslid_key, 'P', rec.prs_kenmerk3);
|
||||
END IF;
|
||||
|
||||
-- registreren van de leidinggevende
|
||||
@@ -613,19 +634,17 @@ CREATE OR REPLACE VIEW bamg_v_import_resultaat
|
||||
AS
|
||||
SELECT 'Organisatie' importtype,
|
||||
TRUNC (fac_import_datum_gelezen) datum,
|
||||
COUNT (*) aantal
|
||||
imp_log_omschrijving || ' - ' || imp_log_hint omschrijving
|
||||
FROM fac_import i, imp_log l
|
||||
WHERE fac_import_app_key = 42 -- organisatie import
|
||||
AND i.fac_import_key = l.fac_import_key
|
||||
AND imp_log_status = 'E'
|
||||
GROUP BY TRUNC (fac_import_datum_gelezen)
|
||||
UNION ALL
|
||||
SELECT 'Personen',
|
||||
TO_DATE (SUBSTR (fac_rapport_regel, 1, 10), 'dd-mm-yyyy'),
|
||||
COUNT (*)
|
||||
fac_rapport_regel
|
||||
FROM fac_rapport
|
||||
WHERE fac_rapport_node = 'PERSLID_E'
|
||||
GROUP BY SUBSTR (fac_rapport_regel, 1, 10);
|
||||
WHERE fac_rapport_node = 'PERSLID_E';
|
||||
|
||||
-- Contract reminder
|
||||
CREATE OR REPLACE VIEW bamg_v_noti_cntreminder_coll
|
||||
|
||||
Reference in New Issue
Block a user