YASK#73501 -- Periodieke taken SGE

YASK#76376 -- Export en verwerkingjobs voor facturen beschikbaar maken voor Mindlabs

svn path=/Customer/trunk/; revision=59500
This commit is contained in:
Arthur Egberink
2023-03-08 12:21:26 +00:00
parent 94443c95ca
commit 28bce63bf2

View File

@@ -2876,6 +2876,170 @@ SELECT fin_factuur_nr,
AND l.alg_district_key = 301 -- Levanto
AND f.fin_factuur_statuses_key = fs.fin_factuur_statuses_key;
-- Views en procedures voor de Exact export naar Veza voor Mindlabs
CREATE OR REPLACE VIEW yask_v_factuur_gegevens_veza
(
fin_factuur_key,
opdracht_id,
fin_factuur_datum,
fin_factuur_nr,
prs_bedrijf_key,
fin_factuurregel_omschrijving,
prs_kostensoort_refcode,
prs_kostensoort_oms,
fin_factuurregel_totaal,
fin_factuurregel_btw,
fin_btwtabelwaarde_code,
fin_btwtabelwaarde_key,
fin_factuurregel_nr,
fin_factuur_debiteur_nr,
fin_factuur_opmerking,
fin_factuur_boekmaand,
opdr_datum,
prs_kostenplaats_key,
mld_opdr_key,
cnt_contract_key,
bes_bestelopdr_key,
fin_factuur_statuses_key,
lev_kpn,
kpcode,
kdcode
)
AS
SELECT f.fin_factuur_key,
DECODE (
c.cnt_contract_key,
NULL, DECODE (
bo.bes_bestelopdr_key,
NULL, (SELECT sd.ins_srtdiscipline_prefix
|| m.mld_melding_key
|| '/'
|| o.mld_opdr_bedrijfopdr_volgnr
FROM mld_melding m,
mld_stdmelding std,
ins_tab_discipline d,
ins_srtdiscipline sd
WHERE m.mld_melding_key =
o.mld_melding_key
AND m.mld_stdmelding_key =
std.mld_stdmelding_key
AND std.mld_ins_discipline_key =
d.ins_discipline_key
AND d.ins_srtdiscipline_key =
sd.ins_srtdiscipline_key),
bo.bes_bestelopdr_id),
'C'
|| TO_CHAR (cnt_contract_nummer_intern)
|| DECODE (cnt_contract_versie,
NULL, NULL,
'.' || cnt_contract_versie))
opdracht_id,
f.fin_factuur_datum,
f.fin_factuur_nr,
COALESCE (b_c.prs_bedrijf_key,
COALESCE (b_o.prs_bedrijf_key, b_b.prs_bedrijf_key))
prs_bedrijf_key,
fr.fin_factuurregel_omschrijving,
k.prs_kostensoort_refcode,
k.prs_kostensoort_oms,
fr.fin_factuurregel_totaal,
ROUND (
fr.fin_factuurregel_totaal
* DECODE (btw.fin_btwtabelwaarde_verlegd,
1, 0,
btw.fin_btwtabelwaarde_perc / 100),
2)
fin_factuurregel_btw,
btw.fin_btwtabelwaarde_code,
btw.fin_btwtabelwaarde_key,
fr.fin_factuurregel_nr,
f.fin_factuur_debiteur_nr,
f.fin_factuur_opmerking,
f.fin_factuur_boekmaand,
COALESCE (
o.mld_opdr_datumbegin,
COALESCE (c.cnt_contract_looptijd_tot,
bo.bes_bestelopdr_datum)),
COALESCE (
o.prs_kostenplaats_key,
COALESCE (
c.prs_kostenplaats_key,
(SELECT DISTINCT b.prs_kostenplaats_key
FROM bes_bestelling b,
bes_bestelopdr_item boi,
bes_bestelling_item bi
WHERE bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key =
bi.bes_bestelopdr_item_key
AND bi.bes_bestelling_key = b.bes_bestelling_key))),
o.mld_opdr_key,
c.cnt_contract_key,
bo.bes_bestelopdr_key,
( -- status van de factuur is ingevoerd als er facturen van dezelfde leverancier en nummer zijn
-- met status ingevoerd of incompleet
SELECT DECODE (COUNT (*), 0, f.fin_factuur_statuses_key, 2)
FROM fin_factuur f_t,
cnt_contract c_t,
bes_bestelopdr b_t,
mld_opdr o_t
WHERE f_t.fin_factuur_verwijder IS NULL
AND f_t.mld_opdr_key = o_t.mld_opdr_key(+)
AND f_t.cnt_contract_key = c_t.cnt_contract_key(+)
AND f_t.bes_bestelopdr_key = b_t.bes_bestelopdr_key(+)
AND COALESCE (
o_t.mld_uitvoerende_keys,
COALESCE (b_t.prs_bedrijf_key,
c_t.cnt_prs_bedrijf_key)) =
COALESCE (
o.mld_uitvoerende_keys,
COALESCE (bo.prs_bedrijf_key,
c.cnt_prs_bedrijf_key))
AND f.fin_factuur_nr = f_t.fin_factuur_nr
AND f_t.fin_factuur_statuses_key IN (2, 3)
AND f.fin_factuur_statuses_key = 6)
fin_factuur_statuses_key,
lk.prs_kostenplaats_nr
lev_kpn,
(SELECT alg_gebouw_code
FROM alg_gebouw g
WHERE g.alg_gebouw_key = COALESCE(cg.alg_gebouw_key, og.alg_gebouw_key)),
(SELECT alg_gebouw_code
FROM alg_gebouw g
WHERE g.alg_gebouw_key = COALESCE(cg.alg_gebouw_key, og.alg_gebouw_key))
FROM fin_factuur f,
fin_factuurregel fr,
fin_btwtabelwaarde btw,
mld_opdr o,
mld_melding m,
mld_typeopdr ot,
cnt_contract c,
bes_bestelopdr bo,
prs_bedrijf b_o,
prs_bedrijf b_c,
prs_bedrijf b_b,
prs_kostensoort k,
prs_kostensoortgrp kg,
prs_kostenplaats lk,
alg_v_allonrgoed_gegevens og,
(SELECT kfr.fin_factuurregel_key, 8341 alg_gebouw_key -- MLTB Mindlabs Tilburg
FROM fin_factuurregel kfr) cg
WHERE f.fin_factuur_key = fr.fin_factuur_key
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
AND f.mld_opdr_key = o.mld_opdr_key(+)
AND o.mld_typeopdr_key = ot.mld_typeopdr_key(+)
AND o.mld_melding_key = m.mld_melding_key(+)
AND f.cnt_contract_key = c.cnt_contract_key(+)
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
AND bo.prs_bedrijf_key = b_b.prs_bedrijf_key(+)
AND o.mld_uitvoerende_keys = b_o.prs_bedrijf_key(+)
AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+)
AND k.prs_kostensoort_key = COALESCE(fr.prs_kostensoort_key, f.prs_kostensoort_key)
AND k.prs_kostenplaats_key = lk.prs_kostenplaats_key(+)
AND k.prs_kostensoortgrp_key = kg.prs_kostensoortgrp_key(+)
AND fr.fin_factuurregel_key = cg.fin_factuurregel_key(+)
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND f.fin_factuur_verwijder IS NULL;
CREATE OR REPLACE VIEW yask_v_noti_fin_factuur_note
(
code,
@@ -3234,6 +3398,52 @@ AS
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
CREATE OR REPLACE VIEW yask_v_noti_cntreminder
AS
SELECT 'CUST03' code,
NULL sender,
prs_perslid_key receiver,
'Taak "' || ins_srtcontrole_omschrijving || '" moet vandaag voor pand ' || ins_deel_omschrijving || ' uitgevoerd worden.' text,
ins_deel_key key,
NULL xkey
FROM (WITH
gepland
AS
(SELECT dsc.ins_deel_key, dsc.ins_srtcontrole_key, dsc.ins_deelsrtcontrole_plandatum
FROM ins_deelsrtcontrole dsc
WHERE dsc.ins_deelsrtcontrole_status = 0)
SELECT n.prs_perslid_key,
n.INS_SRTCONTROLE_KEY,
n.ins_deel_key,
n.ins_deel_omschrijving,
n.ins_srtcontrole_omschrijving,
g.ins_deelsrtcontrole_plandatum
FROM (SELECT p.prs_perslid_key,
sc.ins_srtcontrole_omschrijving,
dg.ins_deel_omschrijving,
dg.ins_deel_key,
sc.ins_srtcontrole_key
FROM ins_v_deel_gegevens dg,
ins_srtcontrole sc,
prs_perslid p,
fac_groeprechten gr,
fac_gebruikersgroep gg
WHERE dg.ins_srtdeel_key = sc.ins_srtinstallatie_key
AND dg.ins_discipline_omschrijving = 'Gebouw'
AND gr.ins_discipline_key = dg.ins_discipline_key
AND p.prs_perslid_key = gg.prs_perslid_key
AND gg.fac_groep_key = gr.fac_groep_key
AND gr.fac_groep_key = 1161 -- SGE_gebouw_inspecties
) n
JOIN gepland g
ON n.ins_deel_key = g.ins_deel_key(+) AND n.ins_srtcontrole_key = g.ins_srtcontrole_key(+))
WHERE TRUNC (COALESCE (ins_deelsrtcontrole_plandatum,
fac.nextcyclusdatedeel (ins_deel_key, ins_srtcontrole_key, 1)
)) =
TRUNC (SYSDATE)
GROUP BY prs_perslid_key, ins_srtcontrole_omschrijving, ins_deel_omschrijving, ins_deel_key;
-- Views voor het opleveren van bijlagen
CREATE OR REPLACE VIEW yask_v_export_factuur_bijlage
AS