AAXX#39588 -- Bundel catering referentie opslaan
svn path=/Customer/trunk/; revision=36160
This commit is contained in:
@@ -132,7 +132,7 @@ AS
|
||||
SELECT res_rsv_artikel_key || ';' || res_rsv_artikel_prijs result,
|
||||
res_rsv_artikel_key result_order
|
||||
FROM aaar_v_catering_kpn_bld;
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE aaar_export_bundel_catering (
|
||||
p_applname IN VARCHAR2,
|
||||
@@ -140,7 +140,7 @@ CREATE OR REPLACE PROCEDURE aaar_export_bundel_catering (
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2)
|
||||
AS
|
||||
|
||||
|
||||
CURSOR c_kpn_bld (lev_date DATE)
|
||||
IS
|
||||
SELECT prs_kostenplaats_key, alg_gebouw_key, alg_locatie_key, sum(res_rsv_artikel_prijs) prijs
|
||||
@@ -181,7 +181,7 @@ BEGIN
|
||||
-- wat is de eerste dag van de huidige maand
|
||||
v_date := TO_DATE (TO_CHAR (SYSDATE, 'yyyymm') || '01', 'yyyymmdd');
|
||||
v_month := REPLACE(TO_CHAR (v_date-1, 'month-yyyy', 'NLS_DATE_LANGUAGE = ''dutch'''), ' ', '');
|
||||
|
||||
|
||||
SELECT COUNT (mld_opdr_key)
|
||||
INTO v_count
|
||||
FROM mld_opdr
|
||||
@@ -199,12 +199,12 @@ BEGIN
|
||||
FOR rec IN c_kpn_bld (v_date)
|
||||
LOOP
|
||||
BEGIN
|
||||
IF rec.prs_kostenplaats_key IS NOT NULL
|
||||
THEN
|
||||
IF rec.prs_kostenplaats_key IS NOT NULL
|
||||
THEN
|
||||
-- controleer of ik een melding heb op dit gebouw
|
||||
BEGIN
|
||||
v_errormsg := 'Opzoeken catering melding';
|
||||
|
||||
|
||||
SELECT mld_melding_key
|
||||
INTO v_mld_melding_key
|
||||
FROM mld_melding
|
||||
@@ -218,9 +218,9 @@ BEGIN
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
-- geen melding voor deze locatie gevonden. Dan maken we er maar een aan.
|
||||
|
||||
|
||||
v_errormsg := 'Aanmaken catering melding';
|
||||
|
||||
|
||||
BEGIN
|
||||
INSERT INTO mld_melding (mld_melding_omschrijving,
|
||||
prs_perslid_key,
|
||||
@@ -250,29 +250,29 @@ BEGIN
|
||||
3)
|
||||
RETURNING mld_melding_key
|
||||
INTO v_mld_melding_key;
|
||||
|
||||
|
||||
BEGIN
|
||||
mld.setmeldingstatus (v_mld_melding_key, 2, v_aanvrager);
|
||||
END;
|
||||
|
||||
|
||||
BEGIN
|
||||
mld.setmeldingstatus (v_mld_melding_key, 4, v_aanvrager);
|
||||
END;
|
||||
|
||||
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_behandelaar_key = v_aanvrager
|
||||
WHERE mld_melding_key = v_mld_melding_key;
|
||||
END;
|
||||
END;
|
||||
|
||||
|
||||
-- nu gaan we de opdracht aanmaken
|
||||
BEGIN
|
||||
v_mld_opdr_bedrijfopdr_volgnr :=
|
||||
mld.bepaalopdrmeldingvolgnr (v_mld_melding_key);
|
||||
|
||||
|
||||
v_errormsg :=
|
||||
'Maak opdracht aan om factuur van cateraar te matchen';
|
||||
|
||||
|
||||
-- maak opdracht aan om cateringfactuur van leverancier te matchen
|
||||
INSERT INTO mld_opdr (mld_melding_key,
|
||||
prs_kostenplaats_key,
|
||||
@@ -301,26 +301,30 @@ BEGIN
|
||||
rec.prijs,
|
||||
v_mld_opdr_bedrijfopdr_volgnr)
|
||||
RETURNING mld_opdr_key INTO v_mld_opdr_key;
|
||||
|
||||
|
||||
INSERT INTO aaxx_bundel_catering_ref (mld_opdr_key, res_rsv_artikel_key, res_rsv_artikel_prijs, res_rsv_artikel_verwerkt)
|
||||
SELECT v_mld_opdr_key, res_rsv_artikel_key, res_rsv_artikel_prijs, v_date
|
||||
FROM aaar_v_catering_kpn_bld
|
||||
WHERE res_rsv_artikel_levering < v_date
|
||||
AND prs_kostenplaats_key = rec.prs_kostenplaats_key
|
||||
AND alg_gebouw_key = rec.alg_gebouw_key;
|
||||
|
||||
UPDATE res_rsv_artikel rra
|
||||
SET res_rsv_artikel_verwerkt = SYSDATE,
|
||||
res_status_bo_key = 6
|
||||
WHERE EXISTS
|
||||
(SELECT res_rsv_artikel_key
|
||||
FROM aaar_v_catering_kpn_bld kpnbld
|
||||
WHERE kpnbld.res_rsv_artikel_key =
|
||||
rra.res_rsv_artikel_key
|
||||
AND kpnbld.prs_kostenplaats_key = rec.prs_kostenplaats_key
|
||||
AND kpnbld.alg_locatie_key = rec.alg_locatie_key
|
||||
AND res_rsv_artikel_levering < v_date);
|
||||
|
||||
(SELECT mld_opdr_key
|
||||
FROM aaxx_bundel_catering_ref bc
|
||||
WHERE bc.mld_opdr_key = v_mld_opdr_key
|
||||
AND bc.res_rsv_artikel_key = rra.res_rsv_artikel_key);
|
||||
|
||||
v_errormsg := 'Update melding status';
|
||||
mld.updatemeldingstatus (v_mld_melding_key, 0, v_aanvrager); -- Facilitor
|
||||
-- meld de opdracht af
|
||||
MLD.setopdrachtstatus (v_mld_opdr_key, 6, v_aanvrager);
|
||||
-- en zet de opdracht op afgerond zodat deze direct in het factuurvoorstel komt.
|
||||
MLD.setopdrachtstatus (v_mld_opdr_key, 9, v_aanvrager);
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -328,11 +332,11 @@ BEGIN
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
fac.writelog (p_applname, 'E', v_errormsg, '');
|
||||
|
||||
|
||||
END;
|
||||
ELSE
|
||||
fac.writelog (p_applname, 'E', 'Een bedrag van: ' || rec.prijs || ' euro kan niet aan een kostenplaats gekoppeld worden!', '');
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
END IF;
|
||||
|
||||
Reference in New Issue
Block a user