YAXX#90546 Automatisch afvangen ontbrekende kostensoort bij Mareon-facturen

YAXX#89542 Uitbreiding offerteproces in Purchase to Pay behandelen
YAXX#90620 Voorkomen dat handmatig afgeronde opdrachten in de doorbelastingsrap komen.

svn path=/Customer/trunk/; revision=70266
This commit is contained in:
Arthur Egberink
2025-09-10 11:51:06 +00:00
parent c371a59d7b
commit 605ea27de7

View File

@@ -1601,7 +1601,7 @@ AS
AND d.ins_srtdiscipline_key = k.mld_stdmelding_key
AND k.mld_kenmerk_niveau = 'T' -- Vakgroeptype
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_code LIKE 'TOTAALEENMALIGEKOSTEN';
AND sk.mld_srtkenmerk_code LIKE 'KG_TOTAALEENMALIGEKOSTEN';
dbms_output.put_line ('v_kenmerk_key eenmalige kosten:' || v_kenmerk_key);
v_kosten := FAC.safe_to_number (FLX.getflex('MLD', v_kenmerk_key, v_melding_key, 1));
@@ -4478,6 +4478,83 @@ WITH
AND mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
AND aog.alg_gebouw_key = g.alg_gebouw_key;
-- Notificatie naar de FM-er (behandelaar van de melding) dat alle blokken uit de melding zijn afgehandeld.
CREATE OR REPLACE VIEW vbxx_v_noti_kenm_blok_afgeh
(
SENDER,
RECEIVER,
TEXT,
CODE,
KEY,
XKEY
)
AS
WITH
ftracking
AS
( SELECT t.fac_tracking_refkey mld_melding_key
FROM fac_tracking t
WHERE fac_tracking_oms LIKE '%Onderdeel is behandeld%'
AND NOT EXISTS
(SELECT 1
FROM mld_kenmerkblokmelding kbm
WHERE mld_kenmerkblokmelding_afmelddatum IS NULL
AND ins_discipline_key IS NOT NULL
AND t.fac_tracking_refkey = kbm.mld_melding_key)
AND t.fac_tracking_datum BETWEEN (SELECT fac_notificatie_job_nextrun
- fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE fac_notificatie_job_view = 'VBXX_V_NOTI_KENM_BLOK_AFGEH')
AND (SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE fac_notificatie_job_view = 'VBXX_V_NOTI_KENM_BLOK_AFGEH')
GROUP BY fac_tracking_refkey)
SELECT NULL,
m.mld_melding_behandelaar2_key,
'(Klant)taken van melding ##KEY## zijn afgemeld en dienen beoordeeld te worden.',
'CUST93',
m.mld_melding_key,
NULL
FROM mld_melding m, ftracking ft2
WHERE m.mld_melding_key = ft2.mld_melding_key AND m.mld_melding_behandelaar2_key IS NOT NULL;
CREATE OR REPLACE VIEW vbxx_v_noti_kenm_blok_reminder
AS
WITH
bof_rechten
AS
(SELECT gg.prs_perslid_key, ins_discipline_key, gr.fac_gebruiker_alg_level_write alg_level_write
FROM fac_functie f,
fac_groeprechten gr,
fac_groep g,
fac_gebruikersgroep gg
WHERE f.fac_functie_code = 'WEB_MLDBOF'
AND f.fac_functie_key = gr.fac_functie_key
AND gr.fac_groep_key = g.fac_groep_key
AND g.fac_groep_key = gg.fac_groep_key)
SELECT DISTINCT
NULL sender,
COALESCE (kbm.prs_perslid_key, br.prs_perslid_key) receiver,
'Offerte(s) m.b.t. melding ' || m.mld_melding_key || ' zijn afgemeld en dienen beoordeeld te worden' text,
'CUST94' code,
m.mld_melding_key key,
NULL xkey
FROM mld_kenmerkblokmelding kbm,
fac_tracking t,
bof_rechten br,
fac_v_my_locations ml,
mld_melding m
WHERE kbm.mld_melding_key = t.fac_tracking_refkey
AND kbm.mld_kenmerkblokmelding_afmelddatum IS NULL
AND t.fac_tracking_oms LIKE 'Behandeling is toegewezen aan behandelteam Facility Management klant%'
AND kbm.mld_melding_key = m.mld_melding_key
AND br.alg_level_write = ml.niveau
AND ml.prs_perslid_key = br.prs_perslid_key
AND ml.alg_locatie_key = m.mld_alg_locatie_key
AND kbm.ins_discipline_key = br.ins_discipline_key
AND TRUNC (SYSDATE) - TRUNC (fac_tracking_datum) = 7;
--
-- INKOOPFACTUREN RICHTING EXACT
--
@@ -5854,7 +5931,8 @@ AS
IS
SELECT mld_opdr_key, opdrachttype_key
FROM vbxx_v_kosten_doorbelasting
WHERE mld_statusopdr_key = 9
WHERE mld_statusopdr_key = 9 -- afgerond.
AND (UPPER(opdrachttype) like 'REVERSED%' OR factuurbedrag IS NOT NULL) -- ReversedBilling OF er is een factuur gekoppeld.
AND (alg_district_key = p_district_key OR p_district_key = -1);
v_errormsg VARCHAR (200);
@@ -6086,6 +6164,7 @@ AS
--- bit 9: Ordernummer niet aanwezig via scanning
--- bit 10: 3 weg matching maar verplichting niet afgemeld
--- bit 11: Bijlage niet aanwezig
--- bit 12: Kostensoort is niet ingevuld.
CURSOR ccor_0
IS
SELECT ordernr
@@ -6131,7 +6210,7 @@ IS
CURSOR cfactuur
IS
SELECT i.fin_factuur_key, factuurdatum, i.kenmerk1, i.kenmerk2, i.kenmerk3, i.kenmerk6, i.kenmerk7, i.kenmerk8, i.kenmerk9, i.kenmerk10, i.kenmerk11, i.kenmerk12, i.kenmerk13, i.factuurnr, i.ordernr, i.fac_imp_file_index, f.fin_factuur_totaal, f.fin_factuur_totaal_btw, f.mld_opdr_key, f.cnt_contract_key, f.bes_bestelopdr_key
SELECT i.fin_factuur_key, factuurdatum, i.kenmerk1, i.kenmerk2, i.kenmerk3, i.kenmerk6, i.kenmerk7, i.kenmerk8, i.kenmerk9, i.kenmerk10, i.kenmerk11, i.kenmerk12, i.kenmerk13, i.factuurnr, i.ordernr, i.fac_imp_file_index, f.fin_factuur_totaal, f.fin_factuur_totaal_btw, f.mld_opdr_key, f.cnt_contract_key, f.bes_bestelopdr_key, f.prs_kostensoort_key
FROM fac_imp_factuur i, fin_factuur f
WHERE i.fin_factuur_key IS NOT NULL
AND i.fac_import_key = p_import_key
@@ -6513,6 +6592,12 @@ BEGIN
END IF;
END IF;
IF rec.prs_kostensoort_key IS NULL
THEN
v_aanduiding_controle := 'ERROR: Kostensoort niet ingevuld bij de factuur' ;
track_error (v_aanduiding_controle, POWER(2,12), rec.fin_factuur_key, v_perslid_key);
END IF;
-- Controle of er al een factuur ontvangen is met hetzelfde factuurnummer en referentie
-- 1 Afgewezen
-- 2 Ingevoerd