AAIT#26733: Extra goedkeuringsniveau voor opdrachten.

svn path=/Database/trunk/; revision=20807
This commit is contained in:
Maykel Geerdink
2014-02-27 13:06:21 +00:00
parent 51708447cf
commit d0352d9ac3
10 changed files with 372 additions and 45 deletions

View File

@@ -61,6 +61,7 @@ AS
PROCEDURE setbestelopdrstatus (pbestelopdrkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
PROCEDURE updatebestellingstatus (pbestelling_key IN NUMBER, user_key IN NUMBER);
PROCEDURE updatebestelopdrstatus (pbestelopdr_key IN NUMBER, user_key IN NUMBER);
PROCEDURE notifybesgoedkeurders (pbeskey IN NUMBER);
PROCEDURE acceptopdracht (pbestelopdr_key IN NUMBER, user_key IN NUMBER, presulttext IN VARCHAR2);
PROCEDURE rejectopdracht (pbestelopdr_key IN NUMBER, user_key IN NUMBER, presulttext IN VARCHAR2);
FUNCTION bestelopdr_tooltip (besopdrkey IN NUMBER) RETURN VARCHAR2;
@@ -1144,7 +1145,7 @@ AS
END IF;
END;
-- Geef bestellingkey, gewenste status en userkey, en de status wortdt
-- Geef bestellingkey, gewenste status en userkey, en de status wordt
-- gezet, waarbij zonodig (indien verandering) een trackrecord wordt gemaakt
-- Als de status niet wijzigt, wordt ook geen trackrecord gemaakt
-- ZIE schema StateDiagramBestellingen.vsd
@@ -1365,6 +1366,173 @@ AS
END IF;
END;
-- Stuur alle mogelijke bestelling goedkeurders een bericht als de bestelling status 3 heeft.
-- Naar wie, wordt reversed opgezocht op basis van toegekende autorisaties.
PROCEDURE notifybesgoedkeurders (pbeskey IN NUMBER)
AS
lloc_key mld_adres.alg_locatie_key%TYPE;
lafd_key prs_perslid.prs_afdeling_key%TYPE;
ldisc_key bes_srtgroep.ins_discipline_key%TYPE;
loms fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
lbes_approved bes_bestelling.bes_bestelling_approved%TYPE;
lbes_kosten NUMBER (11,2);
lbestellimiet bes_disc_params.bes_disc_params_bestellimiet%TYPE;
lbestellimiet2 bes_disc_params.bes_disc_params_bestellimiet2%TYPE;
lbestellimiet3 bes_disc_params.bes_disc_params_bestellimiet3%TYPE;
lbestellimiet4 bes_disc_params.bes_disc_params_bestellimiet4%TYPE;
lbestellimiet5 bes_disc_params.bes_disc_params_bestellimiet5%TYPE;
lfunctiecode fac_functie.fac_functie_code%TYPE;
lsender mld_discipline.ins_discipline_email%TYPE;
bericht fac_srtnotificatie.fac_srtnotificatie_oms%TYPE; -- kan te kort zijn na substitutie
BEGIN
BEGIN
SELECT COALESCE(ma.alg_locatie_key, -1),
p.prs_afdeling_key,
bsg.ins_discipline_key,
COALESCE (b.bes_bestelling_approved, -1),
COALESCE ( SUM (bi.bes_bestelling_item_aantal * bi.bes_bestelling_item_prijs) - b.bes_bestelling_korting + b.bes_bestelling_levkosten, 0),
bdp.bes_disc_params_bestellimiet,
bdp.bes_disc_params_bestellimiet2,
bdp.bes_disc_params_bestellimiet3,
bdp.bes_disc_params_bestellimiet4,
bdp.bes_disc_params_bestellimiet5
INTO lloc_key,
lafd_key,
ldisc_key,
lbes_approved,
lbes_kosten,
lbestellimiet,
lbestellimiet2,
lbestellimiet3,
lbestellimiet4,
lbestellimiet5
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_srtdeel bsd,
bes_srtgroep bsg,
bes_disc_params bdp,
prs_perslid p,
mld_adres ma
WHERE b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = bsd.bes_srtdeel_key
AND bsd.bes_srtgroep_key = bsg.bes_srtgroep_key
AND bsg.ins_discipline_key = bdp.bes_ins_discipline_key
AND b.prs_perslid_key = p.prs_perslid_key
AND b.mld_adres_key_lev = ma.mld_adres_key
AND bi.bes_bestelling_key = pbeskey
GROUP BY ma.alg_locatie_key,
p.prs_afdeling_key,
bsg.ins_discipline_key,
b.bes_bestelling_approved,
b.bes_bestelling_korting,
b.bes_bestelling_levkosten,
bdp.bes_disc_params_bestellimiet,
bdp.bes_disc_params_bestellimiet2,
bdp.bes_disc_params_bestellimiet3,
bdp.bes_disc_params_bestellimiet4,
bdp.bes_disc_params_bestellimiet5;
IF lbes_kosten <= lbestellimiet -- Dit eerst testen i.v.m. Acceptering. Verder moet sowieso geaccepteerd worden.
THEN
RETURN; -- Het bedrag is lager als de eerste limiet. De bestelling hoeft niet goed gekeurd te worden, dus een lege fiatteurs array teruggeven.
ELSIF (((fac.getsetting ('bes_approval_all') = 0 AND lbes_kosten >= lbestellimiet) OR
(fac.getsetting ('bes_approval_all') = 1 AND lbes_kosten <= lbestellimiet2)) AND
lbes_approved <= lbestellimiet)
THEN
lfunctiecode := 'WEB_BESBOF';
ELSIF ((fac.getsetting ('bes_approval_all') = 0 AND lbes_kosten >= lbestellimiet2 AND lbes_approved = lbestellimiet2) OR
(fac.getsetting ('bes_approval_all') = 1 AND lbes_kosten <= lbestellimiet3 AND lbes_approved <= lbestellimiet2))
THEN
lfunctiecode := 'WEB_BESGO2';
ELSIF ((fac.getsetting ('bes_approval_all') = 0 AND lbes_kosten >= lbestellimiet3 AND lbes_approved = lbestellimiet3) OR
(fac.getsetting ('bes_approval_all') = 1 AND lbes_kosten <= lbestellimiet4 AND lbes_approved <= lbestellimiet3))
THEN
lfunctiecode := 'WEB_BESGO3';
ELSIF ((fac.getsetting ('bes_approval_all') = 0 AND lbes_kosten >= lbestellimiet4 AND lbes_approved = lbestellimiet4) OR
(fac.getsetting ('bes_approval_all') = 1 AND lbes_kosten <= lbestellimiet5 AND lbes_approved <= lbestellimiet4))
THEN
lfunctiecode := 'WEB_BESGO4';
ELSIF((fac.getsetting ('bes_approval_all') = 0 AND lbes_kosten >= lbestellimiet5 AND lbes_approved >= lbestellimiet5) OR
(fac.getsetting ('bes_approval_all') = 1 AND lbes_kosten > lbestellimiet5 AND lbes_approved <= lbestellimiet5))
THEN
lfunctiecode := 'WEB_BESGO5';
ELSE
RETURN; -- Het goedgekeurde bedrag zit al boven de vijfde limiet. Geen approval meer nodig.
END IF;
-- These notifications are now sent on behalf of the system, what might be the local FM organisation
SELECT MAX (COALESCE (bd.ins_discipline_email, l.alg_locatie_email)) email
INTO lsender
FROM bes_bestelling b,
bes_bestelling_item bi,
bes_srtdeel bsd,
bes_srtgroep bsg,
bes_discipline bd,
mld_adres ma,
alg_locatie l
WHERE b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = bsd.bes_srtdeel_key
AND bsd.bes_srtgroep_key = bsg.bes_srtgroep_key
AND bsg.ins_discipline_key = bd.ins_discipline_key
AND b.mld_adres_key_lev = ma.mld_adres_key
AND ma.alg_locatie_key = l.alg_locatie_key
AND bi.bes_bestelling_key = pbeskey;
-- Als die er niet is sprongen we al naar de exception
-- Als die er wel is, gaan we verder
SELECT lcl.x('fac_srtnotificatie_oms', fac_srtnotificatie_key, fac_srtnotificatie_oms)
INTO loms
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'BESAP1';
bericht := bes.bessprintf (loms, pbeskey); -- de variabelen invullen
FOR boer
IN (SELECT g.prs_perslid_key
FROM fac_v_webgebruiker g, fac_functie f, prs_perslid p
WHERE g.fac_functie_key = f.fac_functie_key
AND g.ins_discipline_key = ldisc_key
AND g.prs_perslid_key = p.prs_perslid_key
AND (g.fac_gebruiker_prs_level_write = -1
OR (g.fac_gebruiker_prs_level_write < 9
AND p.prs_afdeling_key IN
(SELECT prs_afdeling_key
FROM prs_v_afdeling_familie a
WHERE a.prs_afdeling_elder_key IN
(SELECT aa.prs_afdeling_elder_key
FROM prs_v_afdeling_familie aa
WHERE aa.prs_afdeling_key = lafd_key
AND aa.niveau = g.fac_gebruiker_prs_level_write))))
-- in ASP: if (params.loc_key>0)
AND (g.fac_gebruiker_alg_level_write = -1
OR (g.fac_gebruiker_alg_level_write < 9
AND lloc_key IN
(SELECT alg_locatie_key
FROM fac_v_my_locations
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = fac_gebruiker_alg_level_write)))
AND fac_functie_code = lfunctiecode)
LOOP
fac.putnotificationsrtprio (NULL,
boer.prs_perslid_key,
'BESAP1',
pbeskey,
bericht,
NULL,
NULL,
NULL,
NULL,
2,
lsender
);
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN;
END;
END;
-- Opdracht wordt geaccepteerd door de leverancier (of door de BO namens de leverancier)
PROCEDURE acceptopdracht (pbestelopdr_key IN NUMBER, user_key IN NUMBER, presulttext IN VARCHAR2)
AS

View File

@@ -284,7 +284,9 @@ CREATE_TABLE(bes_bestelopdr, 0)
NUMBER(10)
CONSTRAINT bes_r_opdr_prs_user_key1 REFERENCES prs_perslid(prs_perslid_key),
bes_bestelopdr_delivery_opmerk
VARCHAR2(320)
VARCHAR2(320),
bes_bestelopdr_approved
NUMBER(11,2)
);
ALTER TABLE cnt_contract ADD bes_bestelopdr_key
@@ -468,7 +470,19 @@ CREATE_TABLE(bes_disc_params, 0)
CONSTRAINT bes_r_cnt_termijn_key2 REFERENCES cnt_termijn(cnt_termijn_key),
bes_disc_params_for_others /* Kan ik als FE een bestelling voor een ander plaatsen? {0=no | 1=yes} */
NUMBER(1)
DEFAULT 0
DEFAULT 0,
bes_disc_params_bestellimiet2
NUMBER(11,2)
DEFAULT 1000000,
bes_disc_params_bestellimiet3
NUMBER(11,2)
DEFAULT 1000000,
bes_disc_params_bestellimiet4
NUMBER(11,2)
DEFAULT 1000000,
bes_disc_params_bestellimiet5
NUMBER(11,2)
DEFAULT 1000000
);
//// flexprops

View File

@@ -1737,6 +1737,10 @@ DEF_FAC_FUNCTIE2('WEB_ORDBO2', 'Backoffice:Opdrachten-afmeld', 'MLD', 15, 1,
DEF_FAC_FUNCTIE2('WEB_MLDORD', 'Backoffice:Uitvoerder', 'MLD', 15, 1, 1, 'Om (interne) opdrachten uit te kunnen voeren; handyman');
DEF_FAC_FUNCTIE2('WEB_ORDAFR', 'Backoffice:Opdrachten-afronden', 'MLD', 15, 1, 1, 'Om afgemelde opdrachten financieel te kunnen afronden');
DEF_FAC_FUNCTIE2('WEB_ORDGOE', 'Backoffice:Opdrachten-goedkeur', 'MLD', 11, 1, 1,' Om opdrachten boven de bestellimiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_ORDGO2', 'Backoffice:Opdrachten-goedk2', 'MLD', 11, 1, 1, 'Om opdrachten boven de tweede limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_ORDGO3', 'Backoffice:Opdrachten-goedk3', 'MLD', 11, 1, 1, 'Om opdrachten boven de derde limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_ORDGO4', 'Backoffice:Opdrachten-goedk4', 'MLD', 11, 1, 1, 'Om opdrachten boven de vierde limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_ORDGO5', 'Backoffice:Opdrachten-goedk5', 'MLD', 11, 1, 1, 'Om opdrachten boven de vijfde limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_ORDOAP', 'Backoffice:Offertes-accept', 'MLD', 0, 0, 0, 'Om offertes te kunnen accepteren/afwijzen');
DEF_FAC_FUNCTIE2('WEB_ORDSUP', 'Backoffice:Opdrachten finan.', 'FIN', 0, 0, 1, 'Om financi<63>le opdrachtkenmerken te kunnen muteren');
@@ -1744,6 +1748,10 @@ DEF_FAC_FUNCTIE2('WEB_ORDFIN', 'Backoffice:Opdrachtkosten', 'FIN', 0, 0,
DEF_FAC_FUNCTIE2('WEB_FINBOF', 'Backoffice:Factuurcontrole', 'FIN', 11, 0, 1, 'Om facturen inhoudelijk te kunnen behandelen/fiatteren');
DEF_FAC_FUNCTIE2('WEB_BESBOF', 'Backoffice:Bestellingen', 'BES', 15, 1, 1, 'Om bestelaanvragen te kunnen verwerken tot opdrachten');
DEF_FAC_FUNCTIE2('WEB_BESGO2', 'Backoffice:Bestellingen-goedk2', 'BES', 11, 1, 1, 'Om bestelaanvragen boven de tweede limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_BESGO3', 'Backoffice:Bestellingen-goedk3', 'BES', 11, 1, 1, 'Om bestelaanvragen boven de derde limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_BESGO4', 'Backoffice:Bestellingen-goedk4', 'BES', 11, 1, 1, 'Om bestelaanvragen boven de vierde limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_BESGO5', 'Backoffice:Bestellingen-goedk5', 'BES', 11, 1, 1, 'Om bestelaanvragen boven de vijfde limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_BESBOR', 'Backoffice:Bestelopdrachten', 'BES', 15, 1, 1, 'Om bestelopdrachten/leveringen af te kunnen handelen');
DEF_FAC_FUNCTIE2('WEB_BEZBOF', 'Backoffice:Bezoekers', 'BEZ', 11, 0, 1, 'Om ontvangst van verwachte bezoekers te kunnen registreren');
DEF_FAC_FUNCTIE2('WEB_BEZPRK', 'Parkeerplaatsen', 'BEZ', 0, 0, NULL, 'Om parkeerplaatsen bij bezoekers te kunnen inzien en boeken');
@@ -2709,6 +2717,7 @@ DEF_MENUITEM(2, 'lcl_menu_ins_disciplines' , '', 'INS', 'appl/facmgtVB/ins_
DEF_MENUITEM(2, 'lcl_menu_ins_groepen' , '', 'INS', 'appl/facmgtVB/ins_srtgroepgrid.asp', 0, 0, 'WEB_INSMGT', 'W', '1');
DEF_MENUITEM(2, 'lcl_menu_ins_objectsoorten' , '', 'INS', 'appl/ins/ins_srtdeel_search.asp', 0, 0, 'WEB_INSMGT', 'W', '1');
DEF_MENUITEM(2, 'lcl_menu_ins_kenmerken' , '', 'INS', 'appl/facmgtVB/ins_kenmerkgrid.asp', 0, 0, 'WEB_INSMGT', 'W', '1');
DEF_MENUITEM(2, 'lcl_menu_ins_kenmerken_insp' , '', 'INS', 'appl/facmgtVB/ins_kenmerkgrid.asp?inspectie=1', 0, 0, 'WEB_INSMGT', 'W', '1');
DEF_MENUITEM(2, 'lcl_menu_ins_kenmerksoorten' , '', 'INS', 'appl/facmgtVB/ins_srtkenmerkgrid.asp', 0, 0, 'WEB_INSMGT', 'W', '1');
DEF_MENUITEM(2, 'lcl_menu_ins_kenmerkdomeinen' , '', 'INS', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=INS', 0, 0, 'WEB_PRSSYS', 'W', '1');
DEF_MENUITEM(2, 'lcl_menu_ins_srtcontrole' , '', 'INS', 'appl/facmgtVB/ins_srtcontrolegrid.asp', 0, 0, 'WEB_INSMGT', 'W', '1');

View File

@@ -96,6 +96,9 @@ FACXSL_LCL('lcl_password_to_email', 'Wachtwoord vergeten', 'Forgot password', 'K
FACXSL_LCL('lcl_pass2emailunknown', 'E-mail adres niet bekend binnen FACILITOR', 'Email address unknown', 'E-mail Adresse in FACILITOR nicht bekannt', 'Adresse e-mail pas connu <20> FACILITOR')
FACXSL_LCL('lcl_password_new', 'Nieuw FACILITOR wachtwoord', 'New FACILITOR password', 'neue FACILITOR Kennwort', 'nouveau mot de passe FACILITOR')
FACXSL_LCL('lcl_password_reset', 'Het FACILITOR wachtwoord herstellen kan via <a href=''{0}''>{0}</a> tot en met {1}.', 'Reset the FACILITOR password by using <a href=''{0}''>{0}</a> until {1}.', 'Reset die FACILITOR Passwort mit {0} <a href=''{0}''>{0}</a> bis {1}.', 'Reset le mot de passe de FACILITOR <20> <a href=''{0}''>{0}</a> jusqu''<27> ce que {1}.')
FACXSL_LCL('lcl_tokenmail_subject', 'FACILITOR aanmelding', 'FACILITOR login', 'FACILITOR anmelden', 'FACILITOR connecter')
FACXSL_LCL('lcl_token2email', 'E-mail login', 'Email login', 'E-mail anmelden', 'E-mail connecter')
FACXSL_LCL('lcl_tokenmail_body', 'Aanmelden bij FACILITOR kan via <a href=''{0}''>{0}</a> tot en met {1}.', 'Login to FACILITOR by using <a href=''{0}''>{0}</a> until {1}.', '@@Reset die FACILITOR Passwort mit {0} <a href=''{0}''>{0}</a> bis {1}.', '@@Reset le mot de passe de FACILITOR <20> <a href=''{0}''>{0}</a> jusqu''<27> ce que {1}.')
FACXSL_LCL('lcl_pass2emailsent', 'Een email wordt gestuurd naar: ', 'An email will be sent to: ', 'Ein E-Mail-Nachricht wird gesendet an: ', 'Un message d''e-mail est envoy<6F> <20>: ')
FACXSL_LCL('lcl_self_register', 'Registreren', 'Register', 'Registrieren', 'R<>gistrez')
FACXSL_LCL('lcl_self_register_active', 'Voor dit e-mailadres loopt nog een registratie aanvraag.', 'There is a pending registration request for this email address.', 'Diese E-Mail-Adresse ist immer noch ein Antrag auf Eintragung.', 'Cette adresse email est toujours une demande d''enregistrement.')
@@ -389,6 +392,7 @@ FACXSL_LCL('lcl_mld_opdr_afr_na_mld', 'Einddatum van de opdracht is na de eindda
FACXSL_LCL('lcl_mld_indult', 'Uitsluiten voor SLA', 'Exclude from SLA', '@F<>r Service Level Ausschlie<69>en', '@Exclure pour le Niveau de service')
FACXSL_LCL('lcl_mld_afrond', 'Afronden', 'Complete', 'Abschlie<69>en', 'Terminer')
FACXSL_LCL('lcl_mld_afgerond', 'Afgerond', 'Completed', 'Abgeschlossen', 'Termin<69>')
FACXSL_LCL('lcl_mld_close_standalone', 'Dank voor uw melding, u kunt dit scherm nu sluiten', 'Thanks for your call, you can now close this screen', 'Vielen Dank f<>r Ihre Meldung, Sie k<>nnen jetzt dieses Fenster schlie<69>en', 'Merci pour votre appel, vous pouvez maintenant fermer cet <20>cran')
END_FACXSL_LCL()
START_FACXSL_LCL('ASP', NULL)
@@ -473,6 +477,7 @@ FACXSL_LCL('lcl_ins_opmerking', 'Beschrijving', 'Description', 'Umschreibung', '
FACXSL_LCL('lcl_obj_draggable', 'sleepbaar', 'draggable', 'zu schleppen', 'd<>pla<6C>able')
FACXSL_LCL('lcl_obj_position', 'Plaats', 'Place', 'Ort', 'Lieu')
FACXSL_LCL('lcl_obj_owner', 'Eigenaar', 'Owner', 'Besitzer(in)', 'Propri<72>taire')
FACXSL_LCL('lcl_obj_department', 'Afdeling', 'Department', 'Abteilung', 'D<>partement')
FACXSL_LCL('lcl_obj_available', 'Beschikbaar', 'Available', 'Erh<72>ltig', 'Disponible')
FACXSL_LCL('lcl_obj_lent_out', 'Uitgegeven', 'Lent out', 'Ausgegeben', 'Emis')
FACXSL_LCL('lcl_obj_lend_out', 'Uitlenen', 'Lend out', 'Ausleihen', 'Pr<50>ter')
@@ -660,7 +665,7 @@ FACXSL_LCL('lcl_end_date_plan', 'Geplande einddatum', 'Planned end date', 'Gepla
FACXSL_LCL('lcl_occupation_perc', 'Bezetting (%)', 'Occupation [%]', 'Besetzung (%)', 'Occupation (%)')
FACXSL_LCL('lcl_show', 'Tonen', 'Show', 'Zeigen', 'Montrer')
FACXSL_LCL('lcl_res_extern_prefix', 'Extern: ', 'External: ', 'Extern: ', 'Extern: ')
FACXSL_LCL('lcl_res_extern_close', 'U mag dit scherm nu via het kruisje in de tab sluiten', '@@', '@@', '@@')
FACXSL_LCL('lcl_res_extern_close', 'U mag dit scherm nu via het kruisje in de tab sluiten', 'You may now close this screen', '@Sie k<>nnen dieses Fenster jetzt schlie<69>en', '@Vous pouvez maintenant fermer cette fen<65>tre')
FACXSL_LCL('lcl_res_is_resnew', 'Reservering is geregistreerd', 'Reservation is registered', 'Reservierung ist registriert worden', 'R<>servation est enregistr<74>e')
FACXSL_LCL('lcl_res_is_resopt', 'Reservering is in optie genomen', 'Reservation status is optional', 'Reservierung ist in Option genommen', 'Pris l''option de r<>servation')
FACXSL_LCL('lcl_res_is_resbev', 'Reservering is bevestigd', 'Reservation is confirmed', 'Reservierung ist best<73>tigt worden', 'R<>servation est confirm<72>e')
@@ -915,7 +920,7 @@ FACXSL_LCL('lcl_select', 'Selecteer', 'Select', 'Auswahl', 'S
FACXSL_LCL('lcl_save_value', 'Waarde opslaan', 'Save value', 'Wert speichern', 'Sauvegarder valeur')
FACXSL_LCL('lcl_search', 'Zoeken', 'Search', 'Suchen', 'Rechercher')
FACXSL_LCL('lcl_search_pers', 'Personen', 'Persons', 'Personen', 'Personnes')
FACXSL_LCL('lcl_prs_alt_loc', 'Ook alternatieve locaties', '@@', '@@', '@@')
FACXSL_LCL('lcl_prs_alt_loc', 'Ook alternatieve locaties', 'And alternative locations', '@Auch alternative Standorte', '@Endroits aussi d''autres')
FACXSL_LCL('lcl_search_org', 'Locaties', 'Locations', 'Standorte', 'Emplacements')
FACXSL_LCL('lcl_search_bedr', 'Bedrijven', 'Companies', 'Betriebe', 'Enterprises')
FACXSL_LCL('lcl_back', 'Terug', 'Back', 'Zur<75>ck', 'Retour')
@@ -927,6 +932,7 @@ FACXSL_LCL('lcl_appendixes', 'Bijlagen', 'Attachments', 'Anlagen', 'Fichiers joi
FACXSL_LCL('lcl_appendixes_teller', 'Bijlagen ({0})', 'Attachments ({0})', 'Anlagen ({0})', 'Fichiers joints ({0})')
FACXSL_LCL('lcl_more_vis', 'Meer bezoekers', 'More visitors', 'Mehr Besucher', 'Plus de visiteurs')
FACXSL_LCL('lcl_reservation', 'Reservering', 'Reservation', 'Reservierung', 'R<>servation')
FACXSL_LCL('lcl_reservation_extern', 'Externe Reservering', 'External Reservation', 'Reservierung Extern', 'R<>servation externe')
FACXSL_LCL('lcl_reservation_title', 'Reserveringen', 'Reservation', 'Reservierungen', 'R<>servations')
FACXSL_LCL('lcl_terra', 'Terrein', 'Terrain', 'Terrain', 'Terrain')
FACXSL_LCL('lcl_bld_terra', 'Gebouw/Terrein', 'Building/Terrain', 'Geb<65>ude/Terrain', 'Immeuble/Terrain')
@@ -937,7 +943,7 @@ FACXSL_LCL('lcl_filesize', 'Grootte', 'File size', 'Gr
FACXSL_LCL('lcl_filedate', 'Bestandsdatum', 'File date', 'Datei Datum', 'Date du fichier')
FACXSL_LCL('lcl_filedelete', 'Wissen', 'Delete', 'Entfernen', 'Supprimer')
FACXSL_LCL('lcl_nofiles', 'Geen bijlagen aanwezig', 'No attachments present', 'Keine Anlagen vorhanden', 'pas de fichiers joints')
FACXSL_LCL('lcl_export_oversized', 'Export van {0} ({1}) te groot: {2} bytes', 'Schedule export?', 'Export einplanen?', 'Cr<43>er plan d''exportation?')
FACXSL_LCL('lcl_export_oversized', 'Export van {0} ({1}) te groot: {2} bytes', 'Export of {0} ({1}) too large: {2} bytes', '@Export von {0} ({1}) zu gro<72>: {2} Bytes', '@Exportation de {0} ({1}) trop grandes: {2} bytes')
FACXSL_LCL('lcl_export_do', 'Export inplannen?', 'Schedule export?', 'Export einplanen?', 'Cr<43>er plan d''exportation?')
FACXSL_LCL('lcl_export_cancel', 'Geplande Export annuleren?', 'Cancel scheduled export?', 'Geplanten Export abbrechen?', 'Annuler plan d''exportation?')
FACXSL_LCL('lcl_export_ready', 'Export is klaargezet om te worden ge<67>xporteerd.', 'Data is ready to be exported', 'Exportdatei kann exportiert werden.', 'Exportation est pr<70>t pour exporter.')
@@ -962,7 +968,7 @@ FACXSL_LCL('lcl_res_objcat', 'Voorzieningen catalogus', 'Equipment catalogue', '
FACXSL_LCL('lcl_res_artcat', 'Verbruiksartikelen catalogus', 'Catering catalogue', 'Verbrauchsartikel Katalog', 'Catalogue de consommables')
FACXSL_LCL('lcl_res_objects', 'Reserveerbare objecten', 'Equipment', 'Reservierbare Objekte', 'Objets r<>servables')
FACXSL_LCL('lcl_res_notself', 'Deze reservering is niet door u zelf ingevoerd.', 'This reservation was not created by yourself.', 'Diese Reservierung haben Sie nicht selbst ausgef<65>llt.', 'Cette r<>servation n''est pas entr<74>e par vous-m<>me.')
FACXSL_LCL('lcl_res_warnBO', 'Waarschuwing last-minute: Breng bij wijzigingen de backoffice op de hoogte', 'Warning last minute: Contact back office about changes', 'Warnung Last-Minute: Falls <20>nderungen notwendig sind, verst<73>ndigen Sie den Innendienst', 'Attention derni<6E>re-minute: en cas de modifications, informez le back office')
FACXSL_LCL('lcl_res_warnBO', 'Waarschuwing last-minute: Breng bij wijzigingen de backoffice op de hoogte', 'Warning last minute: Contact the back office about changes', 'Warnung Last-Minute: Falls <20>nderungen notwendig sind, verst<73>ndigen Sie den Innendienst', 'Attention derni<6E>re-minute: en cas de modifications, informez le back office')
FACXSL_LCL('lcl_res_reado_parts', 'U heeft geen wijzigrechten op alle onderdelen', 'You do not have sufficient rights', 'Sie haben nicht f<>r alle Bestandteile die notwendigen <20>nderungsrechte', 'Vous n''avez pas des droits de modification pour tout les sections')
FACXSL_LCL('lcl_res_reado_late', 'Ruimte of sommige voorzieningen mogen niet meer gewijzigd worden', 'The room or some additional facilities may not be updated any more', 'Raum oder einige Anlagen d<>rfen nicht mehr ge<67>ndert werden', 'Espace ou quelques <20>quipements ne peuvent plus <20>ttre modifi<66>s')
FACXSL_LCL('lcl_res_reado_completed', 'Reservering is al geheel verwerkt', 'Reservation has already been completely processed', 'Reservierung ist vollst<73>ndig abgewickelt worden', 'R<>servation a d<>j<EFBFBD> <20>t<EFBFBD> compl<70>tement termin<69>e')
@@ -1250,6 +1256,7 @@ FACXSL_LCL('lcl_bes_organisation', 'Organisatie', 'Organisation', 'Organisation'
FACXSL_LCL('lcl_bes_srtdeel', 'Artikel', 'Article', 'Artikel', 'Article')
FACXSL_LCL('lcl_bes_srtdeel_zoek', 'Item zoeken', 'Item search', 'Artikel suchen', 'Rechercher article')
FACXSL_LCL('lcl_bes_srtdeel_full', 'Artikel', 'Article', 'Artikel', 'Article')
FACXSL_LCL('lcl_bes_srtdeel_need_cat', 'Filter eerst op catalogus', 'Select catalogus first', '@@', '@@')
FACXSL_LCL('lcl_bes_srtprod', 'Product', 'Product', 'Produkt', 'Produit')
FACXSL_LCL('lcl_bes_srtprod_list', 'Producten', 'Products', 'Produkten', 'Produits')
FACXSL_LCL('lcl_bes_grootheid', 'Eenheid', 'Quantity', 'Einheit', 'Unit<69>')
@@ -1673,7 +1680,7 @@ FACXSL_LCL('lcl_cnt_locations', 'Locaties', 'Locations', 'Standorte', 'Emplaceme
FACXSL_LCL('lcl_cnt_kostenplaats', 'Kostenplaats', 'Cost centre', 'Kostenstelle', 'Centre de co<63>ts')
FACXSL_LCL('lcl_cnt_kostensoort', 'Kostensoort', 'Charge type', 'Kostenart', 'Type de co<63>ts')
FACXSL_LCL('lcl_cnt_kostensoort_standaard', 'Standaard kostensoort', 'Default charge type', 'Standard Kostenart', 'Type de co<63>t standard')
FACXSL_LCL('lcl_cnt_kostensoort_specifiek', 'Specifiek kostensoort', 'Particular charge type', 'Spezielle Kostenart', 'Type de co<63>ts sp<73>cifique')
FACXSL_LCL('lcl_cnt_kostensoort_specifiek', 'Specifiek kostensoort', 'Specific charge type', 'Spezielle Kostenart', 'Type de co<63>ts sp<73>cifique')
FACXSL_LCL('lcl_cnt_location_scope', 'Locatie/gebouw scope:', 'Location/building scope:', 'Standort/Geb<65>ude Bereich:', 'Port<72>e de l''eplacement/immeuble')
FACXSL_LCL('lcl_cnt_objectsrt_scope', 'Objectsoort scope:', 'Object type scope:', 'Objektart Bereich:', 'Port<72>e de la sorte d''objet:')
FACXSL_LCL('lcl_cnt_object_scope', 'Object scope:', 'Object scope:', 'Objekt Bereich:', 'Port<72>e du objet:')
@@ -1692,7 +1699,7 @@ FACXSL_LCL('lcl_cnt_inactive', 'Gesloten', 'Closed', 'Geschlossen', 'Ferm
FACXSL_LCL('lcl_cnt_contract', 'Contract', 'Contract', 'Vertrag', 'Contrat')
FACXSL_LCL('lcl_cnt_approved_upto', 'Goedgekeurd tot <20> {0}', 'Approved up to <20> {0}', 'Genehmigt bis zu <20> {0}', 'Approuv<75> et <20> {0}')
FACXSL_LCL('lcl_cnt_fase_actief', 'Fase', 'Phase', 'Phase', 'Phase')
FACXSL_LCL('lcl_cnt_contract_locked', 'Let op: deze melding is in bewerking ({1}) door {0}.', 'Please note: this call is in operation ({1}) by {0}.', 'Achtung: diese Meldung ist in Bearbeitung (um {1}) von {0}.', 'Attention: cette app<EFBFBD>l est en cours ({1}) par {0}.')
FACXSL_LCL('lcl_cnt_contract_locked', 'Let op: dit contract is in bewerking ({1}) door {0}.', 'Please note: this contract is being edited ({1}) by {0}.', 'Achtung: diese Vertrag ist in Bearbeitung (um {1}) von {0}.', 'Attention: cette contrat est en cours ({1}) par {0}.')
END_FACXSL_LCL()
START_FACXSL_LCL('ASP', NULL)
@@ -2273,6 +2280,7 @@ FACXSL_LCL('lcl_kenmerkdomein_omschrijving', 'Kenmerkdomein', 'Property domain',
FACXSL_LCL('lcl_kenmerkdomein_objectnaam', 'Tabel', 'Table', 'Tabelle', 'Tableau')
FACXSL_LCL('lcl_kenmerkdomein_kolomnaam', 'Sleutelkolom', 'Key column', 'Schl<68>sselspalte', 'Colonne de cl<63>')
FACXSL_LCL('lcl_kenmerkdomein_kolomtxt', 'Tekstkolom', 'Text column', 'Textspalte', 'Colonne de texte')
FACXSL_LCL('lcl_kenmerkdomein_verval', 'Vervaldatumkolom', 'Expiration date column', 'Verfallsdatumspalte', 'Colonne de date d''expiration')
FACXSL_LCL('lcl_kenmerkdomein_xmlnode', 'Xml node', 'Xml node', 'XML Node', 'Node XML')
FACXSL_LCL('lcl_kenmerkdomein_gegevens', 'Domeingegevens', 'Domain data', 'Dom<6F>nedaten', 'Donn<6E>es de domaine')
FACXSL_LCL('lcl_usrtab_omschrijving', 'Eigen tabel', 'Custom table', 'Eigene Tabelle', 'Tableau personel')
@@ -2533,6 +2541,7 @@ FACXSL_LCL('lcl_menu_ins_disciplines', 'Disciplines', 'Disciplines', 'Diszipline
FACXSL_LCL('lcl_menu_ins_groepen', 'Groepen', 'Groups', 'Gruppen', 'Groupes')
FACXSL_LCL('lcl_menu_ins_objectsoorten', 'Objectsoorten', 'Object types', 'Objektarten', 'Sortes d''objet')
FACXSL_LCL('lcl_menu_ins_kenmerken', 'Kenmerken', 'Properties', 'Eigenschaften', 'Caract<63>ristiques')
FACXSL_LCL('lcl_menu_ins_kenmerken_insp', 'Inspectie kenmerken', 'Inspection properties', 'Pr<50>feigenschaften', 'Caract<63>ristiques de l''inspection')
FACXSL_LCL('lcl_menu_ins_kenmerksoorten', 'Kenmerksoorten', 'Property types', 'Eigenschaftarten', 'Sortes de caract<63>ristiques')
FACXSL_LCL('lcl_menu_ins_kenmerkdomeinen', 'Kenmerkdomeinen', 'Property domains', 'Eigenschaftdom<6F>nen', 'Domaines de caract<63>ristiques')
FACXSL_LCL('lcl_menu_ins_setting', 'Instellingen', 'Settings', 'Einstellungen', 'R<>glage')
@@ -2649,6 +2658,7 @@ FACXSL_LCL('lcl_mobile_saved', 'Wijzigingen zijn bewaard.', 'Adjustments are sav
FACXSL_LCL('lcl_mobile_lopendezaken', 'Mijn lopende zaken', 'My affairs', 'Meine Sache', 'Mon cours')
FACXSL_LCL('lcl_mobile_search', 'Zoeken', 'Search', 'Suchen', 'Rechercher')
FACXSL_LCL('lcl_mobile_srch_zoeker', 'Zoekfunctie', 'Search', 'Suche', 'Rechercher')
FACXSL_LCL('lcl_mobile_srch_zoeker_label', 'Typ een of meer zoekwoorden', 'Enter one or more keywords', '@Geben Sie einen oder mehrere Suchbegriffe', '@Rechercher!')
FACXSL_LCL('lcl_mobile_srch_zoeker_go', 'Zoek!', 'Search!', 'Suche!', 'Rechercher!')
@@ -2942,10 +2952,9 @@ FACXSL_LCL('lcl_mld_is_mldmai', 'Mail met melding bon verzonden naar ', 'Call fo
FACXSL_LCL('lcl_mld_is_ordmai', 'Mail met opdracht bon verzonden naar ', 'Order form has been mailed to ', 'Mail mit Auftragsticket gesendet an ', 'Ticket d<> l''ordre envoy<6F> par e-mail <20> ')
FACXSL_LCL('lcl_mld_opdr_description', 'Omschrijving', 'Description', 'Umschreibung', 'Description')
FACXSL_LCL('lcl_mld_opdr_reject', 'Wilt u opdracht {0} afwijzen?', 'Do you want to reject order {0} ?', 'M<>chten Sie Auftrag {0} abweisen?', 'Voulez-vous rejeter l''ordre {0} ?')
FACXSL_LCL('lcl_mld_opdr_approve_1', 'Wilt u opdracht ', 'Do you want to approve order ', 'M<>chten Sie Auftrag ', 'Voulez-vous autoriser l''ordre ')
FACXSL_LCL('lcl_mld_opdr_approve_2', ' fiatteren?', '?', ' genehmigen?', '?')
FACXSL_LCL('lcl_mld_opdr_goedkeur_1', 'Wilt u opdracht ', 'Do you want to validate order ', 'M<EFBFBD>chten Sie Auftrag ', 'Voulez-vous approuver l''ordre ')
FACXSL_LCL('lcl_mld_opdr_goedkeur_2', ' goedkeuren?', '?', ' zustimmen?', '?')
FACXSL_LCL('lcl_mld_opdr_approve', 'Wilt u opdracht {0} fiatteren?', 'Do you want to approve order {0}?', 'M<>chten Sie Auftrag {0} genehmigen?', 'Voulez-vous autoriser l''ordre {0}?')
FACXSL_LCL('lcl_mld_opdr_goedkeur', 'Wilt u opdracht {0} goedkeuren?', 'Do you want to validate order {0}?', 'M<>chten Sie Auftrag {0} zustimmen?', 'Voulez-vous approuver l''ordre {0}?')
FACXSL_LCL('lcl_mld_opdr_regvalidate', 'De opdracht wordt ter goedkeuring aangeboden bij {0} fiatteurs', 'The order is offered for validation to {0} approvers', 'Der Auftrag wird zur Pr<50>fung angeboten bei {0} Genehmigenders', 'Le ordre sera soumis pour approbation <20> {0} validateurs')
FACXSL_LCL('lcl_mld_opdr_offerte_accept', 'Accepteren offerte ', 'Accept offer ', 'Akzeptieren Angebot ', 'Accepter offre ')
FACXSL_LCL('lcl_mld_opdr_close', 'Opdracht(en) afmelden', 'Close order(s)', 'Auftrag abmelden', 'Terminer ordre')
FACXSL_LCL('lcl_mld_opdr_cancel', 'Opdracht annuleren', 'Cancel order', 'Auftrag abbrechen', 'Annuler ordre')
@@ -3151,6 +3160,7 @@ FACXSL_LCL('lcl_res_fail_invalid_objcat', 'Let op: er zijn ongeldige voorziening
FACXSL_LCL('lcl_res_cleanup_invalid_objcat', 'Let op: er zijn ongeldige voorzieningen bij deze reservering.'||CHR(10)||'Deze automatisch verwijderen?', 'Please note: a conflict exists in the additional facilities part of this reservation.'||CHR(10)||'Delete the invalid facilities automatically?', 'Achtung: Es gibt ung<6E>ltige Anlagen bei dieser Reservierung.'||CHR(10)||'Diese automatisch entfernen?', 'Attention: il y a des <20>quipements invalides dans cette r<>servation.'||CHR(10)||'Voulez-vous les supprimer automatiquement?')
FACXSL_LCL('lcl_res_no_multi_multi', 'Meerdaagse reserveringen mogen -om misverstanden te voorkomen- niet herhaald worden.', 'To prevent misunderstanding, recurrences cannot be created for multiple day reservations.', 'Mehrt<72>gliche Reservierungen d<>rfen -um Missverst<73>ndnisse zu verhindern- nicht wiederholt werden.', 'Pour <20>viter des malentendus, r<>servation de plusieurs jours ne peut pas <20>tre r<>pet<65>es.')
FACXSL_LCL('lcl_res_new_reservation', 'Nieuwe reservering', 'New reservation', 'Neue Reservierung', 'Reservation nouvelle')
FACXSL_LCL('lcl_res_new_reservation_extern', 'Nieuwe externe reservering', 'New external reservation', 'Neue externe Reservierung', 'Reservation nouvelle extern')
FACXSL_LCL('lcl_res_select_inplanbord', 'Kies een ruimte voor deze ', 'Select a room for this ', 'W<>hlen Sie einen Raum f<>r diese(n) ', 'Choisissez un espace pour ce(tte) ')
FACXSL_LCL('lcl_res_none_inplanbord', 'Er zijn geen ruimten beschikbaar die voldoen aan de geselecteerde criteria.', 'There are no rooms available that meet the selected criteria.', 'Es gibt keine Zimmer zur Verf<72>gung, die entsprechen den ausgew<65>hlten Kriterien.', 'Il n''y a pas que les chambres sont disponibles r<>pondent aux crit<69>res s<>lectionn<6E>s')
FACXSL_LCL('lcl_res_nrpers_inplanbord', ' personen', ' persons', ' Personen', ' personnes')
@@ -3200,6 +3210,18 @@ FACXSL_LCL('lcl_res_available_in_hours', 'Beschikbaar [uren]', 'Available [hours
FACXSL_LCL('lcl_res_list', 'Overzicht', 'Overview', '<27>bersicht', 'Vue d''ensemble')
FACXSL_LCL('lcl_res_multiday', 'Meerdaagse boeking! Let op: Catering is niet meerdaags!', 'Multiple day booking! Please note: Catering is never multiple days!','Erweiterte Reservierung! Hinweis: Catering ist nicht mehrt<72>gige!','R<>servation <20>tendue! Remarque: La restauration est pas sur plusieurs jours!')
FACXSL_LCL('lcl_res_multidays', 'Meerdaags', 'Multiple days', 'Mehrt<72>gig', 'Plusieurs jours')
FACXSL_LCL('lcl_res_flags', 'Filter','Filter','Filter','Filter')
FACXSL_LCL('lcl_res_flag0', '', '', '', '')
FACXSL_LCL('lcl_res_flag1', 'Code 1', 'Code 1', 'Code 1', 'Code 1')
FACXSL_LCL('lcl_res_flag2', 'Code 2', 'Code 2', 'Code 2', 'Code 2')
FACXSL_LCL('lcl_res_flag3', 'Code 3', 'Code 3', 'Code 3', 'Code 3')
FACXSL_LCL('lcl_res_flag4', 'Code 4', 'Code 4', 'Code 4', 'Code 4')
FACXSL_LCL('lcl_res_flag5', 'Code 5', 'Code 5', 'Code 5', 'Code 5')
FACXSL_LCL('lcl_res_flag6', 'Code 6', 'Code 6', 'Code 6', 'Code 6')
FACXSL_LCL('lcl_res_flag7', 'Code 7', 'Code 7', 'Code 7', 'Code 7')
FACXSL_LCL('lcl_res_flag8', 'Code 8', 'Code 8', 'Code 8', 'Code 8')
FACXSL_LCL('lcl_res_flag9', 'Code 9', 'Code 9', 'Code 9', 'Code 9')
FACXSL_LCL('lcl_shared_more', 'Meer >', 'More >', 'Mehr >', 'Plus >')
FACXSL_LCL('lcl_shared_other', 'Anders', 'Others', '<27>brige', 'D''autres')
FACXSL_LCL('lcl_shared_less', 'Minder <', 'Less <', 'Weniger <', 'Moins <')

View File

@@ -2977,7 +2977,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
-- Bij ORDGOE willen we *ook* de goedkeurder inlichten
IF lcode = 'ORDGOE'
THEN
mld.notifyopdrgoedkeurder (prefkey);
mld.notifyopdrgoedkeurders (prefkey);
END IF;
-- de afzender
@@ -3135,6 +3135,12 @@ CREATE OR REPLACE PACKAGE BODY fac AS
FROM bes_bestelling
WHERE bes_bestelling_key = prefkey;
-- Bij BESAP1 willen we *ook* de goedkeurders inlichten
IF lcode = 'BESFIT'
THEN
bes.notifybesgoedkeurders (prefkey);
END IF;
-- Bepaal de afzender
-- die komt van de (strikt: een) catalogus van de artikelen uit deze bestelling
-- of anders bepaald door de locatie van het afleveradres

View File

@@ -3208,6 +3208,10 @@ AS
AS
v_key bes_disc_params.bes_disc_params_key%TYPE;
v_bestellimiet bes_disc_params.bes_disc_params_bestellimiet%TYPE;
v_bestellimiet2 bes_disc_params.bes_disc_params_bestellimiet2%TYPE;
v_bestellimiet3 bes_disc_params.bes_disc_params_bestellimiet3%TYPE;
v_bestellimiet4 bes_disc_params.bes_disc_params_bestellimiet4%TYPE;
v_bestellimiet5 bes_disc_params.bes_disc_params_bestellimiet5%TYPE;
v_min_bedrag bes_disc_params.bes_disc_params_min_bedrag%TYPE;
v_auto_order bes_disc_params.bes_disc_params_auto_order%TYPE;
v_autoacceptrfo bes_disc_params.bes_disc_params_autoacceptrfo%TYPE;
@@ -3224,6 +3228,10 @@ AS
BEGIN
SELECT bes_disc_params_key,
bes_disc_params_bestellimiet,
bes_disc_params_bestellimiet2,
bes_disc_params_bestellimiet3,
bes_disc_params_bestellimiet4,
bes_disc_params_bestellimiet5,
bes_disc_params_min_bedrag,
bes_disc_params_auto_order,
bes_disc_params_autoacceptrfo,
@@ -3236,6 +3244,10 @@ AS
bes_disc_params_levopm_url
INTO v_key,
v_bestellimiet,
v_bestellimiet2,
v_bestellimiet3,
v_bestellimiet4,
v_bestellimiet5,
v_min_bedrag,
v_auto_order,
v_autoacceptrfo,
@@ -3259,6 +3271,10 @@ AS
createopentag ('bes');
createxmltagvalue ('key', v_key);
createxmltagvalue ('bestellimiet', v_bestellimiet);
createxmltagvalue ('bestellimiet2', v_bestellimiet2);
createxmltagvalue ('bestellimiet3', v_bestellimiet3);
createxmltagvalue ('bestellimiet4', v_bestellimiet4);
createxmltagvalue ('bestellimiet5', v_bestellimiet5);
createxmltagvalue ('min_bedrag', v_min_bedrag);
createxmltagvalue ('auto_order', v_auto_order);
createxmltagvalue ('autoacceptrfo', v_autoacceptrfo);
@@ -3937,6 +3953,7 @@ AS
v_activiteit_key mld_opdr.fac_activiteit_key%TYPE;
v_opmerking mld_opdr.mld_opdr_opmerking%TYPE;
v_flag mld_opdr.mld_opdr_flag%TYPE;
v_approved mld_opdr.mld_opdr_approved%TYPE;
CURSOR c1
IS
@@ -4004,7 +4021,8 @@ AS
v_mld_opdr_opmerking_fiat,
v_activiteit_key,
v_opmerking,
v_flag
v_flag,
v_approved
FROM mld_opdr o, mld_statusopdr s
WHERE o.mld_statusopdr_key = s.mld_statusopdr_key
AND mld_opdr_key = p_key;
@@ -4030,6 +4048,7 @@ AS
createxmltagvalue ('uurloon', mynumbertochar (v_uurloon));
createxmltagvalue ('opmerking_fiat', v_mld_opdr_opmerking_fiat);
createxmltagvalue ('flag', v_flag);
createxmltagvalue ('approved', v_approved);
create_mld_opdr_kenmerken (p_key);
create_prs_kostenplaats_node (v_prs_kostenplaats_key, FALSE);
createxmltagvalue ('ordernr', v_ordernr);
@@ -5206,6 +5225,7 @@ AS
v_levkosten bes_bestelling.bes_bestelling_levkosten%TYPE;
v_korting bes_bestelling.bes_bestelling_korting%TYPE;
v_parentkey bes_bestelling.bes_bestelling_parentkey%TYPE;
v_approved bes_bestelling.bes_bestelling_approved%TYPE;
CURSOR c1
IS
@@ -5249,6 +5269,7 @@ AS
bes_bestelling_levkosten,
bes_bestelling_korting,
bes_bestelling_parentkey
bes_bestelling_approved
INTO v_module,
v_statuskey,
v_datum,
@@ -5267,7 +5288,8 @@ AS
v_retourvan_key,
v_levkosten,
v_korting,
v_parentkey
v_parentkey,
v_approved
FROM bes_bestelling b, bes_bestellingstatuses s
WHERE b.bes_bestelling_status = s.bes_bestellingstatuses_key
AND bes_bestelling_key = p_key;
@@ -5316,6 +5338,7 @@ AS
createxmltagvalue ('ismutatie', 1); -- Might be handy
create_bes_bestelling_node (v_parentkey, TRUE);
END IF;
createxmltagvalue ('approved', v_approved);
create_fac_tracking_node ('bestelling', p_key);
createclosetag ('bestelling');

View File

@@ -76,6 +76,9 @@ DEFINE_SETTING('FAC', 0003, 'qp_maxrows' , 'number'
DEFINE_SETTING('FAC', 0003, 'qp_maxrows2' , 'number' , '1000' , 'Maximum number of rows to show, displays ''lcl_qp_maxrows3'' if exceeded')
DEFINE_SETTING('FAC', 0003, 'rs_maxchar' , 'number' , '150' , 'vanaf hier afgekapt en ''Meer...'' tonen.')
DEFINE_SETTING('FAC', 0003, 'rs_mobile_maxchar' , 'number' , '80' , 'vanaf hier afgekapt en ''...'' tonen.')
DEFINE_SETTING('FAC', 0001, 'asp_timeout' , 'number' , '-1' , 'Copy the IIS configuration asp AspScriptTimeout setting (future use)')
DEFINE_SETTING('FAC', 0001, 'asp_max_upload' , 'number' , '-1' , 'Copy the IIS configuration setting AspMaxRequestEntityAllowed (future use)')
DEFINE_SETTING('FAC', 0001, 'asp_max_download' , 'number' , '-1' , 'Copy the IIS configuration setting AspBufferingLimit (future use)')
DEFINE_SETTING('FAC', 0003, 'prodsearch_rank' , 'array' , 'faq,besartikel,resruimte,mldstdm,prsperslid,resartikel,resdeel', 'Ranking in product search')
DEFINE_SETTING('FAC', 0003, 'kosten_klant_default' , 'number' , '1' , 'initial status of kosten klant checkbox { 0 - unchecked | 1 - checked }')
DEFINE_SETTING('FAC', 0003, 'prs_password_validation' , 'string' , '.{8,}' , 'At least 8 characters')
@@ -99,7 +102,7 @@ DEFINE_SETTING('FAC', 0000, 'SmsUid' , 'string'
DEFINE_SETTING('FAC', 0000, 'SmsPwd' , 'string' , '' , 'Password for SMS service')
DEFINE_SETTING('FAC', 0000, 'SmsReplyPhone' , 'string' , '' , 'Reply id for SMS service, this can be either a phonenumber or a string')
DEFINE_SETTING('FAC', 0001, 'self_register' , 'number' , '0' , 'Can user self-register? ( 0 disable )')
DEFINE_SETTING('FAC', 0001, 'self_register_expire' , 'number' , '60' , 'Minuted to respond to confirmation e-mail ( default 60 )')
DEFINE_SETTING('FAC', 0001, 'self_register_expire' , 'number' , '60' , 'Minutes to respond to confirmation e-mail ( default 60 )')
DEFINE_SETTING('FAC', 0001, 'self_register_groep_key' , 'number' , '-1' , 'Default fac_groep for unconfirmed user. If >0 it overrules _DEFAULT groep')
DEFINE_SETTING('FAC', 0001, 'self_register_srtperslid_key' , 'number' , '-1' , 'Default srtperslid key')
DEFINE_SETTING('FAC', 0001, 'self_register_afdeling_key' , 'number' , '-1' , 'Default afdeling key')
@@ -112,6 +115,7 @@ DEFINE_SETTING('FAC', 0001, 'qrc_enable' , 'number'
DEFINE_SETTING('FAC', 0001, 'qr_auth_expire' , 'number' , '5' , 'Minutes QRC-code is valid (default 5)')
DEFINE_SETTING('FAC', 0001, 'qr_color' , 'number' , '5452544' , 'QRC color')
DEFINE_SETTING('FAC', 0001, 'fac_nieuws_forum_url' , 'string' , 'http://wordpress.facilitor.nl/api/get_category_posts/?category_id=40&count=15&date_format=d-m-Y', NULL)
DEFINE_SETTING('FAC', 0001, 'fac_emailtoken_auth_expire' , 'number' , '0' , 'Minutes e-mail login token is valid (default 0)')
DEFINE_SETTING('FAC', 0001, 'fac_nieuws_forum_max' , 'number' , '6' , 'Max number of news items to show')
DEFINE_SETTING('PRS', 0001, 'prs_dep_all' , 'boolean' , 'false' , 'allow attaching persons on all department level { true | false }')
DEFINE_SETTING('PRS', 0001, 'prs_dep_string' , 'string' , 'd.prs_afdeling_naam' , NULL)
@@ -235,6 +239,7 @@ DEFINE_SETTING('BES', 0003, 'bes_show_inkprijs' , 'number'
DEFINE_SETTING('BES', 0003, 'bes_pgb_fiattering' , 'number' , '0' , 'Algemene fiatteringsproces noodzakelijk naast PGB/AGB fiatering? {0=no | 1=yes}')
DEFINE_SETTING('BES', 0003, 'bes_pgb_fe_fiat' , 'number' , '0' , 'Een bestelling van FE-er moet naast PGB/AGB fiattering ook altijd gefiatteerd worden, anders altijd afwijzen {0=no | 1=yes}')
DEFINE_SETTING('BES', 0003, 'bes_confirm_order_before_submit' , 'boolean' , 'false' , 'Bevestig bestelaanvraag voordat het uitgevoerd wordt')
DEFINE_SETTING('BES', 0003, 'bes_approval_all' , 'number' , '0' , 'Goedkeuring bestelling vereist t.o.v. eerstvolgende limiet (=0 default) of t.o.v. totale kosten (in <20><>n keer)(=1)')
DEFINE_SETTING('CNT', 0000, 'cnt_srttype_rental' , 'number' , '2' , 'cnt_srtcontract_type of room rental contract type')
DEFINE_SETTING('CNT', 0003, 'cnt_scopeverdeling' , 'number' , '0' , '0|1, cost distribution by scope weights 0=relative weight, 1=absolute amount')
DEFINE_SETTING('CNT', 0001, 'mld_huurmut_vakgroep_key' , 'number' , '-1' , 'mld_discipline waaronder meldingen voor huurmutaties worden gemaakt')
@@ -246,7 +251,7 @@ DEFINE_SETTING('CNT', 0003, 'cnt_contract_approval' , 'number'
DEFINE_SETTING('CNT', 0003, 'cnt_contract_limit1' , 'number' , '0' , 'De eerste limiet van het contract approval mechanisme')
DEFINE_SETTING('CNT', 0003, 'cnt_contract_limit2' , 'number' , '5000' , 'De tweede limiet van het contract approval mechanisme')
DEFINE_SETTING('CNT', 0003, 'cnt_contract_limit3' , 'number' , '125000' , 'De derde limiet van het contract approval mechanisme')
DEFINE_SETTING('CNT', 0003, 'cnt_approval_all' , 'number' , '0' , 'Goedkeuring vereist t.o.v. eerstvolgende limiet (=0 default) of t.o.v. totale kosten (in <20><>n keer)(=1)')
DEFINE_SETTING('CNT', 0003, 'cnt_approval_all' , 'number' , '0' , 'Goedkeuring contract vereist t.o.v. eerstvolgende limiet (=0 default) of t.o.v. totale kosten (in <20><>n keer)(=1)')
DEFINE_SETTING('CNT', 0003, 'cnt_factuur_totaalmarge' , 'number' , '0' , 'De toegestane marge op de totaal factuur (default 0)')
DEFINE_SETTING('FAQ', 0001, 'faq_enabled' , 'number' , '0' , 'Is kennisbank available {0 | 1} licensed separately')
DEFINE_SETTING('FAQ', 0003, 'faq_max_results' , 'number' , '10' , 'Limit the result to this number')
@@ -327,6 +332,7 @@ DEFINE_SETTING('MLD', 0009, 'mlds_image_path' , 'string'
DEFINE_SETTING('MLD', 0003, 'mld_add_mldopmerk_on_opdrclose' , 'number' , '0' , 'Automatically copy remark from order to call when supplier close last order {1=Yes | 0=No}')
DEFINE_SETTING('MLD', 0003, 'mld_reference_days' , 'number' , '100' , 'Het aantal dagen terug in de tijd van waaraf eigen referentie getoond dienen te worden')
DEFINE_SETTING('MLD', 0003, 'mld_locked_expire' , 'number' , '30' , 'Minutes after which edit-lock automatically released')
DEFINE_SETTING('MLD', 0003, 'mld_opdr_approval_all' , 'number' , '0' , 'Goedkeuring opdracht vereist t.o.v. eerstvolgende limiet (=0 default) of t.o.v. totale kosten (in <20><>n keer)(=1)')
DEFINE_SETTING('PRS', 0003, 'prs_h' , 'float' , '0.25' , 'Employability time stepsize')
DEFINE_SETTING('PRS', 0003, 'prs_t1' , 'float' , '8' , 'Employability day start (hour)')
DEFINE_SETTING('PRS', 0003, 'prs_t2' , 'float' , '18' , 'Employability day end (hour)')
@@ -416,6 +422,7 @@ DEFINE_SETTING('RES', 0003, 'res_fe_allow_dirty' , 'number'
DEFINE_SETTING('RES', 0003, 'res_noshow_detailed' , 'number' , '1' , 'No-show is a checkbox (0) or a number (1)')
DEFINE_SETTING('RES', 0003, 'res_vcalendar_link' , 'number' , '1' , 'Download naar ''Outlook''')
DEFINE_SETTING('RES', 0003, 'res_room_order' , 'number' , '0' , 'Planbord sorted by capacity or description (0=capacity (default) | 1=description)')
DEFINE_SETTING('FAC', 0001, 'res_plan_max_bezet' , 'number' , '0' , 'Maximum planbord ''occupied'' fields. AiAi timeout prevention (future use)')
DEFINE_SETTING('RES', 0009, 'res_image_path' , 'string' , NULL , 'path to folder storing res_ruimte pictures')
DEFINE_SETTING('RES', 0003, 'res_with_mld' , 'number' , '0' , 'Reservering kan meldingen hebben {0=Nee (default) | 1=Ja}')
DEFINE_SETTING('RES', 0003, 'res_ruimte_prijsfactor_intern' , 'float' , '1' , 'Default multiplication factor for room prices if for internal use (e.g. 0.8)')
@@ -549,35 +556,35 @@ DEFINE_SETTING('BEZ', 0001, 'vis_parking_key' , 'number', '-1', 'Catalog key (re
DEFINE_SETTING('PUO', 0001, 'puo_notificationdelay' , 'number' , '0' , 'notification delay')
DEFINE_SETTING('PUO', 0001, 'puo_notificationinmailbody' , 'boolean' , 'false' , 'false = as attachments, true = in body')
DEFINE_SETTING('PUO', 0001, 'puo_mailbodycharset' , 'string' , 'unicode-1-1-utf-8' , 'Putorders e-mail charset')
DEFINE_SETTING('PUO', 0001, 'puo_notificationxsl' , 'string' , '../xsl/cust.xsl' , 'stylesheet to be applied for notifications')
DEFINE_SETTING('PUO', 0001, 'puo_system2systemxsl' , 'string' , '../xsl/system2system.xsl' , 'Stylesheet to be applied for system 2 system notifications')
DEFINE_SETTING('PUO', 0001, 'puo_subjectprefix' , 'string' , 'Facilitor bestelling: Bestelopdracht nr.' , 'Mail subject prefix for orders (to be followed by ordernr)')
DEFINE_SETTING('PUO', 0001, 'puo_subjectprefixmld' , 'string' , 'Facilitor bestelling: Bestelopdracht nr.' , 'putorder subject prefix for MLD')
DEFINE_SETTING('PUO', 0001, 'puo_subjectprefixcnt' , 'string' , 'Facilitor bestelling: Bestelopdracht nr.' , 'putorder subject prefix for CNT')
DEFINE_SETTING('PUO', 0001, 'puo_subjectprefix' , 'string' , 'Facilitor bestelling: Bestelopdracht nr.' , 'Mail subject prefix for BES orders (to be followed by ordernr)')
DEFINE_SETTING('PUO', 0001, 'puo_subjectprefixmld' , 'string' , 'Facilitor opdracht: Opdracht nr.' , 'Mail subject prefix for MLD orders')
DEFINE_SETTING('PUO', 0001, 'puo_subjectprefixcnt' , 'string' , 'Facilitor contract nr.' , 'Mail subject prefix for CNT')
DEFINE_SETTING('PUO', 0001, 'puo_fromaddress' , 'string' , '' , 'The fixed From address for Facilitor orders')
DEFINE_SETTING('PUO', 0001, 'puo_replyaddress' , 'string' , '' , 'Optional reply address if that is different from FromAddress')
DEFINE_SETTING('PUO', 0001, 'puo_usesenderasreplyto' , 'boolean' , 'false' , 'If false the sender will be the sender, if true the sender will be FromAddress and ReplyAddress will be the sender')
DEFINE_SETTING('PUO', 0001, 'puo_receiptto' , 'string' , '' , 'Address to send the receipt confirmation to for ORDERS only')
DEFINE_SETTING('PUO', 0001, 'puo_cc' , 'string' , '' , 'Copy email address for ORDERS only')
DEFINE_SETTING('PUO', 0001, 'puo_bcc' , 'string' , '' , 'Blind copy email address for ORDERS only')
DEFINE_SETTING('PUO', 0001, 'puo_loglevel' , 'number' , '0' , 'Level of logging (0-3) for troubleshooting purposes')
DEFINE_SETTING('PUO', 0001, 'puo_loglevel' , 'number' , '1' , 'Level of logging (0-3) for troubleshooting purposes')
DEFINE_SETTING('PUO', 0001, 'puo_connectionflag' , 'number' , '0' , 'INTERNET_FLAG_PASSIVE = 0x8000000, else = 0')
DEFINE_SETTING('PUO', 0001, 'puo_useproxy' , 'boolean' , 'false' , 'true = Use Proxy Server (recognizes TIS FTP gateway only), false = don''t use Proxy')
DEFINE_SETTING('PUO', 0001, 'puo_proxyserveripaddress' , 'string' , '127.0.0.1' , 'Proxy Server IP Address, only used when UseProxy = true')
DEFINE_SETTING('PUO', 0001, 'puo_logdestination' , 'number' , '1' , 'Where to log: 1=file, 2 = database, 3=both')
DEFINE_SETTING('PUO', 0001, 'puo_emergencymailaddress' , 'string' , 'info@a.b.nl' , 'Fallback e-mail address if database cannot be reached')
DEFINE_SETTING('PUO', 0001, 'puo_emergencymailaddress' , 'string' , '' , 'Fallback e-mail address if database cannot be reached')
DEFINE_SETTING('PUO', 0001, 'puo_custorders' , 'boolean' , 'false' , 'true = use customer orderqueue')
DEFINE_SETTING('PUO', 0001, 'puo_forcemailaddress' , 'string' , 'n@a.b.nl' , 'Force this email address for test purposes')
DEFINE_SETTING('PUO', 0001, 'puo_forceorderaddress' , 'string' , 'mailto://n@a.b.nl' , 'Force this order address for test purposes')
DEFINE_SETTING('PUO', 0001, 'puo_forcefromaddress' , 'string' , 'n@a.b.nl' , 'Force the from and reply address for test purposes')
DEFINE_SETTING('PUO', 0001, 'puo_forcemobile' , 'string' , '31123456789' , 'Force this mobile number for test purposes')
DEFINE_SETTING('PUO', 0001, 'puo_smsaccount' , 'string' , '' , 'SMS accountinfo')
DEFINE_SETTING('PUO', 0001, 'puo_uid' , 'string' , '' , 'uid')
DEFINE_SETTING('PUO', 0001, 'puo_pwd' , 'string' , '' , 'pwd')
DEFINE_SETTING('PUO', 0001, 'puo_replyphone' , 'string' , '' , 'Include country code')
DEFINE_SETTING('PUO', 0001, 'puo_forcemailaddress' , 'string' , '' , 'Force this email address for test purposes eg john@example.com')
DEFINE_SETTING('PUO', 0001, 'puo_forceorderaddress' , 'string' , '' , 'Force this order address for test purposes eg mailto://john@example.com')
DEFINE_SETTING('PUO', 0001, 'puo_forcefromaddress' , 'string' , '' , 'Force the from and reply address for test purposes eg john@example.com')
DEFINE_SETTING('PUO', 0001, 'puo_forcemobile' , 'string' , '' , 'Force this mobile number for test purposes eg 31612345678')
DEFINE_SETTING('PUO', 0001, 'puo_smsprotocol' , 'string' , 'HTTP' , 'HTTP or SMTP(*)')
DEFINE_SETTING('PUO', 0001, 'puo_smsaccount' , 'string' , '' , 'SMS email address for protocol SMTP')
DEFINE_SETTING('PUO', 0001, 'puo_uid' , 'string' , '' , 'SMS provider user id')
DEFINE_SETTING('PUO', 0001, 'puo_pwd' , 'string' , '' , 'SMS provider user password')
DEFINE_SETTING('PUO', 0001, 'puo_replyphone' , 'string' , 'FACILITOR' , 'Include country code')
DEFINE_SETTING('PUO', 0001, 'puo_flexfilesfolder' , 'string' , '' , 'Putorders flexfiles folder')
DEFINE_SETTING('PUO', 0001, 'puo_mailbodycharset' , 'string' , 'unicode-1-1-utf-7' , 'Putorders charset')
// Vervallen settings opruimen
DELETE FROM fac_setting

View File

@@ -17,7 +17,7 @@ CREATE OR REPLACE PACKAGE mld AS
FUNCTION getopdrachtstatusdate (popdrkey IN number, pstatus IN number) RETURN date;
PROCEDURE setopdrachtstatus (popdrachtkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
PROCEDURE notifybackoffice (pmeldingkey IN NUMBER);
PROCEDURE notifyopdrgoedkeurder (popdrkey IN NUMBER);
PROCEDURE notifyopdrgoedkeurders (popdrkey IN NUMBER);
PROCEDURE mld_nextworkflowstep (p_melding_key IN NUMBER
,p_success IN NUMBER);
@@ -566,29 +566,86 @@ CREATE OR REPLACE PACKAGE BODY mld AS
END;
END;
-- Stuur alle mogelijke opdracgtgoedkeurders een bericht als de
-- opdracht status 10 heeft. Naar wie, wordt reversed opgezocht op basis van
-- toegekende autorisaties
-- Stuur alle mogelijke opdracht goedkeurders een bericht als de opdracht status 10 heeft.
-- Naar wie, wordt reversed opgezocht op basis van toegekende autorisaties.
-- Lijkt heel erg sterk op bovenstaande notifybackoffice
PROCEDURE notifyopdrgoedkeurder (popdrkey IN NUMBER)
PROCEDURE notifyopdrgoedkeurders (popdrkey IN NUMBER)
AS
lloc_key mld_melding.mld_alg_locatie_key%TYPE;
lafd_key prs_perslid.prs_afdeling_key%TYPE;
ldisc_key mld_stdmelding.mld_ins_discipline_key%TYPE;
lspoed mld_melding.mld_melding_spoed%TYPE;
loms fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
lopdr_approved mld_opdr.mld_opdr_approved%TYPE;
lopdr_kosten mld_opdr.mld_opdr_kosten%TYPE;
lbestellimiet mld_disc_params.mld_disc_params_bestellimiet%TYPE;
lbestellimiet2 mld_disc_params.mld_disc_params_bestellimiet2%TYPE;
lbestellimiet3 mld_disc_params.mld_disc_params_bestellimiet3%TYPE;
lbestellimiet4 mld_disc_params.mld_disc_params_bestellimiet4%TYPE;
lbestellimiet5 mld_disc_params.mld_disc_params_bestellimiet5%TYPE;
lfunctiecode fac_functie.fac_functie_code%TYPE;
lsender mld_discipline.ins_discipline_email%TYPE;
bericht fac_srtnotificatie.fac_srtnotificatie_oms%TYPE; -- kan te kort zijn na substitutie
BEGIN
BEGIN
SELECT m.mld_alg_locatie_key, p.prs_afdeling_key, stdm.mld_ins_discipline_key, m.mld_melding_spoed
INTO lloc_key, lafd_key, ldisc_key, lspoed
FROM mld_melding m, prs_perslid p, mld_stdmelding stdm, mld_opdr o
SELECT m.mld_alg_locatie_key, p.prs_afdeling_key, stdm.mld_ins_discipline_key, m.mld_melding_spoed,
COALESCE(o.mld_opdr_approved, -1), COALESCE(o.mld_opdr_kosten, 0), mdp.mld_disc_params_bestellimiet, mdp.mld_disc_params_bestellimiet2,
mdp.mld_disc_params_bestellimiet3, mdp.mld_disc_params_bestellimiet4, mdp.mld_disc_params_bestellimiet5
INTO lloc_key, lafd_key, ldisc_key, lspoed,
lopdr_approved, lopdr_kosten, lbestellimiet, lbestellimiet2,
lbestellimiet3, lbestellimiet4, lbestellimiet5
FROM mld_melding m, prs_perslid p, mld_stdmelding stdm, mld_opdr o,
ins_tab_discipline d, mld_disc_params mdp
WHERE m.prs_perslid_key = p.prs_perslid_key
AND stdm.mld_stdmelding_key = m.mld_stdmelding_key
AND stdm.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_discipline_key = mdp.mld_ins_discipline_key
AND o.mld_statusopdr_key = 10
AND m.mld_melding_key = o.mld_melding_key
AND o.mld_opdr_key = popdrkey;
IF lopdr_kosten <= lbestellimiet -- Dit eerst testen i.v.m. Ter goedkeuring. Verder moet sowieso goedgekeurd worden.
THEN
RETURN; -- Het bedrag is lager als de eerste limiet. De opdracht hoeft niet goed gekeurd te worden, dus een lege fiatteurs array teruggeven.
ELSIF (((fac.getsetting ('mld_opdr_approval_all') = 0 AND lopdr_kosten >= lbestellimiet) OR
(fac.getsetting ('mld_opdr_approval_all') = 1 AND lopdr_kosten <= lbestellimiet2)) AND
lopdr_approved <= lbestellimiet)
THEN
lfunctiecode := 'WEB_ORDGOE';
ELSIF ((fac.getsetting ('mld_opdr_approval_all') = 0 AND lopdr_kosten >= lbestellimiet2 AND lopdr_approved = lbestellimiet2) OR
(fac.getsetting ('mld_opdr_approval_all') = 1 AND lopdr_kosten <= lbestellimiet3 AND lopdr_approved <= lbestellimiet2))
THEN
lfunctiecode := 'WEB_ORDGO2';
ELSIF ((fac.getsetting ('mld_opdr_approval_all') = 0 AND lopdr_kosten >= lbestellimiet3 AND lopdr_approved = lbestellimiet3) OR
(fac.getsetting ('mld_opdr_approval_all') = 1 AND lopdr_kosten <= lbestellimiet4 AND lopdr_approved <= lbestellimiet3))
THEN
lfunctiecode := 'WEB_ORDGO3';
ELSIF ((fac.getsetting ('mld_opdr_approval_all') = 0 AND lopdr_kosten >= lbestellimiet4 AND lopdr_approved = lbestellimiet4) OR
(fac.getsetting ('mld_opdr_approval_all') = 1 AND lopdr_kosten <= lbestellimiet5 AND lopdr_approved <= lbestellimiet4))
THEN
lfunctiecode := 'WEB_ORDGO4';
ELSIF((fac.getsetting ('mld_opdr_approval_all') = 0 AND lopdr_kosten >= lbestellimiet5 AND lopdr_approved >= lbestellimiet5) OR
(fac.getsetting ('mld_opdr_approval_all') = 1 AND lopdr_kosten > lbestellimiet5 AND lopdr_approved <= lbestellimiet5))
THEN
lfunctiecode := 'WEB_ORDGO5';
ELSE
RETURN; -- Het goedgekeurde bedrag zit al boven de vijfde limiet. Geen approval meer nodig.
END IF;
-- These notifications are now sent on behalf of the system, what might be the local FM organisation
SELECT MAX (COALESCE(cd.ins_discipline_email, l.alg_locatie_email)) email
INTO lsender
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
mld_discipline cd,
alg_locatie l
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = cd.ins_discipline_key
AND m.mld_alg_locatie_key = l.alg_locatie_key
AND o.mld_opdr_key = popdrkey;
-- Als die er niet is sprongen we al naar de exception
-- Als die er wel is, gaan we verder
SELECT lcl.x('fac_srtnotificatie_oms', fac_srtnotificatie_key, fac_srtnotificatie_oms)
@@ -633,7 +690,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
FROM fac_v_my_locations
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = fac_gebruiker_alg_level_write)))
AND fac_functie_code = 'WEB_ORDGOE')
AND fac_functie_code = lfunctiecode)
LOOP
fac.putnotificationsrtprio (NULL,
boer.prs_perslid_key,
@@ -645,7 +702,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
NULL,
NULL,
lspoed, -- 1,2,3,4
NULL
lsender
);
END LOOP;
EXCEPTION

View File

@@ -68,7 +68,7 @@ CREATE_TABLE(mld_disc_params, 0)
mld_disc_params_startdatum -- if null then matches setting mld_stdmelding_startdatum
NUMBER(1),
mld_disc_params_bestellimiet
NUMBER(8,2)
NUMBER(11,2)
DEFAULT 100000,
mld_disc_params_offerteauto -- Automatische offerteafhandeling Ja/Nee(1/0)
NUMBER(1)
@@ -78,7 +78,19 @@ CREATE_TABLE(mld_disc_params, 0)
DEFAULT 0,
mld_behandelgroep_key
NUMBER(10)
CONSTRAINT mld_r_behandelgroep_key1 REFERENCES mld_behandelgroep(mld_behandelgroep_key)
CONSTRAINT mld_r_behandelgroep_key1 REFERENCES mld_behandelgroep(mld_behandelgroep_key),
mld_disc_params_bestellimiet2
NUMBER(11,2)
DEFAULT 1000000,
mld_disc_params_bestellimiet3
NUMBER(11,2)
DEFAULT 1000000,
mld_disc_params_bestellimiet4
NUMBER(11,2)
DEFAULT 1000000,
mld_disc_params_bestellimiet5
NUMBER(11,2)
DEFAULT 1000000
);
@@ -732,7 +744,9 @@ CREATE_TABLE(mld_opdr,0)
mld_opdr_opmerking
VARCHAR2(4000),
mld_opdr_flag
NUMBER(1)
NUMBER(1),
mld_opdr_approved
NUMBER(11,2)
);
CREATE_TABLE(mld_vrije_dagen, 0)

View File

@@ -118,6 +118,7 @@ ALTER TABLE fac_imp_perslid ADD prs_kenmerk20 VARCHAR2(255);
ALTER TABLE res_rsv_ruimte ADD res_rsv_ruimte_flag NUMBER(1);
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#26733
// Melding opdrachten
DEF_FAC_FUNCTIE2('WEB_ORDGO2', 'Backoffice:Opdrachten-goedk2', 'MLD', 11, 1, 1, 'Om opdrachten boven de tweede limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_ORDGO3', 'Backoffice:Opdrachten-goedk3', 'MLD', 11, 1, 1, 'Om opdrachten boven de derde limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_ORDGO4', 'Backoffice:Opdrachten-goedk4', 'MLD', 11, 1, 1, 'Om opdrachten boven de vierde limiet goed te kunnen keuren');
@@ -130,6 +131,12 @@ ALTER TABLE mld_disc_params ADD mld_disc_params_bestellimiet4 NUMBER(11,2) DEFAU
ALTER TABLE mld_disc_params ADD mld_disc_params_bestellimiet5 NUMBER(11,2) DEFAULT 1000000;
ALTER TABLE mld_opdr ADD mld_opdr_approved NUMBER(11,2);
// Bestelling aanvragen
DEF_FAC_FUNCTIE2('WEB_BESGO2', 'Backoffice:Bestellingen-goedk2', 'BES', 11, 1, 1, 'Om bestelaanvragen boven de tweede limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_BESGO3', 'Backoffice:Bestellingen-goedk3', 'BES', 11, 1, 1, 'Om bestelaanvragen boven de derde limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_BESGO4', 'Backoffice:Bestellingen-goedk4', 'BES', 11, 1, 1, 'Om bestelaanvragen boven de vierde limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_BESGO5', 'Backoffice:Bestellingen-goedk5', 'BES', 11, 1, 1, 'Om bestelaanvragen boven de vijfde limiet goed te kunnen keuren');
ALTER TABLE bes_disc_params ADD bes_disc_params_bestellimiet2 NUMBER(11,2) DEFAULT 1000000;
ALTER TABLE bes_disc_params ADD bes_disc_params_bestellimiet3 NUMBER(11,2) DEFAULT 1000000;
ALTER TABLE bes_disc_params ADD bes_disc_params_bestellimiet4 NUMBER(11,2) DEFAULT 1000000;