NOVA#80968 NOVA0

svn path=/Customer/trunk/; revision=66961
This commit is contained in:
Maarten van der Heide
2024-11-07 19:58:51 +00:00
parent 6eb93915c9
commit a66c94687a

View File

@@ -128,12 +128,12 @@ BEGIN
DBMS_OUTPUT.put_line ('Niet gelukt om attentie te zetten.');
END;
/*
-- Find the lowest volgnummer of the Folder-flexfield.
-- Find the lowest volgnummer of the Folder-flexfield.
v_errormsg := 'Fout toevoegen opdracht-bijlage';
SELECT MIN (k1.mld_kenmerk_key)
SELECT MIN (k1.mld_kenmerk_key)
INTO v_folder_kkey
FROM mld_kenmerk k1, mld_srtkenmerk sk1
WHERE k1.mld_typeopdr_key = v_typeopdr_key
WHERE k1.mld_typeopdr_key = v_typeopdr_key
AND k1.mld_kenmerk_verwijder IS NULL
AND k1.mld_kenmerk_niveau = 'O'
AND k1.mld_srtkenmerk_key = sk1.mld_srtkenmerk_key
@@ -149,13 +149,13 @@ BEGIN
AND k2.mld_kenmerk_volgnummer < k1.mld_kenmerk_volgnummer);
*/
v_folder_kkey := 421;
IF v_folder_kkey IS NOT NULL
THEN
IF v_folder_kkey IS NOT NULL
THEN
--INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
-- VALUES (psessionid, 'kenmerkpath', 'MLD\O' || TO_CHAR (TRUNC (v_opdracht_key / 1000), 'FM0000') || '___\O' || v_opdracht_key || '\' || v_folder_kkey || '\');
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'kenmerkpath', 'MLD\O' || TO_CHAR (TRUNC (v_opdracht_key / 1000), 'FM0000') || '___\O' || v_opdracht_key || '\' || v_folder_kkey || '\');
END IF;
END IF;
-- Per 2021.1 mogelijk dat originele mail (incl. bijlagen?) ook wordt opgeslagen!
v_errormsg := 'Fout toevoegen originele mail';
@@ -1065,39 +1065,124 @@ AS
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER (10);
v_prijs NUMBER;
CURSOR res
CURSOR c1
IS
SELECT DISTINCT rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_key
FROM res_rsv_ruimte rrr,
res_rsv_artikel rra,
(SELECT fac.safe_to_number (fac_usrdata_omschr) export_days
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 161 -- BENQUE-koppeling
AND fac_usrdata_upper = 'BENQ_EXPORT_DAYS') b
WHERE rrr.res_rsv_ruimte_verwijder IS NULL
AND rrr.res_rsv_ruimte_van > fac.safe_to_date ('30-09-2024', 'dd-mm-yyyy')
AND rrr.res_status_fo_key = 2 -- Definitief/Of ook Optie?
--AND rrr.res_status_bo_key = 2 -- Geregistreerd
AND rrr.res_rsv_ruimte_dirtlevel = 0
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
AND fac.count_work_days (rrr.res_rsv_ruimte_van, SYSDATE) >= b.export_days
AND rrr.res_rsv_ruimte_key NOT IN
(SELECT res_rsv_ruimte_key
FROM res_kenmerkwaarde rkw, res_kenmerk rk
WHERE rkw.res_kenmerk_key = rk.res_kenmerk_key
AND rk.res_kenmerk_code = 'BENQ_ID'
AND rkw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
ORDER BY 1, 2;
WITH wachtdagen
AS (SELECT fac.safe_to_number (fac_usrdata_omschr) aantal
FROM fac_v_aanwezigusrdata
WHERE fac_usrtab_key = 161 -- BENQUE-koppeling
AND fac_usrdata_upper = 'BENQ_EXPORT_DAYS')
SELECT DISTINCT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '|' || TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) || '] '
aanduiding,
rrr.res_rsv_ruimte_key,
rra.res_rsv_artikel_key,
ra.res_artikel_key,
rra.res_status_bo_key
FROM wachtdagen wd, res_v_aanwezigrsv_ruimte rrr, res_v_aanwezigrsv_artikel rra, res_artikel ra
WHERE rrr.res_rsv_ruimte_van > fac.safe_to_date ('30-09-2024', 'dd-mm-yyyy')
AND rrr.res_status_fo_key = 2 -- Definitief/Of ook Optie?
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- TODO:Niet dirty?
AND fac.count_work_days (rrr.res_rsv_ruimte_van, SYSDATE) >= wd.aantal
AND NOT EXISTS -- Niet al doorgezet/Vervangen door check op Verwerkt?
(SELECT 1
FROM res_kenmerkwaarde rkw, res_kenmerk rk
WHERE rkw.res_kenmerk_key = rk.res_kenmerk_key
AND rk.res_kenmerk_code = 'BENQ_ID'
AND rkw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
AND rra.res_rsv_artikel_verwerkt IS NULL
AND rra.res_rsv_artikel_dirtlevel = 0 -- TODO:Niet dirty?
AND rra.res_artikel_key = ra.res_artikel_key
AND EXISTS -- Met artikel uit Benque-catalogus
(SELECT 1
FROM res_disc_params
WHERE prs_bedrijf_key = 3661 -- Benque-catalogus
AND res_ins_discipline_key = ra.res_discipline_key)
UNION ALL
SELECT DISTINCT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '|' || TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) || '] '
aanduiding,
rrr.res_rsv_ruimte_key,
NULL res_rsv_artikel_key,
NULL res_artikel_key,
rrr.res_status_bo_key
FROM wachtdagen wd, res_v_aanwezigrsv_ruimte rrr
WHERE rrr.res_rsv_ruimte_van > fac.safe_to_date ('30-09-2024', 'dd-mm-yyyy')
AND rrr.res_status_fo_key = 2 -- Definitief/Of ook Optie?
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- TODO:Niet dirty?
AND fac.count_work_days (rrr.res_rsv_ruimte_van, SYSDATE) >= wd.aantal
AND NOT EXISTS -- Niet al doorgezet/Vervangen door check op Verwerkt?
(SELECT 1
FROM res_kenmerkwaarde rkw, res_kenmerk rk
WHERE rkw.res_kenmerk_key = rk.res_kenmerk_key
AND rk.res_kenmerk_code = 'BENQ_ID'
AND rkw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
AND EXISTS -- Met artikel uit Benque-catalogus
(SELECT 1
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra, res_disc_params dp
WHERE rra.res_rsv_artikel_verwerkt IS NULL
AND rra.res_rsv_artikel_dirtlevel = 0 -- TODO:Niet dirty?
AND rra.res_artikel_key = ra.res_artikel_key
AND ra.res_discipline_key = dp.res_ins_discipline_key
AND dp.prs_bedrijf_key = 3661 -- Benque-catalogus
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
ORDER BY 1, 3, 2;
BEGIN
v_count := 0;
FOR rec IN res
FOR rec IN c1
LOOP
v_errormsg := 'Fout teverzenden reservering';
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_teverzenden = 1
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
v_count := v_count + 1;
IF rec.res_rsv_artikel_key IS NOT NULL
THEN -- Catering-regel
IF rec.res_status_bo_key = 2 -- Als 2=Nieuw, dan naar 5=Afgemeld!
THEN
v_errormsg := 'Fout bepalen res_rsv_artikel_prijs';
SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
INTO v_prijs
FROM DUAL;
v_errormsg := 'Fout afmelden res_rsv_artikel';
UPDATE res_rsv_artikel
SET res_status_bo_key = 5,
res_rsv_artikel_prijs = v_prijs,
res_rsv_artikel_inkoopprijs =
(SELECT res_artikel_inkoopprijs
FROM res_artikel
WHERE res_artikel_key = rec.res_artikel_key),
res_rsv_artikel_btw =
(SELECT res_artikel_btw
FROM res_artikel
WHERE res_artikel_key = rec.res_artikel_key)
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
v_errormsg := 'Fout tracken afmelding catering';
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering afgemeld');
END IF;
ELSE -- Ruimte-regel
IF rec.res_status_bo_key = 2 -- Als 2=Nieuw, dan naar 5=Afgemeld (dus niet voor Losse catering)!
THEN
v_errormsg := 'Fout bepalen res_rsv_ruimte_prijs';
SELECT res.getruimteprijs (rec.res_rsv_ruimte_key)
INTO v_prijs
FROM DUAL;
v_errormsg := 'Fout afmelden res_rsv_ruimte';
UPDATE res_rsv_ruimte
SET res_status_bo_key = 5,
res_rsv_ruimte_prijs = v_prijs
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
v_errormsg := 'Fout tracken afmelding ruimte';
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
END IF;
v_errormsg := 'Fout teverzenden reservering';
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_teverzenden = 1
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
v_count := v_count + 1;
END IF;
END LOOP;
fac.writelog ('RES2BENQ', 'S', 'Reserveringen/#teverzenden: ' || TO_CHAR (v_count), '');
@@ -3041,8 +3126,8 @@ AS
rd.ins_discipline_omschrijving catalogus,
ra.res_artikel_key artikel_key,
ra.res_artikel_aanmaak aangemaakt,
ra.res_artikel_vervaldatum vervallen,
ra.res_artikel_verwijder verwijderd,
--ra.res_artikel_vervaldatum vervallen,
--ra.res_artikel_verwijder verwijderd,
ra.res_artikel_nr artikelnummer,
ra.res_artikel_omschrijving omschrijving,
ra.res_artikel_opmerking opmerking,
@@ -3053,9 +3138,17 @@ AS
DECODE (ra.res_artikel_flags, 1, 'Ja', 'Nee')
meermaals_reserveerbaar
FROM res_artikel ra, res_discipline rd
WHERE ra.res_discipline_key = rd.ins_discipline_key
WHERE ra.res_artikel_verwijder IS NULL
AND COALESCE (ra.res_artikel_vervaldatum, SYSDATE) >
TRUNC (SYSDATE)
AND ra.res_discipline_key = rd.ins_discipline_key
AND (rd.ins_discipline_key IN (321, 341, 361, 362, 363, 364, 365, 366, 367)
OR rd.ins_discipline_externnr = 'BENQ');
OR rd.ins_discipline_externnr = 'BENQ'
OR EXISTS
(SELECT 1
FROM res_disc_params
WHERE prs_bedrijf_key = 3661
AND res_ins_discipline_key = rd.ins_discipline_key));
-- HV-opdrachten/uitnutting!
CREATE OR REPLACE VIEW NOVA_V_RAP_HV_OPDRACHTEN