MARX#75026 Pakbonnummer en notificatie per (deel)levering bij bestelopdracht

svn path=/Database/trunk/; revision=58452
This commit is contained in:
Jos Groot Lipman
2022-12-22 15:26:33 +00:00
parent a94d8d0e63
commit 47e9f6deca
6 changed files with 174 additions and 2 deletions

View File

@@ -109,6 +109,7 @@ AS
PROCEDURE create_mld_opdr_node (p_key IN NUMBER, p_extra_key IN NUMBER, p_concise IN BOOLEAN, p_bgtmode IN BOOLEAN DEFAULT FALSE);
PROCEDURE create_bes_bestelling_node (p_key IN NUMBER, p_concise IN BOOLEAN);
PROCEDURE create_bes_bestelopdr_node (p_key IN NUMBER, p_concise IN BOOLEAN);
PROCEDURE create_bes_bestellevr_node (p_key IN NUMBER, p_concise IN BOOLEAN);
PROCEDURE create_bez_afspraak_node (p_key IN NUMBER,
p_extra IN NUMBER,
p_concise IN BOOLEAN);
@@ -7268,6 +7269,8 @@ AS
LOOP
create_bes_besteli_node (rec1.bes_bestelling_item_key);
END LOOP;
-- we zouden hier een loopje met create_bes_bestellevri_node kunnen doen
-- we ondersteunen echter (nog) alleen de route create_bes_bestellevr_node --> create_bes_bestellevri_node
createclosetag ('bestelopdrachtitem');
END;
@@ -7528,6 +7531,15 @@ AS
create_bes_bestelopdri_node (rec1.bes_bestelopdr_item_key);
END LOOP;
-- welke pakbonnen zeggen iets over deze opdrachtregels van opdracht
FOR rec3 IN (SELECT DISTINCT bli.bes_bestellevr_key
FROM bes_bestellevr_item bli, bes_bestelopdr_item boi
WHERE boi.bes_bestelopdr_item_key = bli.bes_bestelopdr_item_key
AND boi.bes_bestelopdr_key = p_key)
LOOP
create_bes_bestellevr_node (rec3.bes_bestellevr_key, FALSE);
END LOOP;
-- Er is nogal wat info te behalen bij de bestelaanvraag; deze includen we hier integraal vooralsnog
-- Welke aanvraag hoort hier bij? Dat kunnen er theoretisch meer zijn (bundeling)
FOR rec2 IN c2
@@ -7541,6 +7553,67 @@ AS
END IF;
END;
PROCEDURE create_bes_bestellevri_node (p_key IN NUMBER)
AS
BEGIN
createopentag ('bestelleveringitem');
FOR rec in (
SELECT bli.bes_bestellevr_item_key,
bli.bes_bestellevr_item_aantal,
bli.bes_bestelopdr_item_key,
bi.bes_bestelopdr_item_omschrijv -- ter info
FROM bes_bestelopdr_item bi, bes_bestellevr_item bli
WHERE bi.bes_bestelopdr_item_key = bli.bes_bestelopdr_item_key
AND bli.bes_bestellevr_item_key = p_key)
LOOP
createxmltagvalue ('key', p_key);
createxmltagvalue ('aantal', rec.bes_bestellevr_item_aantal);
createxmltagvalue ('levertitem', rec.bes_bestelopdr_item_key); // concessie: hier moet eigenlijk bes_bestelopdr_item
createxmltagvalue ('omschrijving', rec.bes_bestelopdr_item_omschrijv);
END LOOP;
createclosetag ('bestelleveringitem');
END;
PROCEDURE create_bes_bestellevr_node (p_key IN NUMBER, p_concise IN BOOLEAN)
AS
BEGIN
IF p_key IS NOT NULL
THEN
createopentag ('bestellevering');
FOR rec0 IN (SELECT bes_bestellevr_pakbon,
bes_bestellevr_datum,
bes_bestellevr_opmerk,
prs_perslid_key
FROM bes_bestellevr
WHERE bes_bestellevr_key = p_key)
LOOP
createxmltagvalue ('key', p_key);
createxmltagvalue ('pakbon', rec0.bes_bestellevr_pakbon);
mydatetochar ('leverdatum', rec0.bes_bestellevr_datum);
createxmltagvalue ('opmerking', rec0.bes_bestellevr_opmerk);
create_prs_perslid_node (rec0.prs_perslid_key, 'inboeker', TRUE);
END LOOP;
IF NOT p_concise
THEN
FOR rec1 IN (SELECT bes_bestellevr_item_key
FROM bes_bestellevr_item
WHERE bes_bestellevr_key = p_key)
LOOP
create_bes_bestellevri_node (rec1.bes_bestellevr_item_key);
END LOOP;
END IF;
createclosetag ('bestellevering');
END IF;
END;
--
--
-- BEZOEKERS
@@ -10467,8 +10540,6 @@ AS
BEGIN
DBMS_LOB.createtemporary (aclob, TRUE, DBMS_LOB.CALL);
add_header (p_custid);
add_localisation (p_xmlnode);
create_bookmarks_node (p_xmlnode, p_key);
xmlnode_depth := 0; -- Set initial depth-level!!!
xml_node (p_xmlnode,
p_key,
@@ -10477,6 +10548,8 @@ AS
p_extra,
p_where,
FALSE);
create_bookmarks_node (p_xmlnode, p_key);
add_localisation (p_xmlnode);
add_footer ('');
RETURN aclob;
EXCEPTION WHEN NO_DATA_FOUND THEN