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

@@ -29,6 +29,9 @@ create index bes_i_bes_bestelopdr_p_prs_key on bes_bestelopdr (prs_perslid_key);
create index bes_i_bes_bestelopdr_datum on bes_bestelopdr(bes_bestelopdr_datum); create index bes_i_bes_bestelopdr_datum on bes_bestelopdr(bes_bestelopdr_datum);
create index bes_i_bes_bestelopdr_item on bes_bestelopdr_item(bes_bestelopdr_item_verwerkt); create index bes_i_bes_bestelopdr_item on bes_bestelopdr_item(bes_bestelopdr_item_verwerkt);
create index bes_i_bes_bestellever_prs_key on bes_bestellevr (prs_perslid_key);
create index bes_i_bes_bestellevr_item1 ON bes_bestellevr_item(bes_bestellevr_key);
create index bes_i_bes_srtdeel1 on bes_srtdeel(bes_srtgroep_key); create index bes_i_bes_srtdeel1 on bes_srtdeel(bes_srtgroep_key);
CREATE UNIQUE INDEX bes_i_bes_srtdeel2 ON bes_srtdeel(bes_srtdeel_nr, prs_bedrijf_key, bes_srtgroep_key, bes_srtdeel_verwijder); CREATE UNIQUE INDEX bes_i_bes_srtdeel2 ON bes_srtdeel(bes_srtdeel_nr, prs_bedrijf_key, bes_srtgroep_key, bes_srtdeel_verwijder);
CREATE INDEX bes_i_bes_srtdeel_prs_bdr_key on bes_srtdeel (prs_bedrijf_key); CREATE INDEX bes_i_bes_srtdeel_prs_bdr_key on bes_srtdeel (prs_bedrijf_key);

View File

@@ -10,6 +10,8 @@ CREATE SEQUENCE bes_s_bes_bestelling_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE bes_s_bes_bestelling_item_key MINVALUE 1; CREATE SEQUENCE bes_s_bes_bestelling_item_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bestelopdr_key MINVALUE 1 NOCACHE; CREATE SEQUENCE bes_s_bes_bestelopdr_key MINVALUE 1 NOCACHE;
CREATE SEQUENCE bes_s_bes_bestelopdr_item_key MINVALUE 1; CREATE SEQUENCE bes_s_bes_bestelopdr_item_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bestellevr_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bestellevr_item_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_cXMLparams_key MINVALUE 1; CREATE SEQUENCE bes_s_bes_cXMLparams_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_disc_params_key MINVALUE 1; CREATE SEQUENCE bes_s_bes_disc_params_key MINVALUE 1;

View File

@@ -367,6 +367,36 @@ CREATE_TABLE(bes_bestelopdr_item, 0)
OR (bes_bestelopdr_item_aantal<0 AND bes_bestelopdr_item_aantalontv>=bes_bestelopdr_item_aantal)) OR (bes_bestelopdr_item_aantal<0 AND bes_bestelopdr_item_aantalontv>=bes_bestelopdr_item_aantal))
); );
CREATE_TABLE(bes_bestellevr, 0)
(
bes_bestellevr_key
NUMBER(10)
CONSTRAINT bes_k_bes_bestellevr_key PRIMARY KEY,
bes_bestellevr_pakbon
VARCHAR(50),
bes_bestellevr_datum
DATE
DEFAULT SYSDATE,
prs_perslid_key
NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL,
bes_bestellevr_opmerk
VARCHAR2(320)
);
CREATE_TABLE(bes_bestellevr_item, 0)
(
bes_bestellevr_item_key
NUMBER(10)
CONSTRAINT bes_k_bestel_lev_item_key PRIMARY KEY,
bes_bestellevr_key
NUMBER(10) REFERENCES bes_bestellevr(bes_bestellevr_key) ON DELETE CASCADE,
bes_bestelopdr_item_key
NUMBER(10)
CONSTRAINT bes_r_bes_bestelopdr_i_key2 REFERENCES bes_bestelopdr_item(bes_bestelopdr_item_key) ON DELETE CASCADE,
bes_bestellevr_item_aantal
NUMBER(15,3)
);
CREATE_TABLE(bes_bestelling_item, 0) CREATE_TABLE(bes_bestelling_item, 0)
( (
bes_bestelling_item_key bes_bestelling_item_key

View File

@@ -103,6 +103,24 @@ BEGIN
END; END;
/ /
CREATE_TRIGGER(bes_t_bes_bestellevr_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestellevr
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestellevr_key,bes_s_bes_bestellevr_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bestellevr_item_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestellevr_item
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestellevr_item_key,bes_s_bes_bestellevr_item_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_b_u) CREATE_TRIGGER(bes_t_bes_bestelopdr_item_b_u)
BEFORE UPDATE BEFORE UPDATE
ON bes_bestelopdr_item ON bes_bestelopdr_item

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_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_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_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, PROCEDURE create_bez_afspraak_node (p_key IN NUMBER,
p_extra IN NUMBER, p_extra IN NUMBER,
p_concise IN BOOLEAN); p_concise IN BOOLEAN);
@@ -7268,6 +7269,8 @@ AS
LOOP LOOP
create_bes_besteli_node (rec1.bes_bestelling_item_key); create_bes_besteli_node (rec1.bes_bestelling_item_key);
END LOOP; 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'); createclosetag ('bestelopdrachtitem');
END; END;
@@ -7528,6 +7531,15 @@ AS
create_bes_bestelopdri_node (rec1.bes_bestelopdr_item_key); create_bes_bestelopdri_node (rec1.bes_bestelopdr_item_key);
END LOOP; 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 -- 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) -- Welke aanvraag hoort hier bij? Dat kunnen er theoretisch meer zijn (bundeling)
FOR rec2 IN c2 FOR rec2 IN c2
@@ -7541,6 +7553,67 @@ AS
END IF; END IF;
END; 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 -- BEZOEKERS
@@ -10467,8 +10540,6 @@ AS
BEGIN BEGIN
DBMS_LOB.createtemporary (aclob, TRUE, DBMS_LOB.CALL); DBMS_LOB.createtemporary (aclob, TRUE, DBMS_LOB.CALL);
add_header (p_custid); add_header (p_custid);
add_localisation (p_xmlnode);
create_bookmarks_node (p_xmlnode, p_key);
xmlnode_depth := 0; -- Set initial depth-level!!! xmlnode_depth := 0; -- Set initial depth-level!!!
xml_node (p_xmlnode, xml_node (p_xmlnode,
p_key, p_key,
@@ -10477,6 +10548,8 @@ AS
p_extra, p_extra,
p_where, p_where,
FALSE); FALSE);
create_bookmarks_node (p_xmlnode, p_key);
add_localisation (p_xmlnode);
add_footer (''); add_footer ('');
RETURN aclob; RETURN aclob;
EXCEPTION WHEN NO_DATA_FOUND THEN EXCEPTION WHEN NO_DATA_FOUND THEN

View File

@@ -284,6 +284,52 @@ ALTER TABLE prs_bedrijfdienstlocatie
ADD CONSTRAINT prs_u_prs_bedrijfdienstloc_key UNIQUE (prs_bedrijf_key, prs_perslid_key, prs_dienst_key, alg_locatie_key, alg_gebouw_key,prs_bedrijf_voor_key); ADD CONSTRAINT prs_u_prs_bedrijfdienstloc_key UNIQUE (prs_bedrijf_key, prs_perslid_key, prs_dienst_key, alg_locatie_key, alg_gebouw_key,prs_bedrijf_voor_key);
/////////////////////////////////////////////////////////////////////////////////////////// MARX#75026
CREATE_TABLE(bes_bestellevr, 0)
(
bes_bestellevr_key
NUMBER(10)
CONSTRAINT bes_k_bes_bestellevr_key PRIMARY KEY,
bes_bestellevr_pakbon
VARCHAR(50),
bes_bestellevr_datum
DATE
DEFAULT SYSDATE,
prs_perslid_key
NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL,
bes_bestellevr_opmerk
VARCHAR2(320)
);
create index bes_i_bes_bestellever_prs_key on bes_bestellevr (prs_perslid_key);
CREATE_TABLE(bes_bestellevr_item, 0)
(
bes_bestellevr_item_key
NUMBER(10)
CONSTRAINT bes_k_bestel_lev_item_key PRIMARY KEY,
bes_bestellevr_key
NUMBER(10) REFERENCES bes_bestellevr(bes_bestellevr_key) ON DELETE CASCADE,
bes_bestelopdr_item_key
NUMBER(10)
CONSTRAINT bes_r_bes_bestelopdr_i_key2 REFERENCES bes_bestelopdr_item(bes_bestelopdr_item_key) ON DELETE CASCADE,
bes_bestellevr_item_aantal
NUMBER(15,3)
);
create index bes_i_bes_bestellevr_item1 ON bes_bestellevr_item(bes_bestellevr_key);
CREATE SEQUENCE bes_s_bes_bestellevr_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bestellevr_item_key MINVALUE 1;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#75899
ALTER TABLE fac_menu MODIFY fac_menu_alturl VARCHAR2(1000 CHAR);
ALTER TABLE fac_imp_menu MODIFY menu_alturl VARCHAR2(1000);
/////////////////////////////////////////////////////////////////////////////////////////// FMHN#75734
ALTER TABLE fac_faq ADD fac_faq_answer2 VARCHAR2 (4000 CHAR);
ALTER TABLE fac_imp_faq ADD fac_faq_answer2 VARCHAR2 (4000);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000 /////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000