BAMG#73770 -- Koppeling met Lyreco

svn path=/Customer/trunk/; revision=59664
This commit is contained in:
Arthur Egberink
2023-03-21 09:00:49 +00:00
parent 11f7564e8e
commit b6c69cf50f

View File

@@ -2257,8 +2257,8 @@ SELECT mld_adres_gebouw_ruimte kpl_bam,
prs_kostensoort ks,
prs_bedrijf bd,
bes_bestelopdrstatuses bos
WHERE bes_bestelopdr_item_status = 7 -- 7 verwerkt
AND d.ins_discipline_key NOT IN (121, 221) -- Lyreco
WHERE bes_bestelopdr_item_status = 7 -- 7 verwerkt
AND d.ins_discipline_key NOT IN (121, 221, 501) -- Lyreco, meubilair
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
AND bi.bes_bestelling_key = b.bes_bestelling_key
@@ -2430,43 +2430,6 @@ AS
CREATE OR REPLACE PROCEDURE bamg_daily
AS
CURSOR c_frz
IS
SELECT DISTINCT mld_opdr_key
FROM bamg_v_kosten_rev_billing
WHERE datum = ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -1)
AND mld_statusopdr_omschrijving = 'Afgerond';
-- Als status geleverd is (6)
CURSOR c_frz_bes_itm
IS
SELECT boi.bes_bestelopdr_item_key, bes_bestelopdr_datum
FROM bes_bestelopdr_item boi, bes_bestelopdr bo
WHERE boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
AND bes_bestelopdr_item_status IS NULL;
CURSOR c_besopdr IS
SELECT bes_bestelopdr_key
FROM bes_bestelopdr bo
WHERE bes_bestelopdr_status = 4
AND NOT EXISTS
(SELECT 1
FROM bes_bestelopdr_item boi
WHERE bo.bes_bestelopdr_key =
boi.bes_bestelopdr_key
AND bes_bestelopdr_item_status <> 6);
CURSOR c_bestel IS
SELECT bes_bestelling_key
FROM bes_bestelling b
WHERE bes_bestelling_status = 5
AND NOT EXISTS
(SELECT 1
FROM bes_bestelling_item bi
WHERE b.bes_bestelling_key =
bi.bes_bestelling_key
AND bes_bestelling_item_status <> 6);
v_volgnr NUMBER;
v_volgnr_kto NUMBER;
v_opdr_key NUMBER;
@@ -2528,64 +2491,6 @@ BEGIN
to_char(add_months(TRUNC(SYSDATE), -12), 'dd-mm-yyyy hh24:mi:ss'));
END;
-- bevries alle opdrachten die de vorige maand zijn afgerond.
BEGIN
v_volgnr := v_volgnr + 1;
FOR rec in c_frz
LOOP
v_opdr_key := rec.mld_opdr_key;
-- zet de status naar verwerkt (user is facilitor)
mld.setopdrachtstatus (rec.mld_opdr_key, 7, NULL);
END LOOP;
EXCEPTION WHEN OTHERS
THEN
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_volgnr, fac_rapport_regel)
VALUES('Freeze', v_volgnr, 'Error: Fout opgetreden bij het bevriezen van de opdracht ' || to_char(SYSDATE, 'yyyymmdd hh24mi') || ' opdr_key: ' || v_opdr_key);
END;
-- bevries alle bestelopdrachten en bestellingen.
BEGIN
-- Zet de ontvangen aantallen gelijk aan de bestelde aantallen.
FOR rec IN c_frz_bes_itm
LOOP
UPDATE bes_bestelopdr_item B
SET bes_bestelopdr_item_aantalontv =
COALESCE (bes_bestelopdr_item_aantal, 0),
bes_bestelopdr_item_ontvangen = rec.bes_bestelopdr_datum
WHERE bes_bestelopdr_item_key = rec.bes_bestelopdr_item_key;
UPDATE bes_bestelling_item
SET bes_bestelling_item_aantalontv =
COALESCE (bes_bestelling_item_aantal, 0)
WHERE bes_bestelopdr_item_key = rec.bes_bestelopdr_item_key;
END LOOP;
-- Update de state van de bestelopdrachten
FOR rec IN c_besopdr
LOOP
bes.updatebestelopdrstatus (rec.bes_bestelopdr_key, 3);
UPDATE bes_bestelopdr_item
SET bes_bestelopdr_item_status = 7, -- verwerkt.
bes_bestelopdr_item_verwerkt = SYSDATE
WHERE bes_bestelopdr_key = rec.bes_bestelopdr_key;
bes.updatebestelopdrstatus (rec.bes_bestelopdr_key, 3);
END LOOP;
-- Update de state van de bestelaanvragen
FOR rec IN c_bestel
LOOP
bes.updatebestellingstatus (rec.bes_bestelling_key, 3);
UPDATE bes_bestelling_item
SET bes_bestelling_item_status = 7 -- verwerkt.
WHERE bes_bestelling_key = rec.bes_bestelling_key;
bes.updatebestellingstatus (rec.bes_bestelling_key, 3);
END LOOP;
EXCEPTION WHEN OTHERS
THEN
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_volgnr, fac_rapport_regel)
VALUES('Freeze', v_volgnr, 'Error: Fout opgetreden bij het bevriezen van de bestelopdracht ' || to_char(SYSDATE, 'yyyymmdd hh24mi') || ' opdr_key: ' || v_opdr_key);
END;
END IF;
END;