YAXX#80483 Opdracht direct aanmaken (auto-order) per locatie instellen
svn path=/Database/trunk/; revision=63122
This commit is contained in:
@@ -1573,6 +1573,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
PROCEDURE mld_addautoorder (p_melding_key IN NUMBER)
|
||||
AS
|
||||
l_autoorder mld_stdmelding.mld_stdmelding_autoorder%TYPE;
|
||||
l_mld_autoorder prs_bedrijfdienstlocatie.mld_autoorder%TYPE;
|
||||
l_prs_perslid_key prs_perslid.prs_perslid_key%TYPE;
|
||||
l_mld_stdmelding_key mld_stdmelding.mld_stdmelding_key%TYPE;
|
||||
l_mld_disc_params_opdr_kosten NUMBER;
|
||||
@@ -1622,6 +1623,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT sm.mld_stdmelding_autoorder
|
||||
, bdl.mld_autoorder
|
||||
, m.prs_perslid_key
|
||||
, sm.mld_stdmelding_key
|
||||
, mdp.mld_disc_params_opdr_kosten
|
||||
@@ -1640,6 +1642,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
, mdp.mld_disc_params_bestellimiet
|
||||
, m.mld_melding_conceptstatus
|
||||
INTO l_autoorder
|
||||
, l_mld_autoorder
|
||||
, l_prs_perslid_key
|
||||
, l_mld_stdmelding_key
|
||||
, l_mld_disc_params_opdr_kosten
|
||||
@@ -1662,10 +1665,17 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
, ins_tab_discipline d
|
||||
, mld_disc_params mdp
|
||||
, prs_kostenplaats k
|
||||
, prs_bedrijfdienstlocatie bdl
|
||||
, prs_bedrijfadres ba
|
||||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND d.ins_discipline_key = mdp.mld_ins_discipline_key
|
||||
AND m.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||||
AND bdl.alg_locatie_key = m.mld_alg_locatie_key
|
||||
AND bdl.prs_dienst_key = sm.prs_dienst_key
|
||||
AND bdl.prs_bedrijf_key = ba.prs_bedrijf_key(+)
|
||||
AND ba.prs_bedrijfadres_type = 'O'
|
||||
AND ba.prs_bedrijfadres_url IS NOT NULL
|
||||
AND m.mld_melding_key = p_melding_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
@@ -1682,7 +1692,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
|
||||
END IF;
|
||||
|
||||
-- Moet er bij deze melding automatisch een opdracht worden aangemaakt?
|
||||
IF l_autoorder = 0 OR l_conceptstatus <> 0
|
||||
IF l_autoorder = 0 OR l_mld_autoorder = 0 OR l_conceptstatus <> 0
|
||||
THEN
|
||||
-- No, done.
|
||||
RETURN;
|
||||
|
||||
@@ -221,8 +221,8 @@ CREATE_TABLE(prs_bedrijf_bedrijf,0)
|
||||
VARCHAR2(60)
|
||||
);
|
||||
|
||||
/* Kruistabel met elektronische adressen van een bedrijf, toegepast door PutOrders
|
||||
* voor Bestellingen, Contracten en Opdrachten enz, zie prs_bedrijfadres_type.
|
||||
/* Kruistabel met elektronische adressen van een bedrijf, toegepast door PutOrders
|
||||
* voor Bestellingen, Contracten en Opdrachten enz, zie prs_bedrijfadres_type.
|
||||
* Bij Opdrachten kan er per opdrachttype een ander adres zijn, het record met mld_typeopdr_key NULL
|
||||
* is de fallback voor de niet benoemde opdrachttypes.
|
||||
* prs_bedrijf_key2 is optioneel het bedrijf van de opdrachtGEVER, in (pseudo-)multicompany omgevingen
|
||||
@@ -1297,6 +1297,10 @@ prs_bedrijf_voor_key
|
||||
prs_bdl_t_uitvoertijd
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT prs_c_prs_bdl_t_uitvoertijd CHECK(prs_bdl_t_uitvoertijd.tijdsduur >= 0), /* of null */
|
||||
mld_autoorder
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
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),
|
||||
CONSTRAINT prs_c_prs_bedrijfdienstloc CHECK (alg_locatie_key IS NULL OR alg_gebouw_key IS NULL),
|
||||
CONSTRAINT prs_c_prs_bdlbp1 CHECK ((prs_bedrijf_key IS NOT NULL AND prs_perslid_key IS NULL) OR (prs_bedrijf_key IS NULL AND prs_perslid_key IS NOT NULL))
|
||||
|
||||
@@ -209,6 +209,23 @@ ALTER TABLE bes_srtdeel_prijs
|
||||
MODIFY (bes_srtdeel_prijs_prijs NUMBER (14, 5),
|
||||
bes_srtdeel_prijs_inkprijs NUMBER (14, 5));
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// YAXX#80483
|
||||
ALTER TABLE prs_bedrijfdienstlocatie
|
||||
ADD mld_autoorder NUMBER(1) DEFAULT(0) NOT NULL;
|
||||
|
||||
UPDATE prs_bedrijfdienstlocatie
|
||||
SET mld_autoorder = 1
|
||||
WHERE prs_bedrijfdienstlocatie_key IN
|
||||
(SELECT d.prs_bedrijfdienstlocatie_key
|
||||
FROM prs_bedrijfdienstlocatie d
|
||||
, prs_bedrijfadres a
|
||||
WHERE d.prs_bedrijf_key = a.prs_bedrijf_key
|
||||
AND a.prs_bedrijfadres_type = 'O'
|
||||
AND ( d.alg_locatie_key is not null
|
||||
OR d.alg_gebouw_key is not null
|
||||
)
|
||||
);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user