UWVA#36431 Passend mandaat opzoeken in organisatieboom savepoint
svn path=/Database/trunk/; revision=34962
This commit is contained in:
@@ -40,6 +40,10 @@ AS
|
||||
FUNCTION getfactuurkostenplaats (pfactuur_key IN NUMBER)
|
||||
RETURN NUMBER;
|
||||
|
||||
FUNCTION getfiatteur (pfactuur_key IN NUMBER,
|
||||
pexcludekey IN NUMBER DEFAULT NULL)
|
||||
RETURN NUMBER;
|
||||
|
||||
FUNCTION sprintf (ps IN VARCHAR2 , p_factuur_key IN NUMBER) RETURN VARCHAR2;
|
||||
END fin;
|
||||
/
|
||||
@@ -904,6 +908,7 @@ AS
|
||||
END;
|
||||
|
||||
-- zoek de kostenplaats van een (gekoppelde) factuur op
|
||||
-- Bij voorkeur niet meer gebruiken sinds v2017.2
|
||||
FUNCTION getfactuurkostenplaats (pfactuur_key IN NUMBER)
|
||||
RETURN NUMBER
|
||||
IS
|
||||
@@ -948,6 +953,62 @@ AS
|
||||
|
||||
RETURN kpkey;
|
||||
END;
|
||||
-- zoek de fiatteur van een (gekoppelde) factuur op
|
||||
-- -1 als niet gevonden
|
||||
FUNCTION getfiatteur (pfactuur_key IN NUMBER,
|
||||
pexcludekey IN NUMBER DEFAULT NULL)
|
||||
RETURN NUMBER
|
||||
IS
|
||||
c_key fin_factuur.cnt_contract_key%TYPE;
|
||||
b_key fin_factuur.bes_bestelopdr_key%TYPE;
|
||||
o_key fin_factuur.mld_opdr_key%TYPE;
|
||||
ftot fin_factuur.fin_factuur_totaal%TYPE;
|
||||
ftotb fin_factuur.fin_factuur_totaal_btw%TYPE;
|
||||
kpkey prs_kostenplaats.prs_kostenplaats_key%TYPE;
|
||||
ldisckey ins_tab_discipline.ins_discipline_key%TYPE;
|
||||
kskey prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
linclbtw prs_kostensoort.prs_kostensoort_btw%TYPE;
|
||||
lbedrag fin_factuur.fin_factuur_totaal%TYPE;
|
||||
BEGIN
|
||||
SELECT mld_opdr_key, cnt_contract_key, bes_bestelopdr_key, fin_factuur_totaal, fin_factuur_totaal_btw
|
||||
INTO o_key, c_key, b_key, ftot, ftotb
|
||||
FROM fin_factuur
|
||||
WHERE fin_factuur_key = pfactuur_key;
|
||||
|
||||
CASE
|
||||
WHEN b_key IS NOT NULL
|
||||
THEN
|
||||
SELECT MAX (b.prs_kostenplaats_key)
|
||||
INTO kpkey
|
||||
FROM bes_bestelopdr_item boi, bes_bestelling_item bbi, bes_bestelopdr bo, bes_bestelling b
|
||||
WHERE bbi.bes_bestelling_key = b.bes_bestelling_key
|
||||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||||
AND boi.bes_bestelopdr_key = b_key;
|
||||
WHEN c_key IS NOT NULL
|
||||
THEN
|
||||
SELECT c.prs_kostenplaats_key
|
||||
INTO kpkey
|
||||
FROM cnt_contract c
|
||||
WHERE cnt_contract_key = c_key;
|
||||
WHEN o_key IS NOT NULL
|
||||
THEN
|
||||
SELECT COALESCE (o.prs_kostenplaats_key, m.prs_kostenplaats_key)
|
||||
INTO kpkey
|
||||
FROM mld_opdr o, mld_melding m
|
||||
WHERE o.mld_melding_key = m.mld_melding_key AND mld_opdr_key = o_key;
|
||||
ELSE
|
||||
RETURN -1;
|
||||
END CASE;
|
||||
|
||||
IF linclbtw = 1 THEN
|
||||
lbedrag := ftot + ftotb;
|
||||
ELSE
|
||||
lbedrag := ftot;
|
||||
END IF;
|
||||
|
||||
RETURN prs.getfiatteur(kpkey, pexcludekey, lbedrag, ldisckey);
|
||||
END;
|
||||
|
||||
FUNCTION sprintf (ps IN VARCHAR2 , p_factuur_key IN NUMBER)
|
||||
RETURN VARCHAR2
|
||||
|
||||
@@ -36,7 +36,7 @@ CREATE_VIEW(fac_v_noti_finreminder,0)
|
||||
AS
|
||||
SELECT 'FININF',
|
||||
'',
|
||||
prs.getkpverantwoordelijke (fin.getfactuurkostenplaats (f.fin_factuur_key), fac.getSetting('prs_approvemethod'), -1) budgethouder,
|
||||
fin.getfiatteur(f.fin_factuur_key) budgethouder,
|
||||
'Fiatteringsverzoek voor '
|
||||
|| COUNT (f.fin_factuur_key)
|
||||
|| DECODE (COUNT (f.fin_factuur_key), 1, ' factuur.', ' facturen.'),
|
||||
@@ -45,10 +45,10 @@ AS
|
||||
NULL,
|
||||
NULL
|
||||
FROM fin_factuur f
|
||||
WHERE prs.getkpverantwoordelijke (fin.getfactuurkostenplaats (f.fin_factuur_key), fac.getSetting('prs_approvemethod'), -1) <> -1 -- die kan ik geen bericht sturen
|
||||
WHERE fin.getfiatteur(f.fin_factuur_key) <> -1 -- die kan ik geen bericht sturen
|
||||
AND f.fin_factuur_statuses_key = 2
|
||||
AND f.fin_factuur_verwijder IS NULL
|
||||
GROUP BY prs.getkpverantwoordelijke (fin.getfactuurkostenplaats (f.fin_factuur_key), fac.getSetting('prs_approvemethod'), -1);
|
||||
GROUP BY fin.getfiatteur(f.fin_factuur_key);
|
||||
|
||||
-- Vooralsnog placeholders, moeten aangepast worden
|
||||
CREATE_VIEW(fin_v_api_facturen, 1) AS SELECT * from fin_factuur;
|
||||
@@ -156,11 +156,9 @@ AS
|
||||
f.fin_factuur_opmerking,
|
||||
(SELECT p.prs_perslid_naam_full
|
||||
FROM prs_v_perslid_fullnames_all p
|
||||
WHERE prs_perslid_key = budgethouder)
|
||||
WHERE prs_perslid_key = fin.getfiatteur(f.fin_factuur_key))
|
||||
budgethouder
|
||||
FROM (SELECT prs.getkpverantwoordelijke (prs_kostenplaats_key, 2, -1) budgethouder, f.*
|
||||
FROM (SELECT fin.getfactuurkostenplaats (f.fin_factuur_key) prs_kostenplaats_key, f.*
|
||||
FROM fin_factuur f) f) f,
|
||||
FROM fin_factuur f,
|
||||
prs_kostenplaats k,
|
||||
mld_opdr o,
|
||||
mld_melding m,
|
||||
@@ -172,7 +170,7 @@ AS
|
||||
bes_bestelopdr bo,
|
||||
prs_kostensoort ks,
|
||||
fin_factuur_statuses fs
|
||||
WHERE f.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||||
WHERE fin.getfactuurkostenplaats(f.fin_factuur_key) = k.prs_kostenplaats_key(+)
|
||||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||
AND f.mld_opdr_key = o.mld_opdr_key(+)
|
||||
AND o.mld_melding_key = m.mld_melding_key(+)
|
||||
|
||||
Reference in New Issue
Block a user