FCLT#85890 ORDUPD via teverzenden=2 beter ondersteunen
svn path=/Database/trunk/; revision=67843
This commit is contained in:
@@ -3533,7 +3533,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
|
||||
fac.trackaction ('ORDSNT', pkey, pperslid_key, NULL, presulttext);
|
||||
mld.setopdrachtstatus (pkey, 5, NULL);
|
||||
ELSIF presult = 1 -- (Logische) fout
|
||||
ELSIF presult = 1 -- (Logische) fout (expliciet afgewezen door uitvoerende)
|
||||
THEN
|
||||
UPDATE mld_opdr
|
||||
SET mld_opdr_verzonden = SYSDATE
|
||||
@@ -4909,8 +4909,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
|
||||
-- Merk op: per bedrijf notificeren we hooguit <20><>n enkel technisch adres
|
||||
-- Dat adres wordt eerst bepaald op basis van locatie/district/opdrachttype/discipline/bedrijfadres_type
|
||||
-- Als er meerdere adressen zijn moet je er altijd srtnotificaties aan hangen
|
||||
-- Als er maar een enkel adres is mag dat eventueel zonder srtnotificatie (dat werkt alleen voor ORDNEW, BES2NE en CNTNEW voor backwards compatibiliteit)
|
||||
-- Als er meerdere adressen zijn die aan zo'n combinatie voldoen moet je er altijd srtnotificaties aan hangen
|
||||
-- Alleen als er maar een enkel adres is mag dat eventueel zonder srtnotificatie
|
||||
-- (dat werkt alleen voor ORDNEW, BES2NE en CNTNEW voor backwards compatibiliteit)
|
||||
-- Dit is om het begrijpbaar te houden.
|
||||
-- Ook: je kunt onder een bedrijf een adres maken voor alle locaties maar specifiek opdrachttype
|
||||
-- en eentje voor specifieke locatie en algemene opdracht
|
||||
@@ -4974,6 +4975,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
IF (nn_noti = 0) // geen specifiek record gevonden
|
||||
THEN
|
||||
IF (pbedrijfadres_type = 'O' AND l_srtnoti_code = 'ORDNEW')
|
||||
OR (pbedrijfadres_type = 'O' AND l_srtnoti_code = 'ORDUPD' AND ptrackingkey IS NULL) -- vanuit trigger mld_t_mld_opdr_B_IU toen teverzenden op 2 is gezet
|
||||
OR (pbedrijfadres_type = 'B' AND l_srtnoti_code = 'BES2NE') -- bestelopdracht aangemaakt
|
||||
OR (pbedrijfadres_type = 'C' AND l_srtnoti_code = 'CNTNEW')
|
||||
-- RESNEW nooit automatisch OR (pbedrijfadres_type = 'R' AND l_srtnoti_code = 'RESNEW')
|
||||
|
||||
@@ -1702,6 +1702,7 @@ AS
|
||||
v_cp_tussenv prs_contactpersoon.prs_contactpersoon_tussenv%TYPE;
|
||||
v_cp_functie prs_contactpersoon.prs_contactpersoon_functie%TYPE;
|
||||
v_cp_titel prs_contactpersoon.prs_contactpersoon_titel%TYPE;
|
||||
v_cp_systeem prs_contactpersoon.prs_contactpersoon_systeem%TYPE;
|
||||
v_externnr prs_contactpersoon.prs_contactpersoon_externnr%TYPE;
|
||||
v_externsyncdate prs_contactpersoon.prs_contactpersoon_extsyncdate%TYPE;
|
||||
v_naam_full VARCHAR2 (255);
|
||||
@@ -1741,7 +1742,8 @@ AS
|
||||
|| prs_contactpersoon_naam
|
||||
naam_full,
|
||||
prs_contactpersoon_externnr,
|
||||
prs_contactpersoon_extsyncdate
|
||||
prs_contactpersoon_extsyncdate,
|
||||
prs_contactpersoon_systeem
|
||||
INTO v_cp_naam,
|
||||
v_cp_voorletters,
|
||||
v_cp_voornaam,
|
||||
@@ -1756,7 +1758,8 @@ AS
|
||||
v_cp_titel,
|
||||
v_naam_full,
|
||||
v_externnr,
|
||||
v_externsyncdate
|
||||
v_externsyncdate,
|
||||
v_cp_systeem
|
||||
FROM prs_contactpersoon
|
||||
WHERE prs_contactpersoon_key = p_key;
|
||||
|
||||
@@ -1776,6 +1779,8 @@ AS
|
||||
createxmltagvalue ('titel', v_cp_titel);
|
||||
createxmltagvalue ('externnr', v_externnr);
|
||||
mydatetochar ('externsyncdate', v_externsyncdate);
|
||||
createxmltagvalue ('systeem', v_cp_systeem);
|
||||
|
||||
|
||||
FOR rec1 IN c1
|
||||
LOOP
|
||||
@@ -1824,7 +1829,8 @@ AS
|
||||
createopentag ('bedrijfadres');
|
||||
createxmltagvalue ('key', rec.prs_bedrijfadres_key);
|
||||
createxmltagvalue ('type', rec.prs_bedrijfadres_type);
|
||||
createxmltagvalue ('typeopdr', rec.mld_typeopdr_key);
|
||||
createxmltagvalue ('type', rec.prs_bedrijfadres_type);
|
||||
createxmltagvalue ('omschrijving', rec.prs_bedrijfadres_omschrijving);
|
||||
createxmltagvalue ('soapversion', rec.prs_bedrijfadres_soapversion);
|
||||
createxmltagvalue ('soapaction', rec.prs_bedrijfadres_soapaction);
|
||||
createxmltagvalue ('authmethod', rec.prs_bedrijfadres_authmethod);
|
||||
@@ -1833,6 +1839,7 @@ AS
|
||||
createxmltagvalue ('resource', rec.prs_bedrijfadres_oa_resource);
|
||||
createxmltagvalue ('district_key', rec.alg_district_key);
|
||||
createxmltagvalue ('locatie_key', rec.alg_locatie_key);
|
||||
createxmltagvalue ('discipline_key', rec.ins_discipline_key);
|
||||
create_prs_bedrijf_node (rec.prs_bedrijf_key2, 'client', TRUE);
|
||||
createxmltagvalue ('mailsender', rec.prs_bedrijfadres_sender);
|
||||
createxmltagvalue ('mailreply', rec.prs_bedrijfadres_replyaddress);
|
||||
@@ -1891,6 +1898,7 @@ AS
|
||||
v_xmldetails_loc prs_bedrijf.prs_bedrijf_xmldetails_loc%TYPE;
|
||||
v_bes_limiet prs_bedrijf.prs_bedrijf_bes_limiet%TYPE;
|
||||
v_bes_kosten prs_bedrijf.prs_bedrijf_bes_kosten%TYPE;
|
||||
v_mld_limiet prs_bedrijf.prs_bedrijf_mld_limiet%TYPE;
|
||||
v_relatietype_key prs_bedrijf.prs_relatietype_key%TYPE;
|
||||
v_x prs_bedrijf.prs_bedrijf_x%TYPE;
|
||||
v_y prs_bedrijf.prs_bedrijf_y%TYPE;
|
||||
@@ -1941,6 +1949,7 @@ AS
|
||||
prs_bedrijf_xmldetails_loc,
|
||||
prs_bedrijf_bes_limiet,
|
||||
prs_bedrijf_bes_kosten,
|
||||
prs_bedrijf_mld_limiet,
|
||||
prs_relatietype_key,
|
||||
prs_bedrijf_x,
|
||||
prs_bedrijf_y
|
||||
@@ -1979,6 +1988,7 @@ AS
|
||||
v_xmldetails_loc,
|
||||
v_bes_limiet,
|
||||
v_bes_kosten,
|
||||
v_mld_limiet,
|
||||
v_relatietype_key,
|
||||
v_x,
|
||||
v_y
|
||||
@@ -2022,6 +2032,7 @@ AS
|
||||
create_prs_kenmerken (p_bedrijf_key, 'B');
|
||||
createxmltagvalue ('beslimiet', v_bes_limiet);
|
||||
createxmltagvalue ('beskosten', v_bes_kosten);
|
||||
createxmltagvalue ('mldlimiet', v_mld_limiet);
|
||||
createxmltagvalue ('x', v_x);
|
||||
createxmltagvalue ('y', v_y);
|
||||
|
||||
@@ -3298,7 +3309,7 @@ AS
|
||||
v_mjb_score1 alg_gebouw.alg_gebouw_mjb_score1%TYPE;
|
||||
v_externnr alg_gebouw.alg_gebouw_externnr%TYPE;
|
||||
v_externsyncdate alg_gebouw.alg_gebouw_externsyncdate%TYPE;
|
||||
v_virtueel alg_gebouw.alg_gebouw_virtueel%TYPE;
|
||||
v_virtueel alg_gebouw.alg_gebouw_virtueel%TYPE;
|
||||
|
||||
CURSOR c1
|
||||
IS
|
||||
@@ -10028,6 +10039,7 @@ AS
|
||||
l_jaarfactor NUMBER;
|
||||
l_locatiekosten cnt_contract.cnt_contract_kosten%TYPE;
|
||||
v_bestelopdr_key cnt_contract.bes_bestelopdr_key%TYPE;
|
||||
v_inactiveren cnt_contract.cnt_contract_inactiveren%TYPE;
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT cnt_contract_object_key,
|
||||
@@ -10099,7 +10111,8 @@ AS
|
||||
c.cnt_contract_termijntermijn,
|
||||
cnt_contract_versie,
|
||||
cnt_contract_verlenging,
|
||||
bes_bestelopdr_key
|
||||
bes_bestelopdr_key,
|
||||
cnt_contract_inactiveren
|
||||
INTO v_nummer,
|
||||
v_omschrijving,
|
||||
v_looptijd_tot,
|
||||
@@ -10133,7 +10146,8 @@ AS
|
||||
v_termijntermijn_key,
|
||||
v_versie,
|
||||
v_verlenging,
|
||||
v_bestelopdr_key
|
||||
v_bestelopdr_key,
|
||||
v_inactiveren
|
||||
FROM cnt_contract c, cnt_termijn t1, cnt_termijn t2, cnt_termijn t3, cnt_termijn t4
|
||||
WHERE c.cnt_contract_rappeltermijn = t1.cnt_termijn_key(+)
|
||||
AND c.cnt_contract_opzegtermijn = t2.cnt_termijn_key(+)
|
||||
@@ -10184,6 +10198,7 @@ AS
|
||||
create_prs_kostenplaats_node (v_kostenplaats_key, FALSE);
|
||||
create_prs_kostensoort_node (v_kostensoort_key);
|
||||
createxmltagvalue ('opmerking', v_opmerking);
|
||||
createxmltagvalue ('inactiveren', v_inactiveren);
|
||||
create_cnt_contract_node (v_mantel_key, p_concise);
|
||||
IF NOT p_concise
|
||||
THEN
|
||||
|
||||
@@ -883,6 +883,7 @@ DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forceallowedgroep' , 'string
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_fromaddress' , 'string' , '' , 'The fixed From address for Facilitor orders')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_logdestination' , 'number' , '1' , 'Where to log: 1=detailed file, 2=csv file, 3=both')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_loglevel' , 'number' , '1' , 'Level of logging (0-3) for troubleshooting purposes')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_schedule_putorders' , 'number' , '0' , 'Force putorders run at least every ## minutes even with empty queue (for pre_putorders)')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_mailbodycharset' , 'string' , 'unicode-1-1-utf-8' , 'Putorders e-mail charset')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_notificationinmailbody' , 'boolean' , 'true' , 'false = as attachments, true = in body (deprecated)')
|
||||
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_notificationxsl' , 'string' , '' , 'stylesheet to be applied for notifications')
|
||||
|
||||
2
FCLT.NMK
2
FCLT.NMK
@@ -198,6 +198,7 @@ $(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL: \
|
||||
$(MSRC)\fac\fac_tab.src \
|
||||
$(MSRC)\fac\fac_tri.src \
|
||||
$(MSRC)\fac\fac_vie.src \
|
||||
$(MSRC)\fac\fac_vieexp.src \
|
||||
$(MSRC)\ini\ini_ind.src \
|
||||
$(MSRC)\ini\ini_ini.src \
|
||||
$(MSRC)\ini\ini_pac.src \
|
||||
@@ -206,6 +207,7 @@ $(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL: \
|
||||
$(MSRC)\ini\ini_tri.src \
|
||||
$(MSRC)\ini\fmis\fmis_ini.sql \
|
||||
$(MSRC)\ini\itsm\itsm_ini.sql \
|
||||
$(MSRC)\ini\plat\plat_ini.sql \
|
||||
$(MSRC)\ins\ins_ind.src \
|
||||
$(MSRC)\ins\ins_ini.src \
|
||||
$(MSRC)\ins\ins_lcl.src \
|
||||
|
||||
@@ -10,8 +10,52 @@
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85545
|
||||
|
||||
-- TODO: Kijk in fac_v_orderqueue_OLD wat nog een laatste keer een notificatie
|
||||
-- Kijk in fac_v_orderqueue_OLD wat nog een laatste keer een notificatie
|
||||
-- naar een systeemadres moet krijgen
|
||||
-- Afgekeken van mld_t_mld_opdr_B_IU
|
||||
BEGIN
|
||||
FOR bedrijfrec
|
||||
IN (SELECT b.prs_bedrijf_key,
|
||||
COALESCE (l1.alg_locatie_key, l2.alg_locatie_key) alg_locatie_key,
|
||||
COALESCE (l1.alg_locatie_email, l2.alg_locatie_email) alg_locatie_email,
|
||||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr reference,
|
||||
d.prs_bedrijf_key persoon_bedrijf_key, -- van de melder, niet de uitvoerende
|
||||
fac_srtnotificatie_key,
|
||||
o.mld_opdr_key,
|
||||
o.mld_typeopdr_key
|
||||
FROM mld_melding m,
|
||||
mld_adres ma,
|
||||
alg_locatie l1,
|
||||
alg_locatie l2,
|
||||
prs_perslid p,
|
||||
prs_v_afdeling d,
|
||||
prs_bedrijf b,
|
||||
fac_v_orderqueue q,
|
||||
mld_opdr o,
|
||||
fac_srtnotificatie fsn
|
||||
WHERE q.xmlnode = 'opdracht'
|
||||
AND q.key = o.mld_opdr_key
|
||||
AND b.prs_bedrijf_key = o.mld_uitvoerende_keys
|
||||
AND o.mld_melding_key = m.mld_melding_key
|
||||
AND m.mld_adres_key = ma.mld_adres_key(+)
|
||||
AND ma.alg_locatie_key = l1.alg_locatie_key(+)
|
||||
AND m.mld_alg_locatie_key = l2.alg_locatie_key(+)
|
||||
AND d.prs_afdeling_key = p.prs_afdeling_key
|
||||
AND p.prs_perslid_key = m.prs_perslid_key
|
||||
AND fac_srtnotificatie_code = 'ORDUPD') -- hardcoded ORDUPD, het gaat uiteindelijk vooral om de XMLnode 'opdracht' in putorders
|
||||
LOOP
|
||||
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
|
||||
pbedrijfadres_type => 'O',
|
||||
prefkey => bedrijfrec.mld_opdr_key,
|
||||
ptrackingkey => NULL,
|
||||
psrtnoti_key => bedrijfrec.fac_srtnotificatie_key,
|
||||
preference => bedrijfrec.reference,
|
||||
ptypeopdr_key => bedrijfrec.mld_typeopdr_key,
|
||||
plocatie_key => bedrijfrec.alg_locatie_key,
|
||||
psender => bedrijfrec.alg_locatie_email);
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
// En nu kan hij echt weg
|
||||
DROP VIEW fac_v_orderqueue_OLD;
|
||||
|
||||
Reference in New Issue
Block a user