14 Commits

Author SHA1 Message Date
Jos Groot Lipman
a25392c7d5 PROR#79462 Outlook-koppeling deadlocks
svn path=/Database/branches/DB45/; revision=61821
2023-09-18 08:57:19 +00:00
Peter Feij
1f6d766f0e PROR#79956 bugfix bij het verwijderen van reserveringen die niet/niet meer in Outlook voorkomen
svn path=/Database/branches/DB45/; revision=61747
2023-09-07 13:06:57 +00:00
Ruud Lipper
fec5afab9d SZDB#78754 res_discipline_bonotify verfijnd
svn path=/Database/branches/DB45/; revision=61213
2023-07-18 09:57:58 +00:00
Ruud Lipper
8cf4734266 FCLT#79215 documentatie prs_password_expiration uitgebreid
svn path=/Database/branches/DB45/; revision=61212
2023-07-18 09:02:19 +00:00
Peter Feij
8b7682df0b reverted, moest in trunk
svn path=/Database/branches/DB45/; revision=61160
2023-07-12 10:36:14 +00:00
Peter Feij
1886174bbc MNNL#76394 Iedere authenticator mag
svn path=/Database/branches/DB45/; revision=61158
2023-07-12 09:32:44 +00:00
Maykel Geerdink
9907e4130c BLCC#79069: BCC51292 2x afgemeld.
svn path=/Database/branches/DB45/; revision=61144
2023-07-11 14:30:16 +00:00
ec5ac6430a FCLT#79023 Betere default S(cnt_autolink_regexp) (2/2)
svn path=/Database/branches/DB45/; revision=61085
2023-07-05 12:14:58 +00:00
Maykel Geerdink
65bc1e0355 PROR#77391: Heropenen van een melding door de aanvrager (nav FE34 Prorail aanbesteding).
svn path=/Database/branches/DB45/; revision=61027
2023-07-03 10:58:49 +00:00
Jos Groot Lipman
3967b17740 SVRZ#62191 Core-wens: mailen rapportage
svn path=/Database/branches/DB45/; revision=61019
2023-07-03 08:11:36 +00:00
Erik Groener
718fa2dd7a BLCC#78896 Contractkenmerken toevoegen aan de wizard
svn path=/Database/branches/DB45/; revision=61017
2023-07-03 07:57:29 +00:00
Jos Groot Lipman
dcd0b59397 PROR#77391 Heropenen meldingen alvast lcl_mld_reopen_done definiëren.
svn path=/Database/branches/DB45/; revision=60995
2023-06-29 15:45:31 +00:00
Jos Groot Lipman
24ac823530 PROR#78861 mld.getSLAparams onderkent prioriteiten niet goed.
svn path=/Database/branches/DB45/; revision=60994
2023-06-29 15:34:10 +00:00
Jos Groot Lipman
5c1bc7be7a Branch DB45
svn path=/Database/branches/DB45/; revision=60993
2023-06-29 15:01:53 +00:00
71 changed files with 3043 additions and 7119 deletions

View File

@@ -20,8 +20,6 @@ create index alg_i_alg_ruimte3 on alg_ruimte(alg_ruimte_key, alg_ruimte_nr);
create index alg_i_alg_kenmerk1 on alg_kenmerk(alg_kenmerk_code);
create index alg_i_alg_onroerendgoed_note1 on alg_onroerendgoed_note(alg_onroerendgoed_key, alg_onroerendgoed_typ);
// speciaal tbv ins_v_alg_overzicht:
CREATE INDEX alg_i_alg_ruimte4 on alg_ruimte(alg_verdieping_key,alg_ruimte_key, alg_ruimte_upper_nr, alg_ruimte_nr);

View File

@@ -3,22 +3,21 @@
* $Id$
*/
CREATE SEQUENCE alg_s_alg_import_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_regio_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_district_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_locatie_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_onroerendgoed_keys MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtgebouw_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtruimte_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtruimte_lg_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_import_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_regio_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_district_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_locatie_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_onroerendgoed_keys MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtgebouw_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtruimte_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtruimte_lg_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_objectdeel_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_systeemcluster_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_bouwdeel_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtterrein_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtverdieping_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_objectdeel_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_systeemcluster_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_bouwdeel_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtterrein_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtverdieping_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_kenmerk_key MINVALUE 1000;
CREATE SEQUENCE alg_s_alg_onrgoedkenmerk_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_algfaq_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_onroerendgoed_note_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_kenmerk_key MINVALUE 1000;
CREATE SEQUENCE alg_s_alg_onrgoedkenmerk_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_algfaq_key MINVALUE 1;

View File

@@ -118,8 +118,6 @@ CREATE_TABLE(alg_locatie,0)
VARCHAR2(256),
alg_locatie_externsyncdate
DATE,
alg_locatie_volgnr
NUMBER(3),
-- in MLD_TAB.SRC:
-- mld_dienstniveau_key
-- NUMBER(10)
@@ -470,8 +468,6 @@ CREATE_TABLE(alg_verdieping,0)
NOT_NULL(alg_verdieping_volgnr, alg_c_alg_verdieping_volgnr),
alg_verdieping_tekening /* references the drawingfile */
VARCHAR2(32),
alg_verdieping_dwgz
NUMBER(16,3),
alg_verdieping_bruto_vloeropp
NUMBER(12,2)
CONSTRAINT alg_c_alg_verdieping_vloeropp CHECK(alg_verdieping_bruto_vloeropp >= 0),
@@ -782,26 +778,4 @@ CREATE_TABLE(alg_algfaq, 0)
CONSTRAINT alg_r_fac_faq_key1 REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE
);
CREATE_TABLE(alg_onroerendgoed_note, 0)
( alg_onroerendgoed_note_key
NUMBER (10)
CONSTRAINT alg_k_alg_onroerendgoed_note_key PRIMARY KEY
, alg_onroerendgoed_key
NUMBER (10)
CONSTRAINT alg_c_alg_onroerendgoed_key1 CHECK(alg_onroerendgoed_key IS NOT NULL)
, alg_onroerendgoed_typ
VARCHAR (1)
CONSTRAINT alg_c_alg_onroerendgoed_typ1 CHECK(alg_onroerendgoed_typ IS NOT NULL)
CONSTRAINT alg_c_alg_onroerendgoed_typ2 CHECK(alg_onroerendgoed_typ IN ('R','V','G','L'))
, alg_onroerendgoed_note_aanmaak
DATE
DEFAULT SYSDATE
--, prs_perslid_key
-- NUMBER (10)
-- CONSTRAINT alg_r_prs_perslid_key5 REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL
, alg_onroerendgoed_note_omschrijving
VARCHAR2 (4000 CHAR)
);
REGISTERONCE('$Id$')

View File

@@ -685,12 +685,4 @@ BEGIN
END;
/
CREATE_TRIGGER(alg_t_alg_onroerendgoed_note_B_I)
BEFORE INSERT ON alg_onroerendgoed_note
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(alg_onroerendgoed_note_key, alg_s_alg_onroerendgoed_note_key);
END;
/
REGISTERRUN('$Id$')

View File

@@ -1269,179 +1269,6 @@ SELECT m.mld_alg_onroerendgoed_keys, 'ALG_OPENST_MELDING',
SELECT a.alg_onrgoed_keys, 'ALG_TOEK_AFSPRAAK', TO_CHAR (a.bez_afspraak_datum), a.bez_afspraak_key, a.alg_locatie_key
FROM bez_afspraak a
WHERE a.bez_afspraak_datum > SYSDATE;
/* ROOT VIEWS for User defined Reports (UDR) */
CREATE_VIEW(alg_v_udr_ruimte, 1)
AS
SELECT alg_l.alg_locatie_code
|| '-'
|| alg_g.alg_gebouw_code
|| '-'
|| alg_v.alg_verdieping_code
|| '-'
|| alg_r.alg_ruimte_nr
ruimte_aanduiding,
alg_d.alg_district_omschrijving
district,
alg_re.alg_regio_omschrijving
regio,
alg_l.alg_locatie_omschrijving
locatie,
COALESCE (alg_g.alg_gebouw_adres, alg_l.alg_locatie_adres)
adres,
COALESCE (alg_g.alg_gebouw_postcode, alg_l.alg_locatie_postcode)
postcode,
alg_l.alg_locatie_plaats
plaats,
alg_l.alg_locatie_mjb_score1
locatieconditiescore,
alg_g.alg_gebouw_naam
gebouw,
alg_g.alg_gebouw_omschrijving
gebouwomschrijving,
lcl.x ('alg_srtruimte_omschrijving',
alg_sg.alg_srtgebouw_key,
alg_srtgebouw_omschrijving)
gebouwsoort,
alg_g.alg_gebouw_groep,
alg_g.alg_gebouw_bruto_vloeropp
gebouwoppervlakte,
alg_g.alg_gebouw_omtrek
gebouwomtrek,
alg_g.alg_gebouw_mjb_score1
gebouwconditiescore,
(SELECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key = alg_g.prs_perslid_key_verantw)
gebouwverantwoordelijke1,
(SELECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key = alg_g.prs_perslid_key_verantw2)
gebouwverantwoordelijke2,
alg_v.alg_verdieping_code
verdieping,
alg_v.alg_verdieping_omschrijving
verdiepingomschrijving,
alg_v.alg_verdieping_volgnr
verdiepingvolgnr,
alg_r.alg_ruimte_nr
ruimte,
alg_r.alg_ruimte_omschrijving
ruimteomschrijving,
lcl.x ('alg_srtruimte_omschrijving',
alg_sr.alg_srtruimte_key,
alg_srtruimte_omschrijving)
ruimtesoort,
alg_sr.alg_srtruimte_code
ruimtesoortcode,
alg_sr.alg_srtruimte_prijs
ruimtesoortprijs1,
alg_sr.alg_srtruimte_prijs2
ruimtesoortprijs2,
alg_sr.alg_srtruimte_prijs3
ruimtesoortprijs3,
alg_sr.alg_srtruimte_prijs4
ruimtesoortprijs4,
alg_sr.alg_srtruimte_prijs5
ruimtesoortprijs5,
DECODE (alg_sr.prs_verhuurbaar, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no'))
ruimtesoortverhuurbaar,
DECODE (alg_sr.prs_bevat_werkplek, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no'))
ruimtesoortwerkplekken,
alg_r.alg_ruimte_vloer_omschrijving
vloer,
alg_r.alg_ruimte_omtrek
omtrek,
alg_r.alg_ruimte_inhoud
inhoud,
alg_r.alg_ruimte_bruto_vloeropp
oppervlakte1,
alg_ruimte_opp_alt1
oppervlakte2,
alg_ruimte_opp_alt2
oppervlakte3,
alg_r.alg_ruimte_opmerking
ruimteopmerking,
alg_r.alg_ruimte_key,
alg_v.alg_verdieping_key,
alg_g.alg_gebouw_key,
alg_l.alg_locatie_key,
alg_l.alg_district_key,
alg_re.alg_regio_key
FROM alg_locatie alg_l,
alg_gebouw alg_g,
alg_verdieping alg_v,
alg_ruimte alg_r,
alg_srtruimte alg_sr,
alg_srtgebouw alg_sg,
alg_district alg_d,
alg_regio alg_re
WHERE alg_r.alg_ruimte_verwijder IS NULL
AND alg_v.alg_verdieping_key = alg_r.alg_verdieping_key
AND alg_g.alg_gebouw_key = alg_v.alg_gebouw_key
AND alg_l.alg_locatie_key = alg_g.alg_locatie_key
AND alg_d.alg_district_key = alg_l.alg_district_key
AND alg_re.alg_regio_key = alg_d.alg_regio_key
AND alg_r.alg_srtruimte_key = alg_sr.alg_srtruimte_key(+)
AND alg_g.alg_srtgebouw_key = alg_sg.alg_srtgebouw_key(+);
CREATE_VIEW(alg_v_udr_terrein, 1)
AS
SELECT alg_l.alg_locatie_code || '-' || alg_t.alg_terreinsector_code
terrein_aanduiding,
alg_d.alg_district_omschrijving
district,
alg_re.alg_regio_omschrijving
regio,
alg_l.alg_locatie_omschrijving
locatie,
alg_l.alg_locatie_adres
adres,
alg_l.alg_locatie_postcode
postcode,
alg_l.alg_locatie_plaats
plaats,
alg_l.alg_locatie_mjb_score1
locatieconditiescore,
alg_t.alg_terreinsector_naam
terrein,
alg_t.alg_terreinsector_omschrijving
terreinomschrijving,
lcl.x ('alg_srtterreinsec_omschrijving',
alg_st.alg_srtterreinsector_key,
alg_srtterreinsec_omschrijving)
terreinsoort,
alg_st.alg_srtterreinsector_code
terreinsoortcode,
alg_st.alg_srtterreinsector_prijs
terreinsoortprijs1,
alg_st.alg_srtterreinsector_prijs2
terreinsoortprijs2,
alg_st.alg_srtterreinsector_prijs3
terreinsoortprijs3,
alg_st.alg_srtterreinsector_prijs4
terreinsoortprijs4,
alg_st.alg_srtterreinsector_prijs5
terreinsoortprijs5,
DECODE (alg_st.prs_verhuurbaar, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no'))
terreinsoortverhuurbaar,
alg_t.alg_terreinsector_omtrek
omtrek,
alg_t.alg_terreinsector_oppervlak
oppervlakte,
alg_t.alg_terreinsector_key,
alg_l.alg_locatie_key,
alg_l.alg_district_key,
alg_re.alg_regio_key
FROM alg_locatie alg_l,
alg_terreinsector alg_t,
alg_srtterreinsector alg_st,
alg_district alg_d,
alg_regio alg_re
WHERE alg_t.alg_terreinsector_verwijder IS NULL
AND alg_l.alg_locatie_key = alg_t.alg_locatie_key
AND alg_d.alg_district_key = alg_l.alg_district_key
AND alg_re.alg_regio_key = alg_d.alg_regio_key
AND alg_t.alg_srtterreinsector_key = alg_st.alg_srtterreinsector_key(+);
/
REGISTERRUN('$Id$')

View File

@@ -50,6 +50,7 @@ CREATE INDEX bes_i_bes_kenmerk1 ON bes_kenmerk(bes_kenmerk_code);
CREATE INDEX bes_i_bes_favoriet1 ON bes_favoriet(prs_perslid_key);
CREATE INDEX bes_i_bes_srtdeel_prijs1 ON bes_srtdeel_prijs (bes_srtdeel_key);
CREATE INDEX bes_i_bes_srtprod_prijs1 ON bes_srtprod_prijs (bes_srtprod_key);
REGISTERONCE('$Id$')

View File

@@ -14,13 +14,27 @@ AS
RETURN NUMBER;
FUNCTION getsrtdeelinkprijs (pbes_srtdeel_key IN NUMBER, pdate IN DATE)
RETURN NUMBER;
FUNCTION getsrtprodprijs (pbes_srtprod_key IN NUMBER, pdate IN DATE)
RETURN NUMBER;
FUNCTION calcartikelkortingsprijs (pbes_srtdeel_key IN NUMBER, pbestelaantal IN NUMBER)
RETURN NUMBER;
PROCEDURE calcopdrachtbedragkorting (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER,
pkortingsbedrag OUT NUMBER, pkorting OUT NUMBER);
FUNCTION calcopdrachtkorting (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER)
RETURN NUMBER;
FUNCTION calcopdrachtkortingbedrag (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER)
RETURN NUMBER;
FUNCTION calcbesartikelkortingsprijs (pbes_bestelling_item_key IN NUMBER, ppunchout IN NUMBER)
RETURN NUMBER;
FUNCTION calcbesopdrachtkorting (pbes_bestelopdr_key IN NUMBER, pautoupdate IN NUMBER)
RETURN NUMBER;
FUNCTION calcbesopdrachtkosten (pbes_bestelopdr_key IN NUMBER, pautoupdate IN NUMBER)
RETURN NUMBER;
@@ -157,6 +171,42 @@ AS
RETURN bes.getsrtdeelprijsinfo (pbes_srtdeel_key, pdate, 2);
END;
FUNCTION getsrtprodprijs (pbes_srtprod_key IN NUMBER, pdate IN DATE)
RETURN NUMBER
AS
ldate DATE;
lprijs bes_srtprod_prijs.bes_srtprod_prijs_prijs%TYPE;
BEGIN
ldate := SYSDATE; -- default
IF pdate IS NOT NULL
THEN
ldate := pdate;
END IF;
BEGIN
SELECT sdp.bes_srtprod_prijs_prijs
INTO lprijs
FROM bes_srtprod_prijs sdp
WHERE COALESCE (sdp.bes_srtprod_prijs_vervaldatum, SYSDATE + 999) > ldate AND sdp.bes_srtprod_key = pbes_srtprod_key
AND NOT EXISTS
(SELECT ''
FROM bes_srtprod_prijs sdp1
WHERE COALESCE (sdp1.bes_srtprod_prijs_vervaldatum, SYSDATE + 999) > ldate
AND sdp1.bes_srtprod_key = pbes_srtprod_key
AND COALESCE(sdp1.bes_srtprod_prijs_vervaldatum, SYSDATE+999) < COALESCE (sdp.bes_srtprod_prijs_vervaldatum, SYSDATE + 999));
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN NULL;
END;
RETURN lprijs;
END;
FUNCTION calcartikelkortingsprijs (pbes_srtdeel_key IN NUMBER, pbestelaantal IN NUMBER)
RETURN NUMBER
AS
@@ -227,6 +277,70 @@ AS
RETURN lkortingsprijs;
END;
PROCEDURE calcopdrachtbedragkorting (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER,
pkortingsbedrag OUT NUMBER, pkorting OUT NUMBER)
AS
lkorting prs_staffel.prs_staffel_korting%TYPE; -- percentage
lkortingsbedrag NUMBER;
BEGIN
-- De staffeltabel bevat intervallen waarvan de bovengrens is opgenomen
-- bijvoorbeeld
-- 10 -> 1%
-- 20 -> 2%
-- 50 -> 5%
-- Dan is 30 (euro) tussen 20 en 50 en geldt 5% korting
-- Je moet dus het laagste hogere record vinden. Voor de bovengrens (hooogste staffel) is de grenswaarde NULL
-- ATTENTIE: Nu wordt de laagste *korting* gekozen indien je in de hoogste staffel zit, terwijl je
-- de laagste grenswaarde moet pakken. Levert nu de verkeerde waarde op in het rare geval dat
-- de korting *lager* wordt als je in de hoogste staffel komt, bijvoorbeeld
-- bij tot10000 artikelen 30% korting, en boven10000 25%. Aanname om technische redenen, maar mocht
-- er een verrassend probleem optreden, is dit alvast de tip.
SELECT COALESCE(MIN(prs_staffel_korting), 0)
INTO lkorting
FROM prs_staffel s1
WHERE (prs_staffel_grenswaarde > pbrutoopdrachtbedrag OR s1.prs_staffel_grenswaarde IS NULL) --s2.prs_staffel_grenswaarde IS NULL)
AND NOT EXISTS
(SELECT 'X'
FROM prs_staffel s2
WHERE s1.prs_bedrijf_key = s2.prs_bedrijf_key
AND s2.prs_staffel_grenswaarde < s1.prs_staffel_grenswaarde
AND (s2.prs_staffel_grenswaarde > pbrutoopdrachtbedrag OR s2.prs_staffel_grenswaarde IS NULL))
AND prs_bedrijf_key = pprs_bedrijf_key
AND pbrutoopdrachtbedrag > 0;
lkortingsbedrag := (lkorting / 100) * pbrutoopdrachtbedrag;
-- RETURN lkortingsbedrag;
pkortingsbedrag := lkortingsbedrag;
pkorting := lkorting;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
-- RETURN 0;
pkortingsbedrag := 0;
pkorting := 0;
END;
FUNCTION calcopdrachtkorting (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER)
RETURN NUMBER
AS
lkorting prs_staffel.prs_staffel_korting%TYPE; -- percentage
lkortingsbedrag NUMBER;
BEGIN
BES.calcopdrachtbedragkorting(pprs_bedrijf_key, pbrutoopdrachtbedrag, lkortingsbedrag, lkorting);
RETURN lkorting;
END;
FUNCTION calcopdrachtkortingbedrag (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER)
RETURN NUMBER
AS
lkorting prs_staffel.prs_staffel_korting%TYPE; -- percentage
lkortingsbedrag NUMBER;
BEGIN
BES.calcopdrachtbedragkorting(pprs_bedrijf_key, pbrutoopdrachtbedrag, lkortingsbedrag, lkorting);
RETURN lkortingsbedrag;
END;
FUNCTION calcbesartikelkortingsprijs (pbes_bestelling_item_key IN NUMBER, ppunchout IN NUMBER)
RETURN NUMBER
AS
@@ -300,7 +414,7 @@ AS
AND bi.bes_bestelling_item_key = pbes_bestelling_item_key;
END IF;
-- Vindt staffelrecord;
-- Vindt staffelrecord; zie(!) opmerkingen bij prs_staffel in bes.calcopdrachtkorting.
BEGIN
SELECT COALESCE(MIN(bes_staffel_korting), 0)
INTO lstaffelkorting
@@ -337,6 +451,62 @@ AS
RETURN lkortingsprijs;
END;
FUNCTION calcbesopdrachtkorting (pbes_bestelopdr_key IN NUMBER, pautoupdate IN NUMBER)
RETURN NUMBER
AS
lbrutoopdrachtbedrag NUMBER;
lkorting prs_staffel.prs_staffel_korting%TYPE; -- percentage
lstaffelkortingbedrag NUMBER;
lkortingsbedrag NUMBER;
BEGIN
---- som van de bes_bestelopdr_item_prijs > bedrijf.staffel -> kortingspercentage * (sum aantal * bes_bestelopdr_item_prijs) = bes_bestelopdr_korting
-- merk op: deze staffel is op prijs (niet op aantallen)
SELECT COALESCE(SUM (bes_bestelopdr_item_prijs * bes_bestelopdr_item_aantal), 0)
INTO lbrutoopdrachtbedrag
FROM bes_bestelopdr_item
WHERE bes_bestelopdr_key = pbes_bestelopdr_key;
-- De staffeltabel bevat intervallen waarvan de bovengrens is opgenomen
-- bijvoorbeeld
-- 10 -> 1%
-- 20 -> 2%
-- 50 -> 5%
-- Dan is 30 (euro) tussen 20 en 50 en geldt 5% korting
-- Je moet dus het laagste hogere record vinden. Voor de bovengrens (hooogste staffel) is de grenswaarde NULL
-- ATTENTIE: Nu wordt de laagste *korting* gekozen indien je in de hoogste staffel zit, terwijl je
-- de laagste grenswaarde moet pakken. Levert nu de verkeerde waarde op in het rare geval dat
-- de korting *lager* wordt als je in de hoogste staffel komt, bijvoorbeeld
-- bij tot10000 artikelen 30% korting, en boven10000 25%. Aanname om technische redenen, maar mocht
-- er een verrassend probleem optreden, is dit alvast de tip.
SELECT COALESCE(MIN(prs_staffel_korting), 0)
INTO lkorting
FROM prs_staffel s1
WHERE (prs_staffel_grenswaarde > lbrutoopdrachtbedrag OR s1.prs_staffel_grenswaarde IS NULL)
AND NOT EXISTS
(SELECT 'X'
FROM prs_staffel s2
WHERE s1.prs_bedrijf_key = s2.prs_bedrijf_key
AND s2.prs_staffel_grenswaarde < s1.prs_staffel_grenswaarde
AND (s2.prs_staffel_grenswaarde > lbrutoopdrachtbedrag OR s2.prs_staffel_grenswaarde IS NULL))
AND prs_bedrijf_key = (SELECT prs_bedrijf_key
FROM bes_bestelopdr
WHERE bes_bestelopdr_key = pbes_bestelopdr_key);
lkortingsbedrag := (lkorting / 100) * lbrutoopdrachtbedrag;
IF pautoupdate > 0
THEN
UPDATE bes_bestelopdr
SET bes_bestelopdr_korting = lkortingsbedrag
WHERE bes_bestelopdr_key = pbes_bestelopdr_key;
END IF;
RETURN lkortingsbedrag;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN 0;
END;
FUNCTION calcbesopdrachtkosten (pbes_bestelopdr_key IN NUMBER, pautoupdate IN NUMBER)
RETURN NUMBER
@@ -610,6 +780,7 @@ AS
l_item_brutoprijs bes_bestelopdr_item.bes_bestelopdr_item_brutoprijs%TYPE;
l_item_prijs bes_bestelopdr_item.bes_bestelopdr_item_prijs%TYPE;
l_item_inkprijs bes_bestelopdr_item.bes_bestelopdr_item_inkprijs%TYPE;
besopdrachtkorting NUMBER (8, 2);
besopdrachtkosten NUMBER (8, 2);
bedrijfvolgnr NUMBER (3);
CURSOR tebestellen
@@ -737,9 +908,11 @@ AS
'');
-- Bepaal opdrachtkorting en opdrachtkosten en sla deze op
-- Met parameter 1 geven we aan dat de berekende waarde automaisch ook word opgeslagen
besopdrachtkorting := bes.calcbesopdrachtkorting(lbord_key, 1);
besopdrachtkosten := bes.calcbesopdrachtkosten(lbord_key, 1);
UPDATE bes_bestelopdr
SET bes_bestelopdr_levkosten = besopdrachtkosten
, bes_bestelopdr_korting = besopdrachtkorting
WHERE bes_bestelopdr_key = lbord_key;
END IF;
-- Op naar de volgende
@@ -815,9 +988,11 @@ AS
'');
-- Bepaal opdrachtkorting en opdrachtkosten en sla deze op
-- Met parameter 1 geven we aan dat de berekende waarde automaisch ook word opgeslagen
besopdrachtkorting := bes.calcbesopdrachtkorting(lbord_key, 1);
besopdrachtkosten := bes.calcbesopdrachtkosten(lbord_key, 1);
UPDATE bes_bestelopdr
SET bes_bestelopdr_levkosten = besopdrachtkosten
, bes_bestelopdr_korting = besopdrachtkorting
WHERE bes_bestelopdr_key = lbord_key;
END IF;
END;

View File

@@ -25,8 +25,12 @@ CREATE SEQUENCE bes_s_bes_favoriet_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_staffeltabel_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_staffel_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtprod_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_grootheid_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtdeel_prijs_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtprod_prijs_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bedrijf_srtprod_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bedrijf_bedrijf_key MINVALUE 1;
REGISTERONCE('$Id$')

View File

@@ -58,6 +58,59 @@ CREATE_TABLE(bes_grootheid,0)
);
-- Assortiment van producent/fabrikant (genormaliseerde producten)
CREATE_TABLE(bes_srtprod,0)
(
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtprod_key PRIMARY KEY,
bes_srtgroep_key
NUMBER(10)
NOT_NULL(bes_srtgroep_key, bes_c_bes_srtgroep_key3) // echt?
CONSTRAINT bes_r_bes_srtgroep_key4 REFERENCES bes_srtgroep,
bes_srtprod_omschrijving
VARCHAR2(100)
NOT_NULL(bes_srtprod_omschrijving, bes_c_bes_srtprod_omschrijving),
bes_srtprod_opmerking
VARCHAR2(2000 CHAR),
bes_srtprod_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(bes_srtprod_aanmaak, bes_c_bes_srtprod_aanmaak),
bes_srtprod_verwijder
DATE
DEFAULT NULLDATUM,
bes_srtprod_volgnr
NUMBER(3),
bes_srtprod_btw
NUMBER(3),
bes_srtprod_eenheid
VARCHAR2(30),
bes_srtprod_nr
VARCHAR2(32),
/* MB: Optionele referentie naar producent/fabrikant */
prs_bedrijf_key
NUMBER(10)
CONSTRAINT bes_r_prs_bedrijf_key5 REFERENCES prs_bedrijf(prs_bedrijf_key),
/* MB: artikel wordt door producent gemaakt tot aan deze datum, mag leeg zijn (= geen maak-limiet) */
bes_srtprod_vervaldatum
DATE,
bes_srtprod_image
VARCHAR2(255),
bes_srtprod_veelvoud
NUMBER(6),
/* MB: Verwijzing naar eenheid van een grootheid (gram / milliliter / aantal) */
bes_grootheid_key
NUMBER(10) CONSTRAINT bes_r_bes_grootheid REFERENCES bes_grootheid(bes_grootheid_key) ON DELETE CASCADE,
/* MB Hier het getal aan gewicht, inhoud of aantal in te vullen : */
/* b.v. 1000 (en betekent in combi met bes_grootheid_key b.v. 1000 gram) */
bes_grootheid_getal
NUMBER(10),
bes_srtprod_margebedrag /* bedrag van de fee per 1 grootheid van dit product */
NUMBER(12,6),
bes_srtprod_margebedragpct /* percentage van de producentfee dat voor ons is, de rest is voor whoever */
NUMBER(3)
);
CREATE_TABLE(bes_srtdeel,0)
(
@@ -97,6 +150,9 @@ CREATE_TABLE(bes_srtdeel,0)
prs_bedrijf_key
NUMBER(10)
CONSTRAINT bes_r_prs_bedrijf_key3 REFERENCES prs_bedrijf(prs_bedrijf_key),
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_r_bes_srtprod_key2 REFERENCES bes_srtprod(bes_srtprod_key),
bes_srtdeel_vervaldatum
DATE,
bes_srtdeel_image
@@ -193,9 +249,9 @@ CREATE_TABLE(bes_bestelling, 0)
NUMBER(10)
CONSTRAINT bes_r_mld_adres_key_lev REFERENCES mld_adres(mld_adres_key),
bes_bestelling_levkosten
NUMBER(11,2),
NUMBER(8,2),
bes_bestelling_korting
NUMBER(11,2),
NUMBER(8,2),
fac_activiteit_key
NUMBER(10)
CONSTRAINT fac_r_fac_activiteit3 REFERENCES fac_activiteit(fac_activiteit_key) ON DELETE CASCADE,
@@ -244,9 +300,9 @@ CREATE_TABLE(bes_bestelopdr, 0)
bes_bestelopdr_leverdatum
DATE,
bes_bestelopdr_levkosten
NUMBER(11,2),
NUMBER(8,2),
bes_bestelopdr_korting
NUMBER(11,2),
NUMBER(8,2),
bes_bestelopdr_opmerking
VARCHAR2(320),
cnt_contract_key
@@ -295,11 +351,11 @@ CREATE_TABLE(bes_bestelopdr_item, 0)
bes_bestelopdr_item_opmerking
VARCHAR2(100),
bes_bestelopdr_item_prijs
NUMBER(15,6),
NUMBER(12,6),
bes_bestelopdr_item_inkprijs
NUMBER(14,5),
NUMBER(11,5),
bes_bestelopdr_item_brutoprijs
NUMBER(14,5),
NUMBER(11,5),
bes_bestelopdr_item_ontvangen
DATE,
bes_bestelopdr_item_status
@@ -360,11 +416,11 @@ CREATE_TABLE(bes_bestelling_item, 0)
NUMBER(15,3)
CONSTRAINT bes_c_bes_bestelling_i_aantal CHECK(bes_bestelling_item_aantal IS NOT NULL),
bes_bestelling_item_brutoprijs /* verkoopprijs ten tijde van bestelling */
NUMBER(14,5),
NUMBER(11,5),
bes_bestelling_item_prijs /* incl. kortingen */
NUMBER(15,6),
NUMBER(12,6),
bes_bestelling_item_inkprijs /* inkoopprijs ten tijde van bestelling */
NUMBER(15,6),
NUMBER(12,6),
bes_bestelopdr_item_key
NUMBER(10)
CONSTRAINT bes_r_bes_bestelopdr_i_key1 REFERENCES bes_bestelopdr_item(bes_bestelopdr_item_key),
@@ -409,10 +465,10 @@ CREATE_TABLE(bes_disc_params, 0)
DEFAULT 0
CONSTRAINT bes_c_disc_params_fiatflow CHECK(bes_disc_params_fiatflow IN (0,1)),
bes_disc_params_bestellimiet
NUMBER(11,2)
NUMBER(8,2)
DEFAULT 100000,
bes_disc_params_min_bedrag
NUMBER(11,2)
NUMBER(8,2)
DEFAULT 0,
bes_disc_params_auto_order
NUMBER(1)
@@ -729,9 +785,9 @@ CREATE_TABLE(bes_srtdeel_prijs,0)
NUMBER(10)
CONSTRAINT bes_r_bes_srtdeel_key1 REFERENCES bes_srtdeel(bes_srtdeel_key) ON DELETE CASCADE,
bes_srtdeel_prijs_prijs
NUMBER(14,5),
NUMBER(11,5),
bes_srtdeel_prijs_inkprijs
NUMBER(14,5),
NUMBER(11,5),
/* MB: Tot aan deze datum geldt deze prijs, daarna is deze prijs niet meer geldig (Farmers wilde dit ook). */
bes_srtdeel_prijs_vervaldatum
DATE,
@@ -740,7 +796,62 @@ CREATE_TABLE(bes_srtdeel_prijs,0)
NUMBER(1)
);
-- Prijsverloop van producten van fabriaknt
CREATE_TABLE(bes_srtprod_prijs,0)
(
bes_srtprod_prijs_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtprod_prijs_key PRIMARY KEY,
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_r_bes_srtprod_key REFERENCES bes_srtprod(bes_srtprod_key),
bes_srtprod_prijs_prijs
NUMBER(11,5),
bes_srtprod_prijs_inkprijs
NUMBER(11,5),
/* MB: Tot aan deze datum geldt deze prijs, daarna is deze prijs niet meer geldig */
bes_srtprod_prijs_vervaldatum
DATE,
/* MB: Prioriteit/prijspakker instelling op producentartikelprijs-nivo, schaal van 1 (=lage prio) - 4 (=hoogste prio), mag leeg zijn (= 0: laagste prio) */
bes_srtprod_prijs_prio
NUMBER(1)
);
-- Een productsample voor een klant
CREATE_TABLE(bes_bedrijf_srtprod, 0)
(
bes_bedrijf_srtprod_key
NUMBER(10)
CONSTRAINT bes_k_bedrijf_srtprod_key PRIMARY KEY,
prs_bedrijf_key
NUMBER(10)
CONSTRAINT bes_r_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_r_srtprod_key1 REFERENCES bes_srtprod(bes_srtprod_key) ON DELETE CASCADE,
bes_bedrijf_srtprod_weging
NUMBER(12,2),
bes_bedrijf_srtprod_opmerking
VARCHAR2(320),
bes_bedrijf_srtprod_prijs
NUMBER(11,5)
);
/* MB: Voorkeursleveranciers ---------------------------------------------------------------------------*/
CREATE_TABLE(bes_bedrijf_bedrijf,0)
(
bes_bedrijf_bedrijf_key
NUMBER(10)
CONSTRAINT bes_k_bes_bedrijf_bedrijf_key PRIMARY KEY,
/* Klant: interne bedrijf */
prs_bedrijf_key_klant
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key),
/* Leverancier: externe bedrijf */
prs_bedrijf_key_lev
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_bedrijf_key2 REFERENCES prs_bedrijf(prs_bedrijf_key)
);
REGISTERONCE('$Id$')

View File

@@ -33,20 +33,13 @@ BEGIN
* Dit is vervallen. Elke trigger bemoeit zich alleen met zichzelf, en er zijn
* een tweetal functies bes.updatebestellingstatus en bes.updatebestelopdrstatus
* die desgevraagd tellen wat de stand is en daarop zonodig de parent aanpassen
* Daarvan wordt dan ook tracking bijgehouden.
* Daarvan wordt dan ook tracjking bijgehouden.
*/
CREATE_TRIGGER(bes_t_bes_bestelling_B_I)
BEFORE INSERT ON bes_bestelling
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestelling_key,bes_s_bes_bestelling_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bestelling_B_IU)
BEFORE INSERT OR UPDATE ON bes_bestelling
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestelling_key,bes_s_bes_bestelling_key);
IF :old.bes_bestelling_status IS NULL
THEN
-- weet niet of dit (nog)nodig is, om de status op 2 te zetten
@@ -59,13 +52,6 @@ BEGIN
THEN
fac.clrnotifications ('BESAP1', :new.bes_bestelling_key);
END IF;
-- Beoordeling van de bestelling
IF (:new.bes_bestelling_satisfaction IS NOT NULL
AND (:old.bes_bestelling_satisfaction IS NULL OR :old.bes_bestelling_satisfaction <> :new.bes_bestelling_satisfaction))
THEN
fac.trackaction('BESLIK', :old.bes_bestelling_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.bes_bestelling_satisfaction));
END IF;
END;
/
@@ -79,8 +65,8 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_bestelling_item_B_I)
BEFORE INSERT
CREATE_TRIGGER(bes_t_bes_bestelling_item_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestelling_item
FOR EACH ROW
BEGIN
@@ -88,20 +74,12 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_bestelopdr_B_I)
BEFORE INSERT
ON bes_bestelopdr
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestelopdr_key,bes_s_bes_bestelopdr_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bestelopdr_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestelopdr
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestelopdr_key,bes_s_bes_bestelopdr_key);
IF :OLD.bes_bestelopdr_datum IS NULL
THEN
:NEW.bes_bestelopdr_datum := SYSDATE;
@@ -116,8 +94,8 @@ END;
/
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_B_I)
BEFORE INSERT
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestelopdr_item
FOR EACH ROW
BEGIN
@@ -125,8 +103,8 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_bestellevr_B_I)
BEFORE INSERT
CREATE_TRIGGER(bes_t_bes_bestellevr_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestellevr
FOR EACH ROW
BEGIN
@@ -134,8 +112,8 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_bestellevr_item_B_I)
BEFORE INSERT
CREATE_TRIGGER(bes_t_bes_bestellevr_item_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestellevr_item
FOR EACH ROW
BEGIN
@@ -600,6 +578,14 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_srtprod_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtprod
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_srtprod_key, bes_s_bes_srtprod_key);
END;
/
CREATE_TRIGGER(bes_t_bes_grootheid_B_IU)
BEFORE INSERT OR UPDATE ON bes_grootheid
FOR EACH ROW
@@ -616,6 +602,30 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_srtprod_prijs_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtprod_prijs
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_srtprod_prijs_key, bes_s_bes_srtprod_prijs_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bedrijf_srtprod_BIU)
BEFORE INSERT OR UPDATE ON bes_bedrijf_srtprod
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bedrijf_srtprod_key, bes_s_bes_bedrijf_srtprod_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bedrijf_bedrijf_B_IU)
BEFORE INSERT OR UPDATE ON bes_bedrijf_bedrijf
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bedrijf_bedrijf_key, bes_s_bes_bedrijf_bedrijf_key);
END;
/
REGISTERRUN('$Id$')
#endif // BES

View File

@@ -76,7 +76,6 @@ CREATE OR REPLACE PACKAGE BODY bez AS
bez_afspraak_telefoonnr,
bez_afspraak_datum, bez_actie_key,
alg_locatie_key, res_rsv_ruimte_key,
mld_opdr_key,
alg_onrgoed_keys, bez_afspraak_ruimte,
bez_afspraak_opmerking, bez_afspraak_eind
)
@@ -90,7 +89,6 @@ CREATE OR REPLACE PACKAGE BODY bez AS
a.bez_actie_key,
a.alg_locatie_key,
prsvkey_to,
mld_opdr_key,
a.alg_onrgoed_keys,
a.bez_afspraak_ruimte,
a.bez_afspraak_opmerking,
@@ -388,7 +386,6 @@ CREATE OR REPLACE PACKAGE BODY bez AS
AND BITAND(d.res_deel_beschikbaar_bits, POWER(2, (fac.getweekdaynum(TRUNC(lbegin)) - 1))) =
POWER(2, (fac.getweekdaynum(TRUNC (lbegin)) - 1))
AND (d.res_deel_vervaldatum IS NULL OR d.res_deel_vervaldatum > lbegin)
AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > lbegin)
AND (l.alg_locatie_vervaldatum IS NULL OR l.alg_locatie_vervaldatum > TRUNC(lbegin))
AND (t.alg_terreinsector_vervaldatum IS NULL OR t.alg_terreinsector_vervaldatum > TRUNC(lbegin))
ORDER BY id.ins_deel_upper)
@@ -455,7 +452,6 @@ CREATE OR REPLACE PACKAGE BODY bez AS
AND BITAND(d.res_deel_beschikbaar_bits, POWER(2, (fac.getweekdaynum(TRUNC(lbegin)) - 1))) =
POWER(2, (fac.getweekdaynum(TRUNC(lbegin)) - 1))
AND (d.res_deel_vervaldatum IS NULL OR d.res_deel_vervaldatum > lbegin)
AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > lbegin)
AND (l.alg_locatie_vervaldatum IS NULL OR l.alg_locatie_vervaldatum > TRUNC(lbegin))
AND (t.alg_terreinsector_vervaldatum IS NULL OR t.alg_terreinsector_vervaldatum > TRUNC(lbegin))
ORDER BY id.ins_deel_upper)

View File

@@ -130,7 +130,7 @@ UPDATE fac_setting
FROM ins_srtdiscipline
WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting')
WHERE fac_setting_name = 'cnd_gebreken_srtdisc_key' AND fac_setting_pvalue IS NULL;
-- Vakgroepen
INSERT INTO ins_tab_discipline (ins_discipline_module, ins_discipline_code, ins_discipline_omschrijving, ins_srtdiscipline_key) SELECT 'MLD', 'B1', 'B1 - Casco, constructies en funderingen', ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting';
@@ -5628,13 +5628,13 @@ INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_def
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'CONDITIE'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, NULL, 05, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'CONDITIESCORE'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, 1, 35, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'PRIORITEIT'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, NULL, 50, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT1'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 55, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT2'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 60, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT3'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 65, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT4'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 70, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT5'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 75, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT6'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 80, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT7'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 85, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT1'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 55, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT2'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 60, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT3'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 65, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT4'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 70, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT5'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 75, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT6'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 80, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT7'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 85, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'FOTO'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, NULL, 40, 'r1000x1000' FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'PRIORITEITSCORE'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, 1, 90, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'KOSTEN'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, 1, 92, NULL FROM DUAL;

View File

@@ -3271,13 +3271,10 @@ BEGIN
insert_mldkenmerk (v_mld_melding_key, rec.flex9);
insert_mldkenmerk (v_mld_melding_key, rec.flex10);
v_errorhint := 'Meldingen direct accepteren en conditie berekenen ';
v_errorhint := 'Meldingen direct accepteren ';
IF fac.getsetting('cnd_autoaccept') = 1
THEN
mld.setmeldingstatus(v_mld_melding_key, 4, v_prs_perslid_key, 0);
-- berekening per gebrek is in principe te vaak,
-- dat mag per deel, maar dit is nu eenmaal de loop
cnd.process_mjb_score_effects (v_mld_melding_key);
END IF;
v_count_import := v_count_import + 1;

View File

@@ -235,16 +235,15 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER)
IS
begin1 DATE;
eind1 DATE;
versie1 cnt_contract.cnt_contract_versie%TYPE;
newkey NUMBER;
nummer1 cnt_contract.cnt_contract_nummer_intern%TYPE;
amount1 cnt_contract.cnt_contract_kosten%TYPE;
srtcontract_type cnt_disc_params.cnt_srtcontract_type%TYPE;
new_status cnt_contract.cnt_contract_status%TYPE;
tracking VARCHAR2 (4000);
splitsen BOOLEAN := TRUE;
begin1 DATE;
eind1 DATE;
versie1 cnt_contract.cnt_contract_versie%TYPE;
newkey NUMBER;
nummer1 cnt_contract.cnt_contract_nummer_intern%TYPE;
amount1 cnt_contract.cnt_contract_kosten%TYPE;
srtcontract_type cnt_disc_params.cnt_srtcontract_type%TYPE;
new_status cnt_contract.cnt_contract_status%TYPE;
tracking VARCHAR2 (4000);
BEGIN
-- Splits het contract met p_key in twee delen: het oude dat eindigt op p_datum - 1,
-- en een nieuwe kopie die begint op die p_datum
@@ -262,40 +261,26 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
COALESCE (c.cnt_contract_versie, '0'),
cnt_contract_nummer_intern,
cnt_contract_kosten,
cdp.cnt_srtcontract_type,
c.cnt_contract_status
INTO begin1, eind1, versie1, nummer1, amount1, srtcontract_type, new_status
cdp.cnt_srtcontract_type
INTO begin1, eind1, versie1, nummer1, amount1, srtcontract_type
FROM cnt_contract c,
cnt_disc_params cdp
WHERE c.ins_discipline_key = cdp.cnt_ins_discipline_key
AND c.cnt_contract_key = p_key;
AND c.cnt_contract_key = p_key
AND c.cnt_contract_looptijd_van < p_datum
AND c.cnt_contract_looptijd_tot > p_datum;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN;
END;
IF (begin1 < p_datum AND eind1 > p_datum)
IF (fac.getsetting('cnt_contract_approval') = 1 AND srtcontract_type != 6)
THEN
-- Splitsen van contract.
begin1 := p_datum;
eind1 := eind1;
IF (fac.getsetting('cnt_contract_approval') = 1 AND srtcontract_type != 6)
THEN
new_status := 2; -- altijd op nieuw
ELSE
new_status := 0; -- direct actief
END IF;
ELSIF (eind1 < p_datum)
THEN
-- Verlengen van contract
begin1 := eind1 + 1;
eind1 := p_datum;
splitsen := FALSE;
new_status := 2; -- altijd op nieuw
ELSE
RETURN;
new_status := 0; -- direct actief
END IF;
-- de datum is een zinvolle splitsdatum, alles in orde
INSERT INTO cnt_contract (cnt_contract_nummer, cnt_contract_omschrijving, cnt_contract_looptijd_tot, cnt_contract_kosten,
cnt_contract_uurloon, cnt_prs_bedrijf_key, cnt_prs_afdeling_key, cnt_prs_perslid_key,
@@ -308,7 +293,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
)
SELECT cnt_contract_nummer,
cnt_contract_omschrijving,
eind1,
cnt_contract_looptijd_tot,
amount1 - COALESCE(p_amount, 0),
cnt_contract_uurloon,
cnt_prs_bedrijf_key,
@@ -325,7 +310,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
prs_perslid_key_beh,
prs_afdeling_key_eig,
new_status,
begin1,
p_datum,
prs_kostenplaats_key,
cnt_contract_termijnkosten,
prs_kostensoort_key,
@@ -347,19 +332,11 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
AND cnt_contract_versie = TO_CHAR (versie1 + 1)
AND cnt_contract_verwijder IS NULL;
--- Een versieloos oud contract krijgt expliciet versie 0
--- Looptijd_tot en kosten moteen alleen bij splitsen worden aangepast.
IF splitsen
THEN
UPDATE cnt_contract
SET cnt_contract_looptijd_tot = p_datum - 1,
cnt_contract_versie = versie1,
cnt_contract_kosten = COALESCE(p_amount, cnt_contract_kosten)
WHERE cnt_contract_key = p_key;
ELSE
UPDATE cnt_contract
SET cnt_contract_versie = versie1
WHERE cnt_contract_key = p_key;
END IF;
UPDATE cnt_contract
SET cnt_contract_looptijd_tot = p_datum - 1,
cnt_contract_versie = versie1,
cnt_contract_kosten = COALESCE(p_amount, cnt_contract_kosten)
WHERE cnt_contract_key = p_key;
tracking := lcl.l('lcl_cnt_is_cntupd') || CHR(10) || lcl.l('lcl_cnt_enddate') || ': ' || TO_CHAR(eind1, 'dd-mm-yyyy') || lcl.l('lcl_trackto') || TO_CHAR((p_datum - 1), 'dd-mm-yyyy');
IF (p_amount IS NOT NULL AND p_amount <> amount1)

View File

@@ -445,9 +445,7 @@ CREATE_VIEW(cnt_v_udr_contract, 1)
contractpartij,
contractafdeling,
contracteigenaar,
contracteigenaar_key,
contractbeheerder,
contractbeheerder_key,
begindatum,
einddatum,
opzegdatum,
@@ -498,11 +496,9 @@ SELECT c.cnt_contract_nummer_intern,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all
WHERE prs_perslid_key = prs_perslid_key_eig),
prs_perslid_key_eig contracteigenaar_key,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all
WHERE prs_perslid_key = prs_perslid_key_beh),
prs_perslid_key_beh contractbeheerder_key,
c.cnt_contract_looptijd_van begindatum,
c.cnt_contract_looptijd_tot einddatum,
cnt.cnt_getopzegdatum (c.cnt_contract_key) cnt_opzegdatum,

View File

@@ -50,10 +50,8 @@ AS
comps(ins_deel_key,
ins_srtcontrole_key,
ins_deelsrtcontrole_datum,
ins_srtcontrole_mode,
ins_srtcontrole_eenheid,
ins_srtcontrole_periode,
ins_srtcontrole_bits,
volgendedatum,
discipline,
soort,
@@ -78,294 +76,179 @@ AS
vervaldatum,
ins_deelsrtcontrole_key)
AS
(SELECT *
FROM (
-- 1a) Dit deel bepaald de laatste inspectie (geplande(0), gestarte(2), afgemeld(5) of verwerkt(6)),
-- inclusief de allereerste inspectie die nog niet gereed gemeld is.
SELECT di.deel_key ins_deel_key,
xcp.ins_srtcontrole_key,
di.ins_deelsrtcontrole_datum,
xcp.ins_srtcontrole_mode,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
xcp.ins_srtcontrole_bits,
COALESCE(di.ins_deelsrtcontrole_plandatum,
( -- 1a) Eerste deel bepaald de laatste inspectie (geplande(0), gestarte(2), afgemeld(5) of verwerkt(6)).
SELECT di.deel_key ins_deel_key,
xcp.ins_srtcontrole_key,
di.ins_deelsrtcontrole_datum,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
COALESCE(di.ins_deelsrtcontrole_plandatum,
CASE
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
AND di.ins_deelsrtcontrole_datum_org IS NULL
THEN -- Gestart(2) en de allereerste inspectie (ins_deelsrtcontrole_datum_org is NULL).
-- Periodieke taken:
-- De startdatum is MAX(startdatum, aanmaakdatum/registratiedatum) en heeft altijd een waarde (ins_deel_aanmaak is altijd gevuld).
-- Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
-- Er geldt dan het volgende:
-- Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
-- Voor Vervanging(2) of Certificering(3):
-- a) Als de startdatum het verst ligt: Eerste inspectie tonen op de startdatum.
-- b) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
-- De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest,
-- zijn de startdatum en registratiedatum niet meer van belang.
CASE
-- Er geldt dat (ctr_ismjob = 0), dus de eerste when is toch niet geldig.
--WHEN di.ctr_ismjob = 1
--THEN
-- ins_deelsrtcontrole_freezedate
WHEN xcp.ctr_controle_type = 1
THEN -- Controle(1).
CASE
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
AND di.ins_deelsrtcontrole_datum_org IS NULL
THEN -- Gestart(2) en de allereerste inspectie (ins_deelsrtcontrole_datum_org is NULL).
-- Periodieke taken:
-- De startdatum is MAX(startdatum, aanmaakdatum/registratiedatum) en heeft altijd een waarde (ins_deel_aanmaak is altijd gevuld).
-- Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
-- Er geldt dan het volgende:
-- Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
-- Voor Vervanging(2) of Certificering(3):
-- a) Als de startdatum het verst ligt: Eerste inspectie tonen op de startdatum.
-- b) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
-- De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest,
-- zijn de startdatum en registratiedatum niet meer van belang.
CASE
-- Er geldt dat (ctr_ismjob = 0), dus de eerste when is toch niet geldig.
--WHEN di.ctr_ismjob = 1
--THEN
-- ins_deelsrtcontrole_freezedate
WHEN xcp.ctr_controle_type = 1
THEN -- Controle(1).
CASE
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
xcp.ins_deel_aanmaak
END
ELSE -- Vervanging(2), Certificering(3).
CASE
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
fac.nextcyclusdate(
-- er is nog geen inspectie geweest, dus de laatste inspectie is null
COALESCE(
NULL,
GREATEST(
COALESCE(xcp.ins_srtcontroledl_xcp_startdat,
xcp.ins_deel_aanmaak),
COALESCE(xcp.ins_deel_aanmaak,
xcp.ins_srtcontroledl_xcp_startdat))),
xcp.ins_srtcontrole_mode,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
xcp.ins_srtcontrole_bits,
1, -- steps. De eerste inspectie is nog niet geweest dus 1 periode verder dan startdatum/aanmaakdatum.
0) -- Er geldt dat (ctr_ismjob = 0)
END
END
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
AND di.ins_deelsrtcontrole_datum_org IS NOT NULL
THEN -- Gestart(2) en niet de allereerste inspectie.
di.ins_deelsrtcontrole_datum_org
ELSE -- Status is Gereed gemeld(5) of Voltooid(6).
CASE xcp.ins_srtcontrole_mode
WHEN 0
THEN -- Moment mode: ga uit van de originele berekende inspectiedatum.
di.ins_deelsrtcontrole_datum_org
ELSE -- Interval mode: ga uit van de werkelijke inspectiedatum.
di.ins_deelsrtcontrole_datum
END
END) volgendedatum,
discipline,
soort,
groep,
soortcode,
omschrijving,
opmerking,
locatie_omschrijving,
gebouw,
ruimtenr,
aantal,
srtcontrole_omschrijving,
ctr_discipline_omschrijving taaksoort,
ins_deelsrtcontrole_datum_org,
controlemode_omschrijving,
ins_deelsrtcontrole_opmerking,
perslid,
ins_deelsrtcontrole_plandatum,
di.ins_deelsrtcontrole_status,
COALESCE(
(SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT di2.ins_controlemode_key
FROM ins_deelsrtcontrole di2
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)),
-1) ins_controlemode_success,
CASE di.ins_deelsrtcontrole_status
WHEN 0
THEN
lcl.L('lcl_ins_controle_pending')
WHEN 2
THEN
lcl.L('lcl_ins_controle_gestart')
WHEN 3
THEN
lcl.L('lcl_ins_controle_ter_uitvoer')
WHEN 5
THEN
CASE
WHEN ((SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT di2.ins_controlemode_key
FROM ins_deelsrtcontrole di2
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
1)
THEN
lcl.L('lcl_ins_controlemode_approved')
ELSE
lcl.L('lcl_ins_controlemode_deprecated')
END
WHEN 6
THEN
CASE
WHEN ((SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT ins_controlemode_key
FROM ins_deelsrtcontrole
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
1)
THEN
lcl.L('lcl_ins_controlemode_approved')
ELSE
lcl.L('lcl_ins_controlemode_deprecated')
END
END deelsrtcontrole_status,
xcp.ins_srtcontrole_eind vervaldatum,
di.ins_deelsrtcontrole_key
FROM ins_v_udr_deelinspect di,
ins_v_defined_inspect_xcp xcp,
ctr_disc_params dp
WHERE di.ins_srtcontrole_key = xcp.ins_srtcontrole_key
AND di.deel_key = xcp.ins_deel_key
AND xcp.ctr_discipline_key = dp.ctr_ins_discipline_key
AND dp.ctr_disc_params_ismjob = 0
AND xcp.ins_srtcontrole_eenheid > 2
AND xcp.ins_scenario_key = 1
AND xcp.ins_srtcontrole_periode > 0
AND di.ins_deelsrtcontrole_key = (SELECT MAX(ins_deelsrtcontrole_key)
FROM ins_deelsrtcontrole id2
WHERE id2.ins_deel_key = di.deel_key
AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key
AND id2.ins_scenario_key = 1)
UNION ALL
-- 1b) Dit deel bepaald de allereerste inspectie van een taak die nog niet ingepland of gestart is. Er is dus nog geen ins_deelsrtcontrole record van
SELECT d.deel_key ins_deel_key,
xcp.ins_srtcontrole_key,
NULL,
xcp.ins_srtcontrole_mode,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
xcp.ins_srtcontrole_bits,
-- Gestart(2) en de allereerste inspectie (ins_deelsrtcontrole_datum_org is NULL).
-- Periodieke taken:
-- De startdatum is MAX(startdatum, aanmaakdatum/registratiedatum) en heeft altijd een waarde (ins_deel_aanmaak is altijd gevuld).
-- Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
-- Er geldt dan het volgende:
-- Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
-- Voor Vervanging(2) of Certificering(3):
-- a) Als de startdatum het verst ligt: Eerste inspectie tonen op de startdatum.
-- b) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
-- De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest,
-- zijn de startdatum en registratiedatum niet meer van belang.
CASE
-- Er geldt dat (ctr_ismjob = 0), dus de eerste when is toch niet geldig.
--WHEN xcp.ctr_ismjob = 1
--THEN
-- xcp.ins_deelsrtcontrole_freezedate
WHEN xcp.ctr_controle_type = 1
THEN -- Controle(1).
CASE
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
xcp.ins_deel_aanmaak
END
ELSE -- Vervanging(2), Certificering(3).
CASE
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
fac.nextcyclusdate(
-- er is nog geen inspectie geweest, dus de laatste inspectie is null
COALESCE(
NULL,
GREATEST(
COALESCE(xcp.ins_srtcontroledl_xcp_startdat,
xcp.ins_deel_aanmaak),
COALESCE(xcp.ins_deel_aanmaak,
xcp.ins_srtcontroledl_xcp_startdat))),
xcp.ins_srtcontrole_mode,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
xcp.ins_srtcontrole_bits,
1, -- steps. De eerste inspectie is nog niet geweest dus 1 periode verder dan startdatum/aanmaakdatum.
0) -- Er geldt dat (ctr_ismjob = 0)
END
END
volgendedatum,
d.discipline,
d.soort,
d.groep,
d.soortcode,
d.omschrijving,
d.opmerking,
d.locatie_omschrijving,
d.gebouw,
d.ruimtenr,
d.aantal,
(SELECT isc.ins_srtcontrole_omschrijving
FROM ins_srtcontrole isc
WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key) srtcontrole_omschrijving,
(SELECT cd.ins_discipline_omschrijving
FROM ctr_discipline cd,
ins_srtcontrole isc
WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key
AND isc.ctr_discipline_key = cd.ins_discipline_key) taaksoort,
ins_deelsrtcontrole_datum_org,
NULL controlemode_omschrijving,
ins_deelsrtcontrole_opmerking,
NULL perslid,
ins_deelsrtcontrole_plandatum,
-1 ins_deelsrtcontrole_status,
-1 ins_controlemode_success,
lcl.L('lcl_ins_controlemode_notplaned') deelsrtcontrole_status,
xcp.ins_srtcontrole_eind vervaldatum,
NULL ins_deelsrtcontrole_key
FROM ins_v_udr_deel d,
ins_deelsrtcontrole idsc,
ins_v_defined_inspect_xcp xcp,
ctr_disc_params dp
WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)
AND xcp.ins_deel_key = idsc.ins_deel_key(+)
AND xcp.ins_scenario_key = idsc.ins_scenario_key(+)
AND xcp.ins_deel_key = d.deel_key
AND xcp.ctr_discipline_key = dp.ctr_ins_discipline_key
AND dp.ctr_disc_params_ismjob = 0
AND xcp.ins_srtcontrole_eenheid > 2
AND xcp.ins_scenario_key = 1
AND idsc.ins_deel_key IS NULL
AND idsc.ins_srtcontrole_key IS NULL
AND xcp.ins_srtcontrole_periode > 0
AND (idsc.ins_deelsrtcontrole_key IS NULL
OR idsc.ins_deelsrtcontrole_key =
(SELECT MAX(ins_deelsrtcontrole_key)
FROM ins_deelsrtcontrole id2
WHERE id2.ins_deel_key = d.deel_key
AND id2.ins_srtcontrole_key = xcp.ins_srtcontrole_key
AND id2.ins_scenario_key = 1)))
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
xcp.ins_deel_aanmaak
END
ELSE -- Vervanging(2), Certificering(3).
CASE
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
fac.nextcyclusdate(
-- er is nog geen inspectie geweest, dus de laatste inspectie is null
COALESCE(
NULL,
GREATEST(
COALESCE(xcp.ins_srtcontroledl_xcp_startdat,
xcp.ins_deel_aanmaak),
COALESCE(xcp.ins_deel_aanmaak,
xcp.ins_srtcontroledl_xcp_startdat))),
xcp.ins_srtcontrole_mode,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
xcp.ins_srtcontrole_bits,
1, -- steps. De eerste inspectie is nog niet geweest dus 1 periode verder dan startdatum/aanmaakdatum.
0) -- Er geldt dat (ctr_ismjob = 0)
END
END
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
AND di.ins_deelsrtcontrole_datum_org IS NOT NULL
THEN -- Gestart(2) en niet de allereerste inspectie.
di.ins_deelsrtcontrole_datum_org
ELSE -- Status is Gereed gemeld(5) of Voltooid(6).
CASE xcp.ins_srtcontrole_mode
WHEN 0
THEN -- Moment mode: ga uit van de originele berekende inspectiedatum.
di.ins_deelsrtcontrole_datum_org
ELSE -- Interval mode: ga uit van de werkelijke inspectiedatum.
di.ins_deelsrtcontrole_datum
END
END) volgendedatum,
discipline,
soort,
groep,
soortcode,
omschrijving,
opmerking,
locatie_omschrijving,
gebouw,
ruimtenr,
aantal,
srtcontrole_omschrijving,
ctr_discipline_omschrijving taaksoort,
ins_deelsrtcontrole_datum_org,
controlemode_omschrijving,
ins_deelsrtcontrole_opmerking,
perslid,
ins_deelsrtcontrole_plandatum,
di.ins_deelsrtcontrole_status,
COALESCE(
(SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT di2.ins_controlemode_key
FROM ins_deelsrtcontrole di2
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)),
-1) ins_controlemode_success,
CASE di.ins_deelsrtcontrole_status
WHEN 0
THEN
lcl.L('lcl_ins_controle_pending')
WHEN 2
THEN
lcl.L('lcl_ins_controle_gestart')
WHEN 3
THEN
lcl.L('lcl_ins_controle_ter_uitvoer')
WHEN 5
THEN
CASE
WHEN ((SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT di2.ins_controlemode_key
FROM ins_deelsrtcontrole di2
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
1)
THEN
lcl.L('lcl_ins_controlemode_approved')
ELSE
lcl.L('lcl_ins_controlemode_deprecated')
END
WHEN 6
THEN
CASE
WHEN ((SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT ins_controlemode_key
FROM ins_deelsrtcontrole
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
1)
THEN
lcl.L('lcl_ins_controlemode_approved')
ELSE
lcl.L('lcl_ins_controlemode_deprecated')
END
END deelsrtcontrole_status,
xcp.ins_srtcontrole_eind vervaldatum,
di.ins_deelsrtcontrole_key
FROM ins_v_udr_deelinspect di,
ins_v_defined_inspect_xcp xcp,
ctr_disc_params dp
WHERE di.ins_srtcontrole_key = xcp.ins_srtcontrole_key
AND di.deel_key = xcp.ins_deel_key
AND xcp.ctr_discipline_key = dp.ctr_ins_discipline_key
AND dp.ctr_disc_params_ismjob = 0
AND xcp.ins_srtcontrole_eenheid > 2
AND xcp.ins_scenario_key = 1
AND xcp.ins_srtcontrole_periode > 0
AND di.ins_deelsrtcontrole_key = (SELECT MAX(ins_deelsrtcontrole_key)
FROM ins_deelsrtcontrole id2
WHERE id2.ins_deel_key = di.deel_key
AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key
AND id2.ins_scenario_key = 1)
AND COALESCE(di.ins_deelsrtcontrole_datum,
di.ins_deelsrtcontrole_plandatum,
di.ins_deelsrtcontrole_datum_org)
IS NOT NULL
UNION ALL
-- 1c) Dit deel bepaalt/berekent de toekomstige inspecties van dit jaar en volgend jaar.
-- 1b) Tweede deel bepaalt/berekent de toekomstige inspecties van dit jaar en volgend jaar.
SELECT m.ins_deel_key,
m.ins_srtcontrole_key,
NULL ins_deelsrtcontrole_datum,
m.ins_srtcontrole_mode,
m.ins_srtcontrole_eenheid,
m.ins_srtcontrole_periode,
m.ins_srtcontrole_bits,
fac.nextcyclusdate(m.volgendedatum,
m.ins_srtcontrole_mode,
m.ins_srtcontrole_eenheid,
m.ins_srtcontrole_periode,
m.ins_srtcontrole_bits,
1,
0),
ADD_MONTHS(m.volgendedatum,
CASE
WHEN m.ins_srtcontrole_eenheid = 3 THEN m.ins_srtcontrole_periode
ELSE m.ins_srtcontrole_periode * 12
END),
m.discipline,
m.soort,
m.groep,
@@ -389,20 +272,18 @@ AS
m.vervaldatum,
NULL ins_deelsrtcontrole_key
FROM comps m
WHERE TRUNC(fac.nextcyclusdate(m.volgendedatum,
m.ins_srtcontrole_mode,
m.ins_srtcontrole_eenheid,
m.ins_srtcontrole_periode,
m.ins_srtcontrole_bits,
1,
0), 'YYYY') <=
TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY'))
WHERE ADD_MONTHS(m.volgendedatum,
CASE
WHEN m.ins_srtcontrole_eenheid = 3 THEN m.ins_srtcontrole_periode
ELSE m.ins_srtcontrole_periode * 12
END) <=
TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY')
)
SELECT *
FROM comps) ig
WHERE (ig.vervaldatum IS NULL
OR ig.vervaldatum > ig.volgendedatum)
AND ig.volgendedatum BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -12), 'YYYY') AND TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY')
AND TRUNC(ig.volgendedatum, 'YYYY') < TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY') -- 1 januari in het jaar dat 2 jaar verder ligt niet meetellen.
UNION ALL
-- 2) Inspecties die vorig jaar en dit jaar zijn uitgevoerd, uitgezonderd de laatste.
SELECT di.discipline,

View File

@@ -6,9 +6,6 @@
CREATE INDEX exc_i_exc_import1 ON exc_import(fac_import_key);
CREATE INDEX exc_i_exc_import2
ON exc_import (APPT_ID || '|' || RECUR_ID, SEQ_NR, FAC_IMPORT_KEY);
REGISTERONCE('$Id$')
#endif // EXC

View File

@@ -17,28 +17,6 @@ INSERT INTO fac_api (fac_api_name,
0,
NULL);
-- Toevoegen gebruiker om notificaties van MS Graph te verwerken
INSERT INTO prs_perslid (prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
prs_perslid_naam,
prs_perslid_oslogin,
prs_perslid_apikey,
prs_perslid_flags,
prs_perslid_opmerking)
SELECT prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
'API-user tbv. Exchange-koppeling',
'_MSGRAPHNOTIFICATION',
DBMS_RANDOM.string ('a', 32),
36,
'System account for Exchange notifications.'
|| CHR (13)
|| 'Contact Facilitor for configuration.'
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR';
REGISTERONCE('$Id$')
#endif // EXC

View File

@@ -46,6 +46,7 @@ AS
WHERE res_ruimte_opstel_verwijder IS NULL) ro2
WHERE UPPER(r.res_ruimte_extern_id) = UPPER(p_room_id)
AND r.res_ruimte_verwijder IS NULL
AND COALESCE (r.res_ruimte_vervaldatum, SYSDATE + 1) > SYSDATE
AND ro1.res_ruimte_key(+) = r.res_ruimte_key
AND ro2.res_ruimte_key = r.res_ruimte_key
AND ro2.res_ruimte_opstel_key =
@@ -324,8 +325,9 @@ AS
PROCEDURE import_exchange (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
IS
c_fielddelimitor VARCHAR2 (1) := ';';
c_max_errors NUMBER := 100;
v_newline VARCHAR2 (1000); -- Input line
v_aanduiding VARCHAR2 (600);
v_aanduiding VARCHAR2 (200);
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
@@ -335,6 +337,7 @@ AS
v_count_tot NUMBER (10);
v_count_error NUMBER (10);
v_count_import NUMBER (10);
v_count NUMBER;
v_import_filenaam fac_import.fac_import_filenaam%TYPE;
v_ruimte_id res_ruimte.res_ruimte_extern_id%TYPE;
date_interval_start DATE := TRUNC (SYSDATE) - p_days_from;
@@ -365,16 +368,14 @@ AS
-- AKZA#36457: de ID van de ruimte is niet meer uit de inhoud van de XML te halen.
-- Dan maar de bestandsnaam gebruiken (refkey is niet handig, want dan moeten we voor
-- elke room de import draaien).
v_errorhint := 'Fout bij het (eenduidig) bepalen van de reserveerbare ruimte die we moeten updaten';
SELECT r.res_ruimte_extern_id, i.fac_import_filenaam
INTO v_ruimte_id, v_import_filenaam
FROM res_ruimte r, fac_import i
WHERE i.fac_import_key = p_import_key
AND r.res_ruimte_verwijder IS NULL
AND r.res_ruimte_extern_id IS NOT NULL
AND UPPER (i.fac_import_filenaam) = UPPER ('SYNC_' || r.res_ruimte_extern_id); -- 'SYNC_' is de harde prefix zoals in /UTILS/Exchange/ms_graph.js gedefinieerd
AND UPPER (i.fac_import_filenaam) LIKE
'%' || UPPER (r.res_ruimte_extern_id) || '%';
fac.imp_writelog (p_import_key,
'S',
@@ -650,17 +651,19 @@ AS
-- De laatste UPDATE exc_import moet voor de UPDATE res_rsv_ruimte
PROCEDURE update_exchange (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
IS
v_aanduiding VARCHAR2 (600);
v_aanduiding VARCHAR2 (200);
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count_tot NUMBER (10);
v_count_error NUMBER (10);
v_count NUMBER (10);
v_ruimte_extern_id res_ruimte.res_ruimte_extern_id%TYPE;
v_count_wanted NUMBER (10);
v_count_all_booked NUMBER (10);
v_count_all_needed NUMBER (10);
v_ongeldig NUMBER (1);
v_debug BOOLEAN := FALSE;
sync_level fac_setting.fac_setting_pvalue%TYPE;
date_interval_start DATE := TRUNC (SYSDATE) - p_days_from;
@@ -675,8 +678,6 @@ AS
v_kostenplaats_key NUMBER (10);
v_status_fo_key NUMBER (10);
v_discipline_key NUMBER (10);
v_organizer VARCHAR2(200);
v_trackingnew VARCHAR2(1000);
-- ANNULEREN
-- Eerst alle reserveringen waar geen appointments meer bij zijn annuleren, zodat
@@ -1513,29 +1514,17 @@ AS
v_reservering_key := NULL;
v_rsv_ruimte_volgnr := 1;
v_rsv_ruimte_key := NULL;
v_trackingnew := NULL;
v_errorhint :=
'Host '
|| rec.organizer
|| ' onbekend, of meer personen met dit e-mailadres! Geen boeking.';
IF (rec.organizer LIKE '##%@%##') -- _MSGRAPH_FALLBACK_UNKNOWN
THEN
SELECT prs_perslid_email
INTO v_organizer
FROM prs_v_aanwezigperslid
WHERE prs_perslid_oslogin = '_MSGRAPH_FALLBACK_UNKNOWN';
v_trackingnew := REPLACE(lcl.l('lcl_res_is_resnew_exchange'), '{0}', SUBSTR(rec.organizer, 3, LENGTH(rec.organizer) - 4));
ELSE
v_organizer := rec.organizer;
END IF;
-- Kennen we deze persoon eigenlijk wel?
SELECT COUNT (*)
INTO v_count
FROM prs_v_aanwezigperslid p
WHERE UPPER (p.prs_perslid_email) = UPPER (v_organizer);
WHERE UPPER (p.prs_perslid_email) = UPPER (rec.organizer);
-- Niet bekend, of niet eenduidig --> jammer dan.
IF (v_count != 1)
@@ -1552,7 +1541,7 @@ AS
INTO v_perslid_key, v_kostenplaats_key
FROM prs_v_aanwezigperslid p, prs_v_aanwezigafdeling a
WHERE UPPER (p.prs_perslid_email) =
UPPER (v_organizer)
UPPER (rec.organizer)
AND a.prs_afdeling_key = p.prs_afdeling_key;
v_errorhint := 'Opstelling ophalen';
@@ -1580,6 +1569,14 @@ AS
-- AND res_rsv_ruimte_externnr NOT LIKE '%|'||rec.recur_id||'|%'
AND res_rsv_ruimte_verwijder IS NULL;
-- Succesvol afgerond; zet vlag.
-- TODO: komen we hier ook als er iets mis ging met de bezoekers?
UPDATE exc_import
SET gelukt = 1
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND gelukt IS NULL;
-- Er bestaan al deelreserveringen voor andere occurences van deze recurring appointment
-- Deelreservering binnen de bijbehorende res_reservering aanmaken
IF (v_count > 0)
@@ -1707,14 +1704,6 @@ AS
v_errorhint := 'Toevoegen bezoekers';
exc.importBezoekers(p_import_key, rec.appt_id, rec.recur_id, v_rsv_ruimte_key, date_interval_start, date_interval_end);
-- Succesvol afgerond; zet vlag.
-- TODO: komen we hier ook als er iets mis ging met de bezoekers?
UPDATE exc_import
SET gelukt = 1
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND gelukt IS NULL;
IF (v_debug)
THEN
fac.imp_writelog (p_import_key,
@@ -1743,7 +1732,7 @@ AS
v_rsv_ruimte_key,
NULL,
SYSDATE,
v_trackingnew);
NULL);
-- Is er iets dirty?
res.set_ruimte_dirty (v_rsv_ruimte_key);
@@ -1818,8 +1807,6 @@ AS
PROCEDURE update_exchfull (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
IS
v_errorhint VARCHAR2 (1000);
date_interval_start DATE := TRUNC (SYSDATE) - p_days_from;
date_interval_end DATE := TRUNC (SYSDATE) + p_days_to;
BEGIN
update_exchange (p_import_key, p_days_from, p_days_to); -- Eerst de gewone import
@@ -1848,8 +1835,10 @@ AS
AND rr.res_rsv_ruimte_externnr2 IS NULL
AND rr.res_rsv_ruimte_externsyncdate IS NULL))
AND rr.res_rsv_ruimte_verwijder IS NULL
AND rr.res_rsv_ruimte_tot >= date_interval_start
AND rr.res_rsv_ruimte_van <= date_interval_end
AND rr.res_rsv_ruimte_van >=
(SELECT MIN (starttime) FROM this_import)
AND rr.res_rsv_ruimte_van <=
(SELECT MAX (starttime) FROM this_import)
AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key
AND r.res_ruimte_key = ro.res_ruimte_key
AND r.res_ruimte_extern_id IN (SELECT DISTINCT room_id

View File

@@ -5,8 +5,8 @@
* $Id$
*/
CREATE_TRIGGER(exc_t_exc_import_B_I)
BEFORE INSERT ON exc_import
CREATE_TRIGGER(exc_t_exc_import_B_IU)
BEFORE INSERT OR UPDATE ON exc_import
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(exc_import_key, exc_s_import_key);

View File

@@ -76,6 +76,4 @@ CREATE INDEX faq_i_faq_kenmerk1 ON faq_kenmerk(faq_kenmerk_code);
CREATE INDEX fac_i_fac_gui_counter1 ON fac_gui_counter(prs_perslid_key);
CREATE UNIQUE INDEX fac_i_fac_usrrap_cols1 ON fac_usrrap_cols(fac_usrrap_key, UPPER(fac_usrrap_cols_column_name));
REGISTERONCE('$Id$')

View File

@@ -1657,167 +1657,165 @@ END;
// Alles als een enorme BEGIN/END is over het netwerk immens sneller
BEGIN
DEF_FAC_FUNCTIE3('WEB_ALGMAN', 'ALG', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_ALGMGT', 'ALG', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_ALGMSU', 'ALG', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_ALGUSE', 'ALG', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_APIDOC', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_BESBAC', 'BES', 13, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESBOF', 'BES', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_BESBOR', 'BES', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_BESFIN', 'FIN', 5, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESFOF', 'BES', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_BESGO2', 'BES', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESGO3', 'BES', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESGO4', 'BES', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESGO5', 'BES', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESMGT', 'BES', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_BESMSU', 'BES', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_BESUSE', 'BES', 15, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BEZBAC', 'BEZ', 13, 0, 0);
DEF_FAC_FUNCTIE3('WEB_BEZBOF', 'BEZ', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_BEZFOF', 'BEZ', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_BEZMGT', 'BEZ', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_BEZMSU', 'BEZ', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_BEZPAF', 'BEZ', 7, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_BEZPRK', 'BEZ', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_BEZUSE', 'BEZ', 15, 0, 0);
DEF_FAC_FUNCTIE3('WEB_BGTMAN', 'BGT', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_BGTMGT', 'BGT', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_BGTORD', 'BGT', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_BGTUSE', 'BGT', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CADALG', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADBOF', 'CAD', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_CADCNT', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADFOF', 'CAD', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_CADMGT', 'CAD', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_CADMLD', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADMSU', 'CAD', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_CADOBJ', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADPRS', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADSCH', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADSLE', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADUSE', 'CAD', 11, 0, 0);
DEF_FAC_FUNCTIE3('WEB_ALGMAN', 'ALG', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ALGMGT', 'ALG', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_ALGMSU', 'ALG', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_ALGUSE', 'ALG', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_APIDOC', 'FAC', 0, 0, NULL); // NULL
DEF_FAC_FUNCTIE3('WEB_BESBAC', 'BES', 13, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BESBOF', 'BES', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BESBOR', 'BES', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BESFIN', 'BES', 5, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_BESFOF', 'BES', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BESGO2', 'BES', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BESGO3', 'BES', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BESGO4', 'BES', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BESGO5', 'BES', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BESMGT', 'BES', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_BESMSU', 'BES', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_BESUSE', 'BES', 15, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_BEZBAC', 'BEZ', 13, 0, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BEZBOF', 'BEZ', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BEZFOF', 'BEZ', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BEZMGT', 'BEZ', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_BEZMSU', 'BEZ', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_BEZPAF', 'BEZ', 7, 0, NULL); // NULL
DEF_FAC_FUNCTIE3('WEB_BEZPRK', 'BEZ', 0, 0, NULL); // NULL
DEF_FAC_FUNCTIE3('WEB_BEZUSE', 'BEZ', 15, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_BGTMAN', 'BGT', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BGTMGT', 'BGT', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_BGTORD', 'BGT', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BGTUSE', 'BGT', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CADALG', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADBOF', 'CAD', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CADCNT', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADFOF', 'CAD', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CADMGT', 'CAD', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_CADMLD', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADMSU', 'CAD', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_CADOBJ', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADPRS', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADSCH', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADSLE', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADUSE', 'CAD', 11, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CHTOPR', 'CHT', 0, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CHTREQ', 'CHT', 0, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTFIN', 'FIN', 5, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTGO1', 'CNT', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTGO2', 'CNT', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTGO3', 'CNT', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTGO4', 'CNT', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTGO5', 'CNT', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTMAN', 'CNT', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CNTMGT', 'CNT', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_CNTMSU', 'CNT', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_CNTUSE', 'CNT', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CNTFIN', 'CNT', 5, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTGO1', 'CNT', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTGO2', 'CNT', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTGO3', 'CNT', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTGO4', 'CNT', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTGO5', 'CNT', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTMAN', 'CNT', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CNTMGT', 'CNT', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_CNTMSU', 'CNT', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_CNTUSE', 'CNT', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CTRFOF', 'CTR', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CTRBOF', 'CTR', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CTRMGT', 'CTR', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_CTRUSE', 'CTR', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CTRAFR', 'CTR', 0, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CTRSEN', 'CTR', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_EXTFIN', 'FIN', 11, 0, 0);
DEF_FAC_FUNCTIE3('WEB_EXTORD', 'MLD', 11, 1, 1);
DEF_FAC_FUNCTIE3('WEB_EXTREL', 'PRS', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_FACFAC', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACQRC', 'FAC', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_FACMAN', 'PRS', 7, 0, 1);
DEF_FAC_FUNCTIE3('WEB_FACMGT', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACMSU', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACTAB', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACXNR', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACHML', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACRFR', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FAQBOF', 'FAQ', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_FAQFOF', 'FAQ', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_FAQMGT', 'FAQ', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_FAQMSU', 'FAQ', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_FAQUSE', 'FAQ', 1, 1, 0);
DEF_FAC_FUNCTIE3('WEB_FINBOF', 'FIN', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_FINFOF', 'FIN', 3, 0, 1);
DEF_FAC_FUNCTIE3('WEB_FINGOE', 'FIN', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_FINMGT', 'FIN', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_FINMSU', 'FIN', 3, 0, 2);
DEF_FAC_FUNCTIE3('WEB_HLPADM', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_IMPORT', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_INSFOF', 'INS', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_INSMAN', 'INS', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_INSMGT', 'INS', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_INSMSU', 'INS', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_INSPRJ', 'INS', 11, 1, 1);
DEF_FAC_FUNCTIE3('WEB_INSUSE', 'INS', 11, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CTRMGT', 'CTR', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_CTRUSE', 'CTR', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CTRSEN', 'CTR', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_EXTFIN', 'FIN', 11, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_EXTORD', 'MLD', 11, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_EXTREL', 'PRS', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FACFAC', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_FACQRC', 'FAC', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_FACMAN', 'PRS', 7, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FACMGT', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_FACMSU', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_FACTAB', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_FACHML', 'FAC', 0, 0, NULL); //
DEF_FAC_FUNCTIE3('WEB_FACRFR', 'FAC', 0, 0, NULL); //
DEF_FAC_FUNCTIE3('WEB_FAQBOF', 'FAQ', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FAQFOF', 'FAQ', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FAQMGT', 'FAQ', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_FAQMSU', 'FAQ', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_FAQUSE', 'FAQ', 1, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_FINBOF', 'FIN', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FINFOF', 'FIN', 3, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FINGOE', 'FIN', 0, 0, 0); // 1
DEF_FAC_FUNCTIE3('WEB_FINMGT', 'FIN', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_FINMSU', 'FIN', 3, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_HLPADM', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_IMPORT', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_INSFOF', 'INS', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_INSMAN', 'INS', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_INSMGT', 'INS', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_INSMSU', 'INS', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_INSPRJ', 'INS', 11, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_INSUSE', 'INS', 11, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_INSMIN', 'INS', 0, 1, 0);
DEF_FAC_FUNCTIE3('WEB_KPIRAP', 'KPI', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_LAYOUT', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_LCLSYS', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_MLDAFR', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_MLDBAC', 'MLD', 13, 1, 0);
DEF_FAC_FUNCTIE3('WEB_MLDBO2', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_MLDBO3', 'MLD', 15, 1, 0);
DEF_FAC_FUNCTIE3('WEB_MLDBOF', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_MLDFIN', 'FIN', 5, 1, 0);
DEF_FAC_FUNCTIE3('WEB_MLDFOF', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_MLDMGT', 'MLD', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_MLDMSU', 'MLD', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_MLDORD', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_MLDUSE', 'MLD', 15, 1, 0);
DEF_FAC_FUNCTIE3('WEB_MLDMSA', 'MLD', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_MRKBOF', 'MRK', 0, 0, 1);
DEF_FAC_FUNCTIE3('WEB_MRKMGT', 'MRK', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_MRKMSU', 'MRK', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_MRKUSE', 'MRK', 3, 0, 0);
DEF_FAC_FUNCTIE3('WEB_MSGUSE', 'MSG', 3, 0, 0); // nog geen disciplines
//DEF_FAC_FUNCTIE3('WEB_MSGFOF', 'MSG', 11, 0, 1); // future use
DEF_FAC_FUNCTIE3('WEB_MSGBOF', 'MSG', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_ORDAFR', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_ORDBO2', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_ORDBOF', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_ORDFIN', 'FIN', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_ORDGO2', 'MLD', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDGO3', 'MLD', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDGO4', 'MLD', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDGO5', 'MLD', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDGOE', 'MLD', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDOAP', 'MLD', 0, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDSUP', 'FIN', 0, 0, 1);
DEF_FAC_FUNCTIE3('WEB_ORDUSE', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_PERMON', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_PHONEB', 'PRS', 13, 0, 0);
DEF_FAC_FUNCTIE3('WEB_PHSRCH', 'PRS', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_PRJBOF', 'PRJ', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_PRJMAN', 'PRJ', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_PROFIL', 'PRS', 3, 0, 0);
DEF_FAC_FUNCTIE3('WEB_PRSBOF', 'PRS', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_PRSFOF', 'PRS', 0, 0, 1);
DEF_FAC_FUNCTIE3('WEB_PRSMAN', 'PRS', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_PRSMGT', 'PRS', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_PRSMSU', 'PRS', 3, 0, 2);
DEF_FAC_FUNCTIE3('WEB_PRSOBJ', 'PRS', 3, 0, 0);
DEF_FAC_FUNCTIE3('WEB_PRSSYS', 'FAC', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_PRSUSE', 'PRS', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_RELMAN', 'PRS', 3, 0, 1);
DEF_FAC_FUNCTIE3('WEB_RELUSE', 'PRS', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_RESAFR', 'RES', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_RESBAC', 'RES', 13, 1, 0);
DEF_FAC_FUNCTIE3('WEB_RESBOF', 'RES', 11, 1, 1);
DEF_FAC_FUNCTIE3('WEB_RESFOF', 'RES', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_RESMGT', 'RES', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_RESMSU', 'RES', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_RESNOS', 'RES', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_RESUSE', 'RES', 15, 1, 0);
DEF_FAC_FUNCTIE3('WEB_RUIMAN', 'ALG', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_RUIUSE', 'ALG', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_SLEBOF', 'SLE', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_SLEFOF', 'SLE', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_TERMAN', 'ALG', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_UDRMAN', 'UDR', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_USRRAP', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_UURBOF', 'MLD', 3, 1, 0);
DEF_FAC_FUNCTIE3('WEB_UURFOF', 'MLD', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_UURUSE', 'MLD', 3, 0, 0);
DEF_FAC_FUNCTIE3('WEB_VERFAC', 'FIN', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_KPIRAP', 'KPI', 0, 0, 0); // 1
DEF_FAC_FUNCTIE3('WEB_LAYOUT', 'FAC', 0, 0, NULL); // NULL
DEF_FAC_FUNCTIE3('WEB_LCLSYS', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_MLDAFR', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MLDBAC', 'MLD', 13, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_MLDBO2', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MLDBO3', 'MLD', 15, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_MLDBOF', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MLDFIN', 'MLD', 5, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_MLDFOF', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MLDMGT', 'MLD', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_MLDMSU', 'MLD', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_MLDORD', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MLDUSE', 'MLD', 15, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_MLDMSA', 'MLD', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_MRKBOF', 'MRK', 0, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MRKMGT', 'MRK', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_MRKMSU', 'MRK', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_MRKUSE', 'MRK', 3, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_MSGBOF', 'MSG', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ORDAFR', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ORDBO2', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ORDBOF', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ORDFIN', 'FIN', 0, 0, NULL); // 1
DEF_FAC_FUNCTIE3('WEB_ORDGO2', 'MLD', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_ORDGO3', 'MLD', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_ORDGO4', 'MLD', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_ORDGO5', 'MLD', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_ORDGOE', 'MLD', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_ORDOAP', 'MLD', 0, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_ORDSUP', 'FIN', 0, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ORDUSE', 'MLD', 15, 1, 1); // 0
DEF_FAC_FUNCTIE3('WEB_PERMON', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_PHONEB', 'PRS', 13, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_PHSRCH', 'PRS', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_PRDMSU', 'BES', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_PRJBOF', 'PRJ', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_PRJMAN', 'PRJ', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_PROFIL', 'PRS', 3, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_PRSBOF', 'PRS', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_PRSFOF', 'PRS', 0, 0, 1); // 1??
DEF_FAC_FUNCTIE3('WEB_PRSMAN', 'PRS', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_PRSMGT', 'PRS', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_PRSMSU', 'PRS', 3, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_PRSOBJ', 'PRS', 3, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_PRSSYS', 'FAC', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_PRSUSE', 'PRS', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RELMAN', 'PRS', 3, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RELUSE', 'PRS', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RESAFR', 'RES', 0, 0, NULL); // 1
DEF_FAC_FUNCTIE3('WEB_RESBAC', 'RES', 13, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_RESBOF', 'RES', 11, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RESFOF', 'RES', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RESMGT', 'RES', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_RESMSU', 'RES', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_RESNOS', 'RES', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_RESUSE', 'RES', 15, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_RUIMAN', 'ALG', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RUIUSE', 'ALG', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_SLEBOF', 'SLE', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_SLEFOF', 'SLE', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_TERMAN', 'ALG', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_UDRMAN', 'UDR', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_USRRAP', 'FAC', 0, 0, NULL); // NULL
DEF_FAC_FUNCTIE3('WEB_UURBOF', 'MLD', 3, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_UURFOF', 'MLD', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_UURUSE', 'MLD', 3, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_VERFAC', 'FIN', 0, 0, 0); // 1
DEF_FAC_FUNCTIE3('WEB_WGTUSE', 'WGT', 3, 0, 0);
DEF_FAC_FUNCTIE3('WEB_WGTMAN', 'WGT', 3, 0, 1);
/* User definable functions */
DEF_FAC_FUNCTIE3x('WEB_USER','01', 'FAC', 15, 0, NULL);
DEF_FAC_FUNCTIE3x('WEB_USER','02', 'FAC', 15, 0, NULL);
@@ -2004,8 +2002,6 @@ DEF_FAC_SRTNOT('MLDAP1', 3, 'lcl_noti_MLDAP1', 'mld/mld_opdr.asp?opdr_key=', '
DEF_FAC_SRTNOT('MLDINF', 2, 'lcl_noti_MLDINF', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('MLDING', 0, 'lcl_noti_MLDING', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('MLDNEW', 1, 'lcl_noti_MLDNEW', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 60);
DEF_FAC_SRTNOT('MLDCON', 0, 'lcl_noti_MLDCON', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 60);
DEF_FAC_SRTNOT('MLD2CO', 3, 'lcl_noti_MLD2CO', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('MLDNW3', 2, 'lcl_noti_MLDNW3', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 300);
DEF_FAC_SRTNOT('MLDREJ', 9, 'lcl_noti_MLDREJ', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('MLDUPD', 1, 'lcl_noti_MLDUPD', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 60);
@@ -2100,7 +2096,6 @@ DEF_FAC_SRTNOT('RESKTO', 3, 'lcl_noti_RESKTO', 'mld/mld_melding.asp?kto=1&res_ke
DEF_FAC_SRTNOT('RESCLN', 0, 'lcl_noti_RESCLN', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
DEF_FAC_SRTNOT('RESROK', 0, 'lcl_noti_RESROK', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
DEF_FAC_SRTNOT('RES2BO', 0, 'lcl_noti_RES2BO', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10); //GOUD#37603
DEF_FAC_SRTNOT('RESANO', 0, 'lcl_noti_RESANO', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
DEF_FAC_SRTNOT('INSNEW', 0, 'lcl_noti_INSNEW', 'ins/ins_deel.asp?ins_key=', '0', 'deel', 10);
DEF_FAC_SRTNOT('INSUPD', 0, 'lcl_noti_INSUPD', 'ins/ins_deel.asp?ins_key=', '0', 'deel', 60);
@@ -2207,11 +2202,6 @@ DEF_FAC_SRTNOT('PRSTRK', 0, '', 'prs/prs_perslid.asp?prs_key=', 0, 'p
DEF_FAC_SRTNOT('RESTRK', 0, '', 'res/res_reservering.asp?rsv_ruimte_key=', 0, 'reservering', 10);
DEF_FAC_SRTNOT('WEBTRK', 0, '', '', 0, 'intranet', 10);
// Notificatiesoorten tbv rating-tracking
DEF_FAC_SRTNOT('BESLIK', 0, 'lcl_noti_BESLIK', 'bes/bes_bestelling.asp?bes_key=', 0, 'bestelling', 10);
DEF_FAC_SRTNOT('MLDLIK', 0, 'lcl_noti_MLDLIK', 'mld/mld_melding.asp?mld_key=', 0, 'melding', 10);
DEF_FAC_SRTNOT('RESLIK', 0, 'lcl_noti_RESLIK', 'res/res_reservering.asp?rsv_ruimte_key=', 0, 'reservering', 10);
END;
/
@@ -2332,26 +2322,6 @@ INSERT INTO prs_perslid (prs_perslid_module,
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR';
-- Toevoegen gebruiker om automatische Sensor-vervolgacties uit te voeren
INSERT INTO prs_perslid (prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
prs_perslid_naam,
prs_perslid_oslogin,
prs_perslid_apikey,
prs_perslid_flags,
prs_perslid_opmerking)
SELECT prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
'Sensor',
'_SENSOR',
DBMS_RANDOM.string ('a', 32),
36,
'System account for sensor-triggered-events.'||CHR(13)||'For Facilitor internal use'
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR';
-- Bij elke klant anders, moet dus in pvalue
UPDATE fac_setting
SET fac_setting_pvalue =
@@ -2439,19 +2409,19 @@ SELECT fac_groep_key, fac_functie_key, -1,-1,-1,-1
/* definieer de FIP-importfuncties */
DEF_IMPORT('WEB_PRSSYS', 'ONRGOED1', 'FIP: 1-Aanvullen districten t/m gebouwen', 'FIP: 1-Add districts up to buildings')
DEF_IMPORT('WEB_FACFAC', 'ONRGOED1_DEL', 'FIP: 1-Vervangen vanaf districten', 'FIP: 1-Replace from districts')
DEF_IMPORT('WEB_FACTAB', 'ONRGOED1_DEL', 'FIP: 1-Vervangen vanaf districten', 'FIP: 1-Replace from districts')
DEF_IMPORT('WEB_PRSSYS', 'ONRGOED2', 'FIP: 2-Aanvullen bouwlagen en ruimten', 'FIP: 2-Add floors and rooms')
DEF_IMPORT('WEB_FACFAC', 'ONRGOED2_DEL', 'FIP: 2-Vervangen vanaf bouwlagen', 'FIP: 2-Replace from floors')
DEF_IMPORT('WEB_FACTAB', 'ONRGOED2_DEL', 'FIP: 2-Vervangen vanaf bouwlagen', 'FIP: 2-Replace from floors')
DEF_IMPORT('WEB_PRSSYS', 'ORGANISATIE', 'FIP: 3-Aanvullen organisatiestructuur', 'FIP: 3-Add organization structure')
DEF_IMPORT('WEB_FACFAC', 'ORGANISATIE_DEL', 'FIP: 3-Vervangen vanaf organisatiestructuur', 'FIP: 3-Replace from organization structure')
DEF_IMPORT('WEB_FACTAB', 'ORGANISATIE_DEL', 'FIP: 3-Vervangen vanaf organisatiestructuur', 'FIP: 3-Replace from organization structure')
DEF_IMPORT('WEB_PRSSYS', 'PERSLID', 'FIP: 4-Aanvullen personen', 'FIP: 4-Add persons')
DEF_IMPORT('WEB_FACFAC', 'PERSLID_DEL', 'FIP: 4-Vervangen vanaf personen', 'FIP: 4-Replace from persons')
DEF_IMPORT('WEB_FACTAB', 'PERSLID_DEL', 'FIP: 4-Vervangen vanaf personen', 'FIP: 4-Replace from persons')
DEF_IMPORT('WEB_PRSSYS', 'MLD', 'FIP: 5-Aanvullen servicedesk', 'FIP: 5-Add service desk')
DEF_IMPORT('WEB_FACFAC', 'MLD_DEL', 'FIP: 5-Vervangen servicedesk', 'FIP: 5-Replace service desk')
DEF_IMPORT('WEB_FACTAB', 'MLD_DEL', 'FIP: 5-Vervangen servicedesk', 'FIP: 5-Replace service desk')
DEF_IMPORT('WEB_PRSSYS', 'INS', 'FIP: 6-Aanvullen objecten', 'FIP: 6-Add objects')
DEF_IMPORT('WEB_PRSSYS', 'FAC_GROEP', 'FIP: 7-Aanvullen gebruikersgroepen', 'FIP: 6-Add user groups')
DEF_IMPORT('WEB_FACFAC', 'FAC_GROEP_DEL', 'FIP: 7b-Vervangen gebruikersgroepen', 'FIP: 7b-Replace user groups')
DEF_IMPORT('WEB_FACFAC', 'FAC_VAKGROEP_DEL', 'FIP: 7c-Vervangen vakgroepen van alle gebruikersgroepen', 'FIP: 7c-Replace diciplines of all user groups')
DEF_IMPORT('WEB_FACTAB', 'FAC_GROEP_DEL', 'FIP: 7b-Vervangen gebruikersgroepen', 'FIP: 7b-Replace user groups')
DEF_IMPORT('WEB_FACTAB', 'FAC_VAKGROEP_DEL', 'FIP: 7c-Vervangen vakgroepen van alle gebruikersgroepen', 'FIP: 7c-Replace diciplines of all user groups')
DEF_IMPORT('WEB_PRSSYS', 'FAC_GEBRUIKERSGROEP', 'FIP: 8-Toewijzen gebruikersgroepen', 'FIP: 8-Assign user groups')
DEF_IMPORT('WEB_PRSSYS', 'INSPECTIE', 'FIP: 9-Aanvullen van inspectiedefinities', 'FIP: 9-Add inspection definitions')
DEF_IMPORT('WEB_RESMSU', 'RES_ARTIKEL_SYNC', 'Reservering: Inlezen verbruiksartikelen', 'Reservation: Download consumables')
@@ -2473,7 +2443,6 @@ DEF_IMPORT('WEB_PRSSYS', 'MLDAFMTXT', 'FIP: Afmeldteksten',
DEF_IMPORT('WEB_PRSSYS', 'BEDRIJFADRES', 'FIP: Aanvullen technische bedrijfadressen', 'FIP: Add company technical addresses')
DEF_IMPORT('WEB_LCLSYS', 'TRANSLATION', 'Import of FACILITOR translation file', 'Import of FACILITOR translation file')
DEF_IMPORT('WEB_PRSSYS', 'KPN', 'FIP: Aanmaken/bijwerken van kostenplaatsen', 'FIP: Create/Update cost centres')
DEF_IMPORT('WEB_PRSSYS', 'KOSTENSOORT', 'FIP: Aanmaken/bijwerken van kostensoorten', 'FIP: Create/Update cost categories')
DEF_IMPORT('WEB_FACTAB', 'GENERICCSV', 'FIP: Generieke CSV import', 'FIP: Generic CSV import')
@@ -2528,6 +2497,18 @@ DEF_RAPPORT('WEB_PRSSYS', 0, 'fac_v_rap_groeprechten2', 'BEHEER: Autorisa
DEF_RAPPORT('WEB_PRSSYS', 0, 'fac_v_rap_gebruikersgroepen1', 'TRANSPORT: Gebruikersgroepen', 'Export tbv import Inventarisatie Gebruikersgroepen',
'TRANSPORT: User groups', 'Export for import Inventory User groups')
--- KTO standaard rapporten
DEF_RAPPORT('WEB_MLDBAC', 0, 'mld_v_rap_kto_overview', 'KTO.1: Algemeen resultaten overzicht', 'Weergave van KTO resultaten met hulp van diverse selectiemogelijkheden',
'CSS.1: General results overview', 'Display of CSS results with the help of various selection options')
DEF_RAPPORT('WEB_MLDBAC', 0, 'mld_v_rap_kto_response_soort', 'KTO.2: KTO Response - algemeen', 'Response aantallen, -percentages en -tijden per jaar/maand',
'CSS.2: CSS Response - general', 'Response numbers, percentages and times per year/month')
DEF_RAPPORT('WEB_MLDBAC', 0, 'mld_v_rap_kto_responsedistrict', 'KTO.3: KTO Response - regio/district', 'Response aantallen, -percentages en -tijden per jaar/maand en regio/distict',
'CSS.3: CSS Response - region/district', 'Response numbers, percentages and times per year/month and region/distict')
DEF_RAPPORT('WEB_MLDBAC', 0, 'mld_v_rap_kto_response_locatie', 'KTO.4: KTO Response - locatie', 'Response aantallen, -percentages en -tijden per jaar/maand en locatie',
'CSS.4: CSS Response location', 'Response numbers, percentages and times per year/month and location')
DEF_RAPPORT('WEB_MLDBAC', 0, 'mld_v_rap_kto_response_disc', 'KTO.5: KTO Response - discipline', 'Response aantallen, -percentages en -tijden per jaar/maand en discipline',
'CSS.5: CSS Response - discipline', 'Response numbers, percentages and times per year/month and discipline')
--- INFOBOARD
DECLARE
rap_key NUMBER(10);
@@ -2593,6 +2574,10 @@ DEF_RAPPORT('WEB_UDRMAN', 32, 'mld_v_udr_opdracht', 'UDR: Opdrachten'
'UDR: Orders', 'Basic report for order reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'mld_v_udr_meldingopdracht', 'UDR: Meldingen/opdrachten', 'Basisrapport voor melding+opdrachtrapportages',
'UDR: Calls/Orders', 'Basic report for call+order reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'mld_v_udr_meldingkenmerk_cnd', 'UDR: Meldingen plus', 'Basisrapport voor melding+kenmerk rapportages',
'UDR: Calls plus', 'Basic report for call+property reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'mld_v_udr_opdrachtkenmerk_cnd', 'UDR: Opdrachten plus', 'Basisrapport voor opdracht+kenmerk rapportages',
'UDR: Order plus', 'Basic report for order+property reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'mld_v_udr_opdrachtmateriaal', 'UDR: Opdrachten-materialen', 'Basisrapport voor opdracht+materiaal rapportages',
'UDR: Order materials', 'Basic report for order+material reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'res_v_udr_reservering', 'UDR: Reserveringen', 'Basisrapport voor reserveringsrapportages',
@@ -2605,26 +2590,16 @@ DEF_RAPPORT('WEB_UDRMAN', 32, 'fin_v_udr_kostenoverzicht', 'UDR: Kostenoverz
'UDR: Cost overview', 'Basic report for cost reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_deelmelding', 'UDR: Objectmeldingen', 'Basisrapport voor objecten met hun meldinggegevens',
'UDR: Object calls', 'Basic report for objects with call details')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_deelkenmerk_cnd', 'UDR: Objecten plus', 'Basisrapport voor object+kenmerk rapportages',
'UDR: Objects plus', 'Basic report for object+property reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_deelinspect', 'UDR: Object inspecties', 'Basisrapport voor object inspectie rapportages',
'UDR: Object inspections', 'Basic report for object inspection reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_deelsrtcontrole', 'UDR: Object soort controles', 'Basisrapport voor object soort controle rapportages',
'UDR: Object type tasks', 'Basic report for object type task reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_sensorhistorie', 'UDR: Sensor recente historie', 'Basisrapport voor recente meetwaarden van sensoren',
'UDR: Sensors recent history', 'Basic report for recent values of sensors')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_sensorhistogram', 'UDR: Sensor gearchiveerde historie','Basisrapport voor historische gecomprimeerde meetwaarden van status-sensoren',
'UDR: Sensors archived history', 'Basic report for historic compressed values of state-sensors')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_uitgifte', 'UDR: Object uitgifte historie', 'Basisrapport van uitlenen en innemen van objecten',
'UDR: Object issuance history', 'Basic report of lending and taking in objects')
DEF_RAPPORT('WEB_UDRMAN', 32, 'bez_v_udr_reserveringbezoeker', 'UDR: Bezoekers bij reserveringen', 'Basisrapport voor bezoekers met reserveringsgegevens',
'UDR: Visitors with reservations', 'Basic report for visitors with reservation details')
DEF_RAPPORT('WEB_UDRMAN', 32, 'fac_v_udr_faq', 'UDR: Kennisbank', 'Basisrapport voor kennisbank rapportages',
'UDR: Knowledge base', 'Basic report for knowledge base reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'alg_v_udr_ruimte', 'UDR: Vastgoed-ruimtes', 'Basisrapport voor vastgoedgegevens obv ruimtes',
'UDR: Real-estate rooms', 'Basic report for real estate based on rooms')
DEF_RAPPORT('WEB_UDRMAN', 32, 'alg_v_udr_terrein', 'UDR: Vastgoed-terreinen', 'Basisrapport voor vastgoedgegevens obv terreinen',
'UDR: Real-estate terrains', 'Basic report for real estate based on terrains')
// to be deprecated
DEF_RAPPORT('WEB_UDRMAN', 32, 'fac_v_udr_faqkenmerk_cnd', 'UDR: Kennisbank plus', 'Basisrapport voor kennisbankgegevens+kenmerk rapportages',
'UDR: Knowledge base plus', 'Basic report for knowledge base+property reports')
@@ -2851,6 +2826,7 @@ DEF_MENUITEM(2, 'lcl_menu_alg_setting' , '', 'ALG', 'appl/fac/fac_setti
DEF_MENUKOP(2, 'lcl_facmgt_prs', 'fa-users');
DEF_MENUITEM(2, 'lcl_menu_prs_functies' , '', 'PRS', 'appl/mgt/prs_srtperslid.asp', 0, 0, 'WEB_PRSMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_diensten' , '', 'PRS', 'appl/mgt/prs_dienst.asp', 0, 0, 'WEB_PRSMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_staffels' , '', 'PRS', 'appl/mgt/prs_staffel.asp', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_relatietypes' , '', 'PRS', 'appl/mgt/prs_relatietype.asp', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_bedrijfkenmerken' , '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=B', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_afdelingskenmerke', '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=A', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
@@ -2911,7 +2887,13 @@ DEF_MENUKOP(2, 'lcl_facmgt_bes', 'fa-cart-plus');
DEF_MENUITEM(2, 'lcl_menu_bes_catalogi' , '', 'BES', 'appl/mgt/bes_discipline.asp', 0, 0, 'WEB_BESMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_groepen' , '', 'BES', 'appl/mgt/bes_srtgroep.asp', 0, 0, 'WEB_BESMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_items' , '', 'BES', 'appl/mgt/bes_srtdeel.asp', 0, 0, 'WEB_BESMSU', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_prodcatalogi' , '', 'BES', 'appl/mgt/bes_disciplineprod.asp', 0, 0, 'WEB_PRDMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_prodgroepen' , '', 'BES', 'appl/mgt/bes_srtprodgroep.asp', 0, 0, 'WEB_PRDMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_proditems' , '', 'BES', 'appl/bes/bes_srtprod_search.asp', 0, 0, 'WEB_PRDMSU', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_prodmonitor' , '', 'BES', 'appl/bes/bes_assmon_search.asp', 0, 0, 'WEB_PRDMSU', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_bedrijfprod' , '', 'BES', 'appl/bes/bes_bedrijfproduct_search.asp', 0, 0, 'WEB_PRDMSU', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_staffeltabel' , '', 'BES', 'appl/mgt/bes_staffeltabel.asp', 0, 0, 'WEB_BESMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_grootheden' , '', 'BES', 'appl/mgt/bes_grootheid.asp', 0, 0, 'WEB_PRDMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_kenmerken' , '', 'BES', 'appl/mgt/bes_kenmerkbestel.asp', 0, 0, 'WEB_BESMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_itemkenmerken' , '', 'BES', 'appl/mgt/bes_kenmerk.asp', 0, 0, 'WEB_BESMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_kenmerksoorten' , '', 'BES', 'appl/mgt/bes_srtkenmerk.asp', 0, 0, 'WEB_BESMGT', 'W', '1', '');
@@ -2973,7 +2955,6 @@ DEF_MENUITEM(2, 'lcl_menu_fac_jobs' , '', 'FAC', 'appl/fac/job_searc
DEF_MENUITEM(2, 'lcl_menu_fac_vrije_dagen' , '', 'FAC', 'appl/mgt/mld_vrije_dagen.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_eigen_tabellen' , '', 'FAC', 'appl/mgt/fac_usrtab.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_gdprstats' , '', 'FAC', 'appl/prs/prs_gdpr_stats.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fmstats' , '', 'FAC', 'appl/alg/alg_fm_stats.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_about' , '', 'FAC', 'appl/fac/about.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_msg_overzicht' , '', 'MSG', 'appl/msg/fac_nieuws_search.asp', 0, 0, 'WEB_MSGBOF', 'R', '1', '');
@@ -2984,14 +2965,14 @@ DEF_MENUITEM(2, 'lcl_menu_cht_chatkanalen' , '', 'CHT', 'appl/mgt/cht_disci
DEF_MENUITEM(2, 'lcl_menu_fac_menustructuur' , '', 'FAC', 'appl/fac/fac_menu_search.asp?urole=bo', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_menustructuur_m' , '', 'FAC', 'appl/fac/fac_menu_search.asp?urole=bo&mobile=1', 0, 0, 'WEB_PRSSYS', 'W', '0', '');
DEF_MENUITEM(2, 'lcl_menu_fac_bookmarks' , '', 'FAC', 'appl/fac/fac_bookmark_list.asp', 0, 0, 'WEB_HLPADM', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_bookmarks' , '', 'FAC', 'appl/fac/fac_bookmark_list.asp', 0, 0, 'WEB_HLPADM', 'R', '0', '');
DEF_MENUITEM(2, 'lcl_menu_fac_vertalingen' , '', 'FAC', 'appl/fac/fac_locale_search_std.asp', 0, 0, 'WEB_LCLSYS', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_anonymize' , '', 'FAC', 'appl/fac/fac_anonymize_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_kpi_definitie' , '', 'FAC', 'appl/mgt/kpi_definitie.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_setting' , '', 'FAC', 'appl/fac/fac_setting_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_xsledit' , '', 'FAC', 'appl/fac/fac_edit_xsl.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_styling' , '', 'FAC', 'appl/fac/fac_edit_template.asp', 0, 0, 'WEB_LAYOUT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_styling' , '', 'FAC', 'appl/fac/fac_edit_template.asp', 0, 0, 'WEB_LAYOUT', 'W', '0', '');
DEF_MENUITEM(2, 'lcl_menu_fac_widgets' , '', 'FAC', 'appl/mgt/fac_widget.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_wgt_pages' , '', 'WGT', 'appl/mgt/fac_widget_page.asp', 0, 0, 'WEB_PRSSYS', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_layout' , '', 'FAC', 'appl/mgt/fac_layout.asp', 0, 0, 'WEB_FACTAB', 'W', '1', '');
@@ -3025,7 +3006,6 @@ DEF_MENUENTRY(2, 99160, 'lcl_menu_fac_refresh_accept' , '', 'FAC', 'appl/fac/fa
DEF_MENUITEM(3, 'lcl_mobile_search' , '', 'FAC', 'appl/pda/productsearch.asp', 0, 0, 'WEB_MLDUSE', 'R', '0', 'fa-search');
DEF_MENUITEM(3, 'lcl_mobile_news' , '', 'FAC', 'appl/pda/portalnews.asp', 0, 0, 'WEB_MLDUSE', 'R', '0', 'fa-newspaper');
DEF_MENUITEM(3, 'lcl_mobile_lopendezaken' , '', 'FAC', 'appl/pda/fac_list.asp', 0, 0, 'WEB_MLDUSE', 'R', '1', 'fa-list-ul');
DEF_MENUITEM(3, 'lcl_mobile_msg' , '', 'MSG', 'appl/pda/berichten.asp', 0, 0, 'WEB_MSGUSE', 'R', '1', 'fa-circle-y');
DEF_MENUITEM(3, 'lcl_mobile_fiattering' , '', 'FAC', 'appl/pda/fiat_list.asp', 0, 0, 'WEB_MLDUSE', 'R', '1', 'fa-check-square');
DEF_MENUITEM(3, 'lcl_mobile_mld_menu' , '', 'MLD', 'appl/pda/melding_menu.asp', 0, 0, 'WEB_MLDUSE', 'W', '0', 'fa-play');
DEF_MENUITEM(3, 'lcl_mobile_doemelding' , '', 'MLD', 'appl/pda/melding.asp', 0, 0, 'WEB_MLDUSE', 'W', '1', 'fa-exclamation-circle');

File diff suppressed because it is too large Load Diff

View File

@@ -1934,7 +1934,7 @@ FAC_LCL('hint.res_ruimte.fields', '', '')
FAC_LCL('hint.res_ruimte.filter', '', '')
FAC_LCL('hint.res_ruimte.fixedprice', 'Indien aangevinkt, geldt de prijs die hierboven is ingevuld als vaste prijs voor de ruimte, ongeacht de duur van de reservering.', 'If checked, the price above will be the fixed price regardless of the duration of the reservation.')
FAC_LCL('hint.res_ruimte.foreign', '', '')
FAC_LCL('hint.res_ruimte.catering', 'Standaard kunnen reserveerbare ruimten niet afzonderlijk worden gekozen bij het reserveren van losse voorzieningen/catering. De ruimte kan al geboekt worden in combinatie met de gewenste catering/voorziening. Door deze optie aan te vinken, wordt het toch mogelijk om de betreffende ruimte te selecteren bij het boeken van catering/voorzieningen (zonder ruimte). Let op: dit kan conflicten veroorzaken, omdat dan zowel de ruimte geboekt is en losse voorzieningen in de ruimte zijn gereserveerd.', 'By default, reservable spaces cannot be chosen separately when booking individual facilities/catering. The room can already be booked in combination with the desired catering/facilities. By ticking this option, it still becomes possible to select the relevant room when booking catering/facilities (without room). Please note: this may cause conflicts, as the room is then both booked and separate facilities are reserved in the room.')
FAC_LCL('hint.res_ruimte.catering', 'Geef aan of losse catering e.d. zijn toegestaan.', 'Indicate whether individual catering etc. are allowed.')
FAC_LCL('hint.res_ruimte.friendlyname', 'Een alternatieve naam voor de ruimte die gebruikt kan worden, bijv. op grote schermen. Standaard wordt deze naam nergens gebruikt.', 'An alternative name for the room. This name can be used on e.g. large screens. By default this name is not used anywhere.')
FAC_LCL('hint.res_ruimte.image', 'U kunt hier een foto selecteren die is ge<67>pload via het foldericoon boven aan de pagina. U kunt in een keer meerdere foto''s uploaden om ze vervolgens per ruimte in te stellen. Deze foto wordt dan weergegeven zodra een gebruiker de betreffende ruimte selecteert of met zijn muis over het planbord beweegt.', 'You can select a picture that has been uploaded by using the folder icon on the top of the page. You can upload multiple pictures at once and configure them per room after uploading. This picture is displayed after a user selects a room or if a user moves his/her mouse over the room plan board.')
FAC_LCL('hint.res_ruimte.infourl', 'Hier vult u eventueel een webadres in van een pagina met uitgebreide informatie over deze ruimte.', 'You can optionally configure an URL here. The URL will take users to an external page with comprehensive details regarding the room.')

View File

@@ -35,7 +35,6 @@
#include "fac_pacl.src"
#include "fac_pacflex.src"
#include "fac_pacano.src"
#include "fac_pacdel.src"
CREATE OR REPLACE PACKAGE fac
AUTHID CURRENT_USER -- zodat CREATE TABLE lukt
@@ -141,9 +140,8 @@ CREATE OR REPLACE PACKAGE fac
PROCEDURE marknotiassent(pnotikey NUMBER, presult NUMBER, presulttext VARCHAR2, pperslid_key NUMBER DEFAULT NULL);
FUNCTION getSetting (pname IN VARCHAR2 ) RETURN VARCHAR2;
PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2);
PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2, new_fac_tracking_key OUT NUMBER);
PROCEDURE backtrackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE);
PROCEDURE notifytracking(psrtnotificatiekey NUMBER, pperslid_key NUMBER, ptracking_oms VARCHAR2, prefkey NUMBER, ptrackingkey NUMBER DEFAULT NULL);
PROCEDURE notifytracking(psrtnotificatiekey NUMBER, pperslid_key NUMBER, ptracking_oms VARCHAR2, prefkey NUMBER);
FUNCTION gettrackingdate (peventcode IN VARCHAR2, pkey IN number) RETURN date;
FUNCTION gettrackinguserkey (peventcode IN VARCHAR2, pkey IN number) RETURN number;
PROCEDURE initsession (flcode IN VARCHAR2);
@@ -166,9 +164,9 @@ CREATE OR REPLACE PACKAGE fac
FUNCTION exceeds_profiel (p_bestelbedrag IN NUMBER, p_prs_key IN NUMBER, p_disc_key IN NUMBER) RETURN BOOLEAN;
FUNCTION exceeds_pgb (p_opdrachtbedrag IN NUMBER, p_prs_key IN NUMBER, p_disc_key IN NUMBER, disc_params_pgb IN NUMBER) RETURN BOOLEAN;
FUNCTION exceeds_agb (p_opdrachtbedrag IN NUMBER, p_kp_key IN NUMBER, p_disc_key IN NUMBER, disc_params_pgb IN NUMBER) RETURN BOOLEAN;
PROCEDURE fac_cleanup(delayhours NUMBER DEFAULT 24);
FUNCTION getnoteoftracking(p_tracking_key IN NUMBER) RETURN VARCHAR2;
FUNCTION getnoteofnotification(p_notificatie_key IN NUMBER) RETURN VARCHAR2;
PROCEDURE fac_cleanup;
FUNCTION getnotedesc_track(p_tracking_key IN NUMBER) RETURN VARCHAR2;
FUNCTION getnotedesc_noti(p_notificatie_key IN NUMBER) RETURN VARCHAR2;
END fac;
/
@@ -341,10 +339,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
IS
v_result VARCHAR2 (4000);
BEGIN
IF pchar1 IS NULL
THEN
RETURN SUBSTR(pchar2, 1, pmaxlen);
END IF;
v_result := pchar1 || SUBSTR (pchar2, 1, pmaxlen - LENGTH (pchar1));
RETURN SUBSTR(v_result, 1, pmaxlen);
END;
@@ -727,7 +721,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
MINUS -- Igv. pMode=1 za+zo niet meetellen; deze worden sowieso geskipt!
SELECT * FROM mld_vrije_dagen
WHERE pMode = 1 AND fac.getweekdaynum (mld_vrije_dagen_datum) IN (1,7))
WHERE mld_vrije_dagen_datum BETWEEN LEAST(TRUNC (olddatumgereed + 1), TRUNC (newdatumgereed)) AND TRUNC (newdatumgereed);
WHERE mld_vrije_dagen_datum BETWEEN TRUNC (olddatumgereed + 1) AND newdatumgereed;
EXIT WHEN delta = 0;
END LOOP;
@@ -2133,7 +2127,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
pbedrijfadreskey NUMBER DEFAULT NULL, pqueue VARCHAR2 DEFAULT 'DEFAULT',
pgeturl VARCHAR2 DEFAULT NULL)
AS
lemail fac_notificatie.fac_notificatie_receiver_email%TYPE;
lemail prs_perslid.prs_perslid_email%TYPE;
lphone prs_perslid.prs_perslid_mobiel%TYPE;
llang prs_perslid.prs_perslid_lang%TYPE;
lsysteem prs_perslid.prs_perslid_systeemadres%TYPE;
@@ -3256,12 +3250,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
cust_daily VARCHAR2(20);
has_cust_daily NUMBER(1);
BEGIN
-- Comprimeert of verwijdert de sensorwaarden ouder dan ins_state_history dagen
ins.compress_states(1);
-- verwijderen inactieve personen
prs.personen_inactief_schonen;
SELECT fac_version_cust || '_DAILY'
INTO cust_daily
FROM fac_version;
@@ -3282,8 +3270,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
putsystemnotification ('Facilitor notifier: Invalid daily job ' || cust_daily ||' ('|| SQLERRM ||')' , 3);
END;
END IF;
fac.fac_cleanup(0); -- 0 = onvoorwaardelijk
fac.fac_cleanup;
END;
PROCEDURE fac_weekly
@@ -3291,14 +3278,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
cust_weekly VARCHAR2(20);
has_cust_weekly NUMBER(1);
BEGIN
-- Check wekelijks of er nog meer van vroeger kan worden weggegooid
-- en doe dat dan. Logging in imp_log onder naam $PURGE$.
-- By design gaan we vanaf februari over naar een nieuw jaar,
-- dus de eerste run van februari zal intensief zijn (FCLT#79311)
-- Dan is het fijn dat het op zondag gebeurt.
del.fac_purge(1);
SELECT fac_version_cust || '_WEEKLY'
INTO cust_weekly
FROM fac_version;
@@ -3610,7 +3589,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
-- Returnt de geldende waarde voor setting pname, bepaald uit de settingstabel
FUNCTION getSetting (pname IN VARCHAR2 ) RETURN VARCHAR2
AS
lres fac_setting.fac_setting_default%TYPE;
lres fac_setting.fac_setting_default%TYPE;
BEGIN
SELECT COALESCE(fac_setting_pvalue, fac_setting_default)
INTO lres
@@ -3618,9 +3597,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHERE fac_setting_name = pname;
RETURN lres;
EXCEPTION
WHEN NO_DATA_FOUND
THEN raise_application_error(-20001, 'FACILITOR: Non existing setting: '||pname);
END;
-- add a trackrecord for action pcode, entity prefkey. pdatum may be NULL
@@ -3629,12 +3605,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
-- Dat doen we door pcode te prefixen met #. Deze wordt dan stiekem voor aan poms geplakt
-- (want anders kunnen we niet inserten) en de trigger op fac_tracking doet dan de rest.
PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2)
AS
new_fac_tracking_key fac_tracking.fac_tracking_key%TYPE; -- dummy
BEGIN
fac.trackaction (pcode, prefkey, puserkey, pdatum, poms, new_fac_tracking_key);
END;
PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2, new_fac_tracking_key OUT NUMBER)
AS
tkey fac_srtnotificatie.fac_srtnotificatie_key%TYPE;
loms fac_tracking.fac_tracking_oms%TYPE;
@@ -3675,14 +3645,12 @@ CREATE OR REPLACE PACKAGE BODY fac AS
INSERT INTO fac_tracking (fac_tracking_refkey, prs_perslid_key, fac_srtnotificatie_key, fac_tracking_oms
)
VALUES (prefkey, puserkey, tkey, loms
)
RETURNING fac_tracking_key INTO new_fac_tracking_key;
);
ELSE
INSERT INTO fac_tracking (fac_tracking_refkey, prs_perslid_key, fac_srtnotificatie_key, fac_tracking_datum, fac_tracking_oms
)
VALUES (prefkey, puserkey, tkey, pdatum, loms
)
RETURNING fac_tracking_key INTO new_fac_tracking_key;
);
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
@@ -3724,8 +3692,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
PROCEDURE notifytracking (psrtnotificatiekey NUMBER,
pperslid_key NUMBER,
ptracking_oms VARCHAR2,
prefkey NUMBER,
ptrackingkey NUMBER DEFAULT NULL)
prefkey NUMBER)
AS
lxmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
lcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
@@ -3746,13 +3713,13 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lworkflowstep_key mld_melding.mld_workflowstep_key%TYPE;
lstart_key mld_melding.mld_melding_start_key%TYPE;
luitvtype mld_v_uitvoerende.TYPE%TYPE;
lemail fac_notificatie.fac_notificatie_receiver_email%TYPE;
lemail prs_bedrijf.prs_bedrijf_email%TYPE;
lemail3 alg_gebouw.alg_gebouw_email%TYPE;
lphone prs_bedrijf.prs_bedrijf_telefoon2%TYPE;
lreskey res_rsv_ruimte.res_reservering_key%TYPE;
lres_ruimte_opstel_key res_rsv_ruimte.res_ruimte_opstel_key%TYPE;
lrefkey NUMBER (10);
lxrefkey res_rsv_ruimte.res_rsv_ruimte_key%TYPE; -- also fac_tracking_key
lxrefkey res_rsv_ruimte.res_rsv_ruimte_key%TYPE;
lalg_ruimte_key res_rsv_ruimte.alg_ruimte_key%TYPE;
lalglocatiekey alg_locatie.alg_locatie_key%TYPE;
lalgonrgoedkey mld_melding.mld_alg_onroerendgoed_keys%TYPE;
@@ -3764,7 +3731,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lins_deel_ley ins_deel.ins_deel_key%TYPE;
lpoolnotified NUMBER;
lspoed mld_melding.mld_melding_spoed%TYPE;
BEGIN
-- Het gaat om een notificatie bij een entiteit prefkey,
-- waarvan het type alleen nog moet worden bepaald via
@@ -3800,20 +3766,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_key = psrtnotificatiekey;
-- als we zeker weten dat het nergens naartoe gestuurd gaat worden
-- (fac_srtnotificatie_mode = 0) hoeven we ook niet meer te bepalen
-- welk bericht we niet naar niemand gaan sturen..
-- Voorkomt ook mutating-errors als het niet hoeft.
-- Althans, dat dacht ik, maar los van deze notificatie kunnen er ook
-- afgeleide notificaties gestuurd worden (naar de BO en zo)
-- dus zo simpel is het niet. Daarom maar specifiek uitsluiten.
--
-- Deze leiden intrinsiek niet tot notificaties
IF (lcode = 'BESLIK' OR lcode = 'MLDLIK' OR lcode='RESLIK')
THEN
RETURN;
END IF;
-- Bepaal de ontvanger enzo van dit bericht
CASE
WHEN lxmlnode = 'melding'
@@ -3974,11 +3926,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHERE aog.alg_gebouw_key = g.alg_gebouw_key
AND aog.alg_onroerendgoed_keys = lalgonrgoedkey;
END IF;
-- voor meldingen (en opdrachten) hebben we een toepassing voor de extrakey in de queue, nl. de verwijzing
-- naar de trackingtabel, dat is specifieker dan we terug kunnen bepalen. De notitie daarbij kan nl. van belang zijn
lxrefkey := ptrackingkey;
WHEN lxmlnode = 'opdracht'
THEN
IF ptracking_oms IS NULL
@@ -4123,10 +4070,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHERE aog.alg_gebouw_key = g.alg_gebouw_key
AND aog.alg_onroerendgoed_keys = lalgonrgoedkey;
END IF;
-- voor opdrachten (en meldingen) hebben we een toepassing voor de extrakey in de queue, nl. de verwijzing
-- naar de trackingtabel, dat is specifieker dan we terug kunnen bepalen. De notitie daarbij kan nl. van belang zijn
lxrefkey := ptrackingkey;
WHEN lxmlnode = 'reservering' OR lxmlnode = 'xreservering'
THEN
IF ptracking_oms IS NULL
@@ -4880,7 +4823,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
errormsg fac_result.fac_result_waarde%TYPE;
BEGIN
-- Valideer de sender in pfrom: kennen we deze?
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
SELECT prs_perslid_key, d.prs_kostenplaats_key
INTO sender, kostenplaats
FROM prs_perslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
@@ -5786,150 +5729,102 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END IF;
END;
PROCEDURE fac_cleanup(delayhours NUMBER DEFAULT 24)
PROCEDURE fac_cleanup
AS
v_cleanup_date DATE;
CURSOR c_imp
IS
SELECT fac_import_app_key
FROM fac_import_app;
r_imp c_imp%ROWTYPE;
BEGIN
SELECT fac_version_cleanup_date
INTO v_cleanup_date
FROM fac_version;
DELETE FROM fac_session WHERE fac_session_expire < SYSDATE - 2;
DELETE FROM aut_client_perslid WHERE aut_client_perslid_login < SYSDATE - 60;
DELETE FROM fac_bookmark WHERE fac_bookmark_expire < SYSDATE - 2;
DELETE FROM web_user_messages WHERE web_user_mess_action_datum < SYSDATE - 60;
DELETE FROM fac_notificatie WHERE fac_notificatie_status=0
AND fac_notificatie_systeemadres IS NULL;
DELETE fac_result WHERE fac_result_aanmaak < SYSDATE - 7;
IF v_cleanup_date IS NULL OR SYSDATE > (v_cleanup_date + delayhours / 24)
THEN
BEGIN
DELETE FROM fac_session WHERE fac_session_expire < SYSDATE - 2;
DELETE FROM aut_client_perslid WHERE aut_client_perslid_login < SYSDATE - 60;
DELETE FROM fac_bookmark WHERE fac_bookmark_expire < SYSDATE - 2;
DELETE FROM web_user_messages WHERE web_user_mess_action_datum < SYSDATE - 60;
DELETE FROM fac_notificatie WHERE fac_notificatie_status=0
AND fac_notificatie_systeemadres IS NULL;
DELETE fac_result WHERE fac_result_aanmaak < SYSDATE - 7;
DELETE fac_rapport WHERE fac_rapport_datum < SYSDATE - 90;
DELETE fac_audit WHERE fac_audit_datum < SYSDATE - 3 * 365;
DELETE fac_auditfail WHERE fac_auditfail_datum < SYSDATE - 3 * 365;
DELETE fac_gui_counter WHERE fac_gui_counter_date < SYSDATE - 3 * 365;
DELETE fac_import WHERE fac_import_datum_gelezen < SYSDATE - 90;
DELETE imp_log WHERE fac_import_key IS NULL AND imp_log_datum < SYSDATE - 90;
DELETE fac_kenmwaarden WHERE fac_kenmwaarden_aanmaak < SYSDATE - 7;
DELETE fac_rapport WHERE fac_rapport_datum < SYSDATE - 90;
DELETE fac_audit WHERE fac_audit_datum < SYSDATE - 3 * 365;
DELETE fac_auditfail WHERE fac_auditfail_datum < SYSDATE - 3 * 365;
DELETE fac_gui_counter WHERE fac_gui_counter_date < SYSDATE - 3 * 365;
DELETE fac_gui_counter WHERE fac_gui_counter_date < (SYSDATE - 100) AND prs_perslid_key IS NOT NULL;
DELETE fac_import WHERE fac_import_datum_gelezen < SYSDATE - 90;
DELETE imp_log WHERE fac_import_key IS NULL AND imp_log_datum < SYSDATE - 90;
DELETE fac_kenmwaarden WHERE fac_kenmwaarden_aanmaak < SYSDATE - 7;
DELETE fac_gebruikersgroep WHERE fac_gebruikersgroep_vervaldatum < TRUNC(SYSDATE);
COMMIT;
COMMIT;
-- Wissen oude (gisteren) popups van Putorders.
UPDATE fac_notificatie n
SET n.fac_notificatie_status = BITAND(n.fac_notificatie_status, 255 - 8)
WHERE BITAND (n.fac_notificatie_status, 8) = 8
AND TRUNC (n.fac_notificatie_datum) < TRUNC (SYSDATE);
-- Wissen oude (gisteren) popups van Putorders.
UPDATE fac_notificatie n
SET n.fac_notificatie_status = BITAND(n.fac_notificatie_status, 255 - 8)
WHERE BITAND (n.fac_notificatie_status, 8) = 8
AND TRUNC (n.fac_notificatie_datum) < TRUNC (SYSDATE);
-- Import opschonen.
DECLARE
v_count NUMBER;
BEGIN
v_count := 0;
FOR c_impapp IN (SELECT fac_import_app_key,
(SELECT MIN (fac_import_key)
FROM ( SELECT fac_import_key
FROM fac_import fi2
WHERE fi2.fac_import_app_key = f.fac_import_app_key
ORDER BY fac_import_key DESC)
WHERE ROWNUM <= 10) last10key,
(SELECT MAX(fac_import_key)
FROM fac_import fi2
WHERE fi2.fac_import_app_key = f.fac_import_app_key
AND fac_import_datum_gelezen <= TRUNC(SYSDATE - 1)) lastdaykey
FROM fac_import_app f)
LOOP
FOR c_imp IN (SELECT fac_import_key
FROM fac_import f
WHERE f.fac_import_app_key = c_impapp.fac_import_app_key
AND fac_import_key < c_impapp.lastdaykey -- altijd minstens een dag laten staan
AND fac_import_key < c_impapp.last10key) -- laatste 10 blijven altijd
LOOP
DELETE FROM fac_import
WHERE fac_import_key = c_imp.fac_import_key; -- cascadeert fac_imp_file en imp_log vanzelf mee
IF v_count >= 1000
THEN
COMMIT;
v_count := 0;
ELSE
v_count := v_count + 1;
END IF;
END LOOP;
END LOOP;
END;
UPDATE fac_version
SET fac_version_cleanup_date = SYSDATE;
END;
END IF;
-- Import logging opschonen.
FOR r_imp IN c_imp
LOOP
DELETE FROM imp_log
WHERE imp_log_status <> 'S'
AND fac_import_key IN
(SELECT fac_import_key
FROM fac_import
WHERE fac_import_app_key = r_imp.fac_import_app_key
AND fac_import_datum_gelezen <= SYSDATE - 1/24) -- afblijven van zeer recente imports
AND fac_import_key <
(SELECT MAX(fac_import_key)
FROM fac_import
WHERE fac_import_app_key = r_imp.fac_import_app_key
AND fac_import_datum_gelezen <= SYSDATE - 1/24);
END LOOP;
END;
FUNCTION getnoteoftracking (p_tracking_key IN NUMBER)
FUNCTION getnotedesc_track(p_tracking_key IN NUMBER)
RETURN VARCHAR2
IS
l_srtnotificatie_xmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
l_note_oms mld_opdr_note.mld_opdr_note_omschrijving%TYPE;
v_mld_opdr_note_oms mld_opdr_note.mld_opdr_note_omschrijving%TYPE;
BEGIN
IF (p_tracking_key IS NOT NULL)
THEN
BEGIN
-- determine the node of this tracking
SELECT st.fac_srtnotificatie_xmlnode
INTO l_srtnotificatie_xmlnode
FROM fac_tracking t, fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND t.fac_tracking_key = p_tracking_key;
IF l_srtnotificatie_xmlnode = 'opdracht'
THEN
SELECT mld_opdr_note_omschrijving
INTO l_note_oms
FROM mld_opdr_note n
WHERE n.fac_tracking_key = p_tracking_key;
ELSIF l_srtnotificatie_xmlnode = 'melding'
THEN
SELECT mld_melding_note_omschrijving
INTO l_note_oms
FROM mld_melding_note n
WHERE n.fac_tracking_key = p_tracking_key;
END IF;
RETURN l_note_oms;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN NULL;
END;
BEGIN
SELECT mon.mld_opdr_note_omschrijving
INTO v_mld_opdr_note_oms
FROM mld_opdr_note mon,
fac_tracking ft
WHERE mon.mld_opdr_key = ft.fac_tracking_refkey
AND ft.fac_tracking_key = p_tracking_key
AND mon.mld_opdr_note_aanmaak BETWEEN ft.fac_tracking_datum - 2/(24*60*60) AND ft.fac_tracking_datum + 2/(24*60*60);
RETURN v_mld_opdr_note_oms;
EXCEPTION
WHEN NO_DATA_FOUND
THEN RETURN NULL;
END;
ELSE
RETURN NULL;
RETURN NULL;
END IF;
END;
FUNCTION getnoteofnotification (p_notificatie_key IN NUMBER)
FUNCTION getnotedesc_noti(p_notificatie_key IN NUMBER)
RETURN VARCHAR2
IS
l_extratracking_key fac_notificatie.fac_notificatie_extrakey%TYPE;
v_mld_opdr_note_oms mld_opdr_note.mld_opdr_note_omschrijving%TYPE;
BEGIN
IF (p_notificatie_key IS NOT NULL)
THEN
BEGIN
-- determine the tracking of this notification
-- which is optional and can be found in extrakey
SELECT fac_notificatie_extrakey
INTO l_extratracking_key
FROM fac_notificatie q
WHERE q.fac_notificatie_key = p_notificatie_key;
RETURN getnoteoftracking (l_extratracking_key);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN NULL;
END;
BEGIN
SELECT mon.mld_opdr_note_omschrijving
INTO v_mld_opdr_note_oms
FROM mld_opdr_note mon,
fac_notificatie fn
WHERE mon.mld_opdr_key = fn.fac_notificatie_refkey
AND fn.fac_notificatie_key = p_notificatie_key
AND mon.mld_opdr_note_aanmaak BETWEEN fn.fac_notificatie_datum - 2/(24*60*60) AND fn.fac_notificatie_datum + 2/(24*60*60);
RETURN v_mld_opdr_note_oms;
EXCEPTION
WHEN NO_DATA_FOUND
THEN RETURN NULL;
END;
ELSE
RETURN NULL;
RETURN NULL;
END IF;
END;

File diff suppressed because it is too large Load Diff

View File

@@ -1,674 +0,0 @@
/* $Revision$
* $Id$
*/
/* Purge (definitief echt verijderen) van data >7 jaar zoals met UWVA#61083
* gerealiseerd voor UWV en met MNNL#78302 voor MN.
* Proces heeft te maken met het irrelevant raken van data en een wettelijke
* bewaarplicht (voor bv belastingdienst) en daarmee impliciet een opruimvrijheid
* na die periode, naast emotionele en praktische voordelen, zoals kleinere backupfiles
* minder data bij datalekken en de mogelijkheid om nog meer op te ruimen.
*
* Gebruik: BEGIN del.fac_purge(1); END;
*
* Kan en mag herhaaldelijk worden aangeroepen en verwijdert wat verstreken is
* en geen latere afhankelijkheden heeft. Er is een lichte volgorde-afhankelijkheid
* (de gekozen volgorde is bewust) wat automatisch door herhaling wordt gecompenseerd.
*
* Praktisch bezien zou een jaarlijkse aanroep best volstaan, maar met een dagelijkse
* aanroep blijf je zeer strikt binnen het regime en blijft de (performance) impact
* zeer bescheiden.
* Er zijn wettelijke termijnen van 7 jaren (84 maanden), maar zoals iedere constante
* in de core kan die te overrulen worden met setting datapurge_period (years).
*
* -- TODO: Misschien ook nog schonen vastgoed, personen, objecten en nog meer?
* -- TODO: Periodieke bestelaanvragen/opdrachten niet beschouwen?
*/
/* NOTE: since views and package are tighly related, the views are contained here instead of FAC_VIE.SRC */
CREATE_VIEW(fac_v_2purge_bes,0)
(
jaar,
bes_bestelling_key
)
AS
WITH b
AS (SELECT bes_bestelling_key,
bes_bestelling_datum,
bes_bestelling_retourvan_key,
COALESCE (
fac.gettrackingdate ('BESREJ', bes_bestelling_key),
fac.gettrackingdate ('BESOTV', bes_bestelling_key))
gesloten
FROM bes_bestelling
WHERE bes_bestelling_status IN (1, 6, 7, 8, 9) -- Gesloten bestelling
AND bes_bestelling_datum < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))
SELECT TO_CHAR (b.bes_bestelling_datum, 'yyyy') jaar, bes_bestelling_key
FROM b
WHERE bes_bestelling_retourvan_key IS NULL -- Alleen bron-bestelling (dus zonder de retouren)
AND NOT EXISTS -- Geen later gewijzigde child-bestelopdrachten!
(SELECT 1
FROM fac_tracking t, fac_srtnotificatie sn, bes_bestelopdr_item boi, bes_bestelling_item bbi
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'bestelopdracht'
AND t.fac_tracking_refkey = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND bbi.bes_bestelling_key = b.bes_bestelling_key)
AND NOT EXISTS -- Geen lopende facturen op child-bestelopdrachten!
(SELECT 1
FROM fin_factuur f, bes_bestelopdr_item boi, bes_bestelling_item bbi
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
AND f.bes_bestelopdr_key = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND bbi.bes_bestelling_key = b.bes_bestelling_key);
CREATE_VIEW(fac_v_2purge_bez,0)
(
jaar,
bez_afspraak_key,
bezoekers
)
AS
WITH a
AS ( SELECT a.bez_afspraak_key,
a.bez_afspraak_datum,
COUNT (*) bezoekers
FROM bez_afspraak a, bez_bezoekers b
WHERE a.bez_afspraak_datum < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND a.bez_afspraak_key = b.bez_afspraak_key
GROUP BY a.bez_afspraak_key, a.bez_afspraak_datum)
SELECT TO_CHAR (a.bez_afspraak_datum, 'yyyy') jaar, bez_afspraak_key, bezoekers
FROM a;
CREATE_VIEW(fac_v_2purge_res,0)
(
jaar,
verwijderd,
res_rsv_ruimte_key
)
AS
WITH r
AS (SELECT res_rsv_ruimte_key,
res_reservering_key,
res_rsv_ruimte_volgnr,
res_rsv_ruimte_tot,
res_rsv_ruimte_verwijder
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))
SELECT TO_CHAR (res_rsv_ruimte_tot, 'yyyy') jaar, DECODE (res_rsv_ruimte_verwijder, NULL, 'J', 'N') verwijderd, res_rsv_ruimte_key
FROM r
WHERE NOT EXISTS -- Geen latere child-reserveringen!
(SELECT 1
FROM res_rsv_ruimte cr -- Child-reserveringen!
WHERE cr.res_rsv_ruimte_tot > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND cr.res_reservering_key = r.res_reservering_key);
-- TODO: Periodieke meldingen/opdrachten niet beschouwen? => Bij MN niet gebruikt!
CREATE_VIEW(fac_v_2purge_mld,0)
(
jaar,
datum,
mld_melding_key
)
AS
WITH m
AS (SELECT mld_melding_key,
mld_melding_datum,
mld_melding_start_key,
mld_melding_parentkey,
COALESCE (
fac.gettrackingdate ('MLDREJ', mld_melding_key),
fac.gettrackingdate ('MLDAFM', mld_melding_key), -- Soms niet Afgemeld?
fac.gettrackingdate ('MLDVER', mld_melding_key))
gesloten
FROM mld_melding
WHERE mld_melding_status IN (1, 5, 6) -- Gesloten
AND mld_melding_datum < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))
SELECT TO_CHAR (m.mld_melding_datum, 'yyyy') jaar, m.mld_melding_datum datum, mld_melding_key
FROM m
WHERE m.gesloten < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND (m.mld_melding_start_key IS NULL OR m.mld_melding_key = m.mld_melding_start_key) -- Alleen bron-melding
AND m.mld_melding_parentkey IS NULL -- Alleen bron-melding
AND NOT EXISTS -- Geen later gewijzigde child-opdrachten!
(SELECT 1
FROM fac_tracking t, fac_srtnotificatie sn, mld_opdr o
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
AND sn.fac_srtnotificatie_code <> 'ORDANO'
AND t.fac_tracking_refkey = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key)
AND EXISTS -- Eventuele start-melding ook > 7 jaar gesloten!
(SELECT 1
FROM m sm -- Start-meldingen!
WHERE sm.mld_melding_key = COALESCE (m.mld_melding_start_key, m.mld_melding_key))
AND EXISTS -- Eventuele parent-melding ook > 7 jaar gesloten!
(SELECT 1
FROM m pm -- Parent-meldingen!
WHERE pm.mld_melding_key = COALESCE (m.mld_melding_parentkey, m.mld_melding_key))
AND NOT EXISTS -- Eventuele vervolg-melding ook > 7 jaar gesloten!
(SELECT 1
FROM mld_melding vm, -- Vervolg-meldingen!
fac_tracking t,
fac_srtnotificatie sn
WHERE vm.mld_melding_start_key = m.mld_melding_key
AND vm.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'melding'
AND (vm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))) -- Geraakt < 7 jaar geleden
AND NOT EXISTS -- Eventuele child-melding ook > 7 jaar gesloten!
(SELECT 1
FROM mld_melding cm, -- Child-meldingen!
fac_tracking t,
fac_srtnotificatie sn
WHERE cm.mld_melding_parentkey = m.mld_melding_key
AND cm.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'melding'
AND (cm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))) -- Geraakt < 7 jaar geleden
AND NOT EXISTS -- Geen lopende facturen op child-opdrachten!
(SELECT 1
FROM fin_factuur f, mld_opdr o
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
AND f.mld_opdr_key = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key);
CREATE_VIEW(fac_v_2purge_cnt,0)
(
ins_discipline_key,
contractsoort,
cnt_contract_key,
contractnr,
cnt_contract_omschrijving,
cnt_contract_looptijd_tot,
cnt_contract_status
)
AS
SELECT DISTINCT
c.ins_discipline_key,
cd.ins_discipline_omschrijving,
c.cnt_contract_key,
c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
contractnr,
c.cnt_contract_omschrijving,
c.cnt_contract_looptijd_tot,
c.cnt_contract_status
FROM cnt_contract c, cnt_discipline cd
WHERE c.cnt_contract_looptijd_tot < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)) -- Verlopen > 7 jaar geleden
AND c.ins_discipline_key = cd.ins_discipline_key
AND NOT EXISTS -- Geen dossier-contract onder dezelfde mantel <= 7 jaar geleden
(SELECT 1
FROM cnt_contract dc
WHERE dc.cnt_contract_verwijder IS NULL
AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND dc.cnt_contract_mantel_key = c.cnt_contract_key)
AND NOT EXISTS -- Geen lopende facturen op contract!
(SELECT 1
FROM fin_factuur
WHERE fin_factuur_verwijder IS NULL
AND fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
AND cnt_contract_key = c.cnt_contract_key);
/* candidate rootview for a fac_v_rap_2purge_all report */
CREATE_VIEW(fac_v_2purge_all,0)
(
module,
jaar,
aantal,
subaantal
)
AS
SELECT 'BES', jaar, COUNT (*) aantal, NULL subaantal
FROM fac_v_2purge_bes
GROUP BY 'BES', jaar
UNION ALL
SELECT 'BEZ', jaar, COUNT (*) aantal, SUM (bezoekers) subaantal
FROM fac_v_2purge_bez
GROUP BY 'BEZ', jaar
UNION ALL
SELECT 'RES', jaar, COUNT (*) aantal, NULL subaantal
FROM fac_v_2purge_res
GROUP BY 'RES', jaar
UNION ALL
SELECT 'MLD', jaar, COUNT (*) aantal, NULL subaantal
FROM fac_v_2purge_mld
GROUP BY 'MLD', jaar
UNION ALL
SELECT 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy') jaar, COUNT ( * ) aantal, NULL subaantal
FROM fac_v_2purge_cnt
GROUP BY 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy');
/* THE PACKAGE (that does the job using the views above) */
CREATE OR REPLACE PACKAGE del
AS
-- If you are verysure, call this procedure with parameter 1
-- If you need extended logging, add 2 (so use 3)
PROCEDURE fac_purge (iamverysure IN NUMBER DEFAULT 0);
END del;
/
CREATE OR REPLACE PACKAGE BODY del
AS
PROCEDURE fac_purge(iamverysure IN NUMBER DEFAULT 0)
AS
-- BES per jaar
CURSOR cbes (p_jaar VARCHAR2)
IS
SELECT bes_bestelling_key
FROM fac_v_2purge_bes
WHERE jaar <= p_jaar
ORDER BY 1;
-- BEZ per jaar (samen met RES)
CURSOR cbez (p_jaar VARCHAR2)
IS
SELECT bez_afspraak_key
FROM fac_v_2purge_bez
WHERE jaar <= p_jaar
ORDER BY 1;
-- RES per jaar (samen met BEZ)
CURSOR cres (p_jaar VARCHAR2)
IS
SELECT res_rsv_ruimte_key
FROM fac_v_2purge_res
WHERE jaar <= p_jaar
ORDER BY 1;
-- MLD per jaar (of maand)
CURSOR cmld (p_datum DATE)
IS
SELECT mld_melding_key
FROM fac_v_2purge_mld
WHERE TRUNC (datum) <= p_datum
ORDER BY 1;
-- CNT allemaal tegelijk, hoeft niet per jaar
CURSOR ccnt
IS
SELECT ins_discipline_key, cnt_contract_key
FROM fac_v_2purge_cnt
ORDER BY 1, 2;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER (10);
v_jaar1 VARCHAR2 (4);
v_jaar2 VARCHAR2 (4);
v_datum DATE;
v_purgeblock_start DATE; -- voor logging-timing
v_purgeblock_end DATE; -- voor logging-timing
v_genesisdatum DATE; -- de nieuwe datum van het begin der aarde, alles voor deze datum mag weg.
BEGIN
-- Early Exit
IF fac.getsetting ('datapurge_period') = 99
THEN
fac.writelog ('$PURGE$','S','No purge of data, purge is disabled', 'Configuration of datapurge_period 99 (default) means disabled');
RETURN;
END IF;
-- Bepalen we obv vandaag en de setting datapurge_period (in jaren, default 99)
-- We vinden januari een uitloopmaand, vandaar de -1. Als iemand anders dat zwaarwegend anders gaat vinden
-- dan moet dat een datapurge_gracemonths worden. Dezelfde berekening zit ook in alle views hierboven
-- > Dit is dus 1 januari van het jaar dat bewaard moet blijven <
-- (niet onlogisch om deze datum als parameter aan de purge mee te kunnen geven?)
v_genesisdatum := TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12));
DBMS_OUTPUT.put_line('About to (re)purge anything before '||TO_CHAR(v_genesisdatum,'DD-MM-YYYY'));
IF BITAND(iamverysure,1) = 1
THEN
fac.writelog ('$PURGE$','I','Purge anything before '||TO_CHAR(v_genesisdatum,'DD-MM-YYYY'), '');
ELSE
fac.writelog ('$PURGE$','I','Purge SIMULATION OF anything before '||TO_CHAR(v_genesisdatum,'DD-MM-YYYY'), '');
END IF;
SELECT COALESCE(SUM (aantal),0) INTO v_count FROM fac_v_2purge_all;
fac.writelog ('$PURGE$','S','There is a grand total of '||TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.''')||' items to possibly purge.', '');
DBMS_OUTPUT.put_line('There is a grand total of '||TO_CHAR(v_count)||' items to purge.');
IF v_count = 0
THEN
DBMS_OUTPUT.put_line('So nothing to purge, bye.');
fac.writelog ('$PURGE$','S','So nothing to purge, done.', '');
RETURN;
END IF;
DBMS_OUTPUT.put_line('Starting bestellingen');
-- Telkens een jaartje schonen totdat achterstand ingelopen
v_count := 0;
v_purgeblock_start := SYSDATE;
SELECT MIN (jaar), MAX (jaar)
INTO v_jaar1, v_jaar2
FROM fac_v_2purge_bes
WHERE jaar > '1990';
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
FOR r IN cbes (v_jaar2)
LOOP
BEGIN
v_errormsg := 'Error purging bestelling: ' || TO_CHAR (r.bes_bestelling_key);
IF BITAND(iamverysure,1) = 1
THEN
bes.remove (r.bes_bestelling_key);
END IF;
IF BITAND(iamverysure,2) = 2
THEN
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.bes_bestelling_key)||'.', '');
END IF;
v_count := v_count + 1;
-- Elke 1000 BES een COMMIT
IF MOD (v_count, 1000) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', v_errormsg, 'BES-loop');
END;
END LOOP;
v_purgeblock_end := SYSDATE;
IF v_jaar1 = v_jaar2
THEN
fac.writelog (
'$PURGE$',
'S',
'Step 1/5 #Bestellingen purged (year=' || v_jaar2 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog (
'$PURGE$',
'S',
'Step 1/5 #Bestellingen purged (years='
|| v_jaar1
|| '-'
|| v_jaar2
|| '): '
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
END IF;
DBMS_OUTPUT.put_line('Bestellingen done.');
COMMIT;
DBMS_OUTPUT.put_line('Starting bezoekers');
v_count := 0;
v_purgeblock_start := SYSDATE;
SELECT MIN (jaar), MAX (jaar)
INTO v_jaar1, v_jaar2
FROM fac_v_2purge_bez
WHERE jaar > '1990';
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
FOR r IN cbez (v_jaar2)
LOOP
BEGIN
v_errormsg := 'Error purging afspraak: ' || TO_CHAR (r.bez_afspraak_key);
IF BITAND(iamverysure,1) = 1
THEN
bez.remove (r.bez_afspraak_key);
END IF;
IF BITAND(iamverysure,2) = 2
THEN
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.bez_afspraak_key)||'.', '');
END IF;
v_count := v_count + 1;
-- Elke 1000 BEZ een COMMIT
IF MOD (v_count, 1000) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', v_errormsg, 'BEZ-loop');
END;
END LOOP;
v_purgeblock_end := SYSDATE;
IF v_jaar1 = v_jaar2
THEN
fac.writelog (
'$PURGE$',
'S',
'Step 2/5 #Afspraken purged (year=' || v_jaar2 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog (
'$PURGE$',
'S',
'Step 2/5 #Afspraken purged (years='
|| v_jaar1
|| '-'
|| v_jaar2
|| '): '
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
DBMS_OUTPUT.put_line('Bezoekers done.');
DBMS_OUTPUT.put_line('Starting reserveringen');
v_count := 0;
v_purgeblock_start := SYSDATE;
-- jaren kennelijk als BEZ
FOR r IN cres (v_jaar2)
LOOP
BEGIN
v_errormsg := 'Error purging reservering: ' || TO_CHAR (r.res_rsv_ruimte_key);
IF BITAND(iamverysure,1) = 1
THEN
res.remove (r.res_rsv_ruimte_key);
END IF;
IF BITAND(iamverysure,2) = 2
THEN
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.res_rsv_ruimte_key)||'.', '');
END IF;
v_count := v_count + 1;
-- Elke 1000 RES een COMMIT
IF MOD (v_count, 1000) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', v_errormsg, 'RES-loop');
END;
END LOOP;
v_purgeblock_end := SYSDATE;
IF v_jaar1 = v_jaar2
THEN
fac.writelog (
'$PURGE$',
'S',
'Step 3/5 #Reserveringen purged (year=' || v_jaar1 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog (
'$PURGE$',
'S',
'Step 3/5 #Reserveringen purged (years='
|| v_jaar1
|| '-'
|| v_jaar2
|| '): '
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
END IF;
DBMS_OUTPUT.put_line('Reserveringen done.');
COMMIT;
DBMS_OUTPUT.put_line('Starting meldingen');
v_count := 0;
v_purgeblock_start := SYSDATE;
SELECT MIN (jaar), MAX (jaar)
INTO v_jaar1, v_jaar2
FROM fac_v_2purge_mld
WHERE jaar > '1990';
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
v_errormsg := 'Fout bepalen oudste datum';
v_datum := fac.safe_to_date ('31-12-' || v_jaar2, 'dd-mm-yyyy');
FOR r IN cmld (v_datum)
LOOP
BEGIN
v_errormsg := 'Error purging melding: ' || TO_CHAR (r.mld_melding_key);
IF BITAND(iamverysure,1) = 1
THEN
mld.remove (r.mld_melding_key);
END IF;
IF BITAND(iamverysure,2) = 2
THEN
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.mld_melding_key)||'.', '');
END IF;
v_count := v_count + 1;
-- Elke 1000 MLD een COMMIT
IF MOD (v_count, 1000) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', v_errormsg, 'MLD-loop');
END;
END LOOP;
v_purgeblock_end := SYSDATE;
--fac.writelog ('$PURGE$', 'S', '#Meldingen purged (maand=' || TO_CHAR (v_datum - 1, 'yyyy-mm') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
--fac.writelog ('$PURGE$', 'S', '#Meldingen purged (year=' || TO_CHAR (v_datum - 1, 'yyyy') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
IF v_jaar1 = v_jaar2
THEN
fac.writelog (
'$PURGE$',
'S',
'Step 4/5 #Meldingen purged (year=' || v_jaar1 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog (
'$PURGE$',
'S',
'Step 4/5 #Meldingen purged (years='
|| v_jaar1
|| '-'
|| v_jaar2
|| '): '
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
DBMS_OUTPUT.put_line('Meldingen done.');
DBMS_OUTPUT.put_line('Starting contracten');
v_count := 0;
v_purgeblock_start := SYSDATE;
--v_errormsg := 'Fout bepalen oudste datum';
--SELECT MIN (cnt_contract_looptijd_tot)
-- INTO v_datum
-- FROM fac_v_2purge_cnt
-- WHERE cnt_contract_looptijd_tot > TO_DATE ( '01-01-1999', 'dd-mm-yyyy');
--v_datum := TRUNC (ADD_MONTHS (v_datum, 12), 'yyyy');
SELECT TO_CHAR(MIN (cnt_contract_looptijd_tot), 'YYYY'), TO_CHAR (MAX (cnt_contract_looptijd_tot), 'YYYY')
INTO v_jaar1, v_jaar2
FROM fac_v_2purge_cnt;
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
-- Alle te schonen contracten(-dossiers) in 1x
FOR r IN ccnt
LOOP
BEGIN
v_errormsg := 'Error purging contract: ' || TO_CHAR (r.cnt_contract_key);
IF BITAND(iamverysure,1) = 1
THEN
cnt.remove (r.cnt_contract_key);
END IF;
IF BITAND(iamverysure,2) = 2
THEN
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.cnt_contract_key)||'.', '');
END IF;
v_count := v_count + 1;
-- Elke 1000 CNT een COMMIT!
IF MOD (v_count, 1000) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', v_errormsg, 'CNT-loop');
END;
END LOOP;
v_purgeblock_end := SYSDATE;
--fac.writelog ('$PURGE$', 'S', '#Contracten purged (year=' || TO_CHAR (v_datum - 1, 'yyyy') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
IF v_jaar1 = v_jaar2
THEN
fac.writelog (
'$PURGE$',
'S',
'Step 5/5 #Contracten purged (year=' || v_jaar1 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog (
'$PURGE$',
'S',
'Step 5/5 #Contracten purged (years='
|| v_jaar1
|| '-'
|| v_jaar2
|| '): '
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
DBMS_OUTPUT.put_line('Contracten done.');
-- Na afloop checken of nog restjes zijn
SELECT COALESCE(SUM (aantal),0) INTO v_count FROM fac_v_2purge_all;
fac.writelog ('$PURGE$','I','There is a grand total of '||TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.''')||' items left to purge.', '');
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', 'Purge aborted!', v_errormsg);
COMMIT;
END;
END del;
/

File diff suppressed because it is too large Load Diff

View File

@@ -64,11 +64,14 @@
p_disk_directory IN VARCHAR2,
p_filename IN VARCHAR2);
FUNCTION getflexexprtype (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2;
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
FUNCTION getflexexpression (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2;
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
FUNCTION getflexshowexpr (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2;
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
FUNCTION getdomeinwaarde (dkey IN NUMBER,
waarde IN VARCHAR2,
ignorewhenxmlnode IN NUMBER DEFAULT 0) RETURN VARCHAR2;
@@ -508,7 +511,8 @@
END;
FUNCTION getflexexprtype (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2
IS
l_module VARCHAR2 (3);
l_sql_expr VARCHAR2 (4500);
@@ -543,7 +547,8 @@
END;
FUNCTION getflexexpression (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2
IS
l_module VARCHAR2 (3);
l_sql_expr VARCHAR2 (4500);
@@ -569,7 +574,8 @@
END;
FUNCTION getflexshowexpr (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2
IS
l_module VARCHAR2 (3);
l_sql_expr VARCHAR2 (4500);
@@ -692,8 +698,8 @@
LOOP
l_cursor_exprval := DBMS_SQL.open_cursor;
-- Expressie opvragen.
l_exprtype := flx.getflexexprtype(pmodule, expr.fac_kenmwaarden_kenmerk_key);
l_expr := flx.getflexexpression(pmodule, expr.fac_kenmwaarden_kenmerk_key);
l_exprtype := flx.getflexexprtype(pmodule, expr.fac_kenmwaarden_kenmerk_key, expr.fac_kenmwaarden_niveau);
l_expr := flx.getflexexpression(pmodule, expr.fac_kenmwaarden_kenmerk_key, expr.fac_kenmwaarden_niveau);
IF l_exprtype IS NOT NULL AND l_expr IS NOT NULL
THEN
l_sql_exprval := 'SELECT ' || '(' || l_expr || ')' || ' FROM DUAL';
@@ -705,8 +711,7 @@
-20001,
'Error parsing flex-expression ' || pmodule || ' kenmerkkey:' || expr.fac_kenmwaarden_kenmerk_key
|| CHR(10) || SQLERRM
|| CHR(10) || l_sql_exprval
|| CHR(10) || 'Original: ' || l_expr);
|| CHR(10) || l_sql_exprval);
END;
--DBMS_SQL.describe_columns(l_cursor_exprval, l_colcnt, l_desctab);
IF expr.fac_kenmwaarden_kenmerktype = 'N'
@@ -715,6 +720,9 @@
ELSIF expr.fac_kenmwaarden_kenmerktype = 'V'
THEN
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_num);
ELSIF expr.fac_kenmwaarden_kenmerktype = 'D'
THEN
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_date);
ELSE
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval, 4000);
END IF;
@@ -806,6 +814,10 @@
THEN
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_num);
l_exprval := TO_CHAR(l_exprval_num);
ELSIF expr.fac_kenmwaarden_kenmerktype = 'D'
THEN
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_date);
l_exprval := TO_CHAR(l_exprval_date, 'DD-MM-YYYY');
ELSE
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval);
END IF;
@@ -847,16 +859,11 @@
-- hierboven zijn ##EXPR## berekende kenmerken verwerkt
-- Nu nog eventuele ##SHOW## om voorwaardelijk zichtbaar te maken
l_expr := flx.getflexshowexpr(pmodule, expr.fac_kenmwaarden_kenmerk_key);
-- (JGL: kan dat eigenlijk niet samengenomen worden? Ik zie veel herhaling)
l_expr := flx.getflexshowexpr(pmodule, expr.fac_kenmwaarden_kenmerk_key, expr.fac_kenmwaarden_niveau);
IF l_expr IS NOT NULL
THEN
DBMS_OUTPUT.PUT_LINE('Berekenen show-expressie voor kenmerk ' || expr.fac_kenmwaarden_kenmerk_key);
l_sql_exprval := 'SELECT CASE'
|| ' WHEN NVL (TO_CHAR(' || l_expr || '), ''0'') = ''0'''
|| ' THEN 0' -- als l_expr NULL, 0 of '0' oplevert
|| ' ELSE 1' -- alle andere waarden
|| ' END showexpr'
|| ' FROM DUAL';
l_sql_exprval := 'SELECT ' || '(' || l_expr || ')' || ' FROM DUAL';
BEGIN
DBMS_SQL.parse (l_cursor_exprval, l_sql_exprval, DBMS_SQL.native);
EXCEPTION
@@ -865,11 +872,21 @@
-20001,
'Error parsing flex-expression ' || pmodule || ' kenmerkkey:' || expr.fac_kenmwaarden_kenmerk_key
|| CHR(10) || SQLERRM
|| CHR(10) || l_sql_exprval
|| CHR(10) || 'Original: ' || l_expr);
|| CHR(10) || l_sql_exprval);
END;
--DBMS_SQL.describe_columns(l_cursor_exprval, l_colcnt, l_desctab);
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_num); -- onze expressie is altijd numeriek
IF expr.fac_kenmwaarden_kenmerktype = 'N'
THEN
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_num);
ELSIF expr.fac_kenmwaarden_kenmerktype = 'V'
THEN
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_num);
ELSIF expr.fac_kenmwaarden_kenmerktype = 'D'
THEN
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_date);
ELSE
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval, 4000);
END IF;
l_cntbind := REGEXP_COUNT (l_sql_exprval,
l_rflex,
1,
@@ -926,15 +943,69 @@
|| CHR(10) || SQLERRM
|| CHR(10) || l_sql_exprval);
END;
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_num);
UPDATE fac_kenmwaarden
SET fac_kenmwaarden_exprwaarde = TO_CHAR(l_exprval_num) -- '0' of '1'
WHERE fac_kenmwaarden_module = pmodule
AND fac_kenmwaarden_refkey = prefkey
AND fac_kenmwaarden_kenmerk_key = expr.fac_kenmwaarden_kenmerk_key
AND prs_perslid_key = puserkey
AND fac_kenmwaarden_isexpr = 1;
IF expr.fac_kenmwaarden_kenmerktype = 'N'
THEN
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_num);
l_exprval := TO_CHAR(l_exprval_num);
IF (l_exprval IS NOT NULL AND expr.fac_kenmwaarden_kenmerkdec > 0)
THEN
-- Voeg gewenst aantal decimalen toe
-- en een voorloop nul als het begint met een punt.
IF (INSTR(l_exprval,'.') = 0)
THEN
l_exprval := l_exprval || '.';
ELSIF (INSTR(l_exprval,'.') = 1)
THEN
l_exprval := '0' || l_exprval;
END IF;
l_exprval := l_exprval || RPAD('0', expr.fac_kenmwaarden_kenmerkdec, '0');
l_exprval := SUBSTR(l_exprval, 1, INSTR(l_exprval, '.') + expr.fac_kenmwaarden_kenmerkdec);
END IF;
ELSIF expr.fac_kenmwaarden_kenmerktype = 'V'
THEN
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_num);
l_exprval := TO_CHAR(l_exprval_num);
ELSIF expr.fac_kenmwaarden_kenmerktype = 'D'
THEN
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_date);
l_exprval := TO_CHAR(l_exprval_date, 'DD-MM-YYYY');
ELSE
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval);
END IF;
IF l_kcolumnname_niveau IS NOT NULL
THEN
IF psavetodb = 1 AND l_exprval IS NOT NULL AND l_exprval <> '0'
THEN
-- Waarde opslaan in de database
flx.setflex (l_module, expr.fac_kenmwaarden_kenmerk_key, prefkey, expr.fac_kenmwaarden_niveau, expr.fac_kenmwaarden_waarde);
END IF;
-- Waarde van de expressie flexkenmerk in de tijdelijke kenmerk waarden tabel (fac_kenmwaarden) vullen met de nieuwe waarde.
-- Expressie flexkenmerken die afhankelijke zijn van andere expressie flexkenmerken worden dan ook goed berekend.
UPDATE fac_kenmwaarden
SET fac_kenmwaarden_exprwaarde = l_exprval
WHERE fac_kenmwaarden_module = pmodule
AND fac_kenmwaarden_refkey = prefkey
AND fac_kenmwaarden_kenmerk_key = expr.fac_kenmwaarden_kenmerk_key
AND fac_kenmwaarden_niveau = expr.fac_kenmwaarden_niveau
AND prs_perslid_key = puserkey
AND fac_kenmwaarden_isexpr = 1;
ELSE
IF psavetodb = 1 AND l_exprval IS NOT NULL AND l_exprval <> '0'
THEN
-- Waarde opslaan in de database
flx.setflex (l_module, expr.fac_kenmwaarden_kenmerk_key, prefkey, expr.fac_kenmwaarden_waarde);
END IF;
-- Waarde van de expressie flexkenmerk in de tijdelijke kenmerk waarden tabel (fac_kenmwaarden) vullen met de nieuwe waarde.
-- Expressie flexkenmerken die afhankelijke zijn van andere expressie flexkenmerken worden dan ook goed berekend.
UPDATE fac_kenmwaarden
SET fac_kenmwaarden_exprwaarde = l_exprval
WHERE fac_kenmwaarden_module = pmodule
AND fac_kenmwaarden_refkey = prefkey
AND fac_kenmwaarden_kenmerk_key = expr.fac_kenmwaarden_kenmerk_key
AND prs_perslid_key = puserkey
AND fac_kenmwaarden_niveau IS NULL
AND fac_kenmwaarden_isexpr = 1;
END IF;
END IF;
DBMS_SQL.close_cursor(l_cursor_exprval);
END LOOP;

View File

@@ -196,31 +196,26 @@ AS
-- Oracle variant van de ASP-L functie
-- Geef pautolcl=1 mee als je niet zeker weet of het een lcl is
-- Geeft de lcl zelf retour als deze niet gedefinieerd is (beter dan nodatafound)
FUNCTION l (pnaam IN VARCHAR2, pautolcl IN NUMBER DEFAULT 0)
RETURN VARCHAR2
FUNCTION L (pnaam IN VARCHAR2, pautolcl IN NUMBER DEFAULT 0)
RETURN VARCHAR2
AS
retval fac_locale_xsl.fac_locale_xsl_tekst%TYPE;
retval fac_locale_xsl.fac_locale_xsl_tekst%TYPE;
BEGIN
-- Voor lcl_noti_* maar verder generiek
IF pautolcl = 1 AND pnaam NOT LIKE 'lcl_%'
THEN
RETURN pnaam;
END IF;
BEGIN
SELECT COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst)
INTO retval
FROM fac_locale_xsl
WHERE fac_locale_xsl_lang = lcl.getuserlanguage ()
AND fac_locale_xsl_label = pnaam
AND fac_locale_xsl_module = 'ASP';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
retval := pnaam;
END;
RETURN retval;
-- Voor lcl_noti_* maar verder generiek
IF pautolcl = 1 AND pnaam NOT LIKE 'lcl_%' THEN
RETURN pnaam;
END IF;
SELECT COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst)
INTO retval
FROM fac_locale_xsl
WHERE fac_locale_xsl_lang = lcl.getuserlanguage ()
AND fac_locale_xsl_label = pnaam
AND fac_locale_xsl_module = 'ASP';
RETURN retval;
END;
PROCEDURE fallback_languages
AS
BEGIN

View File

@@ -1048,80 +1048,45 @@ AS
END IF;
END;
PROCEDURE create_fac_tracking_node (pxmlnodename IN VARCHAR2,
p_refkey IN NUMBER,
p_tracking_key IN NUMBER DEFAULT NULL)
PROCEDURE create_fac_tracking_node (pxmlnodename IN VARCHAR2,
p_refkey IN NUMBER)
AS
l_tracking_datum fac_tracking.fac_tracking_datum%TYPE;
l_tracking_oms fac_tracking.fac_tracking_oms%TYPE;
l_perslid_key fac_tracking.prs_perslid_key%TYPE;
l_srtnotificatie_code fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
CURSOR c1
IS
SELECT t.fac_tracking_datum,
t.fac_tracking_oms,
t.prs_perslid_key,
st.fac_srtnotificatie_code
FROM fac_tracking t, fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND st.fac_srtnotificatie_xmlnode = pxmlnodename
AND t.fac_tracking_refkey = p_refkey
ORDER BY fac_tracking_datum;
CURSOR c1
IS
SELECT t.fac_tracking_datum,
t.fac_tracking_oms,
t.prs_perslid_key,
st.fac_srtnotificatie_code
FROM fac_tracking t, fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND st.fac_srtnotificatie_xmlnode = pxmlnodename
AND t.fac_tracking_refkey = p_refkey
ORDER BY fac_tracking_datum;
BEGIN
-- Two modes: specific tracking_key given (1 record) or node/refkey given (cursor)
-- Could be defined by overloading create_fac_tracking_node function, chose not to
IF p_tracking_key IS NOT NULL
THEN
-- intentionally left out here: createopentag ('tracking');
SELECT t.fac_tracking_datum,
t.fac_tracking_oms,
t.prs_perslid_key,
st.fac_srtnotificatie_code
INTO l_tracking_datum,
l_tracking_oms,
l_perslid_key,
l_srtnotificatie_code
FROM fac_tracking t, fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND t.fac_tracking_key = p_tracking_key
ORDER BY fac_tracking_datum;
createopentagattributes ('track',
'code',
l_srtnotificatie_code,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL);
mydatetochar ('datum', l_tracking_datum);
create_prs_perslid_node (l_perslid_key, 'user', TRUE);
createxmltagvalue ('code', l_srtnotificatie_code);
createxmltagvalue ('omschrijving', l_tracking_oms);
createclosetag ('track');
-- intentionally left out here: createclosetag ('tracking');
ELSIF p_refkey IS NOT NULL
THEN
createopentag ('tracking');
FOR rec1 IN c1
LOOP
createopentagattributes ('track',
'code',
rec1.fac_srtnotificatie_code,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL);
mydatetochar ('datum', rec1.fac_tracking_datum);
create_prs_perslid_node (rec1.prs_perslid_key, 'user', TRUE);
createxmltagvalue ('code', rec1.fac_srtnotificatie_code);
createxmltagvalue ('omschrijving', rec1.fac_tracking_oms);
createclosetag ('track');
END LOOP;
createclosetag ('tracking');
END IF;
IF p_refkey IS NOT NULL
THEN
createopentag ('tracking');
FOR rec1 IN c1
LOOP
createopentagattributes ('track',
'code',
rec1.fac_srtnotificatie_code,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL);
mydatetochar ('datum', rec1.fac_tracking_datum);
create_prs_perslid_node (rec1.prs_perslid_key, 'user', TRUE);
createxmltagvalue ('code', rec1.fac_srtnotificatie_code);
createxmltagvalue ('omschrijving', rec1.fac_tracking_oms);
createclosetag ('track');
END LOOP;
createclosetag ('tracking');
END IF;
END;
PROCEDURE create_fac_activiteit_node (p_key IN NUMBER)
@@ -1577,8 +1542,6 @@ AS
v_doorbelasten prs_kostensoort.prs_kostensoort_doorbelasten%TYPE;
v_btw prs_kostensoort.prs_kostensoort_btw%TYPE;
v_btwperc fin_btwtabelwaarde.fin_btwtabelwaarde_perc%TYPE;
v_eind prs_kostensoort.prs_kostensoort_eind%TYPE;
v_verwijder prs_kostensoort.prs_kostensoort_verwijder%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
@@ -1597,9 +1560,7 @@ AS
k.prs_kostensoort_refcode,
k.prs_kostensoort_doorbelasten,
k.prs_kostensoort_btw,
f.fin_btwtabelwaarde_perc,
k.prs_kostensoort_eind,
k.prs_kostensoort_verwijder
f.fin_btwtabelwaarde_perc
INTO v_omschrijving,
v_omschrijving_alt,
v_groep,
@@ -1608,9 +1569,7 @@ AS
v_refcode,
v_doorbelasten,
v_btw,
v_btwperc,
v_eind,
v_verwijder
v_btwperc
FROM prs_kostensoort k
, prs_kostensoortgrp g
, fin_btwtabelwaarde f
@@ -1627,8 +1586,6 @@ AS
createxmltagvalue ('refcode', v_refcode);
createxmltagvalue ('doorbelasten', v_doorbelasten);
createxmltagvalue ('btw', v_btw);
mydatetochar ('einddatum', v_eind);
mydatetochar ('verwijder', v_verwijder);
--
IF p_concise THEN
FOR rec1 IN c_opdracht
@@ -1862,7 +1819,6 @@ AS
createxmltagvalue ('resource', rec.prs_bedrijfadres_oa_resource);
createxmltagvalue ('district_key', rec.alg_district_key);
createxmltagvalue ('locatie_key', rec.alg_locatie_key);
create_prs_bedrijf_node (rec.prs_bedrijf_key2, 'client', TRUE);
createxmltagvalue ('mailsender', rec.prs_bedrijfadres_sender);
createxmltagvalue ('mailreply', rec.prs_bedrijfadres_replyaddress);
createxmltagvalue ('flexfiles', rec.prs_bedrijfadres_flexfiles);
@@ -2188,7 +2144,6 @@ AS
v_bedrijf_key prs_afdeling.prs_bedrijf_key%TYPE;
v_externid prs_afdeling.prs_afdeling_externid%TYPE;
v_externsyncdate prs_afdeling.prs_afdeling_externsyncdate%TYPE;
v_perslid_key_v prs_afdeling.prs_perslid_key_verantw%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
@@ -2206,7 +2161,6 @@ AS
af.prs_afdeling_naam5,
af.prs_afdeling_naam6,
d.prs_bedrijf_key,
d.prs_perslid_key_verantw,
d.prs_afdeling_externid,
d.prs_afdeling_externsyncdate
INTO v_naam,
@@ -2221,7 +2175,6 @@ AS
v_naam5,
v_naam6,
v_bedrijf_key,
v_perslid_key_v,
v_externid,
v_externsyncdate
FROM prs_afdeling d, prs_v_afdeling_fullnames af
@@ -2241,7 +2194,6 @@ AS
createxmltagvalue ('omschrijving', v_omschrijving);
create_prs_kostenplaats_node (v_kostenplaats_key, FALSE);
create_mld_adres_node (v_adres_key, 'afleveradres', TRUE);
create_prs_perslid_node(v_perslid_key_v, 'verantwoordelijke', TRUE);
create_prs_kenmerken (p_key, 'A');
IF v_parentkey IS NOT NULL
@@ -2294,41 +2246,41 @@ AS
END;
-- * create_PRS_PERSLID_node
-- * ?? do we include srtperslid here??
-- select xml.create_PRS_PERSLID_node(1042,'Persoon') FROM DUAL
PROCEDURE create_prs_perslid_node (p_key IN NUMBER,
p_nodename IN VARCHAR2,
p_concise IN BOOLEAN)
AS
v_titel prs_perslid.prs_perslid_titel%TYPE;
v_voorletters prs_perslid.prs_perslid_voorletters%TYPE;
v_naam prs_perslid.prs_perslid_naam%TYPE;
v_tussenvoegsel prs_perslid.prs_perslid_tussenvoegsel%TYPE;
v_voornaam prs_perslid.prs_perslid_voornaam%TYPE;
v_initialen prs_perslid.prs_perslid_initialen%TYPE;
v_nr prs_perslid.prs_perslid_nr%TYPE;
v_oslogin prs_perslid.prs_perslid_oslogin%TYPE;
v_oslogin2 prs_perslid.prs_perslid_oslogin2%TYPE;
v_opp prs_perslid.prs_perslid_opp%TYPE;
v_ingangsdatum prs_perslid.prs_perslid_ingangsdatum%TYPE;
v_einddatum prs_perslid.prs_perslid_einddatum%TYPE;
v_uurloon prs_perslid.prs_perslid_uurloon%TYPE;
v_telefoonnr prs_perslid.prs_perslid_telefoonnr%TYPE;
v_email prs_perslid.prs_perslid_email%TYPE;
v_mobiel prs_perslid.prs_perslid_mobiel%TYPE;
v_afdeling_key prs_perslid.prs_afdeling_key%TYPE;
v_naam_full prs_v_perslid_fullnames_all.prs_perslid_naam_full%TYPE;
v_naam_friendly prs_v_perslid_fullnames_all.prs_perslid_naam_friendly%TYPE;
v_adres_key prs_perslid.mld_adres_key%TYPE;
v_srtperslid_key prs_perslid.prs_srtperslid_key%TYPE;
v_srtnoti_mode prs_perslid.prs_perslid_srtnoti_mode%TYPE;
v_geslacht prs_perslid.prs_perslid_geslacht%TYPE;
v_externid prs_perslid.prs_perslid_externid%TYPE;
v_externsyncdate prs_perslid.prs_perslid_externsyncdate%TYPE;
v_visibility prs_perslid.prs_perslid_visibility%TYPE;
v_firstwpdone BOOLEAN;
v_perslid_key_v prs_perslid.prs_perslid_key_verantw%TYPE;
v_prs_kostenplaats_key prs_perslid.prs_kostenplaats_key%TYPE;
v_titel prs_perslid.prs_perslid_titel%TYPE;
v_voorletters prs_perslid.prs_perslid_voorletters%TYPE;
v_naam prs_perslid.prs_perslid_naam%TYPE;
v_tussenvoegsel prs_perslid.prs_perslid_tussenvoegsel%TYPE;
v_voornaam prs_perslid.prs_perslid_voornaam%TYPE;
v_initialen prs_perslid.prs_perslid_initialen%TYPE;
v_nr prs_perslid.prs_perslid_nr%TYPE;
v_oslogin prs_perslid.prs_perslid_oslogin%TYPE;
v_oslogin2 prs_perslid.prs_perslid_oslogin2%TYPE;
v_opp prs_perslid.prs_perslid_opp%TYPE;
v_ingangsdatum prs_perslid.prs_perslid_ingangsdatum%TYPE;
v_einddatum prs_perslid.prs_perslid_einddatum%TYPE;
v_uurloon prs_perslid.prs_perslid_uurloon%TYPE;
v_telefoonnr prs_perslid.prs_perslid_telefoonnr%TYPE;
v_email prs_perslid.prs_perslid_email%TYPE;
v_mobiel prs_perslid.prs_perslid_mobiel%TYPE;
v_afdeling_key prs_perslid.prs_afdeling_key%TYPE;
v_naam_full prs_v_perslid_fullnames_all.prs_perslid_naam_full%TYPE;
v_naam_friendly prs_v_perslid_fullnames_all.prs_perslid_naam_friendly%TYPE;
v_adres_key prs_perslid.mld_adres_key%TYPE;
v_srtperslid_key prs_perslid.prs_srtperslid_key%TYPE;
v_srtnoti_mode prs_perslid.prs_perslid_srtnoti_mode%TYPE;
v_geslacht prs_perslid.prs_perslid_geslacht%TYPE;
v_externid prs_perslid.prs_perslid_externid%TYPE;
v_externsyncdate prs_perslid.prs_perslid_externsyncdate%TYPE;
v_visibility prs_perslid.prs_perslid_visibility%TYPE;
v_firstwpdone BOOLEAN;
CURSOR c1
IS
SELECT wp.prs_werkplek_key
@@ -2368,11 +2320,9 @@ AS
prs_srtperslid_key,
prs_perslid_srtnoti_mode,
prs_perslid_geslacht,
prs_perslid_key_verantw,
prs_perslid_externid,
prs_perslid_externsyncdate,
prs_perslid_visibility,
prs_kostenplaats_key
prs_perslid_visibility
INTO v_titel,
v_voorletters,
v_naam,
@@ -2394,11 +2344,9 @@ AS
v_srtperslid_key,
v_srtnoti_mode,
v_geslacht,
v_perslid_key_v,
v_externid,
v_externsyncdate,
v_visibility,
v_prs_kostenplaats_key
v_visibility
FROM prs_perslid p
WHERE prs_perslid_key = p_key;
@@ -2439,7 +2387,6 @@ AS
mydatetochar ('ingangsdatum', v_ingangsdatum);
mydatetochar ('einddatum', v_einddatum);
createxmltagvalue ('uurloon', mynumbertochar (v_uurloon));
create_prs_perslid_node(v_perslid_key_v, 'verantwoordelijke', TRUE);
v_firstwpdone := FALSE;
FOR rec1 IN c1
@@ -2451,7 +2398,6 @@ AS
END LOOP;
create_prs_afdeling_node (v_afdeling_key, 'afdeling');
create_prs_kostenplaats_node (v_prs_kostenplaats_key, TRUE);
createxmltagvalue ('srtnoti_mode', v_srtnoti_mode);
-- Profiel toevoegen
END IF;
@@ -3216,7 +3162,6 @@ AS
v_oppervlak alg_verdieping.alg_verdieping_bruto_vloeropp%TYPE;
v_in_bewerking alg_verdieping.alg_verdieping_in_bewerking%TYPE;
v_code alg_verdieping.alg_verdieping_code%TYPE;
v_dwgz alg_verdieping.alg_verdieping_dwgz%TYPE;
v_externnr alg_verdieping.alg_verdieping_externnr%TYPE;
v_externsyncdate alg_verdieping.alg_verdieping_externsyncdate%TYPE;
@@ -3236,7 +3181,6 @@ AS
alg_verdieping_bruto_vloeropp,
alg_verdieping_in_bewerking,
alg_verdieping_code,
alg_verdieping_dwgz,
alg_verdieping_externnr,
alg_verdieping_externsyncdate
INTO v_omschrijving,
@@ -3245,7 +3189,6 @@ AS
v_oppervlak,
v_in_bewerking,
v_code,
v_dwgz,
v_externnr,
v_externsyncdate
FROM alg_verdieping v, cad_tekening t
@@ -3260,7 +3203,6 @@ AS
createxmltagvalue ('oppervlak', v_oppervlak);
createxmltagvalue ('in_bewerking', v_in_bewerking);
createxmltagvalue ('code', v_code);
createxmltagvalue ('dwgz', v_dwgz);
createxmltagvalue ('externnr', v_externnr);
mydatetochar ('externsyncdate', v_externsyncdate);
create_alg_kenmerken (p_verdieping_key, 'V');
@@ -3467,7 +3409,6 @@ AS
v_vervaldatum alg_locatie.alg_locatie_vervaldatum%TYPE;
v_externnr alg_locatie.alg_locatie_externnr%TYPE;
v_externsyncdate alg_locatie.alg_locatie_externsyncdate%TYPE;
v_volgnr alg_locatie.alg_locatie_volgnr%TYPE;
CURSOR c1
IS
SELECT alg_gebouw_key
@@ -3505,8 +3446,7 @@ AS
alg_locatie_mjb_score1,
alg_locatie_vervaldatum,
alg_locatie_externnr,
alg_locatie_externsyncdate,
alg_locatie_volgnr
alg_locatie_externsyncdate
INTO v_code,
v_omschrijving,
v_adres,
@@ -3526,8 +3466,7 @@ AS
v_mjb_score1,
v_vervaldatum,
v_externnr,
v_externsyncdate,
v_volgnr
v_externsyncdate
FROM alg_locatie l, cad_tekening t
WHERE l.alg_locatie_key = p_locatie_key
AND t.alg_verdieping_key(+) = l.alg_locatie_key;
@@ -3549,7 +3488,6 @@ AS
createxmltagvalue ('verantw_tel', v_verantw_tel);
createxmltagvalue ('externnr', v_externnr);
mydatetochar ('externsyncdate', v_externsyncdate);
createxmltagvalue ('volgnr', v_volgnr);
IF NOT p_concise THEN
create_alg_kenmerken (p_locatie_key, 'L');
END IF;
@@ -4494,8 +4432,7 @@ AS
mld_melding_note_omschrijving,
mld_melding_note_flag,
mld_melding_note_wijzigdatum,
fac_note_group_key,
fac_tracking_key
fac_note_group_key
FROM mld_melding_note
WHERE mld_melding_key = p_key
ORDER BY mld_melding_note_key;
@@ -4516,7 +4453,6 @@ AS
rec1.mld_melding_note_omschrijving);
create_prs_perslid_node (rec1.prs_perslid_key, 'noteur', TRUE);
create_fac_note_group_node(rec1.fac_note_group_key);
create_fac_tracking_node (NULL, NULL, rec1.fac_tracking_key);
createclosetag ('note');
END LOOP;
@@ -4621,8 +4557,7 @@ AS
mld_opdr_note_flag,
mld_opdr_note_omschrijving,
mld_opdr_note_wijzigdatum,
fac_note_group_key,
fac_tracking_key
fac_note_group_key
FROM mld_opdr_note
WHERE mld_opdr_key = p_key
ORDER BY mld_opdr_note_key;
@@ -4642,7 +4577,6 @@ AS
rec1.mld_opdr_note_omschrijving);
create_prs_perslid_node (rec1.prs_perslid_key, 'noteur', TRUE);
create_fac_note_group_node(rec1.fac_note_group_key);
create_fac_tracking_node (NULL, NULL, rec1.fac_tracking_key);
createclosetag ('note');
END LOOP;
createclosetag ('notes');
@@ -5370,7 +5304,6 @@ AS
v_uitvoertijd2_e mld_stdmelding.mld_stdmelding_t_uitvoertijd.eenheid%TYPE;
v_uitvoertijd4_td mld_stdmelding.mld_stdmelding_t_uitvoertijd.tijdsduur%TYPE;
v_uitvoertijd4_e mld_stdmelding.mld_stdmelding_t_uitvoertijd.eenheid%TYPE;
v_priomatrix mld_stdmelding.mld_stdmelding_priomatrix%TYPE;
v_notfrontend mld_stdmelding.mld_stdmelding_notfrontend%TYPE;
v_notes mld_stdmelding.mld_stdmelding_notes%TYPE;
v_prs_kostensoort_key mld_stdmelding.prs_kostensoort_key%TYPE;
@@ -5393,7 +5326,6 @@ AS
v_prs_dienst_key mld_stdmelding.prs_dienst_key%TYPE;
v_regime mld_stdmelding.mld_stdmelding_regime%TYPE;
v_typeopdr_key mld_stdmelding.mld_typeopdr_key%TYPE;
v_conceptstatus mld_stdmelding.mld_stdmelding_conceptstatus%TYPE;
BEGIN
IF p_key IS NOT NULL
THEN
@@ -5419,7 +5351,6 @@ AS
stdm.mld_stdmelding_t_uitvtijd_pr2.eenheid,
stdm.mld_stdmelding_t_uitvtijd_pr4.tijdsduur,
stdm.mld_stdmelding_t_uitvtijd_pr4.eenheid,
mld_stdmelding_priomatrix,
mld_stdmelding_notfrontend,
mld_stdmelding_notes,
prs_kostensoort_key,
@@ -5447,7 +5378,6 @@ AS
mld_stdmelding_color,
prs_dienst_key,
mld_stdmelding_regime,
mld_stdmelding_conceptstatus,
mld_typeopdr_key
INTO v_omschrijving,
v_accepttijd_td,
@@ -5466,7 +5396,6 @@ AS
v_uitvoertijd2_e,
v_uitvoertijd4_td,
v_uitvoertijd4_e,
v_priomatrix,
v_notfrontend,
v_notes,
v_prs_kostensoort_key,
@@ -5488,7 +5417,6 @@ AS
v_color,
v_prs_dienst_key,
v_regime,
v_conceptstatus,
v_typeopdr_key
FROM mld_stdmelding stdm, mld_stdmeldinggroep smg
WHERE stdm.mld_stdmeldinggroep_key = smg.mld_stdmeldinggroep_key(+)
@@ -5572,7 +5500,6 @@ AS
NULL,
mynumbertochar (v_uitvoertijd4_td));
-- historisch zo en geen stdmeldinggroepnode
createxmltagvalue ('priomatrix', v_priomatrix);
createxmltagvalue ('groep', v_groep);
createxmltagvalue ('groepomschrijving', v_groepoms);
createxmltagvalue ('notfrontend', v_notfrontend);
@@ -5591,9 +5518,8 @@ AS
mydatetochar ('externsyncdate', v_externsyncdate);
create_prs_kostensoort_node (v_prs_kostensoort_key);
createxmltagvalue ('malus', v_malus);
createxmltagvalue ('malusbasis', v_malusbasis); --die quotes waren fout
createxmltagvalue ('malusmax', v_malusmax); --die quotes waren fout
createxmltagvalue ('conceptstatus', v_conceptstatus);
createxmltagvalue ('malusbasis', 'v_malusbasis');
createxmltagvalue ('malusmax', 'v_malusmax');
createxmltagvalue ('verwijder', v_verwijder);
createclosetag ('stdmelding');
END IF;
@@ -5620,8 +5546,6 @@ AS
v_status_key mld_melding.mld_melding_status%TYPE;
v_status mld_statuses.mld_statuses_omschrijving%TYPE;
v_spoed mld_melding.mld_melding_spoed%TYPE;
v_urgentie mld_melding.mld_melding_urgentie%TYPE;
v_impact mld_melding.mld_melding_impact%TYPE;
v_discipline_key mld_stdmelding.mld_ins_discipline_key%TYPE;
v_meldbron_key mld_melding.mld_meldbron_key%TYPE;
v_oorzaak_key mld_melding.mld_oorzaak_key%TYPE;
@@ -5668,7 +5592,6 @@ AS
v_x mld_melding.mld_melding_x%TYPE;
v_y mld_melding.mld_melding_y%TYPE;
v_z mld_melding.mld_melding_z%TYPE;
v_conceptstatus mld_melding.mld_melding_conceptstatus%TYPE;
l_isrootmelding NUMBER(1);
CURSOR c1
@@ -5721,10 +5644,7 @@ AS
m.prs_kostenplaats_key,
NVL (mld_melding_status, ''),
NVL (s.mld_statuses_omschrijving, ''),
mld_melding_conceptstatus,
NVL (mld_melding_spoed, 0),
mld_melding_urgentie,
mld_melding_impact,
mld_meldbron_key,
mld_oorzaak_key,
mld_alg_onroerendgoed_keys,
@@ -5781,10 +5701,7 @@ AS
v_prs_kostenplaats_key,
v_status_key,
v_status,
v_conceptstatus,
v_spoed,
v_urgentie,
v_impact,
v_meldbron_key,
v_oorzaak_key,
v_alg_onroerendgoed_keys,
@@ -5850,10 +5767,7 @@ AS
createxmltagvalue ('ordernr', v_ordernr);
createxmltagvalue ('status_key', v_status_key);
createxmltagvalue ('status', v_status);
createxmltagvalue ('conceptstatus', v_conceptstatus);
createxmltagvalue ('spoed', v_spoed);
createxmltagvalue ('impact', v_impact);
createxmltagvalue ('urgentie', v_urgentie);
createxmltagvalueattributes ('uitvoertijd',
'eenheid',
v_uitvoertijd_e,
@@ -6681,7 +6595,6 @@ AS
v_tekening cad_tekening.cad_tekening_filenaam%TYPE;
v_in_bewerking alg_verdieping.alg_verdieping_in_bewerking%TYPE;
v_code alg_verdieping.alg_verdieping_code%TYPE;
v_dwgz alg_verdieping.alg_verdieping_dwgz%TYPE;
CURSOR c1
IS
@@ -6705,14 +6618,12 @@ AS
alg_verdieping_volgnr,
t.cad_tekening_filenaam,
alg_verdieping_in_bewerking,
alg_verdieping_code,
alg_verdieping_dwgz
alg_verdieping_code
INTO v_omschrijving,
v_volgnr,
v_tekening,
v_in_bewerking,
v_code,
v_dwgz
v_code
FROM alg_verdieping v, cad_tekening t
WHERE t.alg_verdieping_key(+) = v.alg_verdieping_key
AND v.alg_verdieping_key = p_verdieping_key;
@@ -6731,7 +6642,6 @@ AS
--createxmltagvalue ('tekening', v_tekening);
--createxmltagvalue ('in_bewerking', v_in_bewerking);
--createxmltagvalue ('code', v_code);
--createxmltagvalue ('dwgz', v_dwgz);
--create_alg_kenmerken (p_verdieping_key, 'V');
IF p_ruimte_key IS NOT NULL
THEN
@@ -6919,8 +6829,6 @@ AS
CURSOR c1
IS
SELECT k.bes_kenmerk_key,
k.bes_kenmerk_code,
s.bes_srtkenmerk_code,
COALESCE (
lcl.x ('bes_kenmerk_omschrijving', k.bes_kenmerk_key, bes_kenmerk_omschrijving),
lcl.x ('bes_srtkenmerk_omschrijving', s.bes_srtkenmerk_key, bes_srtkenmerk_omschrijving)) bes_kenmerk_omschrijving,
@@ -6971,19 +6879,19 @@ AS
p_key,
rec1.bes_kenmerk_key);
createxmltagvalueattributes9 ('kenmerk',
'kenmerkcode', rec1.bes_kenmerk_code,
'srtkenmerkcode', rec1.bes_srtkenmerk_code,
'naam', rec1.bes_kenmerk_omschrijving,
'type', rec1.bes_srtkenmerk_kenmerktype,
'volgnummer', rec1.volgnummer,
'key', rec1.bes_kenmerk_key,
'dimensie', rec1.dimensie,
NULL, NULL,
NULL, NULL,
rec1.fac_kenmerkdomein_key,
v_kenmerk_waarde
);
createxmltagvalueattributes ('kenmerk',
'naam',
rec1.bes_kenmerk_omschrijving,
'type',
rec1.bes_srtkenmerk_kenmerktype,
'volgnummer',
rec1.volgnummer,
'key',
rec1.bes_kenmerk_key,
'dimensie',
rec1.dimensie,
rec1.fac_kenmerkdomein_key,
v_kenmerk_waarde);
END LOOP;
END;
@@ -7157,8 +7065,6 @@ AS
v_sensortype ins_srtdeel.ins_srtdeel_sensortype%TYPE;
v_acad_dwgx ins_srtdeel.ins_srtdeel_acadsymbol_dwgx%TYPE;
v_acad_dwgy ins_srtdeel.ins_srtdeel_acadsymbol_dwgy%TYPE;
v_statethreshold ins_srtdeel.ins_srtdeel_statethreshold%TYPE;
BEGIN
IF p_concise
THEN
@@ -7212,8 +7118,7 @@ AS
ins_srtdeel_externsyncdate,
ins_srtdeel_sensortype,
ins_srtdeel_acadsymbol_dwgx,
ins_srtdeel_acadsymbol_dwgy,
ins_srtdeel_statethreshold
ins_srtdeel_acadsymbol_dwgy
INTO v_groep_key,
v_omschrijving,
v_code,
@@ -7234,8 +7139,7 @@ AS
v_externsyncdate,
v_sensortype,
v_acad_dwgx,
v_acad_dwgy,
v_statethreshold
v_acad_dwgy
FROM ins_srtdeel
WHERE ins_srtdeel_key = p_key;
@@ -7262,7 +7166,6 @@ AS
createxmltagvalue ('externnr', v_externnr);
mydatetochar ('externsyncdate', v_externsyncdate);
createxmltagvalue ('sensortype', v_sensortype);
createxmltagvalue ('statethreshold', v_statethreshold);
createxmltagvalue ('dwgx', v_acad_dwgx);
createxmltagvalue ('dwgy', v_acad_dwgy);
-- He, kenmerken ook bij concise? Ja!
@@ -8963,7 +8866,7 @@ AS
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rrd.res_rsv_ruimte_key = p_key
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_deel_bulkreserveerbaar = 0
AND rd.res_deel_bulkreserveerbaar IS NULL
UNION ALL -- Van bulk-objecten wordt <20><>n 'record' opgeleverd met de laagste res_deel_key
SELECT res_deel_omschrijving,
MIN (res_rsv_deel_key) res_rsv_deel_key,
@@ -8971,7 +8874,7 @@ AS
FROM res_deel r1, res_rsv_deel rrd1
WHERE r1.res_deel_key = rrd1.res_deel_key
AND rrd1.res_rsv_ruimte_key = p_key
AND res_deel_bulkreserveerbaar = 1
AND res_deel_bulkreserveerbaar IS NOT NULL
GROUP BY res_deel_omschrijving;
CURSOR c2a
@@ -10746,7 +10649,7 @@ AS
PROCEDURE xml_node (p_xmlnode IN VARCHAR2,
p_key IN NUMBER,
p_custid IN VARCHAR2, -- genegeerd
p_custid IN VARCHAR2,
p_sessionid IN VARCHAR2,
p_extra IN NUMBER,
p_where IN VARCHAR2,
@@ -10754,7 +10657,6 @@ AS
AS
v_where VARCHAR2 (4000);
v_sql_stmt VARCHAR2 (4000);
l_custid fac_version.fac_version_cust%TYPE;
BEGIN
CASE p_xmlnode
WHEN 'afspraak'
@@ -10874,19 +10776,16 @@ AS
-- create_bgt_discipline_node (p_key);
create_bgt_node (p_key, p_where);
ELSE
SELECT fac_version_cust
INTO l_custid
FROM fac_version;
v_sql_stmt :=
'BEGIN '
|| l_custid
|| p_custid
|| '.create_'
|| p_xmlnode
|| '_node ('
|| p_key
|| ','
|| ''''
|| l_custid
|| NVL (p_custid, '')
|| ''''
|| ','
|| ''''

View File

@@ -77,7 +77,6 @@ DEFINE_SETTING('CAD', 0001, 'WEB_FACTAB', 'fg_syncruimteview'
DEFINE_SETTING('CAD', 0001, 'WEB_FACTAB', 'fg_syncterreinview' , 'string' , 'cad_v_sync_alg_terrein' , NULL)
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_move_origin' , 'number' , '0' , 'Move all dwf to logical (0,0) to prevent overflow')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_minmergedistance' , 'number' , '-1' , 'Distance (mm) allowed when merging ARC''s into contours')
DEFINE_SETTING('CAD', 0001, 'WEB_FACTAB', 'fg_slnkdwf_flags' , 'number' , '0' , 'Flags for SLNKDWF')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'MaxDownloadSize' , 'number' , '-1' , 'Should match IIS Metabase AspBufferingLimit for download warning (Future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'alg_loc_string' , 'string' , ' l.alg_locatie_omschrijving || '' ('' || l.alg_locatie_code || '')'' ' , 'Presentation of location while selecting')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'alg_geb_string' , 'string' , ' g.alg_gebouw_code ||'' ''||g.alg_gebouw_naam ' , 'Presentation of building while selecting')
@@ -129,10 +128,9 @@ DEFINE_SETTING('PHB', 0001, 'WEB_FACFAC', 'phone_usrrap_key'
DEFINE_SETTING('PHB', 0001, 'WEB_FACFAC', 'prs_plaats_key' , 'number' , '-1' , 'PRS_KENMERK_KEY of property location, if -1, the workplace is used for the location')
DEFINE_SETTING('PRJ', 0001, 'WEB_FACTAB', 'fg_prj_syncruimteview' , 'string' , 'cad_v_sync_prj_ruimte' , NULL)
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_contactpers_string' , 'string' , 'cp.prs_contactpersoon_naam || NVL2(cp.prs_contactpersoon_voorletters, '', '' || cp.prs_contactpersoon_voorletters, '''')|| NVL2(cp.prs_contactpersoon_tussenv, '' '' || cp.prs_contactpersoon_tussenv, '''')|| NVL2(cp.prs_contactpersoon_voornaam, '' ('' || cp.prs_contactpersoon_voornaam || '')'', '''')', NULL)
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_dep_string' , 'string' , 'd.prs_afdeling_naam' , 'Define how to identify a department {d.prs_afdeling_naam[1-6], d.prs_afdeling_omschrijving}')
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_dep_string' , 'string' , 'd.prs_afdeling_naam' , NULL)
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_kpn_string' , 'string' , ' NVL2(k.prs_kostenplaats_nr, prs_kostenplaats_nr || '' ''|| lcl.x(''prs_kostenplaats_omschrijving'', k.prs_kostenplaats_key, k.prs_kostenplaats_omschrijving), '''')', NULL)
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_pers_string' , 'string' , ' p.prs_perslid_naam|| NVL2( p.prs_perslid_voorletters, '', '' || p.prs_perslid_voorletters, '''')|| NVL2( p.prs_perslid_tussenvoegsel, '' '' || p.prs_perslid_tussenvoegsel, '''')|| NVL2( p.prs_perslid_voornaam, '' ('' || p.prs_perslid_voornaam || '')'', '''')', NULL)
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'scim_default_bedrijf' , 'number' , '-1' , 'Default company (prs_bedrijf_key) for SCIM new organisation units')
DEFINE_SETTING('RES', 0001, 'WEB_FACFAC', 'res_remoteurl_refuse' , 'string' , '' , 'Regexp, do not jump to these remote url (future use)')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', '_optimizer_use_feedback' , 'string' , '' , '_optimizer_use_feedback (Future use)')
@@ -170,6 +168,7 @@ DEFINE_SETTING('CNT', 0001, 'WEB_FACTAB', 'cntd_image_path'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'NotifyMessageInterval' , 'number' , '0' , 'time (seconds) between NotifyMessage.asp [=Check for popups] refreshes. 0=disable')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'PerformInterval' , 'number' , '0' , 'time (seconds) between shared/performancetester.asp refreshes 0=disable')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'allow_framed_facilitor' , 'boolean' , 'false' , 'Is it allowed to use Facilitor in an (i)frame?')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'allowedImgRegex' , 'string' , '^((http|https):\/\/)' , '[DEPRECATED] Allowed url-regex in between [img][/img]-tags')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'allowedLinkRegex' , 'string' , '^((ftp|http|https):\/\/|(mailto|tel):)' , 'Allowed link-regex in between [link][/link]-tags')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'auto_https' , 'number' , '3' , '0=not https, 1=http redirects to https, (3=also all cookies ;Secure)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_html_strictness' , 'number' , '0' , '0=allow html in message, res-room description, flex-labels, 1=do not allow (strict, more secure)')
@@ -188,7 +187,6 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_accept_terms'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_emailtoken_auth_expire' , 'number' , '0' , 'Minutes e-mail login token is valid (default 0)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_logo_file' , 'string' , 'tmpl_logo.gif' , 'Customer logo file (Future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_msxml2domdocument' , 'number' , '0' , '0=FreeThreadedDOMDocument, 1=DOMDocument')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_tamper_check' , 'number' , '255' , 'Perform tampercheck on save')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_reserved_number1' , 'number' , '0' , 'reserved_number1 (reserved and unused)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_reserved_number2' , 'number' , '0' , 'reserved_number2 (reserved and unused)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_reserved_string1' , 'string' , '' , 'reserved_string1 (reserved and unused)')
@@ -212,7 +210,6 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'kto_srtdiscipline_key'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'logcenter_url' , 'string' , 'https://logcentre.facilitor.nl/?SSO=CUSTOMER', 'Logcenter url')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'menu_image_path' , 'string' , NULL , 'relative! path to folder storing menu pictures and files')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'mobile_imageportal' , 'boolean' , 'true' , 'Use the fancy mobile icon portal (true) or text portal (false)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_favorite_menu_items' , 'number' , '3' , 'This is how many of the favorite menuitems are shown on the mobile portal')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_password_exp' , 'number' , '15' , 'time to enter the login code received on the mobile in minutes.')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'os_logon' , 'boolean' , 'false' , 'enable NT domain logon {true | false}')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'os_logon_exclude' , 'array' , '' , 'Disable NT domain logon, for example "HTTP_VIA,HTTP_REVERSE_VIA,HTTP_X_BLUECOAT_VIA"')
@@ -235,12 +232,12 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'self_register_email_whitelist'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'self_register_expire' , 'number' , '60' , 'Minutes to respond to confirmation e-mail ( default 60 )')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'self_register_groep_keys' , 'array' , '' , 'Custom fac_groep options for the self_registerscreen, 1 option: auto pick that one, 2+ gives a dropdown menu')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'self_register_srtperslid_key' , 'number' , '-1' , 'Default srtperslid key')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'sys_ip_lockmode' , 'number' , '0' , 'Automatic logoff on ip-change (0 disable)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'sys_ip_lockmode' , 'number' , '1' , 'Automatic logoff on ip-change (0 disable)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'sys_ip_restrict' , 'string' , '' , 'Regexp ip-restriction')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'use_capacity_planning' , 'number' , '0' , 'De inzetbaarheid van personen en uitvoerbaarheid bij opdrachten kan worden aangegeven (0=nee {default}, 1=ja)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'view_dwf_with_slnkdwf' , 'boolean' , 'false' , 'View DWF document files using SLNKDWF')
DEFINE_SETTING('WGT', 0001, 'WEB_FACTAB', 'wgt_enabled' , 'number' , '1' , 'DEPRECATED Is the widget module available {0 | 1}, now part of UDR')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'widgetportal' , 'number' , '0' , 'Key of widgetpage to use as startpage (key) or the standard page (0)')
DEFINE_SETTING('WGT', 0001, 'WEB_FACTAB', 'wgt_enabled' , 'number' , '0' , 'Is the widget module available {0 | 1} licensed separately')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'widgetportal' , 'number' , '0' , 'Use a widgetpage with this key as startpage (key) or the standard page (0)')
DEFINE_SETTING('FAQ', 0001, 'WEB_FACTAB', 'faq_enabled' , 'number' , '0' , 'Is kennisbank available {0 | 1} licensed separately')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_defaultboekmaand' , 'number' , '1' , 'How to determine default "boekmaand" for entered invoice with an order: 1=sysdate, 2=orderdate, 3=enddate')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_defaultboekmaand_cnt' , 'number' , '1' , 'How to determine default "boekmaand" for entered invoice with a contract: 1=sysdate, 2=invoicedate')
@@ -279,7 +276,7 @@ DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_collegas_groep'
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_dep_all' , 'boolean' , 'false' , 'allow attaching persons on all department level { true | false }')
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_max_dep_level' , 'number' , '2' , 'number of levels between prs_bedijf and prs_perslid (max = 5)')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_mgt_edit_login' , 'boolean' , 'false' , 'WEB_FACMGT may change login')
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_werkplek_implicit' , 'number' , '1' , 'Are workplaces treated as separate entitities (0) or implicitly/invisible used in person-room relations(1)')
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_werkplek_implicit' , 'number' , '0' , 'Are workplaces treated as separate entitities (0) or implicitly/invisible used in person-room relations(1)')
DEFINE_SETTING('RES', 0001, 'WEB_FACTAB', 'res_image_path' , 'string' , NULL , 'path to folder storing res_ruimte pictures')
DEFINE_SETTING('RES', 0001, 'WEB_FACTAB', 'resd_image_path' , 'string' , NULL , 'path to folder storing res discipline pictures')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'max_report_zip_uncompressed' , 'number' , '250' , 'Maximum uncompressed size (MB) for zipping attachments by UDR report')
@@ -372,7 +369,7 @@ DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_hilitesymbolfillcolor'
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_ininslabelSize' , 'number' , '250' , 'Default labelsize for objects inside (mm)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_inlabelsize' , 'number' , '800' , 'Default labelsize for rooms inside (mm)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_inwplabelsize' , 'number' , '400' , 'Default labelsize for worplaces inside (mm)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_ins_symbols' , 'boolean' , 'true' , 'Show objects as symbols on floorplans')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_ins_symbols' , 'boolean' , 'false' , 'Use objects as symbols on floorplans')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_labelposition' , 'number' , '1' , 'Labelposition of roomlabels 1=original, 2=center, 3=topleft')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_labellayers' , 'string' , '{CONT!.}|{CONT\|.*}' , 'Regexp for contourlabellayernames default areas')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_labellayers_alt1' , 'string' , '' , 'Regexp for contourlabellayernames alternative areas 1')
@@ -401,20 +398,18 @@ DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_contract_recent'
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_contract_requestor_required' , 'boolean' , 'false' , 'Set the contract requestor field as required (true) or optional (false)')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_enable_kostensoort' , 'number' , '1' , 'can contract kostensoort be changed?')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_factuur_totaalmarge' , 'number' , '0' , 'De toegestane marge op de totaal factuur (default 0)')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_inactivate_mode' , 'number' , '0' , 'inactivate contract with WEB_CNTMAN/WEB_CNTUSE read rights and WEB_CNTMSU rights (0) or with extra WEB_CNTMAN write rights (1) and WEB_CNTMAN may edit older, inactive contract versions (2)')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_inactivate_mode' , 'number' , '0' , 'inactivate contract with WEB_CNTMAN/WEB_CNTUSE read rights and WEB_CNTMSU rights (0) or with extra WEB_CNTMAN write rights (1)')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_internalnr_readonly' , 'number' , '0' , 'Het interne contractnummer wordt automatisch bepaalt en is niet wijzigbaar')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_rappel_abonnement' , 'number' , '3' , 'Rappel termijn van een abonnement contract')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_scopeverdeling' , 'number' , '0' , '0|1, cost distribution by scope weights 0=relative weight, 1=absolute amount')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_with_mld' , 'number' , '0' , 'Contract kan meldingen hebben {0=Nee (default) | 1=Ja}')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum CNT photo size. Ex: r200x150')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cntuse_can_edit_datum' , 'boolean' , 'false' , 'Can cntuse edit contract date(s) or not')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cntuse_can_edit_datum' , 'boolean' , 'false' , 'can cntuse edit datum')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_grace_period' , 'number' , '30' , 'Show contract this number of days after end of contract')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'ProxyServerIPAddress' , 'string' , NULL , 'For webserver to reach outside world')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'interface_toggles' , 'number' , '1' , 'To keep track of the interface that is being used')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'ReplyAddress' , 'string' , '' , 'ReplyTo Address when e-mailing manually')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'anonymize_period' , 'number' , '365' , 'Period before data will be [GDPR] anonymized (days)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'anonymize_mode' , 'number' , '13' , 'Data that will be [GDPR] anonymized (0=nothing, 1=tracking,2=notes,4=flexproperties,8=descriptions)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'datapurge_period' , 'number' , '99' , 'Period (years) to keep dynamic data stored in database. Older data wil be permanently purged')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'anonymize_period' , 'number' , '365' , 'Period before data wil be [GDPR] anonymized (days)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'aut_login_strip_domain' , 'number' , '1' , 'Strip AD domain from login name { 0=no, 1=yes (default) } (Future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'auth_edit_advanced' , 'boolean' , 'false' , 'Start autorisation popup dialog in advanced mode')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'buttons_in_hamburger' , 'array' , 'fa-print,fa-envelope,fa-table,fa-fclt-refresh,fa-columns,fa-share-square', 'Hide these frameheader buttons behind a hamburger.')
@@ -424,7 +419,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'currency_icon'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'currency_pref' , 'string' , 'EUR ' , 'Currency prefix')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'currency_suff' , 'string' , '' , 'Currency suffix')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'email_password' , 'number' , '0' , 'Show ''wachtwoord vergeten'' optie (1=voor mensen met wachtwoord, 2=voor iedereen)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'excel_mode' , 'number' , '2' , 'Save Excel as {0=html-table (deprecated)| 1=as CSV (not supported)| 2=native XLS}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'excel_mode' , 'number' , '0' , 'Save Excel as {0=html-table | 1=as CSV (not supported)| 2=native XLS (future use)}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_api_limit' , 'number' , '100' , 'Default maximum number of records to return using the REST API')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_api_limit2' , 'number' , '5000' , 'Ultime maximum number of records to return using the REST API')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_bes_deeplike_expire' , 'number' , '0' , 'Number of days bestelling deeplike bookmark is valid (default 0 is disabled) future use')
@@ -432,7 +427,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_favicon_folder'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_hide_fields' , 'string' , '' , 'Hide fields in the interface (future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_firstlogin_expire' , 'number' , '14' , 'Remove firstlogin_url automatically after nn days')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_firstlogin_url' , 'string' , 'appl/fac/welcome.asp' , 'Url to show upon first login of user')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_gui_counter_menu_daily' , 'number' , '1' , 'Compress menu usage count {0=don''t, 1=per user per day(favorites), 2=per day}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_gui_counter_menu_daily' , 'boolean' , 'true' , 'Compress menu usage count to anonymous daily or personal count')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_like_bad' , 'number' , '2' , 'Rating for bad service')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_like_excellent' , 'number' , '10' , 'Rating for excellent service')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_like_good' , 'number' , '8' , 'Rating for good service')
@@ -443,20 +438,18 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_mld_deeplike_expire'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_phone_protocol' , 'string' , 'callto' , 'Desktop protocol to use for phone links')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_res_deeplike_expire' , 'number' , '0' , 'Number of days reservation deeplike bookmark is valid (default 0 is disabled) future use')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_usrrap_keepfilter' , 'number' , '1' , 'User reports remember filters globally. 1=Remember 0=Do not remember')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilities_flike_past' , 'number' , '7' , 'Number of days in the past to show my facilities for rating')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture' , 'number' , '365' , 'Number of days in the future to show my facilities (Lopende Zaken)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_mld' , 'number' , '31' , 'DEPRECATED Number of days in the future to show my facilities for calls')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_bes' , 'number' , '31' , 'DEPRECATED Number of days in the future to show my facilities for orders')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_bez' , 'number' , '31' , 'DEPRECATED Number of days in the future to show my facilities for visitors')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_res' , 'number' , '31' , 'DEPRECATED Number of days in the future to show my facilities for reservations')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_bez' , 'number' , '2' , 'Number of days in the past to show my facilities for visitors')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_bes' , 'number' , '2' , 'Number of days in the past to show my facilities for orders')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_ins' , 'number' , '2' , 'Number of days in the past to show my facilities for lent objects')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_mld' , 'number' , '2' , 'Number of days in the past to show my facilities for calls')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_res' , 'number' , '2' , 'Number of days in the past to show my facilities for reservations')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilities_flike_past' , 'number' , '7' , 'Number of days in the past to show (my) facilities for rating')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_mld' , 'number' , '31' , 'Number of days in the future to show (my) facilities for calls')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_bes' , 'number' , '31' , 'Number of days in the future to show (my) facilities for orders')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_bez' , 'number' , '31' , 'Number of days in the future to show (my) facilities for visitors')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_res' , 'number' , '31' , 'Number of days in the future to show (my) facilities for reservations')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_bez' , 'number' , '2' , 'Number of days in the past to show (my) facilities for visitors')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_bes' , 'number' , '2' , 'Number of days in the past to show (my) facilities for orders')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_mld' , 'number' , '10' , 'Number of days in the past to show (my) facilities for calls')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_res' , 'number' , '2' , 'Number of days in the past to show (my) facilities for reservations')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'favorites_on_portal_menu' , 'number' , '1' , 'Display pinned favorites on the -desktop- portal menu { 0=no, 1=yes (default) } ')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flexExtensionFilter' , 'string' , NULL , 'All files can be uploaded. "PDF DOC TIFF XLS" would filter')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flexFilesOrdering' , 'number' , '0' , 'Ordering for list of flexfiledates {0=ascending | 1=descending}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flexFilesOrdering' , 'number' , '0' , 'Ordering for list of flexfilenames {0=ascending | 1=descending}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'helppage_url' , 'string' , 'https://help.facilitor.nl/fac_wrapper.php', 'Helppage')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'iconcolumns' , 'number' , '6' , 'number of columns in an iconmenu page.')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'inline_actions_hamburger' , 'number' , '0' , 'Use a hamburger-icon to view the inline actions {0=No | 1=Yes, onClick | 2=Yes, onMouseOver}')
@@ -469,11 +462,10 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'max_tracking_length'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_collapse_threshold' , 'number' , '5' , 'Max number menugroups in a tab before we will collapse')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum MENU photo size. Ex: r200x150')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_start_open' , 'boolean' , 'true' , 'Menu is open by default')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_tab_toggles_portalmenu' , 'number' , '0' , 'Also activate corresponding portal_menu in body (1) or not (0)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_tab_toggles_portalmenu' , 'number' , '1' , 'Also activate corresponding portal_menu in body (1) or not (0)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_use_menuicons' , 'number' , '1' , 'Use the images of the portalmenu in the regular menu as well (1) or do not (0)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_alg_filterlevel' , 'string' , '' , 'Level to use for mobile filtering: A(Alles), D(District), L(ocatie), G(ebouw) of V(erdieping)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_alg_level' , 'string' , 'G' , 'Level to use for mobile scoping: L(ocatie), G(ebouw) of V(erdieping)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'werklocatie_alg_scope' , 'number' , '-1' , 'Mijn werklocatie/standplaats moet liggen binnen mijn:' || CHR(10) || '-1: Alles is toegestaan (=default)' || CHR(10) || '0: Regio' || CHR(10) || '1: District' || CHR(10) || '2: Locatie' || CHR(10) || '3: Gebouw' || CHR(10) || '4: Verdieping' || CHR(10) || '5: Ruimte' || CHR(10) || '6: Ik mag alleen mijn eigen werkplekken kiezen')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_password' , 'number' , '0' , 'get the login password sent to your mobile')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_password_pda' , 'number' , '0' , 'get the login password sent your mobile when using a mobile')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_position_required' , 'number' , '1' , 'A current position is required for geo-scoping (1) or not (0)')
@@ -517,12 +509,10 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'timepickercolumns'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_colors1' , 'string' , '[''#003478'',''#6685ae'',''#e37b00'',''#0b94f9'',''#81ce58'',''#f3d736'',''#acaa65'',''#a222c4'',''#5b9bc3'',''#1c40eb'',''#037011'',''#d192e7'',''#f88625'',''#93b89f'',''#bf6b87'',''#a2b41a'',''#f76979'',''#f41181'',''#73eb59'',''#32d1d0'',''#a00bed'',''#66fe6b'',''#b94d5b'']' , 'Color used for single bar /line graphs (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_colors2' , 'string' , '[''#003478'',''#6685ae'',''#e37b00'',''#0b94f9'',''#81ce58'',''#f3d736'',''#acaa65'',''#a222c4'',''#5b9bc3'',''#1c40eb'',''#037011'',''#d192e7'',''#f88625'',''#93b89f'',''#bf6b87'',''#a2b41a'',''#f76979'',''#f41181'',''#73eb59'',''#32d1d0'',''#a00bed'',''#66fe6b'',''#b94d5b'']' , 'Colors used for stacked bar /line graphs (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_default_json' , 'string' , '' , 'Default json options for report graphs (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_gauge_colors' , 'string' , '[''#CC6666'', ''#E7E658'', ''#66CC66'']' , 'Colors being used for gaugemeter charts (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_gauge_colors' , 'string' , '[''red'',''orange'',''green'']' , 'Colors being used for gaugemeter charts (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_pie_colors' , 'string' , '[''#003478'',''#6685ae'',''#e37b00'',''#0b94f9'',''#81ce58'',''#f3d736'',''#acaa65'',''#a222c4'',''#5b9bc3'',''#1c40eb'',''#037011'',''#d192e7'',''#f88625'',''#93b89f'',''#bf6b87'',''#a2b41a'',''#f76979'',''#f41181'',''#73eb59'',''#32d1d0'',''#a00bed'',''#66fe6b'',''#b94d5b'']' , 'Colors being used for pie charts (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'use_wildcard_with_suggests' , 'number' , '2' , 'Use wildcards for all sugest fields (0=no wildcard, 1=text*, 2=*text*)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'usrrap_refreshrate' , 'number' , '60' , 'time between auto refresh of selected usrraps (seconds)')
DEFINE_SETTING('MSG', 0001, 'WEB_PRSSYS', 'msg_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum MSG photo size. Ex: r200x150')
DEFINE_SETTING('MSG', 0001, 'WEB_PRSSYS', 'msg_max_history' , 'number' , '30' , 'Show messages no longer than msg_max_history days ago')
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_kennisbank_popup' , 'number' , '3' , 'Show kennisbank popup {0=no | 01=1=FE | 10=2=FO | 11=3=FE+FO}')
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_max_results' , 'number' , '25' , 'Limit the FAQ results to this number')
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_max_results_mld' , 'number' , '0' , 'Initial number of faq items when editing an issue. 0 = show all.')
@@ -559,9 +549,8 @@ DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_xcp_active_cost'
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_srtdeelsuggest_info' , 'number' , '1' , 'Show parent info of Object type in Suggest: 1=group, 2=discipline, 3=both')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_state_history' , 'number' , '30' , 'Number of days to keep ins_deel_state_history records')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_deel_flags' , 'number' , '0' , 'Number of flags that can be defined on objects. Max 10')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_nr_separator' , 'string' , '' , 'Separator between prefix and number for ranges of objectcodes that are numbered automatically')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_freeze_year' , 'number' , '2023' , 'Frozen (approved/activated) year of Preventive Maintenance (MJOB)')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_inflation' , 'float' , '0' , 'Default annual inflation rate (%) for Preventive Maintenance (MJOB)')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_inflation' , 'float' , '1' , 'Default annual inflation rate (%) for Preventive Maintenance (MJOB)')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_operation_external' , 'number' , '0' , 'Operational handling of Preventive Maintenance (MJOB) tasks {0=internal | 1=external}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_show_years' , 'number' , '5' , 'Default number of years to be shown in the Preventive Maintenance (MJOB) console')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_start_year' , 'number' , '2023' , 'Start/First year of freezing of Preventive Maintenance (MJOB)')
@@ -569,10 +558,10 @@ DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_enable_moveup'
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_approvedmelding_description' , 'number' , '1' , 'Subject for MJOB generated ticket {1=object type (default), 2=task description, 3=task description (object type). }')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_total_add_pct1' , 'float' , '0' , 'Fixed percentage of column total to add #1 (0=None, <percentage>=percentage')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_total_add_pct2' , 'float' , '0' , 'Fixed percentage of column total to add #2 (0=None, <percentage>=percentage')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'cnt_autolink_regexp' , 'string' , '(?:((?:contract)\s+)([\w-/]*))', 'Automatically turn CNT-references in texts into clickable links eg. (?:((?:contract)\s+)([\w-/]*))')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'cnt_autolink_regexp' , 'string' , '(?:((?:contract\s?)|(?:\WC\s?))(\d+))|((?:contract#\s?|(?:\WC#\s?))(([a-z]|[0-9])+))', 'Automatically turn CNT-references in texts into clickable links eg. (?:((?:contract\s?)|(?:\WC\s?))(\d+))|((?:contract#\s?|(?:\WC#\s?))(([a-z]|[0-9])+))')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'faq_autolink_regexp' , 'string' , '(?:(?:FAQ\s?)|(?:\WKB\s?))(\d+)', 'Automatically turn FAQ-references in texts into clickable links eg. (?:(?:FAQ\s?)|(?:KB\s?))(\d+) gives valid links for FAQ981, FAQ 981, KB981 and KB 981')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'fac_flags_visible_for_fe' , 'number' , '1' , 'An FE-user may see the flag-status of calls, reservations etc {0=No | 1=Yes(default)}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_accept_confirm' , 'boolean' , 'true' , 'bij accepteren melding direct afhandelingsveld in kunnen vullen')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_accept_confirm' , 'boolean' , 'false' , 'bij accepteren melding direct afhandelingsveld invullen')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'pda_melding_quick_note' , 'number' , '1' , 'Snelle notitie mogelijkheid bij het aanpassen van een melding binnen de mobile omgeving (0=geen quicknote mogelijk | 1=wel een quicknote mogelijk)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'pda_order_quick_note' , 'number' , '1' , 'Snelle notitie mogelijkheid bij het aanpassen van een opdracht binnen de mobile omgeving (0=geen quicknote mogelijk | 1=wel een quicknote mogelijk)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_add_mldopmerk_on_opdrclose' , 'number' , '0' , 'Automatically copy remark from order to call when supplier close last order {1=Yes | 0=No}')
@@ -585,7 +574,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_allow_for_others'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_allow_parentmelding' , 'number' , '0' , 'Allow attaching a call to another manually (0=not | 1=allow without orders | 2=allow with closed orders')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_archive_by_gui' , 'boolean' , 'false' , 'Can a call be archived by a button (true) or just by export (false)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ask_for_orders' , 'boolean' , 'true' , 'ask for immediate order input after call entry { true | false }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_autolink_regexp' , 'string' , '(?:(?:melding [A-Z]*)|(?:[A-Z \,]+\#[A-Z]*))(\d+)', 'Automatically turn MLD-references in texts into clickable links eg. (?:(?:melding [A-Z]*)|(?:[A-Z\,\n]+\#[A-Z]*))(\d+)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_autolink_regexp' , 'string' , '(?:(?:melding [A-Z]*)|(?:[A-Z \,\n]+\#[A-Z]*))(\d+)', 'Automatically turn MLD-references in texts into clickable links eg. (?:(?:melding [A-Z]*)|(?:[A-Z \,\n]+\#[A-Z]*))(\d+)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_behandelteam_canclose' , 'number' , '1' , 'Close authorization depending on (0=discipline | 1=discipline en treatment team (default))')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_bo_sort_descending' , 'number' , '0' , 'Sort ordering of mld_melding for BO (0 = most urgent first | 1 = last made first | 2 = most recent activity first)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_can_change_prio_and_place_while_issued', 'boolean' , 'false' , 'Allow to change [prio] and [place] while issue is issued')
@@ -594,7 +583,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_clear_on_close'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_close_noti_default_off' , 'number' , '0' , 'Checkbox [melder notificeren] at cancel is default off (0=no interference, 1=default off)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_close_opdr_default' , 'number' , '0' , 'De checkbox met de vraag of de open opdrachten ook afgemeld moeten worden is standaard niet(0=default) of wel(1) aangevinkt')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_close_ctr_default' , 'number' , '0' , 'De checkbox met de vraag of de open inspecties ook afgemeld moeten worden is standaard niet(0=default) of wel(1) aangevinkt')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_continue_edit_issuer' , 'boolean' , 'false' , '[DEPRECATED] Edit the issuer false= (default) of a continued complain')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_continue_edit_issuer' , 'boolean' , 'false' , 'Edit the issuer false= (default) of a continued complain')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_copy_objects_in_workflow' , 'number' , '0' , 'Copy object-references to the next step in workflow (0=do not copy | 1=copy)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_disable_continuation' , 'boolean' , 'false' , 'Disable creating continuation calls { false | true }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_edit_layout' , 'number' , '0' , '[DEPRECATED] Layout of mld edit screen {0=stdmelding first (default)| 1=place first}')
@@ -658,14 +647,14 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_change_type'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_flexsummary' , 'number' , '1' , 'User summary of melding-flexprop in initial order description {0=no | 1=yes | 2=by property}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_show_kostenplaats' , 'number' , '1' , 'show kostenplaats field for orders {0=don''t show | 1=editable | 2=show}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_show_ordernr' , 'number' , '0' , 'show ordernr field for orders {0=don''t show(&use mld_melding_ordernr) | 1=show}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_order_autoprint' , 'number' , '3' , 'When to autoprint orders {0=print new order for extern and intern | 1=print with any save | 2=print new order for extern | 3=never print}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_order_autoprint' , 'number' , '1' , 'When to autoprint orders {0=print only at insert for extern and intern | 1=print with any save | 2=print only at insert for extern | 3=never print}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_orderlist_columns_compact' , 'number' , '34052' , 'Bitwise coding of columns to show (when relevant) in compact orders list')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_orderlist_columns_full' , 'number' , '49470' , 'Bitwise coding of columns to show (when relevant) in full orders list')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_performer_can_change_flags' , 'boolean' , 'false' , 'Executor can change the flags of his orders.')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_pgb_fiattering' , 'number' , '0' , 'Voor een opdracht is het algemene fiatteringsproces noodzakelijk naast PGB/AGB fiatering? {0=no | 1=yes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum MLD photo size. Ex: r200x150')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_plandate_in_list' , 'number' , '0' , '*Show Planned Date as a column in backoffice overview orders {0=no | 1=yes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_print_loc_address' , 'number' , '0' , 'Show location address details in backoffice overview calls {0=no | 1=on print | 2=address+postal code+building} | 3=address+postal code+city')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_print_loc_address' , 'number' , '0' , 'Show location address details in backoffice overview calls {0=no | 1=on print | 2=address+building} | 3=address+city')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_processing_group_all' , 'number' , '1' , 'Een behandelteam mag gekozen worden uit dezelfde srtdiscipline {0} of uit alle srtdiscipline {1=default})')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_reference_days' , 'number' , '100' , 'Het aantal dagen terug in de tijd van waaraf eigen referentie getoond dienen te worden')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_rejected_is_open' , 'number' , '0' , 'show rejected meldingen as Open FE/FO {1=Open | 0=Closed}.')
@@ -687,9 +676,8 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_uren_more'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_uren_omschrijving' , 'number' , '1' , 'Description to show with hour registration {1=melder | 2=vakgroep/stdmelding | 3=opdrachtomschrijving | 4=opdrachttype-melder}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_uren_weeks_back' , 'number' , '8' , 'Show this number of weeks in the overview, ending at the selected date')
DEFINE_SETTING('MLD', 0000, 'WEB_PRSSYS', 'mld_use_department' , 'number' , '0' , 'MLD also registers a department. You can see MLD of your department scope and below (0=don''t use | 1=use)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_use_order_approval' , 'number' , '0' , 'Approval mechanism is used for mld orders (0=disabled | 1=enabled)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_use_order_approval' , 'number' , '1' , 'Approval mechanism is used for mld orders (0=disabled | 1=enabled)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_use_plandate2' , 'number' , '0' , '*Allow use of planned end date {0=no | 1=only show in list | 2=yes, but don''t show in list | 3=yes and show in list}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_edit_plandates' , 'number' , '1' , 'Edit plandates { 1=in order (default), 2=with buttons, 3=both }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_workflow_set_defaults' , 'number' , '0' , 'Set defaults for flexkenmerken if they weren''t set by the predecessor (0=do not set | 1=set defaults)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_workflowstep_in_xml' , 'number' , '0' , 'Include all data of all other workflowsteps in XML for prints of a call from a workflow (0=no | 1=yes)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'nightly_mld2bo_emailaddress' , 'string' , '' , 'Notification email address outside office hours')
@@ -715,7 +703,7 @@ DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_approvemethod'
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_bedrijf_leveranciernr_unique' , 'number' , '0' , 'leveranciernr or prs_bedrijf unique (1) or not unique (0)')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_collegas_used' , 'number' , '9' , 'Can FE users indicate collegues for replacement. Use value as autlevel scope: everything (-1) ... nothing (9=default)')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_default_kpn_empty' , 'number' , '0' , 'Costcentre always default empty {0=no | 1=yes}')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_dep_default_kpn' , 'number' , '5' , 'A user can make costs for his own department by default {0=no | 1=yes | 2=all departments of company | 4=personal}')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_dep_default_kpn' , 'number' , '1' , 'A user can make costs for his own department by default {0=no | 1=yes | 2=all departments of company}')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_dep_default_kpn_voor' , 'number' , '0' , 'Gebruik de kostenplaatsen van de prs_perslid_voor indien gezet samen met mld_allow_for_others/bes_allow_for_others')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_fof_show_belongings' , 'number' , '1' , '0=hide belongings, 1=show belongings')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_h' , 'float' , '0.25' , 'Employability time stepsize')
@@ -732,8 +720,6 @@ DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'pda_prefer_current_werkplek'
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_use_mld_wijzigkey' , 'number' , '-1' , 'enduser can create this ''melding'' to request change in information')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_wpprefix_objectid' , 'number' , '0' , 'Workplace description as prefix in front of object id (at calls and contractscope) {0=no | 1=yes}')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_lookhistory_days' , 'number' , '29' , 'Days to look back to sort DESC on reservations per room. 0= no sort on historic reservations.')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_is_closed_after_days' , 'number' , '0' , 'Days after which a reservation is considered closed')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_release_equipment_on_close' , 'number' , '0' , 'Propose to release reserved equipment when closing a reservation prematurely {0=no | 1=yes}')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'fac_xml_max_factuur' , 'number' , '500' , 'Maximum number of lines for invoice in sales-invoice node')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_247organisation' , 'number' , '0' , '24/7 organisation (1= weekends are working days 0= weekends are holidays)')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_allow_for_others' , 'number' , '1' , 'Can I make reservations for others ? {0=no | 1=yes}')
@@ -746,7 +732,7 @@ DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_block'
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_bo_show_host' , 'number' , '1' , 'Show host column in res bo list (0=no show | 1=show)')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_bo_show_kpn' , 'number' , '1' , 'Show account number column in res bo list (0=no show | 1=show)')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_bo_show_telnr' , 'number' , '1' , 'Show telephonenumber column in res bo list (0=no show | 1=show)')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_bo_status_key' , 'number' , '5' , 'DEPRECATED Status of reservations to be considered as Closed')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_bo_status_key' , 'number' , '5' , 'Status of reservations to be considered as Closed')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_cat_reject_stdmld' , 'number' , -1 , 'Standard call key when rejecting catering')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_cat_t1' , 'float' , '-1' , 'Catering day start (hour), -1 is take res_t1')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_cat_t2' , 'float' , '-1' , 'Catering day end (hour), -1 is take res_t2')
@@ -762,8 +748,8 @@ DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_delete_charge_perc'
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_descript_required' , 'boolean' , 'false' , 'require description field for reservation')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_dur' , 'float' , '2' , 'initial reserving duration (hours)')
DEFINE_SETTING('RES', 0001, 'WEB_FACFAC', 'res_plantable_version' , 'number' , '2' , '2=use modern planning board for reservations (required css-grid support), 1=classic planboard')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_planbord_options' , 'number' , '0' , '0=default:show image and text; no tooltips, +1=no plantable image, +2=tooltip on mouse-over, +4=room description on mouse-over, +8=no text in plantable')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_forselect_options' , 'number' , '0' , 'for selecting rooms: 0=default:show image and text; no tooltips, +1=no plantable image, +2=tooltip on mouse-over, +4=room description on mouse-over, +8=no text in plantable')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_planbord_options' , 'number' , '0' , '0=default, +1=no plantable image, +2=tooltip on room/object, +4=room description popup only')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_forselect_options' , 'number' , '0' , 'for selecting rooms: 0=default, +1=no plantable image, +2=tooltip on room/object, +4=room description popup only')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_plantable_condensed_from' , 'number' , '3' , 'Number of days where plantable switches to condensed mode')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_fe_allow_dirty' , 'number' , '1' , '0=fe kan niets opslaan wat iets dirty zou maken, 1=het mag wel')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_fe_discs_only_in_res' , 'number' , '-1' , 'List of disciplines that can only be reserved in RES_ROOMS')
@@ -816,6 +802,60 @@ DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'cil_ins_srt_groep_key'
DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'sle_cil_koppelen' , 'number' , '1' , 'Sleutels en cilinders zijn door bo handmatig te koppelen {0=nee, 1=ja(default)}')
DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'sle_ins_srt_groep_key' , 'number' , '-1' , 'INS_SRTDEEL_KEY of object type Keys')
//Niemand gebruikt/heeft deze module, deze zijn dus nogal veel en onnodig geworden
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_vraag1','number', '-1','Kenmerk-key Vraag1 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_vraag2','number', '-1','Kenmerk-key Vraag2 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_vraag3','number', '-1','Kenmerk-key Vraag3 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_vraag4','number', '-1','Kenmerk-key Vraag4 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_vraag5','number', '-1','Kenmerk-key Vraag5 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_cijfer1','number', '-1','Kenmerk-key Cijfer1 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_cijfer2','number', '-1','Kenmerk-key Cijfer2 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_cijfer3','number', '-1','Kenmerk-key Cijfer3 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_cijfer4','number', '-1','Kenmerk-key Cijfer4 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_cijfer5','number', '-1','Kenmerk-key Cijfer5 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_toelicht1','number', '-1','Kenmerk-key Toelichting1 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_toelicht2','number', '-1','Kenmerk-key Toelichting2 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_toelicht3','number', '-1','Kenmerk-key Toelichting3 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_toelicht4','number', '-1','Kenmerk-key Toelichting4 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_toelicht5','number', '-1','Kenmerk-key Toelichting5 bij KTO van een melding')
//
//---- Fac_Settings voor KTO-RES -- For Future Use
//
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_vraag1','number', '-1','Kenmerk-key Vraag1 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_vraag2','number', '-1','Kenmerk-key Vraag2 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_vraag3','number', '-1','Kenmerk-key Vraag3 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_vraag4','number', '-1','Kenmerk-key Vraag4 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_vraag5','number', '-1','Kenmerk-key Vraag5 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_cijfer1','number', '-1','Kenmerk-key Cijfer1 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_cijfer2','number', '-1','Kenmerk-key Cijfer2 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_cijfer3','number', '-1','Kenmerk-key Cijfer3 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_cijfer4','number', '-1','Kenmerk-key Cijfer4 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_cijfer5','number', '-1','Kenmerk-key Cijfer5 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_toelicht1','number', '-1','Kenmerk-key Toelichting1 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_toelicht2','number', '-1','Kenmerk-key Toelichting2 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_toelicht3','number', '-1','Kenmerk-key Toelichting3 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_toelicht4','number', '-1','Kenmerk-key Toelichting4 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_toelicht5','number', '-1','Kenmerk-key Toelichting5 bij KTO van een reservering')
//
//---- Fac_Settings voor KTO-BES -- For Future Use
//
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_vraag1','number', '-1','Kenmerk-key Vraag1 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_vraag2','number', '-1','Kenmerk-key Vraag2 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_vraag3','number', '-1','Kenmerk-key Vraag3 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_vraag4','number', '-1','Kenmerk-key Vraag4 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_vraag5','number', '-1','Kenmerk-key Vraag5 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_cijfer1','number', '-1','Kenmerk-key Cijfer1 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_cijfer2','number', '-1','Kenmerk-key Cijfer2 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_cijfer3','number', '-1','Kenmerk-key Cijfer3 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_cijfer4','number', '-1','Kenmerk-key Cijfer4 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_cijfer5','number', '-1','Kenmerk-key Cijfer5 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_toelicht1','number', '-1','Kenmerk-key Toelichting1 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_toelicht2','number', '-1','Kenmerk-key Toelichting2 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_toelicht3','number', '-1','Kenmerk-key Toelichting3 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_toelicht4','number', '-1','Kenmerk-key Toelichting4 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_toelicht5','number', '-1','Kenmerk-key Toelichting5 bij KTO van een bestelling')
---- Fac_Settings voor PutOrders --
DEFINE_SETTING('PUO', 0000, 'WEB_FACTAB', 'puo_pwd' , 'string' , '' , 'SMS provider user password')
@@ -830,7 +870,7 @@ DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_bcc' , 'string
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_cc' , 'string' , '' , 'Copy email address for ORDERS only')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_connectionflag' , 'number' , '0' , 'INTERNET_FLAG_PASSIVE = 0x8000000, else = 0')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_custorders' , 'boolean' , 'false' , 'true = use customer orderqueue')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_emergencymailaddress' , 'string' , '' , 'E-mail address for system notifications')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_emergencymailaddress' , 'string' , '' , 'Fallback e-mail address if database cannot be reached')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_failalert_threshold' , 'number' , '240' , 'Minimum minutes after first failed send-attempts before an alert is sent to the (PRSSYS) application manager(s)')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_faildelayincrement' , 'number' , '10' , 'Delay retry of failed orders up to failures*10 minutes')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_faildelaymax' , 'number' , '120' , 'Maximum delay of failed orders in minutes')
@@ -872,7 +912,7 @@ DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smtpserverport' , 'number
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smtpusessl' , 'boolean' , 'false' , 'Use SSL when sending to port')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_system2systemxsl' , 'string' , 'xsl/system2system.xsl' , 'Stylesheet to be applied for system 2 system notifications')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_useproxy' , 'boolean' , 'false' , 'true = Use Proxy Server (recognizes TIS FTP gateway only), false = don''t use Proxy')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_usesenderasreplyto' , 'boolean' , 'true' , 'If true mail-From is always forced to puo_fromaddress and mail-Reply will be the sender')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_usesenderasreplyto' , 'boolean' , 'false' , 'If true mail-From is always forced to puo_fromaddress and mail-Reply will be the sender')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_file' , 'string' , 'Opdracht in bestand klaargezet' , 'Friendly text for file tracking')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_ftp' , 'string' , 'Opdracht per ftp gestuurd naar {0}' , 'Friendly text for ftp tracking, also port {1} folder {2}')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_sftp' , 'string' , 'Opdracht per sftp gestuurd naar {0}' , 'Friendly text for sftp tracking, also port {1} folder {2}')

View File

@@ -153,9 +153,7 @@ CREATE_TABLE(fac_gebruikersgroep, 0)
// CONSTRAINT fac_c_prs_perslid_key CHECK(prs_perslid_key IS NOT NULL),
fac_gebruikersgroep_aanmaak
DATE
DEFAULT SYSDATE,
fac_gebruikersgroep_vervaldatum
DATE
DEFAULT SYSDATE
);
CREATE_TABLE(fac_groeprechten, 0)
@@ -373,7 +371,7 @@ CREATE_TABLE(fac_usrrap_cols, 0)
fac_usrrap_cols_volgnr
NUMBER(10),
fac_usrrap_cols_column_name
VARCHAR2(128)
VARCHAR2(32)
NOT_NULL(fac_usrrap_cols_column_name, fac_c_usrrap_cols_column_name),
fac_usrrap_cols_expression
VARCHAR2(4000),
@@ -402,7 +400,8 @@ CREATE_TABLE(fac_usrrap_cols, 0)
NUMBER(1)
DEFAULT 3
NOT NULL
CONSTRAINT fac_c_usrrap_cols_sorting CHECK (fac_usrrap_cols_sorting IN (0,1,2,3))
CONSTRAINT fac_c_usrrap_cols_sorting CHECK (fac_usrrap_cols_sorting IN (0,1,2,3)),
CONSTRAINT fac_u_fac_usrrap_cols1 UNIQUE(fac_usrrap_key, fac_usrrap_cols_column_name)
);
CREATE_TABLE(fac_usrgraph, 0)
@@ -594,11 +593,7 @@ CREATE_TABLE(fac_srtnotificatie, 0)
DEFAULT 0
NOT_NULL(fac_srtnotificatie_gebouw, fac_c_fac_srtnotificatie_geb),
fac_srtnotificatie_srtkm_key
NUMBER(10),
fac_srtnotificatie_noticollegas
NUMBER(3)
DEFAULT 0
NOT NULL
NUMBER(10)
);
/*
@@ -1042,16 +1037,16 @@ CREATE_TABLE(fac_imp_onrgoed1, 0)
, alg_locatie_post_postcode VARCHAR2(12)
, alg_locatie_post_plaats VARCHAR2(30)
, alg_locatie_post_land VARCHAR2(30)
, alg_kenmerkwaarde1 VARCHAR2(4000)
, alg_kenmerkwaarde2 VARCHAR2(4000)
, alg_kenmerkwaarde3 VARCHAR2(4000)
, alg_kenmerkwaarde4 VARCHAR2(4000)
, alg_kenmerkwaarde5 VARCHAR2(4000)
, alg_kenmerkwaarde6 VARCHAR2(4000)
, alg_kenmerkwaarde7 VARCHAR2(4000)
, alg_kenmerkwaarde8 VARCHAR2(4000)
, alg_kenmerkwaarde9 VARCHAR2(4000)
, alg_kenmerkwaarde10 VARCHAR2(4000)
, alg_kenmerkwaarde1 VARCHAR2(255)
, alg_kenmerkwaarde2 VARCHAR2(255)
, alg_kenmerkwaarde3 VARCHAR2(255)
, alg_kenmerkwaarde4 VARCHAR2(255)
, alg_kenmerkwaarde5 VARCHAR2(255)
, alg_kenmerkwaarde6 VARCHAR2(255)
, alg_kenmerkwaarde7 VARCHAR2(255)
, alg_kenmerkwaarde8 VARCHAR2(255)
, alg_kenmerkwaarde9 VARCHAR2(255)
, alg_kenmerkwaarde10 VARCHAR2(255)
);
CREATE_TABLE(fac_imp_mld, 0)
@@ -1113,11 +1108,11 @@ CREATE_TABLE(fac_imp_onrgoed2, 0)
, res_ruimte_omschrijving VARCHAR2(255)
, prs_afdeling_naam VARCHAR2(60 CHAR) -- 15 zou genoeg zijn, wat speelruimte
, prs_ruimteafdeling_bezetting NUMBER(8,5)
, alg_kenmerkwaarde1 VARCHAR2(4000)
, alg_kenmerkwaarde2 VARCHAR2(4000)
, alg_kenmerkwaarde3 VARCHAR2(4000)
, alg_kenmerkwaarde4 VARCHAR2(4000)
, alg_kenmerkwaarde5 VARCHAR2(4000)
, alg_kenmerkwaarde1 VARCHAR2(255)
, alg_kenmerkwaarde2 VARCHAR2(255)
, alg_kenmerkwaarde3 VARCHAR2(255)
, alg_kenmerkwaarde4 VARCHAR2(255)
, alg_kenmerkwaarde5 VARCHAR2(255)
);
CREATE_TABLE(fac_imp_organisatie, 0)
@@ -1146,19 +1141,6 @@ CREATE_TABLE(fac_imp_kpn, 0)
prs_kostenplaats_externnr VARCHAR2(256)
);
CREATE_TABLE(fac_imp_kostensoort, 0)
(
prs_kostensoort_oms VARCHAR2 (60),
prs_kostensoort_opmerking VARCHAR2 (255),
prs_kostensoort_refcode VARCHAR2 (60),
prs_kostensoort_doorbelasten NUMBER (1),
prs_kostensoort_btw NUMBER (1),
prs_kostenplaats_key NUMBER (10),
prs_kostensoortgrp_key NUMBER (10),
prs_kostensoort_eind DATE,
prs_kostensoort_altcode VARCHAR2 (60)
);
CREATE_TABLE(fac_imp_perslid, 0)
(
alg_locatie_code VARCHAR2(10)
@@ -1168,7 +1150,6 @@ CREATE_TABLE(fac_imp_perslid, 0)
,prs_werkplek_volgnr NUMBER (8)
,prs_werkplek_omschrijving VARCHAR2 (30)
,prs_afdeling_naam VARCHAR2 (15)
,prs_kostenplaats_nr VARCHAR2 (30)
,prs_perslid_naam VARCHAR2 (60)
,prs_perslid_tussenvoegsel VARCHAR2 (15)
,prs_perslid_voorletters VARCHAR2 (15)
@@ -1186,26 +1167,26 @@ CREATE_TABLE(fac_imp_perslid, 0)
,prs_perslid_naamgebruik_code NUMBER(1) DEFAULT 0
,prs_perslid_geslacht NUMBER(1)
,prs_perslid_dienstverband NUMBER(3)
,prs_kenmerk1 VARCHAR2(4000)
,prs_kenmerk2 VARCHAR2(4000)
,prs_kenmerk3 VARCHAR2(4000)
,prs_kenmerk4 VARCHAR2(4000)
,prs_kenmerk5 VARCHAR2(4000)
,prs_kenmerk6 VARCHAR2(4000)
,prs_kenmerk7 VARCHAR2(4000)
,prs_kenmerk8 VARCHAR2(4000)
,prs_kenmerk9 VARCHAR2(4000)
,prs_kenmerk10 VARCHAR2(4000)
,prs_kenmerk11 VARCHAR2(4000)
,prs_kenmerk12 VARCHAR2(4000)
,prs_kenmerk13 VARCHAR2(4000)
,prs_kenmerk14 VARCHAR2(4000)
,prs_kenmerk15 VARCHAR2(4000)
,prs_kenmerk16 VARCHAR2(4000)
,prs_kenmerk17 VARCHAR2(4000)
,prs_kenmerk18 VARCHAR2(4000)
,prs_kenmerk19 VARCHAR2(4000)
,prs_kenmerk20 VARCHAR2(4000)
,prs_kenmerk1 VARCHAR2(255)
,prs_kenmerk2 VARCHAR2(255)
,prs_kenmerk3 VARCHAR2(255)
,prs_kenmerk4 VARCHAR2(255)
,prs_kenmerk5 VARCHAR2(255)
,prs_kenmerk6 VARCHAR2(255)
,prs_kenmerk7 VARCHAR2(255)
,prs_kenmerk8 VARCHAR2(255)
,prs_kenmerk9 VARCHAR2(255)
,prs_kenmerk10 VARCHAR2(255)
,prs_kenmerk11 VARCHAR2(255)
,prs_kenmerk12 VARCHAR2(255)
,prs_kenmerk13 VARCHAR2(255)
,prs_kenmerk14 VARCHAR2(255)
,prs_kenmerk15 VARCHAR2(255)
,prs_kenmerk16 VARCHAR2(255)
,prs_kenmerk17 VARCHAR2(255)
,prs_kenmerk18 VARCHAR2(255)
,prs_kenmerk19 VARCHAR2(255)
,prs_kenmerk20 VARCHAR2(255)
,fac_import_key NUMBER(10) /* for internal processing */
,fac_imp_file_index NUMBER(10) /* for internal processing */
,prs_perslid_key NUMBER(10) /* for internal processing */
@@ -1274,11 +1255,11 @@ CREATE_TABLE(fac_imp_sle, 0)
,cil_verdieping_code VARCHAR2 (10)
,cil_ruimte_nr VARCHAR2 (10)
,aant_sleutels_in_set NUMBER (3)
,ins_kenmerkwaarde1 VARCHAR2(4000)
,ins_kenmerkwaarde2 VARCHAR2(4000)
,ins_kenmerkwaarde3 VARCHAR2(4000)
,ins_kenmerkwaarde4 VARCHAR2(4000)
,ins_kenmerkwaarde5 VARCHAR2(4000)
,ins_kenmerkwaarde1 VARCHAR2(255)
,ins_kenmerkwaarde2 VARCHAR2(255)
,ins_kenmerkwaarde3 VARCHAR2(255)
,ins_kenmerkwaarde4 VARCHAR2(255)
,ins_kenmerkwaarde5 VARCHAR2(255)
);
-- Deze tabel is al gedefinieerd, zonder dat er al standaard procedures voor zijn.
@@ -1489,8 +1470,7 @@ CREATE_TABLE (fac_version, 0) (
DATE,
fac_version_putorders_date DATE,
fac_version_scheduler_date DATE,
fac_version_notify_date DATE,
fac_version_cleanup_date DATE
fac_version_notify_date DATE
);
CREATE_TABLE(fac_typestaffel, 0)
@@ -1590,9 +1570,8 @@ CREATE_TABLE(fac_nieuws, 0)
fac_nieuws_aanmaak DATE DEFAULT SYSDATE,
fac_nieuws_lang VARCHAR2(3),
fac_groep_key NUMBER(10) REFERENCES fac_groep(fac_groep_key), /* voor welke autorisatiegroep */
fac_nieuws_show NUMBER(3) DEFAULT 3 NOT NULL, /* &1=portal, &2=blogpagina, &4=community */
fac_nieuws_groep_key NUMBER(10) REFERENCES fac_nieuws_groep(fac_nieuws_groep_key),
fac_nieuws_parentkey NUMBER(10) REFERENCES fac_nieuws(fac_nieuws_key) ON DELETE CASCADE
fac_nieuws_show NUMBER(3) DEFAULT 3 NOT NULL, /* &1=portal, &2=blogpagina */
fac_nieuws_groep_key NUMBER(10)REFERENCES fac_nieuws_groep(fac_nieuws_groep_key)
// Note: this column is defined in PRS_TAB.SRC
// prs_perslid_key NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL
);
@@ -1698,26 +1677,26 @@ CREATE_TABLE(fac_imp_factuur, 0) /* Standaard tabel voor de factuur-import */
omschrijving VARCHAR2 (250), -- regelomschrijving
opmerking VARCHAR2(250),
btw_verlegd VARCHAR2(3),
kenmerk1 VARCHAR2(4000),
kenmerk2 VARCHAR2(4000),
kenmerk3 VARCHAR2(4000),
kenmerk4 VARCHAR2(4000),
kenmerk5 VARCHAR2(4000),
kenmerk6 VARCHAR2(4000),
kenmerk7 VARCHAR2(4000),
kenmerk8 VARCHAR2(4000),
kenmerk9 VARCHAR2(4000),
kenmerk10 VARCHAR2(4000),
kenmerk11 VARCHAR2(4000),
kenmerk12 VARCHAR2(4000),
kenmerk13 VARCHAR2(4000),
kenmerk14 VARCHAR2(4000),
kenmerk15 VARCHAR2(4000),
kenmerk16 VARCHAR2(4000),
kenmerk17 VARCHAR2(4000),
kenmerk18 VARCHAR2(4000),
kenmerk19 VARCHAR2(4000),
kenmerk20 VARCHAR2(4000),
kenmerk1 VARCHAR2(255),
kenmerk2 VARCHAR2(255),
kenmerk3 VARCHAR2(255),
kenmerk4 VARCHAR2(255),
kenmerk5 VARCHAR2(255),
kenmerk6 VARCHAR2(255),
kenmerk7 VARCHAR2(255),
kenmerk8 VARCHAR2(255),
kenmerk9 VARCHAR2(255),
kenmerk10 VARCHAR2(255),
kenmerk11 VARCHAR2(255),
kenmerk12 VARCHAR2(255),
kenmerk13 VARCHAR2(255),
kenmerk14 VARCHAR2(255),
kenmerk15 VARCHAR2(255),
kenmerk16 VARCHAR2(255),
kenmerk17 VARCHAR2(255),
kenmerk18 VARCHAR2(255),
kenmerk19 VARCHAR2(255),
kenmerk20 VARCHAR2(255),
fac_import_key NUMBER(10) CONSTRAINT fac_r_fac_imp_factuur1 REFERENCES fac_import(fac_import_key) ON DELETE CASCADE,
fac_imp_file_index NUMBER(10),
fin_factuur_key NUMBER(10), -- geen importkolom, temp
@@ -2077,7 +2056,6 @@ CREATE_TABLE(fac_imp_usrdata, 0)
fac_usrtab_naam VARCHAR2(16),
fac_usrdata_code VARCHAR2(40),
fac_usrdata_omschr VARCHAR2(60),
fac_usrdata_omschr2 VARCHAR2(60),
fac_usrdata_volgnr NUMBER(3),
fac_usrdata_prijs NUMBER(15,7),
fac_usrdata_vervaldatum DATE,
@@ -2329,10 +2307,10 @@ CREATE_TABLE(fac_gui_counter, 0)
fac_gui_counter_refkey NUMBER (10),
fac_gui_counter_count NUMBER (12),
fac_gui_counter_info VARCHAR2 (1000),
fac_gui_counter_date DATE DEFAULT SYSDATE
fac_gui_counter_date DATE DEFAULT SYSDATE,
// Note: this column is defined in PRS_TAB.SRC
// prs_perslid_key NUMBER (10) CONSTRAINT fac_r_guicnt_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
// CONSTRAINT fac_u_fac_gui_counter UNIQUE(fac_gui_counter_group, fac_gui_counter_date, fac_gui_counter_refkey, prs_perslid_key, fac_gui_counter_info)
// prs_perslid_key NUMBER (10) CONSTRAINT fac_r_guicnt_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL
CONSTRAINT fac_u_fac_gui_counter UNIQUE(fac_gui_counter_group, fac_gui_counter_date, fac_gui_counter_refkey, fac_gui_counter_info)
);
CREATE_TABLE(fac_sequence, 0)

View File

@@ -342,7 +342,6 @@ CREATE_TRIGGER(fac_t_fac_notificatie_B_I)
DECLARE
loms web_user_messages.web_user_mess_dsc%TYPE;
lxmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
lparamkey web_user_messages.web_user_mess_action_params%TYPE;
BEGIN
-- Kopieer direct naar statusinformatie op de portal indien van toepassing
-- Daarbij worden alle oude berichten (eerst) verwijderd
@@ -356,10 +355,6 @@ BEGIN
IF INSTR (loms, chr(10)) > 0 THEN
loms := SUBSTR (loms, 1, INSTR (loms, chr(10)) -1);
END IF;
-- meestal is dit de doorklik-key
lparamkey := COALESCE (:new.fac_notificatie_extrakey, :new.fac_notificatie_refkey);
-- Verwijder oudere (achterhaalde) portalberichten over hetzelfde
IF :NEW.fac_srtnotificatie_key IS NOT NULL
THEN
@@ -368,28 +363,21 @@ BEGIN
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_key = :NEW.fac_srtnotificatie_key;
-- de optionele tracking-key is geen goede doorklik-key voor melding/opdracht
IF lxmlnode IN ('melding', 'opdracht')
THEN
lparamkey := :new.fac_notificatie_refkey;
END IF;
DELETE FROM web_user_messages
WHERE fac_srtnotificatie_key IN
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = lxmlnode)
AND prs_perslid_key_receiver = :NEW.prs_perslid_key_receiver
AND web_user_mess_action_params = lparamkey;
AND web_user_mess_action_params = COALESCE (:NEW.fac_notificatie_extrakey, :NEW.fac_notificatie_refkey);
END IF;
-- En voeg de nieuwe toe. Let op: als een extrakey bekend is, wordt die als parameter gebruikt, anders gewoon refkey
INSERT INTO web_user_messages
(prs_perslid_key_sender, prs_perslid_key_receiver, web_user_mess_dsc, web_user_mess_action_status,
web_user_mess_action_params, fac_srtnotificatie_key, web_user_mess_prioriteit
)
VALUES (:NEW.prs_perslid_key_sender, :NEW.prs_perslid_key_receiver, loms, 1,
lparamkey, :NEW.fac_srtnotificatie_key,
COALESCE (:NEW.fac_notificatie_extrakey, :NEW.fac_notificatie_refkey), :NEW.fac_srtnotificatie_key,
:NEW.fac_notificatie_prioriteit
);
@@ -582,7 +570,7 @@ BEGIN
-- Moet ik nou nog iets doen om NULL te maken als dit alleen de # was?
-- En nu dus niet notificeren
ELSE
fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey, :new.fac_tracking_key);
fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey);
END IF;
END;
/

View File

@@ -53,10 +53,10 @@ AS
'CTR', lcl.l ('ctr_discipline') || ' ',
'FAQ', lcl.l ('faq_discipline') || ' ',
'INS', lcl.l ('ins_discipline') || ' ',
'MLD', lcl.l ('mld_discipline') || ' '
'MLD', lcl.l ('mld_discipline')
|| (CASE
WHEN ins_srtdiscipline_prefix IS NOT NULL
THEN ins_srtdiscipline_prefix || '-'
WHEN ins_srtdiscipline_prefix IS NULL THEN ''
ELSE ' ' || ins_srtdiscipline_prefix || '-'
END),
'RES', lcl.l ('res_discipline') || ' ',
ins_discipline_module || ' ')
@@ -136,10 +136,10 @@ SELECT -- GROEPEN MET DISCIPLINES
'CTR', lcl.l ('ctr_discipline') || ' ',
'FAQ', lcl.l ('faq_discipline') || ' ',
'INS', lcl.l ('ins_discipline') || ' ',
'MLD', lcl.l ('mld_discipline') || ' '
'MLD', lcl.l ('mld_discipline')
|| (CASE
WHEN ins_srtdiscipline_prefix IS NOT NULL
THEN ins_srtdiscipline_prefix || '-'
WHEN ins_srtdiscipline_prefix IS NULL THEN ''
ELSE ' ' || ins_srtdiscipline_prefix || '-'
END),
'RES', lcl.l ('res_discipline') || ' ',
ins_discipline_module || ' ')
@@ -438,8 +438,7 @@ AS
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
AND cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0 /* actief */
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
AND cnt.getnieuwsteversiekey(c.cnt_contract_key) = c.cnt_contract_key;
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
/*
* contract notificatie die ook naar collega's gestuurd wordt.
@@ -474,8 +473,7 @@ AS
AND c.prs_perslid_key_beh = p.prs_perslid_key
AND cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0 /* actief */
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
AND cnt.getnieuwsteversiekey(c.cnt_contract_key) = c.cnt_contract_key;
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
@@ -721,8 +719,8 @@ AS
SELECT fac_notificatie_receiver_email, fac_notificatie_receiver_phone, fac_notificatie_oms, fac_notificatie_status,
fac_notificatie_key, fac_notificatie_refkey, fac_notificatie_datum, fac_srtnotificatie_code, fac_srtnotificatie_xmlnode,
fac_notificatie_extrakey, fac_notificatie_sender_email, fac_notificatie_lang, fac_notificatie_systeemadres,
fac_notificatie_attachments, fac_srtnotificatie_delay, fac_srtnotificatie_srtkm_key, fac_srtnotificatie_noticollegas,
prs_perslid_key_receiver, fac_notificatie_notbefore, fac_notificatie_failcount, prs_bedrijfadres_key,
fac_notificatie_attachments, fac_srtnotificatie_delay, fac_srtnotificatie_srtkm_key, prs_perslid_key_receiver,
fac_notificatie_notbefore, fac_notificatie_failcount, prs_bedrijfadres_key,
prs_perslid_key_sender, fac_notificatie_geturl, fac_notificatie_getbody
FROM fac_notificatie n
LEFT OUTER JOIN fac_srtnotificatie sn ON n.fac_srtnotificatie_key = sn.fac_srtnotificatie_key;
@@ -1025,29 +1023,17 @@ SELECT l.fac_locale_kolomnaam,
WHERE l.fac_locale_kolomkeyval = x.ins_srtdiscipline_key
AND l.fac_locale_kolomnaam = 'INS_SRTDISCIPLINE_OMSCHRIJVING';
-- Basisview voor logging-rapportages van niet-imports
CREATE_VIEW(fac_v_rap_imp_log, 0)
AS
SELECT imp_log_applicatie,
imp_log_datum,
imp_log_status,
DECODE (imp_log_status, 'F', 'Fatal', 'E', 'Error', 'W', 'Warning', 'I', 'Informative', 'S', 'Summary', imp_log_status) niveau,
imp_log_omschrijving,
imp_log_hint opmerking
FROM imp_log
WHERE fac_import_key IS NULL;
-- en daarop gebaseerd standaard al eentje voor putorders (die bestond al)
CREATE_VIEW(fac_v_rap_putorderslog, 0)
AS
SELECT imp_log_datum hide_f_imp_log_datum,
TO_CHAR (imp_log_datum, 'YYYYMMDD') fclt_f_datum,
TO_CHAR (imp_log_datum, 'HH24:MI:SS') tijdstip,
niveau fclt_f_niveau,
DECODE (imp_log_status, 'F', 'Fatal', 'E', 'Error', 'W', 'Warning', 'I', 'Informative', '-') fclt_f_niveau,
imp_log_omschrijving fclt_f_omschrijving
FROM fac_v_rap_imp_log
FROM imp_log
WHERE imp_log_applicatie = '$PutOrders$' AND imp_log_datum > SYSDATE - 10;
CREATE_VIEW (fac_v_lcrap_fe_vs_key_data, 0)
AS
SELECT x.prs_perslid_key,
@@ -1071,7 +1057,7 @@ AS
FROM prs_v_aanwezigperslid p
WHERE ( prs_perslid_oslogin IS NULL
OR prs_perslid_oslogin NOT IN ('_FACILITOR', '_PUTORDERS', '_HMAIL'))
AND EXISTS -- op basis van groep + rechten
AND EXISTS -- op basis van groep + rechten
(SELECT 1
FROM fac_v_webgebruiker
WHERE prs_perslid_key = p.prs_perslid_key)
@@ -1136,77 +1122,48 @@ AS
fac.safe_to_number (fac.getsetting ('xd_primary_bedrijfkey'))) b
ON x.prs_perslid_key = b.prs_perslid_key;
-- Dit gaan we hanteren om API-users te tellen (zijn dan geen normale keyusers meer)
CREATE_VIEW (fac_v_lcrap_apiusers, 0)
AS
SELECT apiuser, apinaam, LISTAGG (module, ', ') modules
FROM ( SELECT prs_perslid_oslogin apiuser, prs_perslid_naam apinaam, fac_functie_module module
FROM ( SELECT gg.prs_perslid_key, g.fac_functie_key, g.ins_discipline_key
FROM fac_groeprechten g, fac_gebruikersgroep gg, fac_groep fg
WHERE g.fac_groep_key = gg.fac_groep_key
AND gg.fac_groep_key = fg.fac_groep_key
AND fac_groep_upper <> '_DEFAULT'
GROUP BY gg.prs_perslid_key, g.fac_functie_key, g.ins_discipline_key) w,
fac_functie f,
prs_perslid p
WHERE w.fac_functie_key = f.fac_functie_key
AND p.prs_perslid_key = w.prs_perslid_key
AND prs_perslid_apikey IS NOT NULL
AND BITAND (prs_perslid_flags, 36) = 0 --AND prs_perslid_oslogin NOT IN ('_HMAIL', '_PUTORDERS', 'SENSORS')
AND prs_perslid_verwijder IS NULL
GROUP BY prs_perslid_oslogin, prs_perslid_naam, fac_functie_module)
GROUP BY apiuser, apinaam
ORDER BY 1;
-- totaliseer data uit bovenstaande view tot in principe 1 samenvattingsregel
-- (voor crossdomain (xd) fe-users bestaat geen definitie)
-- personen zonder rechten worden als passive_user toegevoegd
CREATE_VIEW (fac_v_lcrap_fe_vs_key, 0)
(
tijdstip,
licensed_fe,
licensed_key,
all_users,
fe_users,
key_users,
devices,
passive_users,
--xdfe_users,
xdkey_users,
recent_login
)
BEQUEATH DEFINER
AS
SELECT tijdstip,
licensed_fe,
licensed_key,
all_users,
fe_users,
key_users,
NVL (system_users, 0),
NVL (passive_users, 0),
--xdfe_users,
xdkey_users,
recent_login
FROM (SELECT SYSDATE
tijdstip,
COUNT (*)
all_users,
COUNT (*) - SUM (DECODE (x.key_user, NULL, DECODE (x.xd_user, NULL, 0, 1), 1))
fe_users,
SUM (DECODE (x.key_user, NULL, 0, DECODE (x.xd_user, NULL, 1, 0)))
key_users,
SUM (DECODE (x.key_user, NULL, 0, DECODE (x.xd_user, NULL, 0, 1)))
xdkey_users,
SUM (CASE WHEN x.last_login > SYSDATE - 100 THEN 1 ELSE 0 END)
recent_login
fac.getsetting ('licensed_fe_users') licensed_fe,
fac.getsetting ('licensed_key_users') licensed_key,
COUNT (*) all_users,
COUNT (*) - SUM (DECODE (x.key_user, NULL, DECODE (x.xd_user, NULL, 0, 1), 1)) fe_users,
SUM (DECODE (x.key_user, NULL, 0, DECODE (x.xd_user, NULL, 1, 0))) key_users,
--SUM (DECODE (x.key_user, NULL, DECODE (x.xd_user, NULL, 0, 1), 0)) xdfe_users,
SUM (DECODE (x.key_user, NULL, 0, DECODE (x.xd_user, NULL, 0, 1))) xdkey_users,
SUM (CASE WHEN x.last_login > SYSDATE - 100 THEN 1 ELSE 0 END) recent_login
FROM fac_v_lcrap_fe_vs_key_data x
WHERE x.usertype = 'user') a
LEFT JOIN (SELECT COUNT (*) system_users
FROM fac_v_lcrap_fe_vs_key_data xx
WHERE xx.usertype <> 'user')
ON 1 = 1
LEFT JOIN (SELECT COUNT (*) passive_users
FROM prs_v_aanwezigperslid p
WHERE prs_perslid_inactief IS NULL
AND NOT EXISTS
(SELECT ''
FROM fac_gebruikersgroep
WHERE prs_perslid_key = p.prs_perslid_key))
ON 1 = 1;
CREATE_VIEW (fac_v_lcrap_grp_stats, 0)
@@ -1278,6 +1235,22 @@ AS
FROM fac_gebruikersgroep
WHERE prs_perslid_key = p.prs_perslid_key);
CREATE_VIEW(fac_v_lcrap_saldo, 1)
(
tijdstip,
fe_saldo,
key_saldo,
fe_diff_pct,
key_diff_pct
)
AS
SELECT TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss') tijdstip,
fac.getsetting ('licensed_fe_users') - fe_users fe_saldo,
fac.getsetting ('licensed_key_users') - key_users key_saldo,
DECODE(fac.getsetting ('licensed_fe_users'),0,100,100*(fac.getsetting ('licensed_fe_users') - fe_users)/fac.getsetting ('licensed_fe_users')),
DECODE(fac.getsetting ('licensed_key_users'),0,100,100*(fac.getsetting ('licensed_key_users') - fe_users)/fac.getsetting ('licensed_key_users'))
FROM fac_v_lcrap_fe_vs_key;
CREATE_VIEW (fac_v_usage_statistics, 0)
AS
SELECT SYSDATE
@@ -1827,12 +1800,9 @@ AS
SELECT fac_usrtab_naam fclt_f_tabelnaam,
fac_usrdata_code waarde_code,
fac_usrdata_omschr waarde_oms,
fac_usrdata_omschr2 waarde_oms2,
fac_usrdata_volgnr volgnr,
fac_usrdata_prijs prijs,
fac_usrdata_vervaldatum vervaldatum,
(SELECT fac_usrtab_naam FROM fac_usrtab WHERE fac_usrtab_key = ut.fac_usrtab_parentkey) waardetabel,
(SELECT fac_usrdata_code FROM fac_usrdata WHERE fac_usrdata_key = ud.fac_usrdata_parentkey) waardetabel_code
fac_usrdata_vervaldatum vervaldatum
FROM fac_usrdata ud, fac_usrtab ut
WHERE fac_usrdata_verwijder IS NULL
AND ud.fac_usrtab_key = ut.fac_usrtab_key;

View File

@@ -1,467 +0,0 @@
/* FAC_VIEEXP.SRC
* $Revision$
* $Id$
*
* Views die niet in de andere *_VIE.SRC kunnen omdat deze views gebruiken die dan nog niet gedefinieerd zijn.
*/
-- import: FIP: Aanvullen technische bedrijfsadressen
-- importsheet: Inventarisatie Externe bedrijven, tabblad Technische adressen
-- importtabel: fac_imp_bedrijfadres
CREATE OR REPLACE VIEW fac_v_exp_bedrijfadres
AS
SELECT b.prs_bedrijf_naam Bedrijfsnaam
, b.prs_leverancier_nr Leveranciernummer
, a.prs_bedrijfadres_type Kanaal
, a.mld_typeopdr_key Opdrachttype
, a.prs_bedrijfadres_url Adres
, a.prs_bedrijfadres_ordermode Ordermode
, a.prs_bedrijfadres_certificate Certificaat
, a.prs_bedrijfadres_xsl Xsltemplate
, a.prs_bedrijfadres_ext Extensie
, a.prs_bedrijfadres_attachfile Vastebijlage
, a.prs_bedrijfadres_username Login
, a.prs_bedrijfadres_password Wachtwoord
, a.prs_bedrijfadres_sender Afzender
, a.prs_bedrijfadres_lockuser_key Vastegebruiker
, a.prs_bedrijfadres_lockexpire Expiredays
FROM prs_bedrijfadres a
, prs_v_aanwezigbedrijf b
WHERE a.prs_bedrijf_key = b.prs_bedrijf_key
;
-- import: FIP: Aanvullen contactpersonen
-- importsheet: Inventarisatie Externe bedrijven, tabblad Contactpersonen
-- importtabel: fac_v_exp_contactpersoon
CREATE OR REPLACE VIEW fac_v_exp_contactpersoon
AS
SELECT b.prs_bedrijf_naam Bedrijfsnaam
, b.prs_leverancier_nr Leveranciernummer
, NULL Persoonmatchcode
, NULL Persoonmatchwaarde
, c.prs_contactpersoon_naam ContactPersoonAchternaam
, c.prs_contactpersoon_tussenv Tussenvoegsel
, c.prs_contactpersoon_voorletters Voorletters
, c.prs_contactpersoon_voornaam Voornaam
, c.prs_contactpersoon_aanhef Titel
, c.prs_contactpersoon_titel Aanhef
, c.prs_contactpersoon_telefoon_1 Telefoonnummer
, c.prs_contactpersoon_telefoon_2 Mobiel
, c.prs_contactpersoon_email Email
, c.prs_contactpersoon_functie Functie
, c.prs_contactpersoon_opmerking Opmerking
, l.alg_locatie_code Locatiecode
FROM prs_contactpersoon c
, prs_v_aanwezigbedrijf b
, prs_contactpersoon_locatie p
, alg_v_aanweziglocatie l
WHERE c.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND c.prs_contactpersoon_key = p.prs_contactpersoon_key(+)
AND p.alg_locatie_key = l.alg_locatie_key(+)
;
-- import: FIP: Aanvullen externe bedrijven
-- importsheet: Inventarisatie Externe bedrijven, tabblad Externe Bedrijven
-- importtabel: fac_imp_ext_bedrijf
CREATE OR REPLACE VIEW fac_v_exp_ext_bedrijf
AS
SELECT b.prs_bedrijf_naam Bedrijfsnaam
, b.prs_leverancier_nr Leveranciernummer
, b.prs_bedrijf_bezoek_adres Bezoek_adres
, b.prs_bedrijf_bezoek_postcode Bezoek_postcode
, b.prs_bedrijf_bezoek_plaats Bezoek_plaats
, b.prs_bedrijf_bezoek_land Bezoek_land
, b.prs_bedrijf_post_adres Post_adres
, b.prs_bedrijf_post_postcode Post_postcode
, b.prs_bedrijf_post_plaats Post_plaats
, b.prs_bedrijf_post_land Post_land
, b.prs_bedrijf_telefoon Bedrijf_telefoon
, b.prs_bedrijf_fax Bedrijf_fax
, b.prs_bedrijf_email Bedrijf_email
, b.prs_bedrijf_contact_persoon Contact_persoon
, b.prs_bedrijf_contact_telefoon Contact_telefoon
, b.prs_bedrijf_contact_fax Contact_fax
, NULL Bedrijf_xsl
, NULL Bedrijf_orderadres
, CASE WHEN b.prs_bedrijf_leverancier = 1 THEN 'J' ELSE '' END Leverancier
, CASE WHEN b.prs_bedrijf_uitvoerende = 1 THEN 'J' ELSE '' END Uitvoerende
, CASE WHEN b.prs_bedrijf_contract = 1 THEN 'J' ELSE '' END Contractant
, CASE WHEN b.prs_bedrijf_huurder = 1 THEN 'J' ELSE '' END Huurder
, CASE WHEN b.prs_bedrijf_ingids = 1 THEN 'J' ELSE '' END Tooningids
, b.prs_bedrijf_uurloon Uurloon
, b.prs_overeenkomst_nr Overeenkomstnummer
, b.prs_overeenkomst_datum Overeenkomstdatum
, b.prs_bedrijf_opmerking Opmerking
, d.prs_dienst_omschrijving Dienst
, CASE WHEN l.alg_locatie_key IS NULL
THEN (SELECT MAX(v.alg_locatie_code) FROM alg_v_gebouw_gegevens v WHERE v.alg_gebouw_key = l.alg_gebouw_key)
ELSE (SELECT MAX(v.alg_locatie_code) FROM alg_v_gebouw_gegevens v WHERE v.alg_locatie_key = l.alg_locatie_key)
END Locatiecode
, (SELECT alg_gebouw_code
FROM alg_v_gebouw_gegevens
WHERE alg_gebouw_key = l.alg_gebouw_key
) Gebouwcode
, r.prs_relatietype_omschrijving Relatietype
, NULL Overig1 -- kenmerk1
, NULL Overig2 -- kenmerk2
, NULL Overig3 -- kenmerk3
FROM prs_bedrijf b
, prs_relatietype r
, prs_bedrijfdienstlocatie l
, prs_dienst d
WHERE b.prs_relatietype_key = r.prs_relatietype_key(+)
AND b.prs_bedrijf_key = l.prs_bedrijf_key(+)
AND l.prs_dienst_key = d.prs_dienst_key
;
-- import: FIP: 9-Aanvullen van inspectiedefinities
-- importsheet: Inventarisatie Inspecties
-- importtabel: fac_imp_inspectie
CREATE OR REPLACE VIEW fac_v_exp_inspectie
AS
SELECT d.ins_discipline_omschrijving Disciplineomschrijving
, g.ins_srtgroep_omschrijving Groepsoortomschrijving
, s.ins_srtdeel_code Objectsoortcode
, c.ins_srtcontrole_omschrijving Controle_omschrijving
, c.ins_srtcontrole_info Controle_informatie
, c.ins_srtcontrole_periode Controle_periode
, c.ins_srtcontrole_eenheid Eenheid
, c.ins_srtcontrole_mode Controle_mode
, c.ins_srtcontrole_bits Bits
FROM ins_srtcontrole c
, ins_srtdeel s
, ins_srtgroep g
, ins_discipline d
WHERE c.ins_srtinstallatie_key = s.ins_srtdeel_key
AND s.ins_srtgroep_key = g.ins_srtgroep_key
AND g.ins_discipline_key = d.ins_discipline_key
;
-- import: FIP: 6-Aanvullen objecten
-- importsheet: Inventarisatie Objecten-56894
-- importtabel: fac_imp_ins
CREATE OR REPLACE VIEW fac_v_exp_ins
AS
SELECT DISTINCT d.ins_discipline_omschrijving Disciplineomschrijving
, k.prs_kostensoort_oms Disciplinekostensoort
, d.ins_srtgroep_omschrijving Groepsoortomschrijving
, sd.ins_srtdeel_code Objectsoortcode
, sd.ins_srtdeel_omschrijving Objectsoortomschrijving
, id.ins_deel_omschrijving Objectidentificatie
, id.ins_deel_opmerking Objectopmerking
, sd.ins_srtdeel_uitleenbaar Reserveerbaar
, sd.ins_srtdeel_eenheid Eenheid
, sd.ins_srtdeel_prijs Prijs
, l.alg_locatie_code Locatiecode
, d.alg_gebouw_code Gebouwcode
, d.alg_verdieping_code Bouwlaagvolgnummer
, d.alg_ruimte_nr Ruimtenummer
, DECODE(rd.res_deel_alg_level, -1,'', 0,'E', 1,'D', 2,'L', 3,'G', 4,'V', 5,'R') Reserveringscope
, DECODE(r.ins_discipline_min_level, 1,'O', 2,'V', 3,'R', 4,'P', 5,'W', '') Catalogustype
, r.ins_discipline_omschrijving Catalogusnaam
, c.prs_kostensoort_oms Cataloguskostensoort
, NULL Persoonmatchcode
, NULL Persoonmatchwaarde
, id.ins_deel_aanmaak Ingangsdatum
, id.ins_deel_vervaldatum Vervaldatum
, id.ins_deel_aantal Aantal
, id.ins_deel_externnr Externnr
, NULL Kenmerk1
, NULL Kenmerk2
, NULL Kenmerk3
, NULL Kenmerk4
, NULL Kenmerk5
, NULL Kenmerk6
, NULL Kenmerk7
, NULL Kenmerk8
, NULL Kenmerk9
, NULL Kenmerk10
, NULL Kenmerk11
, NULL Kenmerk12
, NULL Kenmerk13
, NULL Kenmerk14
, NULL Kenmerk15
, NULL Kenmerk16
, NULL Kenmerk17
, NULL Kenmerk18
, NULL Kenmerk19
, NULL Kenmerk20
FROM ins_v_deel_gegevens d
, ins_discipline i
, ins_srtdeel sd
, alg_locatie l
, alg_gebouw g
, ins_deel id
, prs_kostensoort k
, prs_kostensoort c
, res_deel rd
, res_discipline r
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
AND d.alg_locatie_key = l.alg_locatie_key
AND d.alg_gebouw_key = g.alg_gebouw_key
AND d.ins_deel_key = id.ins_deel_key
AND d.ins_discipline_key = i.ins_discipline_key
AND id.ins_deel_key = rd.res_ins_deel_key(+)
AND rd.res_discipline_key = r.ins_discipline_key(+)
AND i.prs_kostensoort_key = k.prs_kostensoort_key(+)
AND r.prs_kostensoort_key = c.prs_kostensoort_key(+)
AND id.ins_deel_verwijder IS NULL
;
-- import: FIP: 5-Aanvullen servicedesk
-- importsheet: Inventarisatie Meldingen
-- importtabel: fac_imp_mld
CREATE OR REPLACE VIEW fac_v_exp_mld
AS
SELECT s.ins_srtdiscipline_omschrijving Vakgroeptype
, s.ins_srtdiscipline_prefix Prefix
, s.ins_srtdiscipline_alg Plaatsgegevens
, s.ins_srtdiscipline_ins Objectgegevens
, s.ins_srtdiscipline_bes Bestelgegevens
, i.ins_discipline_omschrijving Vakgroep
, m.mld_stdmelding_omschrijving Standaardmelding
, g.mld_stdmeldinggroep_naam Groep
, k.prs_kostensoort_oms Kostensoort
, REPLACE(CASE WHEN m.mld_stdmelding_t_accepttijd.eenheid = 'U'
THEN m.mld_stdmelding_t_accepttijd.tijdsduur / 24
ELSE m.mld_stdmelding_t_accepttijd.tijdsduur
END, ',', '.') Acceptatietijd
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvoertijd.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvoertijd.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvoertijd.tijdsduur
END, ',', '.') Uitvoertijd
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr1.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr1.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr1.tijdsduur
END, ',', '.') Uitvoertijd_kritiek
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr2.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr2.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr2.tijdsduur
END, ',', '.') Uitvoertijd_hoog
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr4.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr4.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr4.tijdsduur
END, ',', '.') Uitvoertijd_laag
, p.mld_disc_params_directklaar Directklaar
, d.prs_dienst_omschrijving Dienst
, m.mld_stdmelding_notfrontend Not_frontend
, m.alg_onrgoed_niveau alg_niveau
, t.mld_typeopdr_omschrijving Opdrachttype
, m.mld_stdmelding_hint Hint
, m.mld_stdmelding_kopieerbaar Kopieerbaar
, m.mld_stdmelding_afmeldtext Tekst_bij_afmelden
, DECODE(m.mld_stdmelding_doublecheck, 0, 'N', 1, 'I', 2, 'A', 3, 'B', 'N') Dubbele_meldingen
, m.mld_stdmelding_slabewaken Sla_bewaken
, i.ins_discipline_image Disc_image
, m.mld_stdmelding_image Stdm_image
, m.mld_stdmelding_externnr Externnr
FROM mld_stdmelding m
, mld_typeopdr t
, mld_stdmeldinggroep g
, prs_kostensoort k
, prs_dienst d
, mld_discipline i
, mld_disc_params p
, ins_srtdiscipline s
WHERE m.mld_ins_discipline_key = i.ins_discipline_key
AND m.mld_ins_discipline_key = p.mld_ins_discipline_key
AND i.ins_srtdiscipline_key = s.ins_srtdiscipline_key
AND m.mld_typeopdr_key = t.mld_typeopdr_key(+)
AND m.mld_stdmeldinggroep_key = g.mld_stdmeldinggroep_key(+)
AND m.prs_kostensoort_key = k.prs_kostensoort_key(+)
AND m.prs_dienst_key = d.prs_dienst_key(+)
;
-- import: FIP: 1-Aanvullen districten t/m gebouwen
-- importsheet: Inventarisatie Vastgoed, tabblad Locaties
-- importtabel: fac_imp_onrgoed1
CREATE OR REPLACE VIEW fac_v_exp_onrgoed1
AS
SELECT r.alg_regio_omschrijving Regio,
d.alg_district_omschrijving District,
l.alg_locatie_code Locatiecode,
l.alg_locatie_omschrijving Locatieomschrijving,
g.alg_gebouw_code Gebouwcode,
g.alg_gebouw_omschrijving Gebouwomschrijving,
sg.alg_srtgebouw_omschrijving Gebouwfunctie,
l.alg_locatie_verantw Contactpersoon,
l.alg_locatie_verantw_tel Telefoonnummer,
l.alg_locatie_adres Bezoekadres,
l.alg_locatie_postcode Postcode,
l.alg_locatie_plaats Plaats,
l.alg_locatie_land Locatieland,
l.alg_locatie_post_adres Postadres,
l.alg_locatie_post_postcode postPostcode,
l.alg_locatie_post_plaats postPlaats,
l.alg_locatie_post_land Land,
NULL kenmerk1,
NULL kenmerk2,
NULL kenmerk3,
NULL kenmerk4,
NULL kenmerk5,
NULL kenmerk6,
NULL kenmerk7,
NULL kenmerk8,
NULL kenmerk9,
NULL kenmerk10
FROM alg_gebouw g,
alg_srtgebouw sg,
alg_locatie l,
alg_district d,
alg_regio r
WHERE g.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
AND d.alg_regio_key = r.alg_regio_key
AND g.alg_srtgebouw_key = sg.alg_srtgebouw_key
AND g.alg_gebouw_verwijder IS NULL
AND l.alg_locatie_verwijder IS NULL
AND ( l.alg_locatie_vervaldatum IS NULL
OR l.alg_locatie_vervaldatum > TRUNC (SYSDATE))
AND ( g.alg_gebouw_vervaldatum IS NULL
OR TRUNC (g.alg_gebouw_vervaldatum) > TRUNC (SYSDATE))
;
-- import: FIP: 2-Aanvullen bouwlagen en ruimten
-- importsheet: Inventarisatie Vastgoed, tabblad Ruimten
-- importtabel: fac_imp_onrgoed2
CREATE OR REPLACE VIEW fac_v_exp_onrgoed2
AS
SELECT l.alg_locatie_code Locatiecode
, g.alg_gebouw_code Gebouwcode
, v.alg_verdieping_volgnr Bouwlaagvolgnummer
, s.alg_srtruimte_omschrijving Ruimtefunctie
, r.alg_ruimte_nr Ruimtenummer
, r.alg_ruimte_omschrijving Ruimteomschrijving
, r.alg_ruimte_bruto_vloeropp Vloeroppervlak
, pa.prs_afdeling_naam Afdelingscode
, ra.prs_ruimteafdeling_bezetting Bezetting
, s.prs_verhuurbaar ReserveerbareRuimte
, rd.ins_discipline_omschrijving Categorie
, rp.res_disc_params_expire_dagen Expiredagen
, rr.res_ruimte_prijs Prijs
, ro.res_opstelling_omschrijving Opstelling
, rro.res_ruimte_opstel_bezoekers AantalBezoekers
, rr.res_ruimte_nr Naam
, rr.res_ruimte_omschrijving Omschrijving
, NULL Kenmerk1
, NULL Kenmerk2
, NULL Kenmerk3
, NULL Kenmerk4
, NULL Kenmerk5
FROM alg_locatie l
, alg_gebouw g
, alg_verdieping v
, alg_ruimte r
, alg_srtruimte s
, prs_ruimteafdeling ra
, prs_afdeling pa
, res_alg_ruimte rar
, res_ruimte rr
, res_discipline rd
, res_disc_params rp
, res_ruimte_opstelling rro
, res_opstelling ro
WHERE l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_srtruimte_key = s.alg_srtruimte_key
AND r.alg_ruimte_key = ra.alg_ruimte_key(+)
AND ra.prs_afdeling_key = pa.prs_afdeling_key(+)
AND r.alg_ruimte_key = rar.alg_ruimte_key(+)
AND rar.res_ruimte_key = rr.res_ruimte_key(+)
AND rr.res_discipline_key = rd.ins_discipline_key(+)
AND rd.ins_discipline_key = rp.res_ins_discipline_key(+)
AND rr.res_ruimte_key = rro.res_ruimte_key(+)
AND rro.res_opstelling_key = ro.res_opstelling_key(+)
;
-- import: FIP: 3-Aanvullen organisatiestructuur
-- importsheet: Inventarisatie Organisatiestructuur
-- importtabel: fac_imp_organisatie
CREATE OR REPLACE VIEW fac_v_exp_organisatie
AS -- import: FIP: 3-Aanvullen organisatiestructuur
-- importsheet: ?
SELECT b.prs_bedrijf_naam Bedrijfsnaam
, ap.prs_afdeling_naam Afdelingscodeparent
, a.prs_afdeling_naam Afdelingscode
, a.prs_afdeling_omschrijving Afdelingsomschrijving
, k.prs_kostenplaats_nr Kostenplaats
, a.prs_afdeling_externid Externid
FROM prs_afdeling a
, prs_afdeling ap
, prs_kostenplaats k
, prs_bedrijf b
WHERE a.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
AND a.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND a.prs_afdeling_parentkey = ap.prs_afdeling_key(+)
;
-- import: FIP: 4-Aanvullen personen
-- importsheet: Inventarisatie Personen, tabblad Personen
-- importtabel: fac_imp_perslid
CREATE OR REPLACE VIEW fac_v_exp_perslid
AS
SELECT l.alg_locatie_code Locatiecode
, o.alg_gebouw_code Gebouwcode
, o.alg_verdieping_code Bouwlaagvolgnummer
, o.alg_ruimte_nr Ruimtenummer
, w.prs_werkplek_volgnr Werkplekvolgnummer
, w.prs_werkplek_omschrijving Omschrijving
, a.prs_afdeling_naam Afdelingscode
, p.prs_perslid_naam PersoonAchternaam
, p.prs_perslid_tussenvoegsel Tussenvoegsel
, p.prs_perslid_voorletters Voorletters
, p.prs_perslid_voornaam Voornaam
, p.prs_perslid_titel TitelAanhef
, p.prs_perslid_telefoonnr Telefoonnummer
, p.prs_perslid_mobiel Mobiel
, p.prs_perslid_email Email
, s.prs_srtperslid_omschrijving Functie
, p.prs_perslid_nr Personeelsnummer
, p.prs_perslid_oslogin Loginnaam
, p.prs_perslid_wachtwoord_hash Password
, null NVT1
, null NVT2
, null NVT3
, null NVT4
, null NVT5
, null NVT6
, null NVT7
, null Kenmerk1
, null Kenmerk2
, null Kenmerk3
, null Kenmerk4
, null Kenmerk5
, null Kenmerk6
, null Kenmerk7
, null Kenmerk8
, null Kenmerk9
, null Kenmerk10
, null Kenmerk11
, null Kenmerk12
, null Kenmerk13
, null Kenmerk14
, null Kenmerk15
, null Kenmerk16
, null Kenmerk17
, null Kenmerk18
, null Kenmerk19
, null Kenmerk20
FROM prs_perslid p
, prs_srtperslid s
, prs_afdeling a
, alg_v_onroerendgoed_gegevens o
, alg_locatie l
, prs_perslidwerkplek b
, prs_werkplek w
WHERE p.prs_srtperslid_key = s.prs_srtperslid_key(+)
AND p.prs_afdeling_key = a.prs_afdeling_key(+)
AND p.alg_onroerendgoed_keys = o.alg_onroerendgoed_keys(+)
AND p.alg_onroerendgoed_type = o.alg_type(+)
AND o.alg_locatie_key = l.alg_locatie_key(+)
AND p.prs_perslid_key = b.prs_perslid_key(+)
AND b.prs_werkplek_key = w.prs_werkplek_key(+)
;
REGISTERRUN('$Id$')

View File

@@ -60,8 +60,8 @@ PROJEXE=z:\Project\FACILITOR\BUILD
##
## New style using schemanumbers
##
CURRENTVERSION=46
NEXTVERSION=47
CURRENTVERSION=44
NEXTVERSION=45
FILEVERSION=
NEXTCAREVERSION=37
NEXTROOT=DB$(NEXTVERSION)$(FILEVERSION)
@@ -196,7 +196,6 @@ $(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL: \
$(MSRC)\fac\fac_pacf.src \
$(MSRC)\fac\fac_pacl.src \
$(MSRC)\fac\fac_pacflex.src \
$(MSRC)\fac\fac_pacdel.src \
$(MSRC)\fac\fac_seq.src \
$(MSRC)\fac\fac_tab.src \
$(MSRC)\fac\fac_tri.src \
@@ -310,8 +309,6 @@ $(EXE)\$(NEXTROOT)\RECRE$(NEXTVERSION)$(FILEVERSION).SQL: \
$(MAK)\fclt.nmk \
$(MSRC)\fclt.src \
$(MSRC)\comsql.h \
$(MSRC)\fac\fac_lcl.src \
$(MSRC)\fac\fac_lclhints.src \
$(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).sql
@IF NOT EXIST $(EXE)\$(NEXTROOT)\NUL mkdir $(EXE)\$(NEXTROOT)
$(PRECOMP) $(PRECOMP_OPTIONS) $(SRCRECREA).src>$(TEMP)\$(*B)_.sql

View File

@@ -40,11 +40,7 @@ BEGIN
RAISE_APPLICATION_ERROR(-20000, 'OR'||'A-' || CHR(10) || tekst);
END IF;
-- Negeer MLD_T_UITVOERTIJD die we nogal eens 'precreated' hebben
SELECT COUNT (*)
INTO n_object
FROM USER_OBJECTS
WHERE object_type <> 'TYPE';
SELECT COUNT (*) INTO n_object FROM USER_OBJECTS;
IF (n_object > 0)
THEN
RAISE_APPLICATION_ERROR (-20000, 'OR' || 'A-' || 'Schema ' || USER || ' must be empty before creating database');
@@ -59,7 +55,7 @@ WHENEVER SQLERROR CONTINUE;
PROMPT [&fcltlogfile]
PROMPT
PROMPT Copyright 1996-2024 Aareon Nederland B.V. All rights reserved.
PROMPT Copyright 1996-2023 Aareon Nederland B.V. All rights reserved.
PROMPT
PROMPT This is the generated list-file of EVALCONCAT(FCLT,_DBV).sql which was used
PROMPT to create the Facilitor(r) EVALCONCAT(DB,_DBV) schema in Oracle
@@ -200,5 +196,5 @@ SELECT 'Schema FACILITOR@' || USER || ' is now ' || fac.getdbversion() FROM DUAL
PROMPT
PROMPT Your schema initialisation is ready. Please check the logfile for errors.
PROMPT If in doubt please contact: FACILITOR Helpdesk +31 53 4800 710
PROMPT Copyright (c) 1996-2024 Aareon Nederland B.V. All rights reserved.
PROMPT Copyright (c) 1996-2023 Aareon Nederland B.V. All rights reserved.
SPOOL OFF

View File

@@ -119,8 +119,6 @@ CREATE_TABLE(fin_factuur,0)
CONSTRAINT fin_r_fin_factuur7 REFERENCES prs_kostensoort(prs_kostensoort_key)
, fin_factuur_opmerking
VARCHAR2(250)
, fin_factuur_opmerking_afw
VARCHAR2(4000)
, fin_factuur_statuses_key
NUMBER(10)
CONSTRAINT fin_c_fin_status1 CHECK(fin_factuur_statuses_key IN (1,2,3,5,6,7))

View File

@@ -48,8 +48,6 @@ CREATE UNIQUE INDEX ins_i_ins_deel_state_hist1 ON ins_deel_state_history(ins_dee
CREATE INDEX ins_i_ins_deelsrtcontrole1 ON ins_deelsrtcontrole(ins_deelsrtcontrole_status, ins_deel_key);
CREATE INDEX ins_i_ins_deel_uitgifte1 ON ins_deel_uitgifte(prs_perslid_key);
CREATE INDEX ins_i_ins_deel_uitgifte2 ON ins_deel_uitgifte(prs_contactpersoon_key);
REGISTERONCE('$Id$')

View File

@@ -8,7 +8,6 @@ START_LOCALEITEMS('INS_DISCIPLINE_KEY')
DEFINE_LOCALEITEM(lcl_bld_terra)
DEFINE_LOCALEITEM(lcl_deel_state)
DEFINE_LOCALEITEM(lcl_discipline)
DEFINE_LOCALEITEM(lcl_select_discipline)
DEFINE_LOCALEITEM(lcl_estate_locatie_man_descr)
DEFINE_LOCALEITEM(lcl_fg_gotofgheader)
DEFINE_LOCALEITEM(lcl_floor)
@@ -30,14 +29,12 @@ DEFINE_LOCALEITEM(lcl_obj_bind_r)
DEFINE_LOCALEITEM(lcl_obj_geoxcoord)
DEFINE_LOCALEITEM(lcl_obj_geoycoord)
DEFINE_LOCALEITEM(lcl_obj_group)
DEFINE_LOCALEITEM(lcl_select_srtgroep)
DEFINE_LOCALEITEM(lcl_obj_identification)
DEFINE_LOCALEITEM(lcl_obj_owner)
DEFINE_LOCALEITEM(lcl_obj_photo)
DEFINE_LOCALEITEM(lcl_obj_position)
DEFINE_LOCALEITEM(lcl_obj_reserveerbaar)
DEFINE_LOCALEITEM(lcl_obj_sort)
DEFINE_LOCALEITEM(lcl_select_srtdeel)
DEFINE_LOCALEITEM(lcl_obj_uitleensrtdeel)
DEFINE_LOCALEITEM(lcl_owner_info)
DEFINE_LOCALEITEM(lcl_prs_address_bezoek_adres)

View File

@@ -6,19 +6,13 @@
CREATE OR REPLACE PACKAGE ins AS
FUNCTION delete_deelkoppeling( DeelKey IN NUMBER ) RETURN BOOLEAN;
FUNCTION get_description(pentityname IN VARCHAR2, pparentkey IN NUMBER, pprefix IN VARCHAR2) RETURN VARCHAR2;
FUNCTION nextdescription(pprefix IN VARCHAR2, pparentkey IN NUMBER, pseparator IN VARCHAR2 DEFAULT 'default') RETURN VARCHAR2;
PROCEDURE copyInsKenmerken(pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER);
PROCEDURE altersrtdeel(pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER);
FUNCTION get_description(LPNName IN VARCHAR2, CondKey IN NUMBER, Prefix IN VARCHAR2) RETURN VARCHAR2;
FUNCTION sprintf (ps IN varchar2, pins_deel_key IN number) RETURN varchar2;
FUNCTION contrsprintf (ps IN varchar2, pins_deelsrtcontr_key IN NUMBER) RETURN varchar2;
FUNCTION nextcyclusdate (p_insdeel IN NUMBER, p_srtcontrole IN NUMBER, p_scenario IN NUMBER, p_steps IN NUMBER DEFAULT 0) RETURN DATE;
FUNCTION nextcyclusdatesteps (p_insdeel IN NUMBER, p_srtcontrole IN NUMBER, p_steps IN NUMBER DEFAULT 1) RETURN NUMBER;
PROCEDURE setinspectstatus (pdlsrtcontrkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
FUNCTION state_compare (str1 IN VARCHAR, str2 IN VARCHAR) RETURN NUMBER;
FUNCTION state_diff (str1 IN VARCHAR, str2 IN VARCHAR) RETURN NUMBER;
FUNCTION state_thresholdcompare (pdeel_key IN NUMBER, pdays NUMBER DEFAULT NULL) RETURN NUMBER;
PROCEDURE compress_states (pdodelete IN NUMBER DEFAULT 1);
PROCEDURE ins_daily(today IN DATE DEFAULT SYSDATE);
END ins;
/
@@ -36,205 +30,140 @@ CREATE OR REPLACE PACKAGE BODY ins AS
WHEN OTHERS THEN RETURN FALSE;
END;
-- For backwards compatibility only (used in some CUST procedures) DEPRECATED!
FUNCTION get_description( pentityname IN VARCHAR2
, pparentkey IN NUMBER
, pprefix IN VARCHAR2) RETURN VARCHAR2 IS
-- Was: FAC_F_FAC_GET_DESCRIPTION
FUNCTION get_description(LPNName IN VARCHAR2
,CondKey IN NUMBER
,Prefix IN VARCHAR2) RETURN VARCHAR2 IS
NextVolgNr VARCHAR2(30);
DeelUpper ins_deel.ins_deel_omschrijving%TYPE;
ReturnString VARCHAR2(30);
BEGIN
IF pentityname = 'LPN_INS_DEEL'
-- From 4.40 on, CondKey is dummy for ins_deel (object): uniqueness is assumed over the entire database
-- From DB23 on, object uniqueness is forced by prefix only, last parameter PrefixKey was dropped
IF LPNName = 'LPN_INS_DEEL'
THEN
RETURN ins.nextdescription(pprefix, NULL, '');
END IF;
IF pentityname = 'LPN_INS_ONDERDEEL'
THEN
RETURN ins.nextdescription(pprefix, pparentkey, '');
END IF;
RETURN 'unsupported use of ins.get_description';
END;
-- Determine max+1 volgnr for an object (deel or onderdeel) op basis van het format prefix+volgnummer
-- De laagste is 001 maar vervolgens wordt het gevonde aantal cijfers aangehouden, dus prefix0001+1 = prefix0002
-- Zo nodig wordt er een cijfer bij gedaan. De prefix wordt case-insensitive beschouwd.
-- Alleen actuele objecten worden beschouwd, dus dit is in zekere zin een beetje tijdsafhankelijk
FUNCTION nextdescription( pprefix IN VARCHAR2
, pparentkey IN NUMBER
, pseparator IN VARCHAR2 DEFAULT 'default') RETURN VARCHAR2 IS
nextvolgnr VARCHAR2(30); -- overdreven
returnstring ins_deel.ins_deel_omschrijving%TYPE;
lprefix VARCHAR2(30); -- overdreven, inclusief evt separator
lseparator VARCHAR(30); -- ook overdreven
BEGIN
IF pseparator = 'default'
THEN
lseparator := fac.getsetting('ins_nr_separator');
ELSE
lseparator := pseparator;
END IF;
lprefix := pprefix||lseparator;
-- uniqueness is assumed over the entire database
IF pparentkey IS NULL
THEN
SELECT COALESCE(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(lprefix)),'0'),'001')
INTO nextvolgnr
SELECT NVL(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(Prefix)),'0'),'001')
INTO NextVolgNr
FROM ins_deel
WHERE ins_deel_upper LIKE UPPER(lprefix)||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))) IS NOT NULL
AND LTRIM(SUBSTR (ins_deel_upper, LENGTH (lprefix) + 1), '0') = TO_CHAR(fac.safe_to_integer ((SUBSTR (ins_deel_upper, LENGTH (lprefix) + 1))))
WHERE ins_deel_upper LIKE Prefix||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))) IS NOT NULL
AND LTRIM(SUBSTR (ins_deel_upper, LENGTH (Prefix) + 1), '0') = TO_CHAR(fac.safe_to_integer ((SUBSTR (ins_deel_upper, LENGTH (Prefix) + 1))))
AND ins_deel_parent_key IS NULL
AND ins_deel_verwijder IS NULL;
ELSIF pparentkey IS NOT NULL
ELSIF LPNName = 'LPN_INS_ONDERDEEL'
THEN
SELECT COALESCE(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(lprefix)),'0'),'001')
INTO nextvolgnr
FROM ins_deel
WHERE ins_deel_upper LIKE UPPER(lprefix)||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))) IS NOT NULL
AND ins_deel_parent_key = pparentkey
SELECT NVL(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(Prefix)),'0'),'001')
INTO NextVolgNr
FROM INS_DEEL
WHERE ins_deel_upper LIKE Prefix||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))) IS NOT NULL
AND ins_deel_parent_key = CondKey
AND ins_deel_verwijder IS NULL;
END IF;
-- bij overflow moet er een digit bij komen: 999+1=1000 en bovenstaande levert dan 100
IF LOG (10, TO_NUMBER(nextvolgnr)) = ROUND (LOG (10, TO_NUMBER(nextvolgnr)), 0) AND LENGTH(nextvolgnr) >= LOG (10, TO_NUMBER(nextvolgnr))
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR'
THEN
nextvolgnr := nextvolgnr||'0';
END IF;
returnstring := pprefix||lseparator||nextvolgnr;
RETURN returnstring;
END;
PROCEDURE copyInsKenmerken(pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER)
AS
CURSOR c_kenmerkdeel (pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER)
IS
SELECT kd1.ins_kenmerkdeel_key, k2.ins_kenmerk_key
FROM ins_kenmerk k1,
ins_kenmerk k2,
ins_kenmerkdeel kd1,
ins_srtdeel sd2,
ins_srtgroep sg2,
ins_srtkenmerk sk
WHERE k1.ins_srtkenmerk_key = k2.ins_srtkenmerk_key
AND k1.ins_kenmerk_key <> k2.ins_kenmerk_key
AND sk.ins_srtkenmerk_key = k1.ins_srtkenmerk_key
AND COALESCE (k1.ins_kenmerk_omschrijving,
sk.ins_srtkenmerk_omschrijving) =
COALESCE (k2.ins_kenmerk_omschrijving,
sk.ins_srtkenmerk_omschrijving)
AND sd2.ins_srtgroep_key = sg2.ins_srtgroep_key
AND k1.ins_kenmerk_niveau = k2.ins_kenmerk_niveau
AND k1.ins_kenmerk_niveau <> 'C'
AND kd1.ins_kenmerk_key = k1.ins_kenmerk_key
AND k2.ins_srtinstallatie_key =
(CASE
WHEN k2.ins_kenmerk_niveau = 'D' THEN sg2.ins_discipline_key
WHEN k2.ins_kenmerk_niveau = 'G' THEN sg2.ins_srtgroep_key
WHEN k2.ins_kenmerk_niveau = 'S' THEN sd2.ins_srtdeel_key
END)
AND kd1.ins_deel_key = pdeel_key
AND sd2.ins_srtdeel_key = ptosrtdeel_key;
CURSOR c_facbijlagen (pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER)
IS
SELECT fb1.fac_bijlagen_key, k2.ins_kenmerk_key
FROM ins_kenmerk k1,
ins_kenmerk k2,
fac_bijlagen fb1,
ins_srtdeel sd2,
ins_srtgroep sg2,
ins_srtkenmerk sk
WHERE k1.ins_srtkenmerk_key = k2.ins_srtkenmerk_key
AND k1.ins_kenmerk_key <> k2.ins_kenmerk_key
AND sk.ins_srtkenmerk_key = k1.ins_srtkenmerk_key
AND COALESCE (k1.ins_kenmerk_omschrijving,
sk.ins_srtkenmerk_omschrijving) =
COALESCE (k2.ins_kenmerk_omschrijving,
sk.ins_srtkenmerk_omschrijving)
AND sd2.ins_srtgroep_key = sg2.ins_srtgroep_key
AND k1.ins_kenmerk_niveau = k2.ins_kenmerk_niveau
AND k1.ins_kenmerk_niveau <> 'C'
AND fb1.fac_bijlagen_kenmerk_key = k1.ins_kenmerk_key
AND k2.ins_srtinstallatie_key =
(CASE
WHEN k2.ins_kenmerk_niveau = 'D' THEN sg2.ins_discipline_key
WHEN k2.ins_kenmerk_niveau = 'G' THEN sg2.ins_srtgroep_key
WHEN k2.ins_kenmerk_niveau = 'S' THEN sd2.ins_srtdeel_key
END)
AND fb1.fac_bijlagen_refkey = pdeel_key
AND sd2.ins_srtdeel_key = ptosrtdeel_key;
BEGIN
FOR kd_upd IN c_kenmerkdeel (pdeel_key, ptosrtdeel_key)
FOR i IN 3..10
LOOP
UPDATE ins_kenmerkdeel
SET ins_kenmerk_key = kd_upd.ins_kenmerk_key
WHERE ins_kenmerkdeel_key = kd_upd.ins_kenmerkdeel_key;
END LOOP;
FOR fb_upd IN c_facbijlagen (pdeel_key, ptosrtdeel_key)
LOOP
UPDATE fac_bijlagen
SET fac_bijlagen_kenmerk_key = fb_upd.ins_kenmerk_key
WHERE fac_bijlagen_key = fb_upd.fac_bijlagen_key;
END LOOP;
END;
-- omkatten van het objectsoort van een object. Controleert wat technische voorwaarden qua binding
-- maar kijkt niet naar bv autorisaties. Trackt alleen als er ook echt iets verandert
PROCEDURE altersrtdeel(pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER)
AS
fromsrtdeel_key ins_deel.ins_srtdeel_key%TYPE;
fromsrtdeelomschrijving ins_srtdeel.ins_srtdeel_omschrijving%TYPE;
frombinding ins_deel.ins_alg_ruimte_type%TYPE;
frombindingval NUMBER;
tobinding ins_srtdeel.ins_srtdeel_binding%TYPE;
tosrtdeelomschrijving ins_srtdeel.ins_srtdeel_omschrijving%TYPE;
BEGIN
SELECT d.ins_srtdeel_key,
d.ins_alg_ruimte_type,
lcl.x ('ins_srtdeel_omschrijving', sd.ins_srtdeel_key, sd.ins_srtdeel_omschrijving)
INTO fromsrtdeel_key, frombinding, fromsrtdeelomschrijving
FROM ins_deel d, ins_srtdeel sd
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key AND ins_deel_key = pdeel_key;
-- frombinding is one of A(8),P(16),R(1),T(4),W(2)
SELECT DECODE (frombinding, 'R', 1, 'W', 2, 'T', 4, 'A', 8, 'P', 16, 32)
INTO frombindingval
FROM DUAL;
BEGIN
SELECT ins_srtdeel_binding,
lcl.x ('ins_srtdeel_omschrijving', ins_srtdeel_key, ins_srtdeel_omschrijving)
INTO tobinding, tosrtdeelomschrijving
FROM ins_srtdeel
WHERE ins_srtdeel_key = ptosrtdeel_key
AND BITAND (ins_srtdeel_binding, frombindingval) = frombindingval;
IF fromsrtdeel_key <> ptosrtdeel_key
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_terreinsector_code,LENGTH(alg_terreinsector_code)-(i-1),LENGTH(alg_terreinsector_code)))+1)), '***')
INTO NextVolgNr
FROM alg_v_aanwezigterreinsector
WHERE LTRIM(SUBSTR(alg_terreinsector_code, LENGTH(alg_terreinsector_code)-(i-1), LENGTH(alg_terreinsector_code))) BETWEEN '0' AND LPAD('9',i,'9')
AND alg_locatie_key = CondKey
AND LENGTH(alg_terreinsector_code) <= i;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
UPDATE ins_deel
SET ins_srtdeel_key = ptosrtdeel_key
WHERE ins_deel_key = pdeel_key;
-- de redundante ins_deel.ins_discipline_key wordt door de trigger bijgewerkt
copyInsKenmerken(pdeel_key, ptosrtdeel_key);
-- het is nu mogelijk dat er kenmerken (ins_kenmerkdeel) zijn die qua definitie niet horen
-- tot de kenmerken van de nieuwe soort. Ik vind dat niet erg.
-- de tracking zou discipline/srtgroep/srtdeel -> discipline/srtgroep/srtdeel kunnen zijn
-- voor de volledigheid, maar daar mag iemand om gaan vragen, zo essentieel is dat niet
fac.trackaction (
'INSUPD',
pdeel_key,
TO_NUMBER (SYS_CONTEXT ('USERENV', 'CLIENT_IDENTIFIER')),
NULL,
fromsrtdeelomschrijving || lcl.l ('lcl_trackto') || tosrtdeelomschrijving);
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
DBMS_OUTPUT.put_line ('Cannot alter srtdeel: bindings do not match');
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_ALG_GEBOUW'
THEN
FOR i IN 3..10
LOOP
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_gebouw_code, LENGTH(alg_gebouw_code)-(i-1), LENGTH(alg_gebouw_code)))+1)), '***')
INTO NextVolgNr
FROM alg_v_aanweziggebouw
WHERE LTRIM(SUBSTR(alg_gebouw_code, LENGTH(alg_gebouw_code)-(i-1), LENGTH(alg_gebouw_code))) BETWEEN '0' AND LPAD('9',i,'9')
AND alg_locatie_key = CondKey
AND LENGTH(alg_gebouw_code) <= i;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_ALG_RUIMTE'
THEN
FOR i IN 3..10
LOOP
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1), LENGTH(alg_ruimte_nr)))+1)), '***')
INTO NextVolgNr
FROM alg_v_aanwezigruimte
WHERE LTRIM(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1), LENGTH(alg_ruimte_nr))) BETWEEN '0' AND LPAD('9',i,'9')
AND alg_verdieping_key = CondKey
AND LENGTH(alg_ruimte_nr) <= i;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_PRS_WERKPLEK'
THEN
BEGIN
SELECT TO_CHAR(NVL(MAX(prs_werkplek_volgnr),0) +1)
INTO NextVolgNr
FROM prs_werkplek
WHERE prs_alg_ruimte_key = CondKey;
EXCEPTION
WHEN NO_DATA_FOUND
THEN NextVolgNr := '1';
END;
/* Omschrijving */
BEGIN
SELECT alg_ruimte_nr ||' - '|| NextVolgNr
INTO NextVolgNr
FROM alg_ruimte
WHERE alg_ruimte_key = CondKey;
EXCEPTION
WHEN OTHERS
THEN NULL;
END;
END IF;
ReturnString := Prefix||NextVolgNr;
RETURN ReturnString;
END;
FUNCTION sprintf (ps IN varchar2, pins_deel_key IN number)
@@ -429,194 +358,142 @@ CREATE OR REPLACE PACKAGE BODY ins AS
END IF;
END;
-- Return the numeric difference between the values of str1 and str2 (first minus second)
-- Rerturn NULL if undecided for whatever reason
FUNCTION state_diff (str1 IN VARCHAR, str2 IN VARCHAR)
RETURN NUMBER
PROCEDURE ins_daily(today IN DATE DEFAULT SYSDATE)
AS
nrval1 NUMBER (12, 5);
nrval2 NUMBER (12, 5);
retval NUMBER;
BEGIN
nrval1 := fac.safe_to_number (REPLACE (str1, ',', '.'));
nrval2 := fac.safe_to_number (REPLACE (str2, ',', '.'));
IF nrval1 IS NOT NULL AND nrval2 IS NOT NULL
THEN
retval := (nrval1 - nrval2);
END IF;
RETURN retval;
END;
-- The return value from state_compare is 0 if the two strings are equal,
-- less than 0 if str1 compares less than str2 , and greater than 0
-- if str1 compares greater than str2 (within the first maxlen characters).
FUNCTION state_compare (str1 IN VARCHAR, str2 IN VARCHAR)
RETURN NUMBER
AS
BEGIN
RETURN SIGN (state_diff (str1, str2));
END;
-- Return >0 if the current state of a sensorvalue exceeds the threshold
-- Return NULL if undecided for whatever reason (no value, no threshold, no sensor
-- If pdays is given, the sensorstate must be set within the last pdays days
-- This provides the option of neglecting an irrelevant too old value
FUNCTION state_thresholdcompare (pdeel_key IN NUMBER, pdays NUMBER DEFAULT NULL)
RETURN NUMBER
AS
lstate ins_deel.ins_deel_state%TYPE;
lstatethreshold ins_srtdeel.ins_srtdeel_statethreshold%TYPE;
retval NUMBER;
BEGIN
IF pdeel_key IS NOT NULL
THEN
BEGIN
IF pdays IS NULL
THEN
SELECT ins_deel_state, ins_srtdeel_statethreshold
INTO lstate, lstatethreshold
FROM ins_deel d, ins_srtdeel sd
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
AND ins_deel_verwijder IS NULL
AND d.ins_deel_key = pdeel_key;
ELSE
SELECT ins_deel_state, ins_srtdeel_statethreshold
INTO lstate, lstatethreshold
FROM ins_deel d, ins_srtdeel sd
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
AND ins_deel_verwijder IS NULL
AND ins_deel_statedate > SYSDATE - pdays
AND d.ins_deel_key = pdeel_key;
END IF;
retval := state_compare (lstate, lstatethreshold);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
retval := NULL; -- dat wassieal maar dan is het maar duidelijk
END;
END IF;
RETURN retval;
END;
-- Archiveer de meetwaarde van discrete sensoren ouder danins_state_history dagen
-- naar een dag-histogram zodat je er nog wel daggemiddelden van hebt maar
-- niet meer de granulaire ballast.
-- parameter pdontdelete is alleen voor testers
PROCEDURE compress_states (pdodelete IN NUMBER DEFAULT 1)
AS
CURSOR c_days (eerste_dag IN DATE, laatste_dag IN DATE)
CURSOR c_days(eerste_dag IN DATE, laatste_dag IN DATE)
IS
SELECT DISTINCT TRUNC (h.ins_deel_statedate) uitvoer_dag
FROM ins_deel_state_history h
, ins_deel d
, ins_srtdeel s
WHERE h.ins_deel_key = d.ins_deel_key
AND d.ins_srtdeel_key = s.ins_srtdeel_key
AND BITAND (s.ins_srtdeel_sensortype, 1) = 1
AND h.ins_deel_statedate BETWEEN eerste_dag AND (laatste_dag + 1)
ORDER BY 1;
SELECT DISTINCT TRUNC(h.ins_deel_statedate) uitvoer_dag
FROM ins_deel_state_history h
, ins_deel d
, ins_srtdeel s
WHERE h.ins_deel_key = d.ins_deel_key
AND d.ins_srtdeel_key = s.ins_srtdeel_key
AND BITAND(s.ins_srtdeel_sensortype, 1) = 1
AND h.ins_deel_statedate BETWEEN eerste_dag AND (laatste_dag + 1)
ORDER BY 1;
keep_days NUMBER (3);
CURSOR c_sensors(dag IN DATE)
IS
SELECT DISTINCT h.ins_deel_key
FROM ins_deel_state_history h
, ins_deel d
, ins_srtdeel s
WHERE h.ins_deel_key = d.ins_deel_key
AND d.ins_srtdeel_key = s.ins_srtdeel_key
AND BITAND(s.ins_srtdeel_sensortype, 1) = 1
AND h.ins_deel_statedate BETWEEN (dag) AND (dag + 1);
-- Haal de statuswijzigingen van een dag op.
-- De laatste status loopt tot middernacht.
-- Ook de status van middernacht tot de eerste statuswijziging deze dag moet worden opgehaald.
-- Deze kan meerdere dagen voor deze dag voor het laatst gezet zijn!
CURSOR c_states ( deel_key IN NUMBER
, dag IN DATE)
IS
SELECT x.status
, SUM(x.eindtijd - x.starttijd) totaaltijd
FROM (
( SELECT a.ins_deel_state status
, dag starttijd
, min(c.ins_deel_statedate) eindtijd
, a.ins_deel_key
FROM ins_deel_state_history a
, ins_deel_state_history c
WHERE a.ins_deel_key = c.ins_deel_key
AND c.ins_deel_statedate BETWEEN dag AND dag+1
AND a.ins_deel_statedate = (SELECT MAX(b.ins_deel_statedate)
FROM ins_deel_state_history b
WHERE b.ins_deel_key = a.ins_deel_key
AND b.ins_deel_statedate < dag
)
GROUP BY a.ins_deel_key
, a.ins_deel_state
)
UNION
( SELECT a.ins_deel_state status
, a.ins_deel_statedate starttijd
, least(MIN(b.ins_deel_statedate), dag+1) eindtijd
, a.ins_deel_key
FROM ins_deel_state_history a
, ins_deel_state_history b
WHERE a.ins_deel_key = deel_key
AND a.ins_deel_statedate BETWEEN dag AND dag+1
AND a.ins_deel_key = b.ins_deel_key
AND a.ins_deel_state <> b.ins_deel_state
AND a.ins_deel_statedate < b.ins_deel_statedate
GROUP BY a.ins_deel_statedate
, a.ins_deel_state
, a.ins_deel_key
)
) x
WHERE x.ins_deel_key = deel_key
GROUP BY x.status;
keep_days NUMBER(3);
first_day_available DATE;
last_day_compressed DATE;
start_day_compress DATE;
end_day_compress DATE;
BEGIN
-- Tot hoeveel dagen terug houden we de ruwe data?
keep_days := TO_NUMBER (fac.getsetting ('ins_state_history'));
-- Setting aantal dagen history ophalen.
SELECT COALESCE(fac_setting_default, fac_setting_pvalue)
INTO keep_days
FROM fac_setting
WHERE fac_setting_name = 'ins_state_history';
-- dbms_output.put_line('today: '||to_char(today,'dd-mm-yyyy'));
-- Vandaag comprimeren mag niet want je weet niet of je alle meetwaarden al hebt.
end_day_compress := TRUNC (SYSDATE) - keep_days;
IF (end_day_compress = TRUNC (SYSDATE))
end_day_compress := TRUNC(today);
IF (end_day_compress = TRUNC(sysdate))
THEN
end_day_compress := end_day_compress - 1;
end_day_compress := end_day_compress -1;
END IF;
-- Voor welke dagen moet ins_deel_state_history gecomprimeerd worden?
-- (voor het geval compress_states een aantal dagen niet heeft gewerkt.)
SELECT TRUNC (COALESCE (MIN (ins_deel_statedate), end_day_compress))
-- (voor het geval ins_daily een aantal dagen niet heeft gewerkt.)
SELECT TRUNC(COALESCE(MIN(ins_deel_statedate), end_day_compress))
INTO first_day_available
FROM ins_deel_state_history;
-- dbms_output.put_line('first_day_available: ' ||to_char(first_day_available,'dd-mm-yyyy'));
SELECT COALESCE (TRUNC (MAX (ins_deel_statedate)), first_day_available)
SELECT COALESCE(TRUNC(MAX(ins_deel_statedate)), first_day_available)
INTO last_day_compressed
FROM ins_deel_state_history_all;
-- dbms_output.put_line('last_day_compressed: ' ||to_char(last_day_compressed,'dd-mm-yyyy'));
SELECT GREATEST (first_day_available, (last_day_compressed + 1))
SELECT GREATEST(first_day_available, (last_day_compressed + 1))
INTO start_day_compress
FROM DUAL;
-- dbms_output.put_line('Compress from '||to_char(start_day_compress,'dd-mm-yyyy')||' to '||to_char(end_day_compress,'dd-mm-yyyy'));
--DBMS_OUTPUT.put_line ('Compress from '|| TO_CHAR (start_day_compress, 'dd-mm-yyyy')||' to '|| TO_CHAR (end_day_compress, 'dd-mm-yyyy'));
FOR r_day IN c_days (start_day_compress, end_day_compress)
FOR r_day IN c_days(start_day_compress, end_day_compress)
LOOP
--DBMS_OUTPUT.put_line ('Compress ' || TO_CHAR (r_day.uitvoer_dag, 'dd-mm-yyyy'));
--
-- Haal de statuswijzigingen per dag. De laatste status loopt tot middernacht.
-- Ook de status van middernacht tot de eerste statuswijziging deze dag moet worden opgehaald.
-- Deze kan meerdere dagen voor deze dag voor het laatst gezet zijn!
INSERT INTO ins_deel_state_history_all (ins_deel_key,
ins_deel_statedate,
ins_deel_state,
ins_deel_statetime)
SELECT x.ins_deel_key,
r_day.uitvoer_dag,
x.status,
ROUND (SUM (x.eindtijd - x.starttijd), 3) totaaltijd
FROM (( SELECT a.ins_deel_state status,
r_day.uitvoer_dag starttijd,
MIN (c.ins_deel_statedate) eindtijd,
a.ins_deel_key
FROM ins_deel_state_history a, ins_deel_state_history c
WHERE a.ins_deel_key = c.ins_deel_key
AND c.ins_deel_statedate BETWEEN r_day.uitvoer_dag
AND r_day.uitvoer_dag + 1
AND a.ins_deel_statedate =
(SELECT MAX (b.ins_deel_statedate)
FROM ins_deel_state_history b
WHERE b.ins_deel_key = a.ins_deel_key
AND b.ins_deel_statedate < r_day.uitvoer_dag)
GROUP BY a.ins_deel_key, a.ins_deel_state)
UNION
( SELECT a.ins_deel_state status,
a.ins_deel_statedate starttijd,
LEAST (MIN (b.ins_deel_statedate), r_day.uitvoer_dag + 1) eindtijd,
a.ins_deel_key
FROM ins_deel_state_history a, ins_deel_state_history b
WHERE a.ins_deel_statedate BETWEEN r_day.uitvoer_dag
AND r_day.uitvoer_dag + 1
AND a.ins_deel_key = b.ins_deel_key
AND a.ins_deel_state <> b.ins_deel_state
AND a.ins_deel_statedate < b.ins_deel_statedate
GROUP BY a.ins_deel_statedate, a.ins_deel_state, a.ins_deel_key)) x
GROUP BY x.ins_deel_key, x.status
ORDER BY 1, 2;
-- dbms_output.put_line('Compress '||to_char(r_day.uitvoer_dag,'dd-mm-yyyy'));
FOR r_sensor IN c_sensors(r_day.uitvoer_dag)
LOOP
-- dbms_output.put_line('sensor: '||r_sensor.ins_deel_key);
FOR r_state IN c_states(r_sensor.ins_deel_key, r_day.uitvoer_dag)
LOOP
-- dbms_output.put_line('- '||to_char(r_sensor.ins_deel_key)||' '||r_state.status||' '||to_char(r_state.totaaltijd));
INSERT INTO ins_deel_state_history_all
( ins_deel_key
, ins_deel_statedate
, ins_deel_state
, ins_deel_statetime
) VALUES
( r_sensor.ins_deel_key
, r_day.uitvoer_dag
, r_state.status
, r_state.totaaltijd
);
END LOOP;
END LOOP;
COMMIT;
END LOOP;
IF pdodelete = 1
THEN
-- Verwijder alle records uit ins_deel_state_history ouder dan keep_days dagen.
-- dat is van de discrete sensoren die zojuist gearchiveer zijn,
-- maar dus ook de van de meetwaardesensoren, die willen we niet behouden
-- besloten we vooralsnog. Mocht er data van niet-sensoren staan (illegaal)
-- dan gooien we die niet weg.
DELETE FROM ins_deel_state_history
WHERE ins_deel_statedate <= TRUNC (SYSDATE - keep_days)
AND ins_deel_key IN
(SELECT ins_deel_key
FROM ins_deel d, ins_srtdeel s
WHERE d.ins_srtdeel_key = s.ins_srtdeel_key AND s.ins_srtdeel_sensortype <> 0);
END IF;
--
-- Verwijder alle records uit ins_deel_state_history ouder dan x dagen.
DELETE FROM ins_deel_state_history
WHERE TRUNC(ins_deel_statedate) <= TRUNC(SYSDATE - keep_days);
END;
END ins;

View File

@@ -32,9 +32,12 @@ CREATE SEQUENCE ins_s_srtcontroledl_xcp_key MINVALUE 1;
CREATE SEQUENCE ins_s_ins_kmdeelsrtcontr_key MINVALUE 1;
CREATE SEQUENCE ins_s_ins_srtdeel_srtdeel_key MINVALUE 1;
CREATE SEQUENCE ins_s_ins_disc_params_key START WITH 1 NOCACHE;
CREATE SEQUENCE ins_s_ins_deel_note_key MINVALUE 1;
CREATE SEQUENCE ins_s_ins_deel_uitgifte_key MINVALUE 1;
REGISTERONCE('$Id$')

View File

@@ -310,13 +310,6 @@ CREATE_TABLE(ins_srtdeel,0)
NUMBER(3)
DEFAULT 0
NOT NULL,
ins_srtdeel_statethreshold /* drempelwaarde waarboven een melding type mld_stdmelding_key aangemaakt moet worden */
VARCHAR2(128),
/* in mld_tab.src:
mld_stdmelding_key
NUMBER(10)
CONSTRAINT mld_r_mld_stdmelding_key12 REFERENCES mld_stdmelding
*/
CONSTRAINT ins_c_ins_srtdeel_binding CHECK ((ins_srtdeel_module ='INS' AND ins_srtdeel_binding > 0) OR ins_srtdeel_module <> 'INS')
);
@@ -563,9 +556,6 @@ CREATE_TABLE(ins_srtcontrole, 0)
CONSTRAINT ins_c_srtcontrole_percentage CHECK(ins_srtcontrole_percentage BETWEEN 0 AND 100),
ins_srtcontrole_opmerking
VARCHAR2(320),
ins_srtcontrole_opmerking_text
NUMBER(1)
DEFAULT(0) NOT NULL,
ins_srtcontrole_eind // hier eindigt deze
DATE,
ins_srtcontrole_options /* bitwise: 1=(kan)inplannen, 2=(kan)starten, 4=(kan)afmelden, 8=(kan)voltooien */
@@ -701,8 +691,7 @@ CREATE_TABLE(ins_deelsrtcontrole, 0)
NOT NULL REFERENCES ins_deel ON DELETE CASCADE,
ins_srtcontrole_key
NUMBER(10)
NOT NULL
CONSTRAINT ins_r_ins_srtcontrole_key1 REFERENCES ins_srtcontrole(ins_srtcontrole_key),
NOT NULL REFERENCES ins_srtcontrole ON DELETE CASCADE,
ins_deelsrtcontrole_datum
DATE,
ins_deelsrtcontrole_datum_org
@@ -1055,37 +1044,12 @@ CREATE_TABLE(ins_deel_note,0)
// Note: this column is defined in PRS_TAB.SRC
// prs_perslid_key
// NUMBER(10)
// REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL,
// REFERENCES prs_perslid (prs_perslid_key)
// ON DELETE SET NULL,
ins_deel_note_omschrijving
VARCHAR2(4000)
);
CREATE_TABLE(ins_deel_uitgifte, 0)
(
ins_deel_uitgifte_key
NUMBER(10)
PRIMARY KEY,
ins_deel_key
NUMBER (10)
NOT NULL
CONSTRAINT ins_r_ins_deel_key4 REFERENCES ins_deel(ins_deel_key) ON DELETE CASCADE,
ins_deel_uitgifte_begin
DATE,
ins_deel_uitgifte_eind_plan
DATE,
ins_deel_uitgifte_ingeleverd
DATE,
// Note: this column is defined in PRS_TAB.SRC
// prs_perslid_key
// NUMBER (10)
// CONSTRAINT ins_r_prs_perslid_key1 REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE,
// Note: this column is defined in PRS_TAB.SRC
// prs_contactpersoon_key
// NUMBER (10)
// CONSTRAINT ins_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key) ON DELETE CASCADE,
CONSTRAINT ins_u_ins_deel_ingeleverd UNIQUE (ins_deel_key, ins_deel_uitgifte_ingeleverd) -- Er mag geen dubbele uitgifte (ins_deel_ingeleverd IS NULL) zijn.
);
REGISTERONCE('$Id$')
#endif // INS

View File

@@ -337,261 +337,49 @@ BEGIN
END;
/
-- vul de sensorwaarde datumtijd (alleen) als die met een mutatie van de waarde niet werd meegegeven
CREATE_TRIGGER(ins_t_ins_deel_b_u)
BEFORE UPDATE
ON ins_deel
FOR EACH ROW
BEGIN
IF UPDATING ('ins_deel_state') AND NOT UPDATING ('ins_deel_statedate')
THEN
:new.ins_deel_statedate := SYSDATE;
END IF;
END;
/
CREATE OR REPLACE TRIGGER ins_t_ins_deel_A_U
CREATE_TRIGGER(ins_t_ins_deel_A_U)
AFTER UPDATE ON ins_deel
FOR EACH ROW
DECLARE
lmelder_oslogin CONSTANT VARCHAR2 (10) := '_SENSOR';
new_date DATE;
prev_state ins_deel_state_history.ins_deel_state%TYPE;
lstate_history_key ins_deel_state_history.ins_deel_state_history_key%TYPE;
ins_srtdeel_statethreshold ins_srtdeel.ins_srtdeel_statethreshold%TYPE;
ldubbelcheck_key mld_melding.mld_melding_key%TYPE;
lstdmelding_key ins_srtdeel.mld_stdmelding_key%TYPE;
ldiscipline_key mld_stdmelding.mld_ins_discipline_key%TYPE;
lstatethreshold ins_srtdeel.ins_srtdeel_statethreshold%TYPE;
lmelding_key mld_melding.mld_melding_key%TYPE;
lmelder_key mld_melding.prs_perslid_key%TYPE;
new_date DATE;
prev_state ins_deel_state_history.ins_deel_state%TYPE;
BEGIN
-- archiving chances in state_history
IF (:old.ins_deel_state IS NULL AND :new.ins_deel_state IS NOT NULL)
OR (:new.ins_deel_state <> :old.ins_deel_state)
THEN
BEGIN
new_date := COALESCE (:new.ins_deel_statedate, SYSDATE); -- voorkom dat de update *net* een seconde later kan zijn
IF (:old.ins_deel_state IS NULL AND :new.ins_deel_state IS NOT NULL)
OR (:new.ins_deel_state <> :old.ins_deel_state)
THEN
BEGIN
new_date := COALESCE (:new.ins_deel_statedate, SYSDATE); -- voorkom dat de update *net* een seconde later kan zijn
INSERT INTO ins_deel_state_history (ins_deel_key, ins_deel_state, ins_deel_statedate)
VALUES (:new.ins_deel_key, :new.ins_deel_state, COALESCE(:new.ins_deel_statedate, new_date));
EXCEPTION
WHEN DUP_VAL_ON_INDEX
THEN
BEGIN
SELECT ins_deel_state
INTO prev_state
FROM ins_deel_state_history
WHERE ins_deel_state_history_key =
(SELECT MAX (ins_deel_state_history_key)
FROM ins_deel_state_history
WHERE ins_deel_key = :new.ins_deel_key
AND ins_deel_statedate < new_date);
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
END;
INSERT INTO ins_deel_state_history (ins_deel_key, ins_deel_state, ins_deel_statedate)
VALUES (:new.ins_deel_key,
:new.ins_deel_state,
COALESCE (:new.ins_deel_statedate, new_date))
RETURNING ins_deel_state_history_key
INTO lstate_history_key;
EXCEPTION
WHEN DUP_VAL_ON_INDEX
IF (prev_state = :new.ins_deel_state)
THEN
BEGIN
SELECT ins_deel_state
INTO prev_state
FROM ins_deel_state_history
WHERE ins_deel_state_history_key =
(SELECT MAX (ins_deel_state_history_key)
FROM ins_deel_state_history
WHERE ins_deel_key = :new.ins_deel_key
AND ins_deel_statedate < new_date);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
END;
IF (prev_state = :new.ins_deel_state)
THEN
DELETE ins_deel_state_history
WHERE ins_deel_key = :new.ins_deel_key AND ins_deel_statedate = new_date;
ELSE -- kan alleen bij tri-stste statussen gebeuren
UPDATE ins_deel_state_history
SET ins_deel_state = :new.ins_deel_state
WHERE ins_deel_key = :new.ins_deel_key AND ins_deel_statedate = new_date;
END IF;
END;
END IF;
-- potentially trigger dependent actions
IF (:old.ins_deel_state IS NULL AND :new.ins_deel_state IS NOT NULL)
OR (:new.ins_deel_state <> :old.ins_deel_state)
THEN
BEGIN
SELECT ins_srtdeel_statethreshold, mld_stdmelding_key
INTO lstatethreshold, lstdmelding_key
FROM ins_srtdeel
WHERE ins_srtdeel_key = :new.ins_srtdeel_key;
IF lstatethreshold IS NOT NULL
AND lstdmelding_key IS NOT NULL
AND ins.state_compare (:new.ins_deel_state, lstatethreshold) > 0
AND ins.state_compare (:old.ins_deel_state, lstatethreshold) <= 0
THEN
-- Eerst controleren of er niet al een "heel recente" melding bestaat
-- waarmee deze zou kunnen gaan overlappen. We hebben geen behoefte aan veel meer
-- meldingen over hetzelfde, wellicht zou het iets over de urgentie zeggen..
--
BEGIN
SELECT prs_perslid_key
INTO lmelder_key
FROM prs_perslid
WHERE prs_perslid_oslogin = lmelder_oslogin AND prs_perslid_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.putsystemnotification ('Invalid configuration: missing _SENSOR user',
1);
END;
IF lmelder_key IS NOT NULL
THEN
-- Ik denk dat het voorlopig voldoende is om te checken dat *wij* hier niet al eerder
-- een automatische melding hebben gegenereerd. Handmatige parallelle meldingen
-- beschouwen we niet. We willen primair voorkomen dat er in een paar minuten tientallen
-- meldingen ontstaan omdat de waarde rond de limiet flippert. Een daalmarge zou
-- een ander mechanisme hiertegen kunnen zijn, maar dit is intrinsieker.
-- Ik zoek de goedkoopst mogelijk check, ik weet hier al zeker dat we (weer)
-- de limiet overschrijden. We nemen de tijd niet in beschouwing, omdat voor de ene
-- toepassing 1 minuut recent is, en voor een andere misschien een maand.
BEGIN
SELECT m.mld_melding_key
INTO ldubbelcheck_key
FROM mld_melding m, mld_melding_object mo
WHERE m.mld_melding_key = mo.mld_melding_key
AND mo.ins_deel_key = :new.ins_deel_key
AND m.mld_stdmelding_key = lstdmelding_key
AND m.prs_perslid_key = lmelder_key
AND m.mld_melding_status IN (2,
0,
4,
7); -- lopend
IF ldubbelcheck_key IS NOT NULL -- puur voor de leesbaarheid, als er geen is gaan we nl in de exception verder
THEN
-- track this. This seems like an appropriate place.
UPDATE ins_deel_state_history
SET ins_deel_state_history_opmerk =
REPLACE (
REPLACE (lcl.l ('lcl_ins_sensorstate_already_mld'),
'{0}',
lmelding_key),
'{1}',
lstatethreshold)
WHERE ins_deel_state_history_key = lstate_history_key;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
BEGIN
-- dit zou de trigger van mld_melding wel mogen doen..
SELECT msm.mld_ins_discipline_key
INTO ldiscipline_key
FROM mld_stdmelding msm
WHERE msm.mld_stdmelding_key = lstdmelding_key;
INSERT INTO mld_melding (mld_melding_module,
mld_meldbron_key,
mld_alg_locatie_key,
mld_alg_onroerendgoed_keys,
mld_melding_datum,
mld_melding_onderwerp,
mld_melding_omschrijving,
mld_stdmelding_key,
mld_melding_status,
mld_kosten_klant,
prs_perslid_key,
mld_melding_spoed,
mld_ins_discipline_key)
VALUES (
'MLD',
11, -- sensor
:new.ins_alg_locatie_key,
:new.ins_alg_ruimte_key,
SYSDATE,
lcl.l ('lcl_mld_state_generated_onderwerp'),
REPLACE (
REPLACE (
lcl.l (
'lcl_mld_state_generated_omschrijving'),
'{0}',
:new.ins_deel_state),
'{1}',
lstatethreshold),
lstdmelding_key,
2, -- of afh mld_directklaar
NULL,
lmelder_key, --TODO!!!!!!! prs_perslid_key,
3,
ldiscipline_key)
RETURNING mld_melding_key
INTO lmelding_key;
--en het sensorobject erbij registreren
INSERT INTO mld_melding_object (ins_deel_key, mld_melding_key)
VALUES (:new.ins_deel_key, lmelding_key);
-- track this. This seems like an appropriate place.
UPDATE ins_deel_state_history
SET ins_deel_state_history_opmerk =
REPLACE (
REPLACE (lcl.l ('lcl_ins_sensorstate_caused_mld'),
'{0}',
lmelding_key),
'{1}',
lstatethreshold)
WHERE ins_deel_state_history_key = lstate_history_key;
-- If defined kick off the workflow
mld.mld_nextworkflowstep (lmelding_key, -1);
END;
END;
END IF;
DELETE ins_deel_state_history
WHERE ins_deel_key = :new.ins_deel_key
AND ins_deel_statedate = new_date;
ELSE -- kan alleen bij tri-stste statussen gebeuren
UPDATE ins_deel_state_history
SET ins_deel_state = :new.ins_deel_state
WHERE ins_deel_key = :new.ins_deel_key
AND ins_deel_statedate = new_date;
END IF;
END;
END IF;
-- Uitlenen object: Uitgifte object toevoegen aan de uitgifte tabel.
IF (:old.ins_alg_ruimte_key_org IS NULL AND :new.ins_alg_ruimte_key_org IS NOT NULL)
AND (:old.ins_alg_ruimte_type_org IS NULL AND :new.ins_alg_ruimte_type_org IS NOT NULL)
AND (:new.ins_alg_ruimte_type = 'C' OR :new.ins_alg_ruimte_type = 'P')
THEN
BEGIN
INSERT INTO ins_deel_uitgifte (ins_deel_key
, ins_deel_uitgifte_begin
, ins_deel_uitgifte_eind_plan
, prs_perslid_key
, prs_contactpersoon_key)
VALUES (:new.ins_deel_key
, SYSDATE
, CASE
WHEN :new.res_rsv_deel_key IS NOT NULL
THEN (SELECT rrd.res_rsv_deel_tot
FROM res_rsv_deel rrd
WHERE res_rsv_deel_key = :new.res_rsv_deel_key)
ELSE NULL
END
, CASE
WHEN :new.ins_alg_ruimte_type = 'P'
THEN :new.ins_alg_ruimte_key
ELSE NULL
END
, CASE
WHEN :new.ins_alg_ruimte_type = 'C'
THEN :new.ins_alg_ruimte_key
ELSE NULL
END);
END;
END IF;
-- Innemen object: Inname object aanpassen in de uitgifte tabel.
IF (:old.ins_alg_ruimte_key_org IS NOT NULL AND :new.ins_alg_ruimte_key_org IS NULL)
AND (:old.ins_alg_ruimte_type_org IS NOT NULL AND :new.ins_alg_ruimte_type_org IS NULL)
AND (:old.ins_alg_ruimte_type = 'C' OR :old.ins_alg_ruimte_type = 'P')
THEN
BEGIN
UPDATE ins_deel_uitgifte
SET ins_deel_uitgifte_ingeleverd = SYSDATE
WHERE ins_deel_key = :new.ins_deel_key
AND ins_deel_uitgifte_ingeleverd IS NULL;
END;
END IF;
END;
END IF;
END;
/
@@ -1123,7 +911,7 @@ END;
/
CREATE_TRIGGER(ins_srtdeel_srtdeel_B_IU)
BEFORE INSERT OR UPDATE ON ins_srtdeel_srtdeel
BEFORE INSERT OR UPDATE ON ins_srtdeel_srtdeel
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_srtdeel_srtdeel_key, ins_s_ins_srtdeel_srtdeel_key);
@@ -1131,7 +919,7 @@ END;
/
CREATE_TRIGGER(ins_t_scenario_B_IU)
BEFORE INSERT OR UPDATE ON ins_scenario
BEFORE INSERT OR UPDATE ON ins_scenario
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_scenario_key, ins_s_ins_scenario_key);
@@ -1149,7 +937,7 @@ END;
/
CREATE_TRIGGER(ins_t_srtcontrole_B_IU)
BEFORE INSERT OR UPDATE ON ins_srtcontrole
BEFORE INSERT OR UPDATE ON ins_srtcontrole
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_srtcontrole_key, ins_s_ins_srtcontrole_key);
@@ -1157,7 +945,7 @@ END;
/
CREATE_TRIGGER(ins_t_controlemode_B_IU)
BEFORE INSERT OR UPDATE ON ins_controlemode
BEFORE INSERT OR UPDATE ON ins_controlemode
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_controlemode_key, ins_s_ins_controlemode_key);
@@ -1165,7 +953,7 @@ END;
/
CREATE_TRIGGER(ins_t_srtcontroledl_xcp_B_IU)
BEFORE INSERT OR UPDATE ON ins_srtcontroledl_xcp
BEFORE INSERT OR UPDATE ON ins_srtcontroledl_xcp
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_srtcontroledl_xcp_key, ins_s_srtcontroledl_xcp_key);
@@ -1173,7 +961,7 @@ END;
/
CREATE_TRIGGER(ins_t_deelsrtcontrole_B_IU)
BEFORE INSERT OR UPDATE ON ins_deelsrtcontrole
BEFORE INSERT OR UPDATE ON ins_deelsrtcontrole
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_deelsrtcontrole_key, ins_s_ins_deelsrtcontrole_key);
@@ -1202,14 +990,6 @@ BEGIN
END;
/
CREATE_TRIGGER(ins_t_deel_uitgifte_B_I)
BEFORE INSERT ON ins_deel_uitgifte
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_deel_uitgifte_key, ins_s_ins_deel_uitgifte_key);
END;
/
REGISTERRUN('$Id$')
#endif

View File

@@ -301,6 +301,24 @@ AS
NULL
FROM prs_v_perslid_fullnames_all;
--
-- dummy definitie van prs_v_afdeling_perslid
-- omdat deze in de ins_v_deel.. views gebruikt wordt
-- maar prs-views pas later worden aangemaakt.
--
CREATE_VIEW (prs_v_afdeling_perslid,0)
( prs_roerendgoed_key
, prs_roerendgoed_type
, prs_afdeling_key
, prs_afdeling_omschrijving
, prs_afdeling_upper
, prs_perslid_key
, prs_perslid_volnaam
, prs_perslid_upper
)
AS SELECT to_number(null),null,to_number(null),null,null,to_number(null),null,null
FROM DUAL;
CREATE_VIEW(ins_v_deel_gegevens,0)
( ins_discipline_key
, ins_discipline_omschrijving
@@ -2383,19 +2401,20 @@ SELECT di.deel_key,
END
WHEN iscx.ins_srtcontrole_mode = 0 AND iscx.ins_srtcontrole_eenheid = 4
THEN
TRIM(CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 1) = 1 THEN INITCAP(lcl.l('lcl_maand_1')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 2) = 2 THEN INITCAP(lcl.l('lcl_maand_2')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 4) = 4 THEN INITCAP(lcl.l('lcl_maand_3')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 8) = 8 THEN INITCAP(lcl.l('lcl_maand_4')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 16) = 16 THEN INITCAP(lcl.l('lcl_maand_5')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 32) = 32 THEN INITCAP(lcl.l('lcl_maand_6')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 64) = 64 THEN INITCAP(lcl.l('lcl_maand_7')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 128) = 128 THEN INITCAP(lcl.l('lcl_maand_8')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 256) = 256 THEN INITCAP(lcl.l('lcl_maand_9')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 512) = 512 THEN INITCAP(lcl.l('lcl_maand_10')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 1024) = 1024 THEN INITCAP(lcl.l('lcl_maand_11')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 2048) = 2048 THEN INITCAP(lcl.l('lcl_maand_12')) || ' ' END
)
CASE
WHEN BITAND(iscx.ins_srtcontrole_bits, 12) = 12 THEN INITCAP(lcl.l('lcl_maand_12'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 11) = 11 THEN INITCAP(lcl.l('lcl_maand_11'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 10) = 10 THEN INITCAP(lcl.l('lcl_maand_10'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 9) = 9 THEN INITCAP(lcl.l('lcl_maand_9'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 8) = 8 THEN INITCAP(lcl.l('lcl_maand_8'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 7) = 7 THEN INITCAP(lcl.l('lcl_maand_7'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 6) = 6 THEN INITCAP(lcl.l('lcl_maand_6'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 5) = 5 THEN INITCAP(lcl.l('lcl_maand_5'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 4) = 4 THEN INITCAP(lcl.l('lcl_maand_4'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 3) = 3 THEN INITCAP(lcl.l('lcl_maand_3'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 2) = 2 THEN INITCAP(lcl.l('lcl_maand_2'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 1) = 1 THEN INITCAP(lcl.l('lcl_maand_1'))
END
END ins_srtcontrole_bits,
iscx.ins_srtcontrole_kosten,
iscx.ins_srtcontrole_kosten2,
@@ -2449,101 +2468,5 @@ SELECT di.deel_key,
ins_v_defined_inspect_xcp iscx
WHERE di.deel_key = iscx.ins_deel_key;
// Rapport over de gecomprimeerde/historische sensordata van status-sensoren
CREATE_VIEW(ins_v_udr_sensorhistogram, 0)
AS
SELECT h.ins_deel_key deel_key,
h.ins_deel_statedate datum,
og.alg_plaatsaanduiding plaats,
d.ins_deel_omschrijving sensor,
og.alg_gebouw_code gebouwcode,
og.alg_gebouw_naam gebouwnaam,
og.alg_verdieping_code verdiepingcode,
og.alg_ruimte_nr ruimtenr,
og.prs_werkplek_volgnr werkplekvolgnr,
og.prs_werkplek_omschrijving werkplek,
og.alg_terreinsector_code terreinsectorcode,
og.alg_terreinsector_naam terreinsector,
h.ins_deel_state status,
ROUND (h.ins_deel_statetime, 2) ratio,
og.alg_locatie_key fclt_3d_locatie_key,
d.ins_discipline_key fclt_3d_discipline_key
FROM ins_deel_state_history_all h, ins_deel d, ins_v_alg_overzicht og
WHERE og.alg_onroerendgoed_keys = d.ins_alg_ruimte_key
AND og.alg_onroerendgoed_type = d.ins_alg_ruimte_type
AND d.ins_deel_key = h.ins_deel_key;
// Rapport over de ongecomprimeerde recentere sensordata van sensoren
CREATE_VIEW(ins_v_udr_sensorhistorie, 0)
AS
SELECT h.ins_deel_key deel_key,
h.ins_deel_statedate datum,
og.alg_plaatsaanduiding plaats,
d.ins_deel_omschrijving sensor,
sd.ins_srtdeel_omschrijving soort,
og.alg_gebouw_code gebouwcode,
og.alg_gebouw_naam gebouwnaam,
og.alg_verdieping_code verdiepingcode,
og.alg_ruimte_nr ruimtenr,
og.prs_werkplek_volgnr werkplekvolgnr,
og.prs_werkplek_omschrijving werkplek,
og.alg_terreinsector_code terreinsectorcode,
og.alg_terreinsector_naam terreinsector,
h.ins_deel_state status,
fac.safe_to_number (REPLACE (h.ins_deel_state, ',', '.')) status_numeriek,
h.ins_deel_state_history_opmerk opmerking,
og.alg_locatie_key fclt_3d_locatie_key,
d.ins_discipline_key fclt_3d_discipline_key
FROM ins_deel_state_history h,
ins_deel d,
ins_v_alg_overzicht og,
ins_srtdeel sd
WHERE og.alg_onroerendgoed_keys = d.ins_alg_ruimte_key
AND og.alg_onroerendgoed_type = d.ins_alg_ruimte_type
AND sd.ins_srtdeel_key = d.ins_srtdeel_key
AND d.ins_deel_key = h.ins_deel_key;
-- Rapport over de uitgifte (uitlenen en innemen) van objecten.
CREATE_VIEW(ins_v_udr_uitgifte, 0)
AS
SELECT du.ins_deel_uitgifte_key uitgifte_key,
du.ins_deel_key deel_key,
dis.ins_discipline_omschrijving discipline,
sg.ins_srtgroep_omschrijving groep,
sd.ins_srtdeel_omschrijving objectsoort,
d.ins_deel_omschrijving object,
du.ins_deel_uitgifte_begin uitgifte,
du.ins_deel_uitgifte_ingeleverd inname,
du.ins_deel_uitgifte_eind_plan geplande_inname,
pf.prs_perslid_naam_friendly persoon,
DECODE(cp.prs_contactpersoon_voornaam, NULL, '', cp.prs_contactpersoon_voornaam || ' ')
|| DECODE(cp.prs_contactpersoon_tussenv, NULL, '', cp.prs_contactpersoon_tussenv || ' ')
|| cp.prs_contactpersoon_naam contactpersoon,
a.prs_afdeling_omschrijving afdeling_omschrijving,
a.prs_afdeling_naam afdeling_code,
b.prs_bedrijf_naam bedrijf_naam
FROM ins_deel_uitgifte du,
ins_deel d,
ins_srtdeel sd,
ins_srtgroep sg,
ins_discipline dis,
prs_perslid p,
prs_v_perslid_fullnames_all pf,
prs_v_afdeling a,
prs_bedrijf b,
prs_contactpersoon cp
WHERE du.ins_deel_key = d.ins_deel_key
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND d.ins_discipline_key = dis.ins_discipline_key
AND sg.ins_discipline_key = dis.ins_discipline_key
AND du.prs_perslid_key = p.prs_perslid_key(+)
AND p.prs_perslid_key = pf.prs_perslid_key(+)
AND p.prs_afdeling_key = a.prs_afdeling_key(+)
AND a.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND du.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
ORDER BY du.ins_deel_key,
du.ins_deel_uitgifte_begin;
REGISTERRUN('$Id$')
#endif // INS

View File

@@ -59,15 +59,9 @@ create index mld_i_mld_kenmerkopdr1 on mld_kenmerkopdr(mld_opdr_key);
CREATE UNIQUE INDEX mld_i_mld_disc_params1 ON mld_disc_params(mld_ins_discipline_key);
CREATE INDEX mld_i_mld_melding_note1 ON mld_melding_note(mld_melding_key);
CREATE INDEX mld_i_mld_melding_note2 ON mld_melding_note(fac_tracking_key);
CREATE INDEX mld_i_mld_melding_note3 ON mld_melding_note(mld_melding_note_parent_key);
CREATE INDEX mld_i_mld_melding_note4 ON mld_melding_note(prs_perslid_key);
CREATE INDEX mld_i_mld_melding_object1 ON mld_melding_object(mld_melding_key);
CREATE INDEX mld_i_mld_melding_object2 ON mld_melding_object(ins_deel_key, mld_melding_key);
CREATE INDEX mld_i_mld_opdr_note1 ON mld_opdr_note(mld_opdr_key);
CREATE INDEX mld_i_mld_opdr_note2 ON mld_opdr_note(fac_tracking_key);
CREATE INDEX mld_i_mld_opdr_note3 ON mld_opdr_note(mld_opdr_note_parent_key);
CREATE INDEX mld_i_mld_opdr_note4 ON mld_opdr_note(prs_perslid_key);
CREATE UNIQUE INDEX mld_i_mld_opdruren_kosten1 ON mld_opdruren_kosten(mld_opdr_uren_key, mld_kosten_key);
CREATE UNIQUE INDEX mld_i_mld_opdr_uren1 ON mld_opdr_uren(mld_opdr_uren_datum, mld_opdr_key, mld_impropdr_key, prs_perslid_key);

View File

@@ -32,7 +32,6 @@ INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (7,
INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (8, 'Chat');
INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (9, 'Social media');
INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (10, 'Inspectie');
INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (11, 'Sensor');
DEF_STATUS('melding', 0, 'lcl_mld_pending');
DEF_STATUS('melding', 1, 'lcl_mld_afgewezen');

View File

@@ -212,27 +212,6 @@ DEFINE_LOCALEITEM(lcl_mld_vakgroep)
DEFINE_LOCALEITEM(lcl_mld_subject)
DEFINE_LOCALEITEM(lcl_mld_fe_newmelding_confirm)
DEFINE_LOCALEITEM(lcl_menu_mld_fe_3)
DEFINE_LOCALEITEM(frm_mldframe)
DEFINE_LOCALEITEM(frm_mldworkflowframe)
DEFINE_LOCALEITEM(frm_mldmldlistframe)
DEFINE_LOCALEITEM(frm_opdrlistframe)
DEFINE_LOCALEITEM(frm_mldbeslistframe)
DEFINE_LOCALEITEM(frm_resframe)
DEFINE_LOCALEITEM(lcl_mld_urgentie)
DEFINE_LOCALEITEM(lcl_mld_impact)
DEFINE_LOCALEITEM(lcl_mld_urgentie1)
DEFINE_LOCALEITEM(lcl_mld_urgentie2)
DEFINE_LOCALEITEM(lcl_mld_urgentie3)
DEFINE_LOCALEITEM(lcl_mld_impact1)
DEFINE_LOCALEITEM(lcl_mld_impact2)
DEFINE_LOCALEITEM(lcl_mld_impact3)
DEFINE_LOCALEITEM(lcl_mld_urgentie1_info)
DEFINE_LOCALEITEM(lcl_mld_urgentie2_info)
DEFINE_LOCALEITEM(lcl_mld_urgentie3_info)
DEFINE_LOCALEITEM(lcl_mld_impact1_info)
DEFINE_LOCALEITEM(lcl_mld_impact2_info)
DEFINE_LOCALEITEM(lcl_mld_impact3_info)
END_LOCALEITEMS()
START_LOCALEITEMS('MLD_TYPEOPDR_KEY')

View File

@@ -15,12 +15,10 @@ CREATE OR REPLACE PACKAGE mld AS
FUNCTION getmeldinguser (pmeldingkey IN number) RETURN NUMBER;
PROCEDURE setmeldingstatus (pmeldingkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER, pnotificeren IN NUMBER DEFAULT 1);
FUNCTION getopdrachtstatusdate (popdrkey IN number, pstatus IN number) RETURN date;
PROCEDURE setopdrachtstatus (popdrachtkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER, popdr_note_key IN NUMBER DEFAULT NULL);
PROCEDURE setopdrachtstatus (popdrachtkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
PROCEDURE notifybackoffice (pmeldingkey IN NUMBER, pcode IN VARCHAR2, pdisc_level IN NUMBER DEFAULT 1);
PROCEDURE notifyprio (pmeldingkey IN NUMBER, prio IN NUMBER, pperslid_key IN NUMBER, pdisc_level IN NUMBER DEFAULT 1);
PROCEDURE notifyopdrgoedkeurders (popdrkey IN NUMBER);
FUNCTION getinstemmer (pmldkey IN NUMBER) RETURN NUMBER;
PROCEDURE notifyinstemmer (pmldkey IN NUMBER);
FUNCTION mld_besteed_budget_pgb (p_prs_key IN NUMBER, p_disc_key IN NUMBER)
RETURN NUMBER;
FUNCTION mld_besteed_budget_agb (p_kp_key IN NUMBER)
@@ -201,7 +199,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
currentstatus mld_melding.mld_melding_status%TYPE;
activiteit_key mld_melding.fac_activiteit_key%TYPE;
newstatus mld_melding.mld_melding_status%TYPE;
conceptstatus mld_melding.mld_melding_conceptstatus%TYPE;
eventcode VARCHAR2(10); -- tabelsize is 6
clear_on_close NUMBER(2); -- +1 = Attentie, +2 = Behandelaar , +4 = Behandelteam, +8 = Actieve behandelaar
actiecode mld_melding.mld_melding_actiecode%TYPE;
@@ -215,12 +212,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
FROM mld_melding
WHERE mld_melding_parentkey = pmeldingkey;
BEGIN
SELECT mld_melding_status, fac_activiteit_key, mld_melding_actiecode,
mld_melding_behandelaar_key, mld_ins_discipline_key, mld_melding_behandelaar2_key,
mld_melding_conceptstatus
INTO currentstatus, activiteit_key, actiecode,
behandelaar_key, discipline_key, behandelaar2_key,
conceptstatus
SELECT mld_melding_status, fac_activiteit_key, mld_melding_actiecode, mld_melding_behandelaar_key, mld_ins_discipline_key, mld_melding_behandelaar2_key
INTO currentstatus, activiteit_key, actiecode, behandelaar_key, discipline_key, behandelaar2_key
FROM mld_melding
WHERE mld_melding_key = pmeldingkey;
@@ -262,15 +255,10 @@ CREATE OR REPLACE PACKAGE BODY mld AS
END IF;
WHEN 2 -- Ingevoerd
THEN
IF currentstatus IS NULL OR currentstatus = 1 OR (currentstatus = 2 AND conceptstatus = 0)
IF currentstatus IS NULL OR currentstatus = 1
THEN
newstatus := pstatus;
IF conceptstatus = 0
THEN
eventcode := 'MLDNEW';
ELSE
eventcode := 'MLDCON'; -- eerst Concept
END IF;
eventcode := 'MLDNEW';
ELSIF currentstatus = 0
THEN
newstatus := pstatus;
@@ -365,13 +353,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
-- We know that trackaction doesn't do tracking if eventcode is null
fac.trackaction (eventcode, pmeldingkey, puserkey, NULL, NULL);
-- Als het concept is moet altijd de insteming ingeschakeld worden.
IF eventcode = 'MLDCON'
THEN
mld.notifyinstemmer(pmeldingkey);
END IF;
FOR r IN c_mldchilderen
LOOP
UPDATE mld_melding
@@ -440,7 +421,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
-- gezet, waarbij zonodig (indien verandering) een trackrecord wordt gemaakt
-- Als de status niet wijzigt, wordt ook geen trackrecord gemaakt
-- ZIE schema StateDiagramOpdrachten.vsd
PROCEDURE setopdrachtstatus (popdrachtkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER, popdr_note_key IN NUMBER DEFAULT NULL)
PROCEDURE setopdrachtstatus (popdrachtkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER)
AS
currentstatus mld_opdr.mld_statusopdr_key%TYPE;
newstatus mld_opdr.mld_statusopdr_key%TYPE;
@@ -448,7 +429,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
typeopdr_key mld_typeopdr.mld_typeopdr_key%TYPE;
typeopdr_isofferte mld_typeopdr.mld_typeopdr_isofferte%TYPE;
statusopdr_key_refiat mld_opdr.mld_statusopdr_key_refiat%TYPE;
new_fac_tracking_key fac_tracking.fac_tracking_key%TYPE;
BEGIN
SELECT mld_statusopdr_key, mld_typeopdr_key, mld_statusopdr_key_refiat
INTO currentstatus, typeopdr_key, statusopdr_key_refiat
@@ -574,19 +554,13 @@ CREATE OR REPLACE PACKAGE BODY mld AS
IF statusopdr_key_refiat IS NULL OR
newstatus = 3 OR newstatus = 4 OR newstatus = 10
THEN
fac.trackaction (eventcode, popdrachtkey, puserkey, NULL, NULL, new_fac_tracking_key);
IF popdr_note_key IS NOT NULL
THEN
UPDATE mld_opdr_note
SET fac_tracking_key = new_fac_tracking_key
WHERE mld_opdr_note_key = popdr_note_key;
END IF;
fac.trackaction (eventcode, popdrachtkey, puserkey, NULL, NULL);
END IF;
END IF;
END;
-- Stuur alle mogelijke backofficemedewerkers een bericht als de
-- melding NIEUW (niet-concept) is of geaccepteerd wordt door MLDBO3.
-- melding NIEUW is of geaccepteerd wordt door MLDBO3.
-- Naar wie, wordt reversed opgezocht op basis van toegekende autorisaties
-- (zoals bij de lijst van BO-behandelaars in suggest/persoonfilter.inc)
PROCEDURE notifybackoffice (pmeldingkey IN NUMBER, pcode IN VARCHAR2, pdisc_level IN NUMBER DEFAULT 1)
@@ -620,7 +594,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
ltracking VARCHAR2 (4000); -- moet tijdelijk groter dan fac_srtnotificatie.fac_srtnotificatie_oms%TYPE kunnen zijn
lnotifyooh mld_disc_params.mld_disc_params_offhours%TYPE;
lsender mld_discipline.ins_discipline_email%TYPE;
l_conceptstatus mld_melding.mld_melding_conceptstatus%TYPE;
BEGIN
BEGIN
-- De vakgroep (discipline) setting MLD_DISC_PARAMS_BONOTIFY geeft aan of de notificatie moeten worden verstuurd.
@@ -637,7 +610,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
-- 2 (bo3) | BO3(MLD2B3) | X | Zowel de WEB_MLDBO3 als WEB_MLDBOF rechten zijn actief.
-- 3 (bo3 en dan bof) | BO3(MLD2B3) | BOF(MLD2BO) | Zowel de WEB_MLDBO3 als WEB_MLDBOF rechten zijn actief.
BEGIN
SELECT DISTINCT m.mld_alg_locatie_key, -- DISTINCT omdat een melding met spoed zowel als spoed als als new/acp kan voorkomen?
SELECT DISTINCT m.mld_alg_locatie_key, -- DISTINCT omdat een melding met spoed zowel als speod als als new/acp kan voorkomen?
m.mld_alg_onroerendgoed_keys,
onrg.alg_type,
p.prs_afdeling_key,
@@ -650,8 +623,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
mdp.mld_disc_params_bhgnotify,
mdp.mld_disc_params_offhours,
m.mld_melding_status,
m.mld_melding_behandelaar2_key,
m.mld_melding_conceptstatus
m.mld_melding_behandelaar2_key
INTO lloc_key,
lonrg_key,
lalg_type,
@@ -662,8 +634,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
lbhgnotify,
lnotifyooh,
lstatus,
lbehandelaar,
l_conceptstatus
lbehandelaar
FROM mld_melding m,
prs_perslid p,
mld_stdmelding stdm,
@@ -693,12 +664,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
AND m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+)
AND mld_melding_key = pmeldingkey; -- op dit moment nog alleen voor NIEUWE meldingen
-- Early exit als het nog een conceptmelding is
IF l_conceptstatus <> 0
THEN
RETURN;
END IF;
DBMS_OUTPUT.put_line ('melding zegt: hier moet genotificeerd worden');
-- These notifications are now sent on behalf of the system, what might be the local FM organisation
@@ -874,15 +839,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
AND niveau = fac_gebruiker_alg_level_write)
THEN
1
WHEN lalg_type = 'T'
AND lonrg_key IN
(SELECT alg_terreinsector_key
FROM fac_v_my_locations l, alg_terreinsector t
WHERE t.alg_locatie_key = l.alg_locatie_key
AND l.prs_perslid_key = p.prs_perslid_key
AND l.niveau = fac_gebruiker_alg_level_write)
THEN
1
WHEN lalg_type = 'G'
AND lonrg_key IN
(SELECT alg_gebouw_key
@@ -1274,14 +1230,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
AND niveau = g.fac_gebruiker_alg_level_write)
THEN
1
WHEN onrg.alg_type = 'T'
AND m.mld_alg_onroerendgoed_keys IN (SELECT alg_terreinsector_key
FROM fac_v_my_locations l, alg_terreinsector t
WHERE t.alg_locatie_key = l.alg_locatie_key
AND l.prs_perslid_key = p.prs_perslid_key
AND l.niveau = g.fac_gebruiker_alg_level_write)
THEN
1
WHEN onrg.alg_type = 'G'
AND m.mld_alg_onroerendgoed_keys IN (SELECT alg_gebouw_key
FROM fac_v_my_buildings
@@ -1351,135 +1299,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
END;
END;
-- Bepaal de instemmer van een conceptmelding conform de conceptstatus(bitcode)
-- Levert NULL als die er niet is of niet bepaald kan worden
FUNCTION getinstemmer (pmldkey IN NUMBER) RETURN NUMBER
AS
l_conceptstatus mld_melding.mld_melding_conceptstatus%TYPE;
l_kp_key mld_melding.prs_kostenplaats_key%TYPE;
l_melder_key mld_melding.prs_perslid_key%TYPE;
l_afd_key mld_melding.prs_afdeling_key%TYPE;
l_instemmer_key NUMBER;
BEGIN
SELECT mld_melding_conceptstatus, prs_kostenplaats_key, prs_perslid_key
INTO l_conceptstatus, l_kp_key, l_melder_key
FROM mld_melding
WHERE mld_melding_key = pmldkey;
CASE l_conceptstatus -- ooit misschien nog BITAND voor meerlaagse instemming
WHEN 0
THEN
l_instemmer_key := NULL; -- dat wassie ook al
WHEN 1
THEN
-- de budgetverantwoordelijke moet instemmen
IF l_kp_key IS NOT NULL
THEN
SELECT prs.getkpverantwoordelijke (l_kp_key, NULL, NULL)
INTO l_instemmer_key
FROM DUAL;
IF l_instemmer_key IS NULL
OR l_instemmer_key < 0 -- kan misschien ook -1 opleveren ipv null
OR l_instemmer_key = l_melder_key -- dat ben ik zelf
THEN
l_instemmer_key := NULL;
END IF;
ELSE
l_instemmer_key := NULL; -- dat wassie ook al
END IF;
WHEN 2
THEN
--objectbeheerder, kies er maar een als er meer zijn..
-- NB: UNSUPPORTED YET. Omdat de objecten pas later worden toegevoegd aan
-- de nieuwe melding is deze flow onvoldoende voor deze case in deze opzet
-- We verstoppen deze als optie in de GUI.
BEGIN
SELECT MAX (d.prs_perslid_key_beh)
INTO l_instemmer_key
FROM mld_melding_object mo, ins_deel d
WHERE mo.ins_deel_key = d.ins_deel_key AND mo.mld_melding_key = pmldkey;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
l_instemmer_key := NULL;
END;
WHEN 4 --afdelingshoofd
THEN
SELECT d.prs_perslid_key_verantw
INTO l_instemmer_key
FROM prs_afdeling d, mld_melding m, prs_perslid p
WHERE d.prs_afdeling_key = COALESCE (m.prs_afdeling_key, p.prs_afdeling_key)
AND m.prs_perslid_key = p.prs_perslid_key
AND mld_melding_key = pmldkey;
WHEN 8 --een individuele verantwoordelijke
THEN
SELECT p.prs_perslid_key_verantw
INTO l_instemmer_key
FROM mld_melding m, prs_perslid p
WHERE m.prs_perslid_key = p.prs_perslid_key AND mld_melding_key = pmldkey;
WHEN 16 --gebouwverantwoordelijke(1)
THEN
SELECT g.prs_perslid_key_verantw
INTO l_instemmer_key
FROM mld_melding m, alg_v_onroerendgoed aog, alg_gebouw g
WHERE aog.alg_gebouw_key = g.alg_gebouw_key(+)
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
AND m.mld_melding_key = pmldkey;
END CASE;
RETURN l_instemmer_key;
END;
-- Notificeer de persoon die moet instemmen met de indiening van deze melding
-- Als die er niet is, dan notificeren we niet, maar promoveren we de melding
-- hier direct naar ingestemd, dus nieuw.
PROCEDURE notifyinstemmer (pmldkey IN NUMBER)
AS
--l_melder_key mld_melding.prs_perslid_key%TYPE;
l_receiver_key NUMBER;
l_oms fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
bericht VARCHAR2 (4000); -- fac_srtnotificatie_oms%TYPE kan te kort zijn na substitutie
BEGIN
l_receiver_key := getinstemmer(pmldkey);
IF l_receiver_key IS NOT NULL
THEN
SELECT lcl.x ('fac_srtnotificatie_oms', fac_srtnotificatie_key, fac_srtnotificatie_oms)
INTO l_oms
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'MLD2CO';
bericht := mld.mldsprintf (l_oms, pmldkey);
fac.putnotificationsrtprio (NULL,
l_receiver_key,
'MLD2CO',
pmldkey,
bericht,
NULL,
NULL,
NULL,
NULL,
2, -- prio
NULL); -- sender (overweging l_melder_key)
ELSE
-- we kunnen niemand vinden; voor de voortgang zeggen we:
-- dan is er dus geen expliciete instemming nodig en gaan we direct door
UPDATE mld_melding
SET mld_melding_conceptstatus = 0 -- bij BITAND alleen de beschouwde bits wissen
WHERE mld_melding_key = pmldkey;
fac.trackaction ('#MLDUPD', pmldkey, NULL, NULL, lcl.l('lcl_mld_defaultinstemming'));
mld.setmeldingstatus (pmldkey,
2,
NULL,
0);
END IF;
END;
FUNCTION mld_besteed_budget_pgb (p_prs_key IN NUMBER, p_disc_key IN NUMBER)
RETURN NUMBER
AS
@@ -1568,12 +1387,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
RETURN l_budgetbesteld;
END;
-- Maak automatisch een opdracht aan bij een nieuwe melding als dat zo is geconfigureerd
-- Doet niks als het (nog) een conceptmelding is.
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;
@@ -1585,7 +1401,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
l_bht_discipline_key mld_melding.mld_ins_discipline_key%TYPE;
l_opdr_discipline_key mld_opdr.mld_opdr_discipline_key%TYPE;
l_mld_melding_einddatum mld_melding.mld_melding_einddatum%TYPE;
l_conceptstatus mld_melding.mld_melding_conceptstatus%TYPE;
l_mld_stdmelding_enddate_empty mld_stdmelding.mld_stdmelding_enddate_empty%TYPE;
l_mld_melding_omschrijving mld_melding.mld_melding_omschrijving%TYPE;
l_mld_melding_onderwerp mld_melding.mld_melding_onderwerp%TYPE;
@@ -1639,7 +1454,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
, k.prs_kostenplaats_fiat
, sm.prs_dienst_key
, mdp.mld_disc_params_bestellimiet
, m.mld_melding_conceptstatus
INTO l_autoorder
, l_prs_perslid_key
, l_mld_stdmelding_key
@@ -1657,7 +1471,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
, l_prs_kostenplaats_fiat
, l_prs_dienst_key
, l_mld_disc_params_bestellimiet
, l_conceptstatus
FROM mld_melding m
, mld_stdmelding sm
, ins_tab_discipline d
@@ -1683,7 +1496,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
THEN
-- No, done.
RETURN;
@@ -1896,9 +1709,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
AND bdl.prs_dienst_key = l_prs_dienst_key
AND ((bdl.alg_gebouw_key = l_alg_gebouw_key
OR bdl.alg_gebouw_key IS NULL)
AND (bdl.alg_locatie_key = l_mld_alg_locatie_key
OR bdl.alg_locatie_key IS NULL))
AND bdl.mld_autoorder = 1;
AND (bdl.alg_locatie_key = l_mld_alg_locatie_key
OR bdl.alg_locatie_key IS NULL));
ELSIF l_mld_alg_locatie_key IS NOT NULL
THEN
SELECT MIN(bdl.prs_bedrijf_key) prs_bedrijf_key
@@ -1914,8 +1726,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
WHERE bdl.prs_bedrijf_key = b.prs_bedrijf_key
AND bdl.prs_dienst_key = l_prs_dienst_key
AND (bdl.alg_locatie_key = l_mld_alg_locatie_key
OR bdl.alg_locatie_key IS NULL)
AND bdl.mld_autoorder = 1;
OR bdl.alg_locatie_key IS NULL);
ELSE
SELECT MIN(bdl.prs_bedrijf_key) prs_bedrijf_key
, COUNT(DISTINCT bdl.prs_bedrijf_key) aantal
@@ -1930,8 +1741,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
WHERE bdl.prs_bedrijf_key = b.prs_bedrijf_key
AND bdl.prs_dienst_key = l_prs_dienst_key
AND bdl.alg_gebouw_key IS NULL
AND bdl.alg_locatie_key IS NULL
AND bdl.mld_autoorder = 1; -- Bestaat er dan misschien maar 1 bedrijf voor deze dienst zonder loc/geb scope ?
AND bdl.alg_locatie_key IS NULL; -- Bestaat er dan misschien maar 1 bedrijf voor deze dienst zonder loc/geb scope ?
END IF;
-- Indien dienst vereist en aantal is 0, dan is de dienst niet beschikbaar voor deze locatie/dit gebouw.
-- Indien aantal groter is dan 0, dan kan ik geen goede keuze maken.
@@ -2263,21 +2073,19 @@ CREATE OR REPLACE PACKAGE BODY mld AS
ELSE
-- Alleen in geval van een uitvoerder, de opdracht door putorders laten oppikken.
BEGIN
SELECT prs_bedrijfadres_url
INTO l_prs_bedrijfadres_url
FROM ( SELECT prs_bedrijfadres_url
FROM prs_bedrijfadres
WHERE prs_bedrijfadres_type = 'O'
AND prs_bedrijfadres_startdatum <= SYSDATE
AND (mld_typeopdr_key IS NULL OR mld_typeopdr_key = l_mld_typeopdr_key)
AND (alg_locatie_key = l_mld_alg_locatie_key OR alg_locatie_key IS NULL)
AND ( alg_district_key = (SELECT d.alg_district_key
FROM alg_locatie d
WHERE d.alg_locatie_key = l_mld_alg_locatie_key)
OR alg_district_key IS NULL)
AND prs_bedrijf_key = l_prs_bedrijf_key
ORDER BY prs_bedrijfadres_startdatum DESC)
WHERE ROWNUM = 1;
SELECT prs_bedrijfadres_url
INTO l_prs_bedrijfadres_url
FROM prs_bedrijfadres
WHERE prs_bedrijfadres_type = 'O'
AND (mld_typeopdr_key IS NULL
OR mld_typeopdr_key = l_mld_typeopdr_key)
AND (alg_locatie_key = l_mld_alg_locatie_key
OR alg_locatie_key IS NULL)
AND (alg_district_key = (SELECT d.alg_district_key
FROM alg_locatie d
WHERE d.alg_locatie_key = l_mld_alg_locatie_key)
OR alg_district_key IS NULL)
AND prs_bedrijf_key = l_prs_bedrijf_key;
UPDATE mld_opdr
SET mld_opdr_teverzenden = 1
@@ -2299,7 +2107,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
l_melding_start_key NUMBER (10);
l_workflowstep_key NUMBER (10);
l_stdmelding_key NUMBER (10);
l_conceptstatus mld_melding.mld_melding_conceptstatus%TYPE;
l_workflowstep_next_key NUMBER (10);
l_new_melding_key NUMBER (10);
l_success NUMBER;
@@ -2323,8 +2130,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
l_success := p_success;
BEGIN
SELECT mld_melding_start_key, mld_workflowstep_key, mld_stdmelding_key, mld_melding_conceptstatus
INTO l_melding_start_key, l_workflowstep_key, l_stdmelding_key, l_conceptstatus
SELECT mld_melding_start_key, mld_workflowstep_key, mld_stdmelding_key
INTO l_melding_start_key, l_workflowstep_key, l_stdmelding_key
FROM mld_melding
WHERE mld_melding_key = p_melding_key;
EXCEPTION
@@ -2334,17 +2141,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
RETURN;
END;
-- Early exit: conceptmeldingen vereisen eerst sowieso instemming
IF l_conceptstatus <> 0
THEN
DBMS_OUTPUT.put_line ('Dit is een conceptmelding, geen workflowacties:' || p_melding_key);
RETURN;
END IF;
IF p_success = -1
THEN
-- The first step of a workflow
BEGIN
SELECT ws.mld_workflowstep_key
INTO l_workflowstep_key
@@ -2434,8 +2233,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
RETURN TRUE;
END IF;
-- ook standaardondersteuning voor p.alg_gebouw_key, p.alg_verdieping_key, p.alg_ruimte_key en p.alg_terreinsector_key in de conditie
l_sql := 'select 1 from mld_melding, alg_v_onroerendgoed p where mld_melding.mld_alg_onroerendgoed_keys = p.alg_onroerendgoed_keys(+) AND mld_melding_key = :mld_key AND (' || p_where ||')';
l_sql := 'select 1 from mld_melding where mld_melding_key = :mld_key AND ' || p_where;
DBMS_OUTPUT.put_line (l_sql);
DBMS_SQL.parse (l_cursor, l_sql, DBMS_SQL.native);
DBMS_SQL.bind_variable (l_cursor, ':mld_key', p_mld_key);
@@ -2718,8 +2516,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
THEN
l_initmldstatus := 0;
ELSE
-- zetten we expliciet achteraf, dan weten we ook of het een concept is
l_initmldstatus := NULL;
l_initmldstatus := 2;
END IF;
SELECT mld_s_mld_melding_key.NEXTVAL INTO l_new_melding_key FROM DUAL;
@@ -2733,6 +2530,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
mld_melding_datum,
mld_melding_onderwerp,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_stdmelding_key,
mld_melding_status,
mld_kosten_klant,
@@ -2757,8 +2555,12 @@ CREATE OR REPLACE PACKAGE BODY mld AS
END,
mld_melding_onderwerp,
mld_melding_omschrijving,
lcl.l ('lcl_mld_wf_generated_by')
|| p_melding_key
|| '. '
|| mld_melding_opmerking,
r_nextsteps.mld_stdmelding_key,
l_initmldstatus, --- kan dus nog null zijn
l_initmldstatus,
mld_kosten_klant,
mld_melding_document,
m.prs_kostenplaats_key,
@@ -2795,15 +2597,12 @@ CREATE OR REPLACE PACKAGE BODY mld AS
END IF;
END IF;
-- De status zetten en de tracking genereren
IF l_initmldstatus IS NULL
THEN
l_initmldstatus := 2;
END IF;
mld.setmeldingstatus (l_new_melding_key, l_initmldstatus, NULL);
fac.trackaction ('MLDNEW',
l_new_melding_key,
NULL,
NULL,
NULL); -- ook mld2bo notificatie
-- ook mld2bo notificatie, die weet ook dat-ie niks moet doen als
-- het nog concept is
IF r_nextsteps.mld_stdmelding_default_disc IS NOT NULL -- mldbhg notificatie
THEN
mld.notifybackoffice (l_new_melding_key, 'MLDBHG', 2);
@@ -3023,8 +2822,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
END;
END IF;
-- Controleer of er automatisch een opdracht aangemaakt moet worden en doe dat dan
-- Die checkt zelf of het een conceptmelding is en doet dat nu nog niks
-- Controleer of er automatisch een opdracht aangemaakt moet worden.
mld.mld_addautoorder(l_new_melding_key);
END IF; -- evaluatecondition
END IF;
@@ -3064,58 +2862,32 @@ CREATE OR REPLACE PACKAGE BODY mld AS
END mld_nextworkflowstep;
-- Bereken van de melding het object met de laagste uitvoertijd.
-- Levert NULL als er geen objecten zijn
FUNCTION getlowestobjectuitvoer (p_melding_key IN NUMBER)
RETURN NUMBER
AS
lnrins NUMBER;
v_ins_key_min_uitvoertijd NUMBER;
v_ins_key_min_uitvoertijd NUMBER;
BEGIN
-- even kijken of er uberhaupt wel objecten zijn
-- zonder de ins_deel tabel te raadplegen
-- dat leidde nl tot een muating-error bij het verwerken van
-- sensoroverschreiding, en het kan in veel gevallen directer
SELECT COUNT (*)
INTO lnrins
FROM mld_melding_object m
WHERE mld_melding_key = p_melding_key;
SELECT MAX (d.ins_deel_key) ins_deel_key
INTO v_ins_key_min_uitvoertijd
FROM ins_deel d,
mld_melding_object m
WHERE m.mld_melding_key = p_melding_key
AND d.ins_deel_key = m.ins_deel_key
AND (CASE
WHEN d.ins_deel_t_uitvoertijd.eenheid = 'U'
THEN d.ins_deel_t_uitvoertijd.tijdsduur / 24
ELSE d.ins_deel_t_uitvoertijd.tijdsduur
END) = (SELECT MIN (CASE
WHEN d1.ins_deel_t_uitvoertijd.eenheid = 'U'
THEN d1.ins_deel_t_uitvoertijd.tijdsduur / 24
ELSE d1.ins_deel_t_uitvoertijd.tijdsduur
END)
FROM ins_deel d1,
mld_melding_object m1
WHERE m1.mld_melding_key = p_melding_key
AND d1.ins_deel_key = m1.ins_deel_key);
IF lnrins = 0
THEN
v_ins_key_min_uitvoertijd := NULL;
ELSIF lnrins = 1
THEN
SELECT ins_deel_key
INTO v_ins_key_min_uitvoertijd
FROM mld_melding_object m
WHERE mld_melding_key = p_melding_key;
ELSE
SELECT MAX (d.ins_deel_key) ins_deel_key
INTO v_ins_key_min_uitvoertijd
FROM ins_deel d, mld_melding_object m
WHERE m.mld_melding_key = p_melding_key
AND d.ins_deel_key = m.ins_deel_key
AND (CASE
WHEN d.ins_deel_t_uitvoertijd.eenheid = 'U'
THEN
d.ins_deel_t_uitvoertijd.tijdsduur / 24
ELSE
d.ins_deel_t_uitvoertijd.tijdsduur
END) =
(SELECT MIN (
CASE
WHEN d1.ins_deel_t_uitvoertijd.eenheid = 'U'
THEN
d1.ins_deel_t_uitvoertijd.tijdsduur / 24
ELSE
d1.ins_deel_t_uitvoertijd.tijdsduur
END)
FROM ins_deel d1, mld_melding_object m1
WHERE m1.mld_melding_key = p_melding_key
AND d1.ins_deel_key = m1.ins_deel_key);
END IF;
RETURN v_ins_key_min_uitvoertijd;
RETURN v_ins_key_min_uitvoertijd;
END;
-- Dit is de tijd waarop afgerekend gaat worden. Respijt wordt er afgetrokken
@@ -3897,7 +3669,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
varonroerendgoedkeys mld_melding.mld_alg_onroerendgoed_keys%TYPE;
varplaats VARCHAR2 (4000); -- Ook groot genoeg voor locatieomschrijving
varonderwerp mld_melding.mld_melding_onderwerp%TYPE;
varmelder VARCHAR2 (1000); -- Groot zat
varspoed mld_melding.mld_melding_spoed%TYPE;
varextnr mld_melding.mld_melding_externnr%TYPE;
@@ -3905,14 +3676,13 @@ CREATE OR REPLACE PACKAGE BODY mld AS
s := ps;
-- We do support substitution of placeholders in the messages
-- ##DISC## = ins_discipline_omschrijving
-- ##STDMLD## = mld_stdmelding_omschrijving
-- ##KEY## = ins_srtdiscipline_prefix+key
-- ##PLAATS## = plaatsaanduidig van plaats service
-- ##DISC## = ins_discipline_omschrijving
-- ##STDMLD## = mld_stdmelding_omschrijving
-- ##KEY## = ins_srtdiscipline_prefix+key
-- ##PLAATS## = plaatsaanduidig van plaats service
-- ##SUBJECT## = mld_melding_onderwerp
-- ##SPOED## = 'SPOED' indien spoed, anders ''
-- ##EXTNR## = extern nummer
-- ##MELDER## = melder
-- ##SPOED## = 'SPOED' indien spoed, anders ''
-- ##EXTNR## = extern nummer
IF INSTR (s, '#') > 0
THEN
SELECT lcl.x ('mld_stdmelding_omschrijving',
@@ -3925,7 +3695,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
m.mld_alg_onroerendgoed_keys,
m.mld_melding_spoed,
m.mld_melding_onderwerp,
pf.prs_perslid_naam_friendly,
m.mld_melding_externnr
INTO varstdmld,
vardisc,
@@ -3933,15 +3702,12 @@ CREATE OR REPLACE PACKAGE BODY mld AS
varonroerendgoedkeys,
varspoed,
varonderwerp,
varmelder,
varextnr
FROM mld_stdmelding stdm,
ins_tab_discipline d,
ins_srtdiscipline sd,
mld_melding m,
prs_v_perslid_fullnames_all pf
mld_melding m
WHERE d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.prs_perslid_key_voor = pf.prs_perslid_key -- voor wie is evt relevanter
AND stdm.mld_ins_discipline_key = d.ins_discipline_key
AND stdm.mld_stdmelding_key = m.mld_stdmelding_key
AND m.mld_melding_key = p_melding_key;
@@ -3949,12 +3715,11 @@ CREATE OR REPLACE PACKAGE BODY mld AS
s :=
REPLACE (
REPLACE (
REPLACE (REPLACE (REPLACE (REPLACE (s,
REPLACE (REPLACE (REPLACE (s,
'##DISC##', vardisc),
'##STDMLD##', varstdmld),
'##KEY##', varsrtdisc || TO_CHAR (p_melding_key)),
'##EXTNR##', varextnr),
'##MELDER##', varmelder),
'##SUBJECT##', varonderwerp);
IF varspoed <= 2

View File

@@ -41,7 +41,6 @@ CREATE SEQUENCE mld_s_mld_opdruren_dagk_key MINVALUE 1;
CREATE SEQUENCE mld_s_dienstniveau_key MINVALUE 1;
CREATE SEQUENCE mld_s_dienstpakket_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_stdm_srtruimte_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_opdr_uitvoeren_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_opdr_materiaal_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_afmeldtekst_key MINVALUE 1;

View File

@@ -514,18 +514,10 @@ CREATE_TABLE(mld_stdmelding,0)
NUMBER(1)
DEFAULT 7
NOT_NULL(mld_stdmelding_notes, mld_c_mld_stdmelding_notes),
mld_stdmelding_conceptstatus // standaard conceptstatus, 0:geen concept, &1, &2, &4 see documentation
NUMBER(3)
DEFAULT 0
NOT NULL,
-- in CAD_TAB.SRC:
-- cad_thema_key
-- NUMBER(10)
-- CONSTRAINT mld_r_cad_thema_key1 REFERENCES cad_thema(cad_thema_key),
mld_stdmelding_priomatrix // bepaal meldingprioriteit (mld_melding_spoed) via urgentie x impact
NUMBER(1)
DEFAULT 0
NOT NULL,
CONSTRAINT mld_u_mld_stdmelding UNIQUE(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_verwijder)
);
@@ -539,12 +531,6 @@ ALTER TABLE mld_stdmelding MODIFY mld_stdmelding_t_uitvoertijd NOT_NULL(mld_stdm
ALTER TABLE mld_stdmelding MODIFY mld_stdmelding_t_uitvtijd_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmelding MODIFY mld_stdmelding_t_uitvtijd_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmelding MODIFY mld_stdmelding_t_uitvtijd_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE ins_srtdeel ADD
(
mld_stdmelding_key
NUMBER(10) REFERENCES mld_stdmelding(mld_stdmelding_key)
);
ALTER TABLE ins_srtcontrole ADD
(
mld_stdmelding_key
@@ -1047,12 +1033,8 @@ CREATE_TABLE(mld_melding,0)
mld_adres_key
NUMBER(10)
CONSTRAINT mld_r_mld_adres_key1 REFERENCES mld_adres(mld_adres_key),
mld_melding_spoed /* prioriteit: 1 = kritiek, 2=hoog, 3=normaal, 4=laag, 5=hold(?), matcht mld_stdmelding_uitvoertijd_prX */
mld_melding_spoed /* urgentie: 1 = kritiek, 2=hoog, 3=normaal, 4=laag, 5=hold(?), matcht mld_stdmelding_uitvoertijd_prX */
NUMBER(1),
mld_melding_impact /* optionele onderbouwing van de prioriteit dimensie 1 */
NUMBER(2),
mld_melding_urgentie /* optionele onderbouwing van de prioriteit dimensie 2 */
NUMBER(2),
fac_activiteit_key
NUMBER(10)
CONSTRAINT fac_r_fac_activiteit1 REFERENCES fac_activiteit(fac_activiteit_key) ON DELETE CASCADE,
@@ -1116,11 +1098,7 @@ CREATE_TABLE(mld_melding,0)
mld_melding_y
NUMBER(16,6),
mld_melding_z
NUMBER(16,6),
mld_melding_conceptstatus // instemmingstatus, 0:geen concept=ingestemd, &1, &2, &4 see documentation
NUMBER(3)
DEFAULT 0
NOT NULL
NUMBER(16,6)
);
ALTER TABLE mld_melding MODIFY mld_melding_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
@@ -1550,8 +1528,7 @@ CREATE_TABLE(mld_melding_note, 0)
fac_note_group_key NUMBER (10) REFERENCES fac_note_group(fac_note_group_key) ON DELETE SET NULL,
mld_melding_note_omschrijving VARCHAR2 (4000 CHAR),
mld_melding_note_flag NUMBER (2) DEFAULT 0, // &1=FE, &2= unused (Altijd zichtbaar voor FOBO), +4=UITV (redefined DB41)
mld_melding_note_parent_key NUMBER (10) DEFAULT NULL REFERENCES mld_melding_note (mld_melding_note_key) ON DELETE CASCADE,
fac_tracking_key NUMBER (10) REFERENCES fac_tracking (fac_tracking_key) ON DELETE SET NULL /* optionally related to a specific event */
mld_melding_note_parent_key NUMBER (10) DEFAULT NULL REFERENCES mld_melding_note (mld_melding_note_key) ON DELETE CASCADE
);
CREATE_TABLE(mld_opdr_note, 0)
@@ -1564,8 +1541,7 @@ CREATE_TABLE(mld_opdr_note, 0)
fac_note_group_key NUMBER (10) REFERENCES fac_note_group(fac_note_group_key) ON DELETE SET NULL,
mld_opdr_note_omschrijving VARCHAR2 (4000 CHAR),
mld_opdr_note_flag NUMBER (2) DEFAULT 4, // &1=FE, &2= unused (Altijd zichtbaar voor FOBO), +4=UITV
mld_opdr_note_parent_key NUMBER (10) DEFAULT NULL REFERENCES mld_opdr_note (mld_opdr_note_key) ON DELETE CASCADE,
fac_tracking_key NUMBER (10) REFERENCES fac_tracking (fac_tracking_key) ON DELETE SET NULL /* optionally related to a specific event */
mld_opdr_note_parent_key NUMBER (10) DEFAULT NULL REFERENCES mld_opdr_note (mld_opdr_note_key) ON DELETE CASCADE
);
-- Improductieve opdrachten, alternatief van mld_opdr om uren op te registreren
@@ -1694,22 +1670,6 @@ CREATE_TABLE(mld_dienstpakket, 0)
NUMBER(10) REFERENCES mld_stdmelding(mld_stdmelding_key)
);
CREATE_TABLE(mld_stdmelding_srtruimte, 0)
(
mld_stdmelding_srtruimte_key
NUMBER(10)
PRIMARY KEY,
mld_stdmelding_key
NUMBER(10)
NOT_NULL(mld_stdmelding_key, mld_c_mld_stdmelding_key3)
CONSTRAINT mld_r_mld_stdmelding_key11 REFERENCES mld_stdmelding(mld_stdmelding_key) ON DELETE CASCADE,
alg_srtruimte_key
NUMBER(10)
NOT_NULL(alg_srtruimte_key, ins_c_ins_srtruimte_key)
CONSTRAINT mld_r_ins_srtruimte_key REFERENCES alg_srtruimte(alg_srtruimte_key) ON DELETE CASCADE,
CONSTRAINT mld_u_mld_stdmelding_srtruimte UNIQUE(mld_stdmelding_key, alg_srtruimte_key)
);
CREATE_TABLE(mld_opdr_uitvoeren, 0)
(
mld_opdr_uitvoeren_key

View File

@@ -171,14 +171,6 @@ BEGIN
WHERE alg_onroerendgoed_keys = :NEW.mld_alg_onroerendgoed_keys;
END IF;
IF :old.mld_melding_conceptstatus IS NULL
THEN
SELECT mld_stdmelding_conceptstatus
INTO :new.mld_melding_conceptstatus
FROM mld_stdmelding
WHERE mld_stdmelding_key = :new.mld_stdmelding_key;
END IF;
-- Remember/update the default SLA-data if new or possibly changed
IF :new.mld_melding_acceptdatum_std IS NULL
OR UPDATING ('mld_melding_datum')
@@ -291,13 +283,6 @@ BEGIN
END IF;
END;
END IF;
-- Beoordeling van de melding
IF (:new.mld_melding_satisfaction IS NOT NULL
AND (:old.mld_melding_satisfaction IS NULL OR :old.mld_melding_satisfaction <> :new.mld_melding_satisfaction))
THEN
fac.trackaction('MLDLIK', :old.mld_melding_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.mld_melding_satisfaction));
END IF;
END;
/
@@ -869,14 +854,6 @@ BEGIN
END;
/
CREATE_TRIGGER(mld_t_mld_stdm_srtruimte_B_I)
BEFORE INSERT ON mld_stdmelding_srtruimte
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_stdmelding_srtruimte_key, mld_s_mld_stdm_srtruimte_key);
END;
/
CREATE_TRIGGER(mld_t_mld_opdr_uitvoeren_B_IU)
BEFORE INSERT OR UPDATE ON mld_opdr_uitvoeren
FOR EACH ROW

View File

@@ -368,6 +368,458 @@ AS
WHERE t.mld_stdmelding_key IS NULL
AND t.mld_ins_discipline_key = md.ins_discipline_key(+);
---- KTO views + rapportages
CREATE_VIEW(mld_v_kto_vragen, 0)
(
vraag1,
vraag2,
vraag3,
vraag4,
vraag5
)
AS SELECT
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag1')
) vraag1,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag2')
) vraag2,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag3')
) vraag3,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag4')
) vraag4,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag5')
) vraag5
FROM dual;
CREATE_VIEW(mld_v_kto_antwoorden, 0)
(
mld_melding_key,
cijfer1,
cijfer2,
cijfer3,
cijfer4,
cijfer5,
opm1,
opm2,
opm3,
opm4,
opm5
)
AS
SELECT
kto.mld_melding_key,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer1')
) cijfer1,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer2')
) cijfer2,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer3')
) cijfer3,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer4')
) cijfer4,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer5')
) cijfer5,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht1')
) toelicht1,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht2')
) toelicht2,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht3')
) toelicht3,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht4')
) toelicht4,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht5')
) toelicht5
FROM mld_melding kto
WHERE kto.mld_melding_kto_type IS NOT NULL
AND kto.mld_melding_kto_key IS NOT NULL;
CREATE_VIEW(mld_v_kto_geg, 0)
(
KTO_KEY,
KTO_TYPE,
KTO_REFKEY,
KTO_UITNODIGING_DATUM,
KTO_INVUL_DATUM,
KTO_RESPONSE_TIJD,
INS_SRTDISCIPLINE_KEY,
RES_ACTIVITEIT_KEY,
INS_DISCIPLINE_KEY,
MLD_STDMELDING_KEY,
INS_SRTDISCIPLINE_OMSCHRIJVING,
RES_ACTIVITEIT_OMSCHRIJVING,
MLD_VAKGROEP_OMSCHRIJVING,
RES_RUIMTECATEGORIE,
BES_CATALOGUS,
MLD_STDMELDING_OMSCHRIJVING,
ALG_REGIO_OMSCHRIJVING,
ALG_DISTRICT_OMSCHRIJVING,
ALG_LOCATIE_CODE,
ALG_LOCATIE_OMSCHRIJVING,
CIJFER1,
CIJFER2,
CIJFER3,
CIJFER4,
CIJFER5,
OPM1,
OPM2,
OPM3,
OPM4,
OPM5
)
AS
-- Alle meldingen (alias m) waarvan KTO-uitnodiging is verstuurd met eventuele bijbehorende kto-melding (alias kto)
-- Let op: 2e kolom staat hard 'BMR', en niet overnemen van kto.mld_melding_kto_type, omdat je dat zonder KTO-melding al wilt weten
SELECT kto.mld_melding_key kto_key,
'M',
kto.mld_melding_kto_key,
m.mld_melding_kto_verstuurd,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) kto_invul_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) - m.mld_melding_kto_verstuurd kto_response_tijd,
sd.ins_srtdiscipline_key,
NULL res_activiteit_key,
d.ins_discipline_key,
s.mld_stdmelding_key,
sd.ins_srtdiscipline_omschrijving,
NULL res_activiteit_omschrijving,
d.ins_discipline_omschrijving mld_vakgroep_omschrijving,
NULL res_ruimtecategorie,
NULL bes_catalogus,
s.mld_stdmelding_omschrijving,
r.alg_regio_omschrijving,
di.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
kto_a.cijfer1,
kto_a.cijfer2,
kto_a.cijfer3,
kto_a.cijfer4,
kto_a.cijfer5,
kto_a.opm1,
kto_a.opm2,
kto_a.opm3,
kto_a.opm4,
kto_a.opm5
FROM mld_melding kto, mld_melding m, ins_tab_discipline d, mld_stdmelding s, ins_srtdiscipline sd,
alg_locatie l, alg_district di, alg_regio r,
mld_v_kto_antwoorden kto_a
WHERE m.mld_melding_kto_verstuurd IS NOT NULL
AND m.mld_melding_key = kto.mld_melding_kto_key(+)
AND kto.mld_melding_key = kto_a.mld_melding_key (+)
AND COALESCE(KTO.MLD_MELDING_KTO_TYPE,'M') = 'M'
AND s.mld_stdmelding_key = m.mld_stdmelding_key
AND d.ins_discipline_key = s.mld_ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_alg_locatie_key = l.alg_locatie_key (+)
AND l.alg_district_key = di.alg_district_key (+)
AND di.alg_regio_key = r.alg_regio_key (+)
UNION ALL
SELECT kto.mld_melding_key kto_key,
'R',
kto.mld_melding_kto_key,
rrr.res_rsv_ruimte_kto_verstuurd kto_uitnodiging_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) kto_invul_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) - rrr.res_rsv_ruimte_kto_verstuurd kto_response_tijd,
NULL ins_srtdiscipline_key,
a.res_activiteit_key,
d.ins_discipline_key,
rrr.res_rsv_ruimte_key,
NULL ins_srtdiscipline_omschrijving,
a.res_activiteit_omschrijving,
NULL mld_vakgroep_omschrijving,
d.ins_discipline_omschrijving res_ruimtecategorie,
NULL bes_catalogus,
NULL mld_stdmelding_omschrijving,
rg.alg_regio_omschrijving,
di.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
kto_a.cijfer1,
kto_a.cijfer2,
kto_a.cijfer3,
kto_a.cijfer4,
kto_a.cijfer5,
kto_a.opm1,
kto_a.opm2,
kto_a.opm3,
kto_a.opm4,
kto_a.opm5
FROM mld_melding kto, res_rsv_ruimte rrr, res_ruimte_opstelling ro, res_ruimte rr, ins_tab_discipline d, res_activiteit a,
alg_ruimte r, alg_verdieping v, alg_gebouw g, alg_locatie l, alg_district di, alg_regio rg,
mld_v_kto_antwoorden kto_a
WHERE rrr.res_rsv_ruimte_kto_verstuurd IS NOT NULL
AND a.res_activiteit_key = rrr.res_activiteit_key
AND rrr.res_rsv_ruimte_key = kto.mld_melding_kto_key(+)
AND kto.mld_melding_key = kto_a.mld_melding_key (+)
AND COALESCE(KTO.MLD_MELDING_KTO_TYPE,'R') = 'R'
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rr.res_ruimte_key
AND rr.res_discipline_key = d.ins_discipline_key
AND r.alg_ruimte_key = (SELECT MIN(rar.alg_ruimte_key) FROM res_alg_ruimte rar WHERE rar.res_ruimte_key = rr.res_ruimte_key)
AND v.alg_verdieping_key = r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND l.alg_locatie_key = g.alg_locatie_key
AND di.alg_district_key = l.alg_district_key
AND rg.alg_regio_key = di.alg_regio_key
UNION ALL
SELECT kto.mld_melding_key kto_key,
'B',
kto.mld_melding_kto_key,
b.bes_bestelling_kto_verstuurd kto_uitnodiging_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) kto_invul_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) - b.bes_bestelling_kto_verstuurd kto_response_tijd,
NULL ins_srtdiscipline_key,
NULL res_activiteit_key,
d.ins_discipline_key,
b.bes_bestelling_key,
NULL ins_srtdiscipline_omschrijving,
NULL res_activiteit_omschrijving,
NULL mld_vakgroep_omschrijving,
NULL res_ruimtecategorie,
d.ins_discipline_omschrijving bes_catalogus,
NULL mld_stdmelding_omschrijving,
r.alg_regio_omschrijving,
di.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
kto_a.cijfer1,
kto_a.cijfer2,
kto_a.cijfer3,
kto_a.cijfer4,
kto_a.cijfer5,
kto_a.opm1,
kto_a.opm2,
kto_a.opm3,
kto_a.opm4,
kto_a.opm5
FROM mld_melding kto, bes_bestelling b, bes_bestelling_item bi, bes_srtdeel sd, bes_srtgroep sg, bes_discipline d,
mld_adres ad, alg_locatie l, alg_district di, alg_regio r,
mld_v_kto_antwoorden kto_a
WHERE b.bes_bestelling_kto_verstuurd IS NOT NULL
AND b.bes_bestelling_key = kto.mld_melding_kto_key(+)
AND kto.mld_melding_key = kto_a.mld_melding_key (+)
AND COALESCE(KTO.MLD_MELDING_KTO_TYPE,'B') = 'B'
AND b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = d.ins_discipline_key
AND b.mld_adres_key_lev = ad.mld_adres_key
AND ad.alg_locatie_key = l.alg_locatie_key (+)
AND l.alg_district_key = di.alg_district_key (+)
AND di.alg_regio_key = r.alg_regio_key (+);
-----
-- KTO-Rapport 1: Algemeen overview/overzicht van ingevulde KTO's
CREATE_VIEW(mld_v_rap_kto_overview, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_kwartaal,
fclt_f_maand,
fclt_f_regio,
fclt_f_district,
fclt_f_locatie,
fclt_f_vakgroeptype,
fclt_f_activiteit,
fclt_f_vakgroep,
fclt_f_ruimtecategorie,
fclt_f_bestelcatalogus,
melding,
fclt_f_beoordeling,
cijfer1,
opm1,
cijfer2,
opm2,
cijfer3,
opm3,
cijfer4,
opm4,
cijfer5,
opm5,
hide_f_kto_key,
hide_f_kto_refkey
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_invul_datum,'yyyy'),
'Q' || to_char(kto_invul_datum,'q'),
to_char(kto_invul_datum,'mm'),
alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code || '-' || alg_locatie_omschrijving,
ins_srtdiscipline_omschrijving,
res_activiteit_omschrijving,
mld_vakgroep_omschrijving,
res_ruimtecategorie,
bes_catalogus,
mld_stdmelding_omschrijving,
CASE
WHEN COALESCE(cijfer1,10)<5.5 OR
COALESCE(cijfer2,10)<5.5 OR
COALESCE(cijfer3,10)<5.5 OR
COALESCE(cijfer4,10)<5.5 OR
COALESCE(cijfer5,10)<5.5 THEN 'Onvoldoende'
ELSE 'Voldoende'
END,
cijfer1,
opm1,
cijfer2,
opm2,
cijfer3,
opm3,
cijfer4,
opm4,
cijfer5,
opm5,
kto_key,
kto_refkey
FROM mld_v_kto_geg
WHERE kto_key IS NOT NULL;
-- KTO-Rapport 2: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR)+jaar+maand
CREATE_VIEW(mld_v_rap_kto_response_soort, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm');
-- KTO-Rapport 3: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR) +jaar+maand+regio+district
CREATE_VIEW(mld_v_rap_kto_responsedistrict, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
fclt_f_regio,
fclt_f_district,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving,
alg_district_omschrijving,
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving, alg_district_omschrijving;
-- KTO-Rapport 4: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR) +jaar+maand+regio+district+locatie
CREATE_VIEW(mld_v_rap_kto_response_locatie, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
fclt_f_regio,
fclt_f_district,
fclt_f_locatie,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code || '-' || alg_locatie_omschrijving,
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving, alg_district_omschrijving, alg_locatie_code || '-' || alg_locatie_omschrijving;
-- KTO-Rapport 5: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR) +jaar+maand+discipline (disc=vakgroep of catalogus of ruimtecategorie)
CREATE_VIEW(mld_v_rap_kto_response_disc, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
fclt_f_categorie,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
COALESCE(mld_vakgroep_omschrijving, res_ruimtecategorie, bes_catalogus),
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm'),
COALESCE(mld_vakgroep_omschrijving, res_ruimtecategorie, bes_catalogus);
-- Defines the personal todo-list for user fclt_3d_user_key,
-- gathering all the variants that an order can be assigned
-- To be used as base for a report. First version
@@ -800,8 +1252,6 @@ CREATE_VIEW(mld_v_udr_melding, 1)
bedrijf_key,
invoerder,
meldbron,
accepteerder,
afmelder,
soortmelding,
fclt_3d_discipline_key,
productgroep,
@@ -885,8 +1335,6 @@ AS
prs_bedrijf_key,
invoerder,
meldbron,
accepteerder,
afmelder,
soortmelding,
stdm_ins_discipline_key,
productgroep,
@@ -905,8 +1353,8 @@ AS
sla_werkuren,
sla_respijtdgn,
sla_respijturen,
DECODE(x.sla_accpt.eenheid, 'D', x.sla_accpt.tijdsduur, NULL) sla_accptdgn,
DECODE(x.sla_accpt.eenheid, 'U', x.sla_accpt.tijdsduur, NULL) sla_accpturen,
sla_accptdgn,
sla_accpturen,
plan_uitvoertijd_sla,
datum,
einddatum,
@@ -927,41 +1375,54 @@ AS
mld_melding_satisfaction_op,
mld_melding_flag,
mld_melding_actiecode,
DECODE ( x.sla_accpt.eenheid
, 'D', acceptdatum - COALESCE (accepted, afgemeld, SYSDATE)
, NULL
) accept_sla_dagen,
CAST ( DECODE ( x.sla_accpt.eenheid
, 'U', (acceptdatum - COALESCE (accepted, afgemeld, SYSDATE)) * 24
, NULL
) AS NUMBER(7,2)
) accept_sla_uren,
DECODE ( x.t_doorlooptijd.eenheid
, 'D', mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0)
, NULL
) uitvoering_sla_dagen,
CAST ( DECODE ( x.t_doorlooptijd.eenheid
, 'U', ( (mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijturen, 0)
, NULL
) AS NUMBER(7,2)
) uitvoering_sla_uren,
DECODE ( x.t_doorlooptijd.eenheid
, 'D', einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0)
, NULL
) afspraak_sla_dagen,
CAST ( DECODE ( x.t_doorlooptijd.eenheid
, 'U', ( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijtdgn, 0)
, NULL
) AS NUMBER(7,2)
) afspraak_sla_uren,
DECODE (x.t_doorlooptijd.eenheid, 'D', acceptdatum - COALESCE (accepted, afgemeld), NULL)
accept_sla_dagen,
CAST (
DECODE (x.t_doorlooptijd.eenheid,
'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24,
NULL)
AS NUMBER(7,2)
)
accept_sla_uren,
DECODE (
x.t_doorlooptijd.eenheid,
'D',
mld.geteinddatum (mld_melding_key)
- COALESCE (afgemeld, SYSDATE)
+ COALESCE (sla_respijtdgn, 0),
NULL)
uitvoering_sla_dagen,
CAST (
DECODE (
x.t_doorlooptijd.eenheid,
'U',
( (mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE)) * 24)
+ COALESCE (sla_respijturen, 0),
NULL)
AS NUMBER(7,2)
)
uitvoering_sla_uren,
DECODE (x.t_doorlooptijd.eenheid,
'D', einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0),
NULL)
afspraak_sla_dagen,
CAST (
DECODE (
x.t_doorlooptijd.eenheid,
'U',
( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijtdgn, 0),
NULL)
AS NUMBER(7,2)
)
afspraak_sla_uren,
CASE
WHEN acceptdatum IS NULL
OR -- Dan is er geen acceptatietijd gedefinieerd en dus altijd op tijd.
DECODE (x.sla_accpt.eenheid,
'D', acceptdatum - COALESCE (accepted, afgemeld, SYSDATE),
DECODE (x.t_doorlooptijd.eenheid,
'D', acceptdatum - COALESCE (accepted, afgemeld),
0)
+ DECODE (x.sla_accpt.eenheid,
'U', (acceptdatum - COALESCE (accepted, afgemeld, SYSDATE)) * 24,
+ DECODE (x.t_doorlooptijd.eenheid,
'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24,
0) >= 0
THEN
lcl.l ('lcl_yes')
@@ -1071,14 +1532,6 @@ AS
WHERE mb.mld_meldbron_key = m.mld_meldbron_key)
meldbron,
m.mld_meldbron_key,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = fac.gettrackinguserkey('MLDACP', m.mld_melding_key))
accepteerder,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = fac.gettrackinguserkey('MLDAFM', m.mld_melding_key))
afmelder,
sd.ins_srtdiscipline_key ins_srtdiscipline_key,
sd.ins_srtdiscipline_omschrijving soortmelding,
md.ins_discipline_key stdm_ins_discipline_key,
@@ -1136,11 +1589,14 @@ AS
'U', m.mld_melding_t_respijt.tijdsduur,
NULL)
sla_respijturen,
CASE WHEN m.mld_melding_spoed = 3 THEN s.mld_stdmelding_t_accepttijd
WHEN m.mld_melding_spoed = 1 then s.mld_stdmelding_t_accept_pr1
WHEN m.mld_melding_spoed = 1 then s.mld_stdmelding_t_accept_pr2
WHEN m.mld_melding_spoed = 1 then s.mld_stdmelding_t_accept_pr4
END sla_accpt,
DECODE (m.mld_melding_t_accepttijd.eenheid,
'D', m.mld_melding_t_accepttijd.tijdsduur,
NULL)
sla_accptdgn,
DECODE (m.mld_melding_t_accepttijd.eenheid,
'U', m.mld_melding_t_accepttijd.tijdsduur,
NULL)
sla_accpturen,
m.mld_melding_datum datum,
CASE WHEN s.mld_stdmelding_planbaar = 2
THEN TO_DATE(NULL)
@@ -1257,10 +1713,7 @@ CREATE_VIEW(mld_v_udr_opdracht, 1)
opdracht_parent_volgnummer,
opdracht_verstrektdatum,
opdracht_lev_doorloopdagen,
opdracht_lev_doorloopuren,
opdracht_gefactureerd_excl,
opdracht_gefactureerd_btw,
opdracht_gefactureerd_incl
opdracht_lev_doorloopuren
)
AS
SELECT mld_opdr_key,
@@ -1328,10 +1781,7 @@ AS
, NULL
, NULL
, 'U'
).tijdsduur opdracht_lev_doorloopuren,
gefactureerd_excl,
gefactureerd_btw,
gefactureerd_incl
).tijdsduur opdracht_lev_doorloopuren
FROM (SELECT alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code locatie,
@@ -1418,7 +1868,7 @@ AS
c.cnt_contract_versie opdracht_contract_versie,
o.mld_opdr_contactpersoon opdracht_contactpersoon,
o.mld_opdr_uren opdracht_uren,
COALESCE(o.mld_opdr_kosten, 0) - COALESCE(o.mld_opdr_materiaal, 0) - (COALESCE(o.mld_opdr_uren, 0) * COALESCE(o.mld_opdr_uurloon, 0))
o.mld_opdr_kosten - o.mld_opdr_materiaal - (o.mld_opdr_uren * o.mld_opdr_uurloon)
opdracht_correctie,
o.mld_opdr_materiaal opdracht_materiaal,
o.mld_opdr_uurloon opdracht_uurtarief,
@@ -1434,26 +1884,7 @@ AS
2, stdm.mld_stdmelding_t_uitvtijd_pr2.eenheid,
3, stdm.mld_stdmelding_t_uitvoertijd.eenheid,
stdm.mld_stdmelding_t_uitvtijd_pr4.eenheid
) eenheid,
COALESCE((SELECT SUM(f.fin_factuur_totaal)
FROM fin_factuur f
WHERE f.mld_opdr_key = o.mld_opdr_key
AND f.fin_factuur_statuses_key <> 1
AND f.fin_factuur_verwijder IS NULL
), 0) gefactureerd_excl,
COALESCE((SELECT SUM(f.fin_factuur_totaal_btw)
FROM fin_factuur f
WHERE f.mld_opdr_key = o.mld_opdr_key
AND f.fin_factuur_statuses_key <> 1
AND f.fin_factuur_verwijder IS NULL
), 0) gefactureerd_btw,
COALESCE((SELECT SUM(f.fin_factuur_totaal + f.fin_factuur_totaal_btw)
FROM fin_factuur f
WHERE f.mld_opdr_key = o.mld_opdr_key
AND f.fin_factuur_statuses_key <> 1
AND f.fin_factuur_verwijder IS NULL
), 0) gefactureerd_incl
) eenheid
FROM alg_locatie l,
alg_district d,
alg_regio r,
@@ -1630,7 +2061,6 @@ SELECT
// UDR met kenmerken (1 record per kenmerk met waarde in kolom c, n of d afhankelijk van type
// Geen kenmerk, geen record.
// Obsolete geraakt sinds FCLT#56801, bestaat alleen nog een tijdje om compatibel te blijven
CREATE_VIEW(mld_v_udr_meldingkenmerk_cnd, 1)
AS
SELECT m.*,
@@ -1682,7 +2112,7 @@ AS
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
AND k.mld_srtkenmerk_key = skm.mld_srtkenmerk_key(+);
// Obsolete geraakt sinds FCLT#56801, bestaat alleen nog een tijdje om compatibel te blijven
CREATE_VIEW(mld_v_udr_opdrachtkenmerk_cnd, 1)
AS
SELECT o.*,

View File

@@ -117,10 +117,9 @@ AS
AND ins_srtdeel_key = srtdeelkey
AND ins_deel_verwijder IS NULL;
-- Gevonden, dus niet uniek. Probeer het met een sterretje ervoor, passen ze dat later maar zelf aan
SELECT ins.nextdescription(ins_srtdeel_code, parent_key)
INTO omschrijving
FROM ins_srtdeel
WHERE ins_srtdeel_key = srtdeelkey;
SELECT ins.get_description('LPN_INS_DEEL',parent_key , ins_srtdeel_code_upper)
INTO omschrijving
FROM ins_srtdeel WHERE ins_srtdeel_key=srtdeelkey;
EXCEPTION
WHEN NO_DATA_FOUND
THEN

View File

@@ -10,7 +10,7 @@ CREATE INDEX prs_i_prs_afdeling2 ON prs_afdeling(prs_kostenplaats_key);
CREATE INDEX prs_i_prs_afdeling3 ON prs_afdeling(prs_afdeling_externid);
CREATE INDEX prs_i_prs_bedrijfadres1 ON prs_bedrijfadres(prs_bedrijf_key);
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres2 ON prs_bedrijfadres(prs_bedrijf_key, prs_bedrijfadres_type, mld_typeopdr_key, alg_locatie_key, alg_district_key, prs_bedrijf_key2, prs_bedrijfadres_startdatum);
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres2 ON prs_bedrijfadres(prs_bedrijf_key, prs_bedrijfadres_type, mld_typeopdr_key, alg_locatie_key, alg_district_key);
CREATE INDEX prs_i_prs_perslid1 ON prs_perslid(prs_srtperslid_key);
CREATE INDEX prs_i_prs_perslid2 ON prs_perslid(prs_afdeling_key);
@@ -30,14 +30,14 @@ CREATE INDEX prs_i_prs_perslidwerkplek1 ON prs_perslidwerkplek(prs_perslid_key);
CREATE INDEX prs_i_prs_perslidwerkplek2 ON prs_perslidwerkplek(prs_werkplek_key);
CREATE INDEX prs_i_prs_kostenplaats2 ON prs_kostenplaats(prs_perslid_key);
CREATE UNIQUE INDEX prs_i_prs_kostensoort1 ON prs_kostensoort(prs_kostensoortgrp_key, prs_kostensoort_upper, prs_kostensoort_verwijder);
CREATE UNIQUE INDEX prs_i_prs_kostensoort1 ON prs_kostensoort(prs_kostensoortgrp_key, prs_kostensoort_upper);
CREATE UNIQUE INDEX prs_i_prs_kostencombinatie1 ON prs_kostencombinatie (prs_kostenplaatsgrp_key, prs_kostensoort_key);
CREATE INDEX prs_i_prs_perslidkostenplaats1 ON prs_perslidkostenplaats(prs_perslid_key, prs_kostenplaats_key);
CREATE UNIQUE INDEX prs_i_prs_collega1 ON prs_collega(prs_perslid_key, prs_perslid_key_alt);
CREATE UNIQUE INDEX prs_i_prs_ruimteafdeling1 ON prs_ruimteafdeling(alg_ruimte_key, prs_afdeling_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder);
CREATE UNIQUE INDEX prs_i_prs_ruimteafdeling1 ON prs_ruimteafdeling(alg_ruimte_key, prs_afdeling_key, prs_ruimteafdeling_verwijder);
CREATE UNIQUE INDEX prs_i_prs_perslid_inzetbaar1 ON prs_perslid_inzetbaar(prs_perslid_key, prs_perslid_inzetbaar_dag);

View File

@@ -109,7 +109,6 @@ AS
PROCEDURE delete_perslid (p_import_key IN NUMBER, p_perslid_key IN NUMBER);
FUNCTION combinatievalidatie (p_kp_key IN NUMBER, p_ksrt_key IN NUMBER, p_disc_key IN NUMBER) RETURN BOOLEAN;
PROCEDURE personen_inactief_schonen;
END prs;
/
@@ -471,8 +470,6 @@ AS
-- Levert de volgende fiatteur in de rij op. Indien geen volgende fiatteur gevonden kan worden wordt -1 teruggegeven.
-- Er wordt hier niet gecontroleerd of de opdracht gefiatteerd dient te worden. Dat dien je voor de aanroep te bepalen.
-- LET OP: Als de eerste fiatteur is verwijderd dan wordt bij het herfiatteren van een meldingen geen fiatteur meer gevonden.
-- Dan moet de functie prs.getfiatteur worden gebruikt (BLCC#80088).
FUNCTION nextfiatteur (pkey IN NUMBER,
pmodule IN VARCHAR2,
pexcludekey IN NUMBER DEFAULT -1)
@@ -515,10 +512,13 @@ AS
WHEN 'BES'
THEN
SELECT CASE
WHEN bes_bestelling_fiat_user IS NULL
-- I.v.m. herfiattering hier niet meer met de 'BESFIT' tracking gecontroleerd of de kp verantvoordelijke al gefiatteerd heeft,
-- maar hier kijken naar het gefiatteerde bedrag die is opgeslagen in het veld bes_bestelling.bes_bestelling_fiat_user.
-- Bij herfiattering wordt dit veld leeg gemaakt zodat de bestelling weer als een nieuwe bestelling moet worden gefiatteerd (AAIT#79538).
WHEN NOT EXISTS
(SELECT prs_perslid_key
FROM fac_tracking t,
fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND st.fac_srtnotificatie_code = 'BESFIT'
AND fac_tracking_refkey = b.bes_bestelling_key)
THEN
prs.getfiatteur(b.prs_kostenplaats_key, pexcludekey, binfo.totaal, binfo.ins_discipline_key, COALESCE(bes_bestelling_fiatbedrag, -1))
WHEN bes_bestelling_fiatbedrag >= COALESCE(kpg.prs_kostenplaatsgrp_fin_limit2, fac.safe_To_Number(fac.getsetting ('mld_opdr_kpg_fin_limit2')))
@@ -846,7 +846,7 @@ AS
-- v_prs_perslid_wachtwoord 23
-- v_prs_perslid_titel 24
-- v_prs_perslid_apikey 25
-- v_prs_kostenplaats_nr 26
-- v_dummy 26
-- v_prs_kenmerk1 27
-- v_prs_kenmerk2 28
-- v_prs_kenmerk3 29
@@ -896,7 +896,6 @@ AS
v_prs_werkplek_volgnr VARCHAR2 (256);
v_prs_werkplek_omschrijving VARCHAR2 (256);
v_prs_afdeling_naam VARCHAR2 (256);
v_prs_kostenplaats_nr VARCHAR2 (256);
v_prs_perslid_naam VARCHAR2 (256);
v_prs_perslid_tussenvoegsel VARCHAR2 (256);
v_prs_perslid_voornaam VARCHAR2 (256);
@@ -915,26 +914,26 @@ AS
v_prs_perslid_oslogin VARCHAR2 (256);
v_prs_perslid_wachtwoord VARCHAR2 (256);
v_prs_perslid_apikey VARCHAR2 (256);
v_prs_kenmerk1 VARCHAR2 (4000);
v_prs_kenmerk2 VARCHAR2 (4000);
v_prs_kenmerk3 VARCHAR2 (4000);
v_prs_kenmerk4 VARCHAR2 (4000);
v_prs_kenmerk5 VARCHAR2 (4000);
v_prs_kenmerk6 VARCHAR2 (4000);
v_prs_kenmerk7 VARCHAR2 (4000);
v_prs_kenmerk8 VARCHAR2 (4000);
v_prs_kenmerk9 VARCHAR2 (4000);
v_prs_kenmerk10 VARCHAR2 (4000);
v_prs_kenmerk11 VARCHAR2 (4000);
v_prs_kenmerk12 VARCHAR2 (4000);
v_prs_kenmerk13 VARCHAR2 (4000);
v_prs_kenmerk14 VARCHAR2 (4000);
v_prs_kenmerk15 VARCHAR2 (4000);
v_prs_kenmerk16 VARCHAR2 (4000);
v_prs_kenmerk17 VARCHAR2 (4000);
v_prs_kenmerk18 VARCHAR2 (4000);
v_prs_kenmerk19 VARCHAR2 (4000);
v_prs_kenmerk20 VARCHAR2 (4000);
v_prs_kenmerk1 VARCHAR2 (256);
v_prs_kenmerk2 VARCHAR2 (256);
v_prs_kenmerk3 VARCHAR2 (256);
v_prs_kenmerk4 VARCHAR2 (256);
v_prs_kenmerk5 VARCHAR2 (256);
v_prs_kenmerk6 VARCHAR2 (256);
v_prs_kenmerk7 VARCHAR2 (256);
v_prs_kenmerk8 VARCHAR2 (256);
v_prs_kenmerk9 VARCHAR2 (256);
v_prs_kenmerk10 VARCHAR2 (256);
v_prs_kenmerk11 VARCHAR2 (256);
v_prs_kenmerk12 VARCHAR2 (256);
v_prs_kenmerk13 VARCHAR2 (256);
v_prs_kenmerk14 VARCHAR2 (256);
v_prs_kenmerk15 VARCHAR2 (256);
v_prs_kenmerk16 VARCHAR2 (256);
v_prs_kenmerk17 VARCHAR2 (256);
v_prs_kenmerk18 VARCHAR2 (256);
v_prs_kenmerk19 VARCHAR2 (256);
v_prs_kenmerk20 VARCHAR2 (256);
v_prs_kenmerk_key1 VARCHAR2 (255);
v_prs_kenmerk_key2 VARCHAR2 (255);
v_prs_kenmerk_key3 VARCHAR2 (255);
@@ -1237,11 +1236,6 @@ AS
v_fielddelimitor,
v_colnr (25),
v_prs_perslid_apikey);
v_errorhint := 'Inlezen prs_perslid_kostenplaats kolom:' || v_colnr (26);
fac.imp_getfield_nr (v_newline,
v_fielddelimitor,
v_colnr (26),
v_prs_kostenplaats_nr);
v_errorhint := 'Inlezen prs_kenmerk1 kolom:' || v_colnr (27);
fac.imp_getfield_nr (v_newline,
v_fielddelimitor,
@@ -1489,22 +1483,6 @@ AS
END IF;
END IF;
--
v_errorhint := 'Ongeldige kostenplaats';
v_prs_kostenplaats_nr := TRIM (v_prs_kostenplaats_nr);
IF LENGTH (v_prs_kostenplaats_nr) > 30
THEN
v_prs_kostenplaats_nr := SUBSTR (v_prs_kostenplaats_nr, 1, 30);
fac.imp_writelog (
p_import_key,
'W',
v_aanduiding || 'kostenplaatsnummer is te lang',
'Aanduiding wordt afgebroken tot ['
|| v_prs_kostenplaats_nr
|| ']');
END IF;
--
v_errorhint := 'Ongeldige naam persoon';
v_prs_perslid_naam := TRIM (v_prs_perslid_naam);
@@ -1800,7 +1778,6 @@ AS
prs_werkplek_volgnr,
prs_werkplek_omschrijving,
prs_afdeling_naam,
prs_kostenplaats_nr,
prs_perslid_naam,
prs_perslid_tussenvoegsel,
prs_perslid_voornaam,
@@ -1848,7 +1825,6 @@ AS
v_prs_werkplek_volgnr,
v_prs_werkplek_omschrijving,
v_prs_afdeling_naam,
v_prs_kostenplaats_nr,
v_prs_perslid_naam,
v_prs_perslid_tussenvoegsel,
v_prs_perslid_voornaam,
@@ -1867,26 +1843,26 @@ AS
v_prs_perslid_wachtwoord,
v_prs_perslid_titel,
v_prs_perslid_apikey,
DECODE(v_prs_kenmerk_key1, NULL, v_prs_kenmerk1, TO_CHAR(v_prs_kenmerk_key1) || '=' || SUBSTR(v_prs_kenmerk1, 1, 3980)),
DECODE(v_prs_kenmerk_key2, NULL, v_prs_kenmerk2, TO_CHAR(v_prs_kenmerk_key2) || '=' || SUBSTR(v_prs_kenmerk2, 1, 3980)),
DECODE(v_prs_kenmerk_key3, NULL, v_prs_kenmerk3, TO_CHAR(v_prs_kenmerk_key3) || '=' || SUBSTR(v_prs_kenmerk3, 1, 3980)),
DECODE(v_prs_kenmerk_key4, NULL, v_prs_kenmerk4, TO_CHAR(v_prs_kenmerk_key4) || '=' || SUBSTR(v_prs_kenmerk4, 1, 3980)),
DECODE(v_prs_kenmerk_key5, NULL, v_prs_kenmerk5, TO_CHAR(v_prs_kenmerk_key5) || '=' || SUBSTR(v_prs_kenmerk5, 1, 3980)),
DECODE(v_prs_kenmerk_key6, NULL, v_prs_kenmerk6, TO_CHAR(v_prs_kenmerk_key6) || '=' || SUBSTR(v_prs_kenmerk6, 1, 3980)),
DECODE(v_prs_kenmerk_key7, NULL, v_prs_kenmerk7, TO_CHAR(v_prs_kenmerk_key7) || '=' || SUBSTR(v_prs_kenmerk7, 1, 3980)),
DECODE(v_prs_kenmerk_key8, NULL, v_prs_kenmerk8, TO_CHAR(v_prs_kenmerk_key8) || '=' || SUBSTR(v_prs_kenmerk8, 1, 3980)),
DECODE(v_prs_kenmerk_key9, NULL, v_prs_kenmerk9, TO_CHAR(v_prs_kenmerk_key9) || '=' || SUBSTR(v_prs_kenmerk9, 1, 3980)),
DECODE(v_prs_kenmerk_key10, NULL, v_prs_kenmerk10, TO_CHAR(v_prs_kenmerk_key10) || '=' || SUBSTR(v_prs_kenmerk10, 1, 3980)),
DECODE(v_prs_kenmerk_key11, NULL, v_prs_kenmerk11, TO_CHAR(v_prs_kenmerk_key11) || '=' || SUBSTR(v_prs_kenmerk11, 1, 3980)),
DECODE(v_prs_kenmerk_key12, NULL, v_prs_kenmerk12, TO_CHAR(v_prs_kenmerk_key12) || '=' || SUBSTR(v_prs_kenmerk12, 1, 3980)),
DECODE(v_prs_kenmerk_key13, NULL, v_prs_kenmerk13, TO_CHAR(v_prs_kenmerk_key13) || '=' || SUBSTR(v_prs_kenmerk13, 1, 3980)),
DECODE(v_prs_kenmerk_key14, NULL, v_prs_kenmerk14, TO_CHAR(v_prs_kenmerk_key14) || '=' || SUBSTR(v_prs_kenmerk14, 1, 3980)),
DECODE(v_prs_kenmerk_key15, NULL, v_prs_kenmerk15, TO_CHAR(v_prs_kenmerk_key15) || '=' || SUBSTR(v_prs_kenmerk15, 1, 3980)),
DECODE(v_prs_kenmerk_key16, NULL, v_prs_kenmerk16, TO_CHAR(v_prs_kenmerk_key16) || '=' || SUBSTR(v_prs_kenmerk16, 1, 3980)),
DECODE(v_prs_kenmerk_key17, NULL, v_prs_kenmerk17, TO_CHAR(v_prs_kenmerk_key17) || '=' || SUBSTR(v_prs_kenmerk17, 1, 3980)),
DECODE(v_prs_kenmerk_key18, NULL, v_prs_kenmerk18, TO_CHAR(v_prs_kenmerk_key18) || '=' || SUBSTR(v_prs_kenmerk18, 1, 3980)),
DECODE(v_prs_kenmerk_key19, NULL, v_prs_kenmerk19, TO_CHAR(v_prs_kenmerk_key19) || '=' || SUBSTR(v_prs_kenmerk19, 1, 3980)),
DECODE(v_prs_kenmerk_key20, NULL, v_prs_kenmerk20, TO_CHAR(v_prs_kenmerk_key20) || '=' || SUBSTR(v_prs_kenmerk20, 1, 3980)),
DECODE(v_prs_kenmerk_key1, NULL, v_prs_kenmerk1, TO_CHAR(v_prs_kenmerk_key1) || '=' || SUBSTR(v_prs_kenmerk1, 1, 200)),
DECODE(v_prs_kenmerk_key2, NULL, v_prs_kenmerk2, TO_CHAR(v_prs_kenmerk_key2) || '=' || SUBSTR(v_prs_kenmerk2, 1, 200)),
DECODE(v_prs_kenmerk_key3, NULL, v_prs_kenmerk3, TO_CHAR(v_prs_kenmerk_key3) || '=' || SUBSTR(v_prs_kenmerk3, 1, 200)),
DECODE(v_prs_kenmerk_key4, NULL, v_prs_kenmerk4, TO_CHAR(v_prs_kenmerk_key4) || '=' || SUBSTR(v_prs_kenmerk4, 1, 200)),
DECODE(v_prs_kenmerk_key5, NULL, v_prs_kenmerk5, TO_CHAR(v_prs_kenmerk_key5) || '=' || SUBSTR(v_prs_kenmerk5, 1, 200)),
DECODE(v_prs_kenmerk_key6, NULL, v_prs_kenmerk6, TO_CHAR(v_prs_kenmerk_key6) || '=' || SUBSTR(v_prs_kenmerk6, 1, 200)),
DECODE(v_prs_kenmerk_key7, NULL, v_prs_kenmerk7, TO_CHAR(v_prs_kenmerk_key7) || '=' || SUBSTR(v_prs_kenmerk7, 1, 200)),
DECODE(v_prs_kenmerk_key8, NULL, v_prs_kenmerk8, TO_CHAR(v_prs_kenmerk_key8) || '=' || SUBSTR(v_prs_kenmerk8, 1, 200)),
DECODE(v_prs_kenmerk_key9, NULL, v_prs_kenmerk9, TO_CHAR(v_prs_kenmerk_key9) || '=' || SUBSTR(v_prs_kenmerk9, 1, 200)),
DECODE(v_prs_kenmerk_key10, NULL, v_prs_kenmerk10, TO_CHAR(v_prs_kenmerk_key10) || '=' || SUBSTR(v_prs_kenmerk10, 1, 200)),
DECODE(v_prs_kenmerk_key11, NULL, v_prs_kenmerk11, TO_CHAR(v_prs_kenmerk_key11) || '=' || SUBSTR(v_prs_kenmerk11, 1, 200)),
DECODE(v_prs_kenmerk_key12, NULL, v_prs_kenmerk12, TO_CHAR(v_prs_kenmerk_key12) || '=' || SUBSTR(v_prs_kenmerk12, 1, 200)),
DECODE(v_prs_kenmerk_key13, NULL, v_prs_kenmerk13, TO_CHAR(v_prs_kenmerk_key13) || '=' || SUBSTR(v_prs_kenmerk13, 1, 200)),
DECODE(v_prs_kenmerk_key14, NULL, v_prs_kenmerk14, TO_CHAR(v_prs_kenmerk_key14) || '=' || SUBSTR(v_prs_kenmerk14, 1, 200)),
DECODE(v_prs_kenmerk_key15, NULL, v_prs_kenmerk15, TO_CHAR(v_prs_kenmerk_key15) || '=' || SUBSTR(v_prs_kenmerk15, 1, 200)),
DECODE(v_prs_kenmerk_key16, NULL, v_prs_kenmerk16, TO_CHAR(v_prs_kenmerk_key16) || '=' || SUBSTR(v_prs_kenmerk16, 1, 200)),
DECODE(v_prs_kenmerk_key17, NULL, v_prs_kenmerk17, TO_CHAR(v_prs_kenmerk_key17) || '=' || SUBSTR(v_prs_kenmerk17, 1, 200)),
DECODE(v_prs_kenmerk_key18, NULL, v_prs_kenmerk18, TO_CHAR(v_prs_kenmerk_key18) || '=' || SUBSTR(v_prs_kenmerk18, 1, 200)),
DECODE(v_prs_kenmerk_key19, NULL, v_prs_kenmerk19, TO_CHAR(v_prs_kenmerk_key19) || '=' || SUBSTR(v_prs_kenmerk19, 1, 200)),
DECODE(v_prs_kenmerk_key20, NULL, v_prs_kenmerk20, TO_CHAR(v_prs_kenmerk_key20) || '=' || SUBSTR(v_prs_kenmerk20, 1, 200)),
rec1.fac_import_key,
rec1.fac_imp_file_index);
@@ -1962,7 +1938,6 @@ AS
--
v_perslid_key NUMBER (10);
v_afdeling_key NUMBER (10);
v_kostenplaats_key NUMBER (10);
v_srtperslid_key NUMBER (10);
v_prs_perslid_naam VARCHAR2(200);
v_prs_perslid_tussenvoegsel VARCHAR2(200);
@@ -2253,21 +2228,6 @@ AS
AND a.prs_afdeling_verwijder IS NULL
AND a.prs_afdeling_key = b.prs_afdeling_key;
IF (recPersLid.prs_kostenplaats_nr IS NOT NULL)
THEN
v_errorhint :=
'Kostenplaats niet gevonden ['
|| recPersLid.prs_kostenplaats_nr
|| ']';
SELECT k.prs_kostenplaats_key
INTO v_kostenplaats_key
FROM prs_v_aanwezigkostenplaats k
WHERE UPPER(prs_kostenplaats_nr) = UPPER(recPerslid.prs_kostenplaats_nr);
ELSE
v_kostenplaats_key := NULL;
END IF;
v_space := '';
-- kijk hoe we met partnernamen moeten omgaan:
IF recPersLid.prs_perslid_naamgebruik_code = 0
@@ -2341,7 +2301,6 @@ AS
INSERT INTO prs_perslid (prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
prs_kostenplaats_key,
prs_perslid_naam,
prs_perslid_voorletters,
prs_perslid_tussenvoegsel,
@@ -2358,7 +2317,6 @@ AS
VALUES ('PRS',
v_srtperslid_key,
v_afdeling_key,
v_kostenplaats_key,
v_prs_perslid_naam,
recPersLid.prs_perslid_voorletters,
v_prs_perslid_tussenvoegsel,
@@ -2385,7 +2343,6 @@ AS
SET prs_srtperslid_key = v_srtperslid_key,
prs_afdeling_key = v_afdeling_key,
prs_perslid_naam = v_prs_perslid_naam,
prs_perslid_inactief = NULL, -- altijd potentieel reanimeren bij import, naam zal ook geen INACTIEF: prefix meer bevatten
prs_perslid_voorletters = recPersLid.prs_perslid_voorletters,
prs_perslid_tussenvoegsel = v_prs_perslid_tussenvoegsel,
prs_perslid_voornaam = recPersLid.prs_perslid_voornaam,
@@ -2662,7 +2619,6 @@ AS
UPDATE prs_perslid
SET prs_perslid_naam =
SUBSTR ('INACTIEF:' || prs_perslid_naam, 1, 60),
prs_perslid_inactief = SYSDATE,
prs_perslid_oslogin = NULL,
prs_perslid_oslogin2 = NULL
WHERE prs_perslid_key = p_perslid_key
@@ -2806,78 +2762,6 @@ AS
RETURN l_combination_OK;
END;
PROCEDURE personen_inactief_schonen
AS
CURSOR c1
IS
SELECT '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] ' aanduiding
, p.prs_perslid_key
, COUNT (vp.prs_perslid_key) aant
FROM prs_v_aanwezigperslid p
, prs_v_verplichting_keys vp
, prs_v_perslid_fullnames pf
WHERE p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
AND p.prs_perslid_key = pf.prs_perslid_key
AND COALESCE (p.prs_perslid_inactief, SYSDATE) < TRUNC (SYSDATE)
-- AND p.prs_perslid_externid IS NOT NULL -- SCIM-populatie!
GROUP BY '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] '
, p.prs_perslid_key
ORDER BY 2;
v_errormsg VARCHAR2(1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2(200);
v_count_del NUMBER(10);
v_schedular_user NUMBER(10) := NULL;
BEGIN
v_count_del := 0;
FOR rec IN c1
LOOP
BEGIN
IF rec.aant = 0
THEN
v_errormsg := 'Fout schonen collega';
DELETE
FROM prs_collega
WHERE prs_perslid_key = rec.prs_perslid_key
OR prs_perslid_key_alt = rec.prs_perslid_key;
v_errormsg := 'Fout schonen perslid';
UPDATE prs_perslid
SET prs_perslid_verwijder = SYSDATE
WHERE prs_perslid_key = rec.prs_perslid_key;
fac.trackaction ('PRSDEL', rec.prs_perslid_key, v_schedular_user, NULL, NULL);
v_count_del := v_count_del + 1;
IF MOD (v_count_del, 1000) = 0
THEN
COMMIT;
END IF;
ELSE
fac.writelog ('PRS_PERSLID_SCHONEN', 'I', rec.aanduiding || '/#Verplichtingen: ' || TO_CHAR (rec.aant), 'Persoon niet geschoond');
END IF;
EXCEPTION
WHEN OTHERS
THEN -- Kennelijk heeft persoon toch nog ernstige verplichtingen!
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('PRS_PERSLID_SCHONEN', 'W', rec.aanduiding || v_errormsg, 'Fout schonen persoon');
END;
END LOOP;
fac.writelog ('PRS_PERSLID_SCHONEN', 'S', 'Personen/#geschoond: ' || TO_CHAR (v_count_del), '');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('PRS_PERSLID_SCHONEN', 'E', v_errormsg, '');
COMMIT;
END;
END prs;
/

View File

@@ -30,6 +30,7 @@ CREATE SEQUENCE prs_s_prs_kostencombinatie_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_kostensoortgrp_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_collega_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_staffel_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_perslid_inzet_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_relatietype_key MINVALUE 10;

View File

@@ -221,26 +221,22 @@ 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.
* 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
/* Kruistabel met elektronische adressen van een bedrijf, toegepast door
* PutOrders voor Bestellingen, Contracten en Opdrachten. 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
*/
CREATE_TABLE(prs_bedrijfadres, 0) (
prs_bedrijfadres_key
NUMBER(10)
CONSTRAINT prs_k_prs_bedrijfadres_key PRIMARY KEY,
prs_bedrijf_key -- opdrachtnemer
prs_bedrijf_key
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_key6 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
prs_bedrijf_key2 -- optioneel specifiek voor deze opdrachtgever
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_key8 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
alg_district_key -- optioneel specifiek voor dit district
alg_district_key
NUMBER(10)
CONSTRAINT prs_r_alg_district_key REFERENCES alg_district(alg_district_key) ON DELETE CASCADE,
alg_locatie_key -- optioneel specifiek voor deze locatie
alg_locatie_key
NUMBER(10)
CONSTRAINT prs_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE,
prs_bedrijfadres_type /* O=Order, B=Bestelling, V=Voorraadinfo, C=Contract, N=Notificatie, I=IOT */
@@ -287,11 +283,11 @@ CREATE_TABLE(prs_bedrijfadres, 0) (
NUMBER(3)
DEFAULT 0
NOT NULL,
prs_bedrijfadres_oa_token_url -- oAuth parameter
prs_bedrijfadres_oa_token_url
VARCHAR2(512),
prs_bedrijfadres_oa_scope -- oAuth parameter
prs_bedrijfadres_oa_scope
VARCHAR2(512),
prs_bedrijfadres_oa_resource -- oAuth parameter
prs_bedrijfadres_oa_resource
VARCHAR2(512),
-- prs_bedrijfadres_lockuser_key
-- NUMBER(10)
@@ -313,11 +309,7 @@ CREATE_TABLE(prs_bedrijfadres, 0) (
prs_bedrijfadres_loglevel
NUMBER(1)
DEFAULT 0
NOT NULL,
prs_bedrijfadres_startdatum
DATE
DEFAULT SYSDATE
NOT NULL
NOT NULL
);
CREATE_TABLE(prs_kostenplaatsgrp,0) (
@@ -481,9 +473,6 @@ CREATE_TABLE(prs_afdeling,0)
prs_afdeling_verwijder
DATE
DEFAULT NULLDATUM,
-- prs_perslid_key_verantw -- afdelingsverantwoordelijke (irt o.a. meldingen-instemming)
-- NUMBER(10)
-- CONSTRAINT prs_r_prs_perslid_key22 REFERENCES prs_perslid(prs_perslid_key),
CONSTRAINT prs_u_prs_afdeling_upper UNIQUE(prs_afdeling_upper, prs_afdeling_parentkey, prs_bedrijf_key, prs_afdeling_verwijder),
CONSTRAINT prs_c_prs_afdeling_parent
CHECK ((prs_afdeling_parentkey IS NULL AND prs_bedrijf_key IS NOT NULL)
@@ -732,12 +721,6 @@ CREATE_TABLE(prs_perslid,0)
NUMBER(1)
DEFAULT 0
NOT NULL,
prs_perslid_key_verantw -- fallback als elke structuur faalt (irt o.a. meldingen-instemming)
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key23 REFERENCES prs_perslid(prs_perslid_key),
prs_kostenplaats_key -- optioneel een (default) persoonlijke kostenplaats
NUMBER(10)
CONSTRAINT prs_r_prs_kostenplaats_key5 REFERENCES prs_kostenplaats(prs_kostenplaats_key),
CONSTRAINT prs_c_prs_perslid_datums CHECK(prs_perslid_einddatum >= prs_perslid_ingangsdatum)
);
@@ -836,14 +819,8 @@ ALTER TABLE fac_usrrap ADD (
ALTER TABLE fac_gui_counter ADD (
prs_perslid_key
NUMBER(10)
CONSTRAINT fac_r_guicnt_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
CONSTRAINT fac_r_guicnt_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL
);
ALTER TABLE fac_gui_counter
ADD CONSTRAINT fac_u_fac_gui_counter UNIQUE (fac_gui_counter_group,
fac_gui_counter_date,
fac_gui_counter_refkey,
prs_perslid_key,
fac_gui_counter_info);
ALTER TABLE alg_gebouw ADD (
prs_perslid_key_verantw
@@ -864,13 +841,6 @@ ALTER TABLE alg_terreinsector ADD
CONSTRAINT alg_r_prs_perslid_key4 REFERENCES prs_perslid(prs_perslid_key)
);
ALTER TABLE alg_onroerendgoed_note ADD
(
prs_perslid_key
NUMBER (10)
CONSTRAINT alg_r_prs_perslid_key5 REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL
);
ALTER TABLE prs_bedrijfadres
ADD prs_bedrijfadres_lockuser_key
NUMBER(10)
@@ -889,12 +859,6 @@ ALTER TABLE prs_kostenplaats ADD
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key9 REFERENCES prs_perslid(prs_perslid_key)
);
ALTER TABLE prs_afdeling ADD
(
prs_perslid_key_verantw
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key22 REFERENCES prs_perslid(prs_perslid_key)
);
ALTER TABLE fac_import ADD
(
@@ -1049,20 +1013,13 @@ CREATE_TABLE(prs_ruimteafdeling,0)
DEFAULT 100
CONSTRAINT prs_c_prs_riumteafd_bezetting2 CHECK
(prs_ruimteafdeling_bezetting is not null AND prs_ruimteafdeling_bezetting BETWEEN 0 AND 100),
prs_ruimteafdeling_ingangsdatum
DATE
DEFAULT SYSDATE
NOT NULL,
prs_ruimteafdeling_einddatum
DATE,
prs_ruimteafdeling_aanmaak
DATE
DEFAULT SYSDATE,
prs_ruimteafdeling_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT prs_u_ruimteafdeling UNIQUE(prs_afdeling_key, alg_ruimte_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder),
CONSTRAINT prs_c_ruimteafdeling_van_tot CHECK(prs_ruimteafdeling_einddatum IS NULL OR (prs_ruimteafdeling_einddatum IS NOT NULL AND prs_ruimteafdeling_einddatum > prs_ruimteafdeling_ingangsdatum))
CONSTRAINT prs_u_ruimteafdeling UNIQUE(prs_afdeling_key, alg_ruimte_key, prs_ruimteafdeling_verwijder)
);
@@ -1243,16 +1200,6 @@ prs_contactpersoon_verwijder
DATE
);
ALTER TABLE ins_deel_uitgifte ADD
(
prs_perslid_key
NUMBER(10)
CONSTRAINT ins_r_prs_perslid_key1 REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE,
prs_contactpersoon_key
NUMBER (10)
CONSTRAINT ins_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key) ON DELETE CASCADE
);
CREATE_TABLE(prs_contactpersoon_locatie, 0)
(
prs_contactpersoon_locatie_key
@@ -1314,10 +1261,6 @@ 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 1
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))
@@ -1379,11 +1322,7 @@ CREATE_TABLE(prs_kostensoort,0) (
prs_kostensoort_aanmaak
DATE DEFAULT SYSDATE,
prs_kostensoort_altcode
VARCHAR2(60),
prs_kostensoort_eind
DATE,
prs_kostensoort_verwijder
DATE
VARCHAR2(60)
-- fin_btwtabelwaarde_key
-- NUMBER(10)
-- CONSTRAINT prs_r_fin_btwtabelwaarde_key REFERENCES fin_btwtabelwaarde (fin_btwtabelwaarde_key)
@@ -1410,6 +1349,18 @@ CREATE_TABLE(prs_kostencombinatie,0) (
DEFAULT SYSDATE
);
CREATE_TABLE(prs_staffel, 0)
(
prs_staffel_key
NUMBER (10) PRIMARY KEY,
prs_bedrijf_key
NUMBER (10) NOT NULL REFERENCES prs_bedrijf (prs_bedrijf_key) ON DELETE CASCADE,
prs_staffel_grenswaarde
NUMBER (12),
prs_staffel_korting
NUMBER (12, 6) NOT NULL
);
CREATE_TABLE(prs_perslid_inzetbaar, 0)
(
prs_perslid_inzetbaar_key

View File

@@ -262,19 +262,18 @@ BEGIN
END IF;
END IF;
IF (NVL(:new.prs_perslid_wachtwoord_hash, 'X') <> NVL(:old.prs_perslid_wachtwoord_hash, 'X'))
OR ( fac.getsetting ('login_use_email') = 0
AND ( :new.prs_perslid_oslogin IS NULL AND :old.prs_perslid_oslogin IS NOT NULL
OR :new.prs_perslid_oslogin2 IS NULL AND :old.prs_perslid_oslogin2 IS NOT NULL
)
)
OR ( fac.getsetting ('login_use_email') = 1
AND :new.prs_perslid_email IS NULL
AND :old.prs_perslid_email IS NOT NULL
)
OR ( :new.prs_perslid_inactief IS NOT NULL
AND :old.prs_perslid_inactief IS NULL
)
IF fac.getsetting ('login_use_email') = 0
AND ( :new.prs_perslid_oslogin IS NULL AND :old.prs_perslid_oslogin IS NOT NULL
OR :new.prs_perslid_oslogin2 IS NULL AND :old.prs_perslid_oslogin2 IS NOT NULL
OR NVL(:new.prs_perslid_wachtwoord_hash, 'X') <> NVL(:old.prs_perslid_wachtwoord_hash, 'X')
)
OR ( fac.getsetting ('login_use_email') = 1
AND :new.prs_perslid_email IS NULL
AND :old.prs_perslid_email IS NOT NULL
)
OR ( :new.prs_perslid_inactief IS NOT NULL
AND :old.prs_perslid_inactief IS NULL
)
THEN -- Merk op: anno 5.3.2 wordt een persoon die *nu* is ingelogd hier niet
-- automatisch door uitgelogd
:new.prs_perslid_credentials_datum := SYSDATE;
@@ -889,6 +888,14 @@ BEGIN
END;
/
CREATE_TRIGGER(prs_t_prs_staffel_B_IU)
BEFORE INSERT OR UPDATE ON prs_staffel
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_staffel_key, prs_s_prs_staffel_key);
END;
/
CREATE_TRIGGER(prs_t_prs_perslid_inzet_B_IU)
BEFORE INSERT OR UPDATE ON prs_perslid_inzetbaar
FOR EACH ROW

View File

@@ -575,7 +575,6 @@ CREATE_VIEW(prs_v_afdeling, 0)
prs_afdeling_aanmaak,
prs_afdeling_verwijder,
prs_bedrijf_key,
prs_perslid_key_verantw,
niveau ) AS
SELECT a.prs_afdeling_key,
a.prs_afdeling_parentkey,
@@ -593,7 +592,6 @@ CREATE_VIEW(prs_v_afdeling, 0)
a.prs_afdeling_aanmaak,
a.prs_afdeling_verwijder,
b.prs_bedrijf_key,
a.prs_perslid_key_verantw,
b.niveau
FROM prs_afdeling a, prs_v_afdeling_fullnames b
WHERE a.prs_afdeling_key=b.prs_afdeling_key;
@@ -1106,7 +1104,7 @@ AS
WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND res_rsv_ruimte_tot > SYSDATE-14 -- na 14 dagen niet meer klagen
UNION ALL
SELECT rr.res_rsv_ruimte_host_key,
'PRS_OPENST_RES_V',
@@ -1120,7 +1118,7 @@ AS
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_host_key,
'PRS_OPENST_RES_C',
@@ -1136,7 +1134,7 @@ AS
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key,
'PRS_OPENST_RES_RC',
@@ -1152,7 +1150,7 @@ AS
WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key,
'PRS_OPENST_RES_VC',
@@ -1166,7 +1164,7 @@ AS
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key,
'PRS_OPENST_RES_CC',
@@ -1182,7 +1180,8 @@ AS
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND rr.alg_ruimte_key IS NOT NULL
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT a.bez_afspraak_host_key,
'PRS_AFSPRAAK_H',
@@ -1484,50 +1483,46 @@ AS
FROM ins_v_aanwezigdeel d
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.res_ruimte_opstel_key IS NOT NULL
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.alg_ruimte_key IS NOT NULL
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.alg_ruimte_key IS NOT NULL
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.res_ruimte_opstel_key IS NOT NULL
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14 -- na 14 dagen niet meer klagen
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr, res_ruimte_opstelling ro
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.alg_ruimte_key IS NOT NULL
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.alg_ruimte_key IS NOT NULL
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
AND rr.alg_ruimte_key IS NOT NULL
UNION ALL
SELECT a.bez_afspraak_host_key, a.bez_afspraak_key
FROM bez_afspraak a

View File

@@ -378,7 +378,7 @@ AS
-- Kopieer de artikelen van referentie ruimte
BEGIN
-- behoud de oorspronkelijke artikeltijd indien deze binnen de deelreserveringstijd valt
INSERT INTO res_rsv_artikel (res_artikel_key, res_rsv_artikel_aantal, res_rsv_ruimte_key, res_rsv_artikel_prijs, res_rsv_artikel_levering, res_rsv_artikel_afhalen, res_rsv_artikel_omschrijving
INSERT INTO res_rsv_artikel (res_artikel_key, res_rsv_artikel_aantal, res_rsv_ruimte_key, res_rsv_artikel_prijs, res_rsv_artikel_levering, res_rsv_artikel_afhalen
)
SELECT ra.res_artikel_key,
ra.res_rsv_artikel_aantal,
@@ -386,22 +386,20 @@ AS
ra.res_rsv_artikel_prijs,
TRUNC (rsv_to.res_rsv_ruimte_van)
+ (ra.res_rsv_artikel_levering - TRUNC (ra.res_rsv_artikel_levering)),
ra.res_rsv_artikel_afhalen,
ra.res_rsv_artikel_omschrijving
ra.res_rsv_artikel_afhalen
FROM res_rsv_artikel ra
WHERE TRUNC (rsv_to.res_rsv_ruimte_van)
+ (ra.res_rsv_artikel_levering - TRUNC (ra.res_rsv_artikel_levering)) BETWEEN new_ruimte_van
AND new_ruimte_tot
AND ra.res_rsv_ruimte_key = prsv_ruimte_key_from;
-- of reset de oorspronkelijke artikeltijd naar begin van deelreservering indien deze buiten de deelreserveringstijd valt
INSERT INTO res_rsv_artikel (res_artikel_key, res_rsv_artikel_aantal, res_rsv_ruimte_key, res_rsv_artikel_prijs, res_rsv_artikel_levering, res_rsv_artikel_omschrijving
INSERT INTO res_rsv_artikel (res_artikel_key, res_rsv_artikel_aantal, res_rsv_ruimte_key, res_rsv_artikel_prijs, res_rsv_artikel_levering
)
SELECT ra.res_artikel_key,
ra.res_rsv_artikel_aantal,
prsv_ruimte_key_to,
ra.res_rsv_artikel_prijs,
new_ruimte_van,
ra.res_rsv_artikel_omschrijving
new_ruimte_van
FROM res_rsv_artikel ra
WHERE NOT TRUNC (rsv_to.res_rsv_ruimte_van)
+ (ra.res_rsv_artikel_levering - TRUNC (ra.res_rsv_artikel_levering)) BETWEEN new_ruimte_van AND new_ruimte_tot
@@ -2322,7 +2320,7 @@ AS
SELECT rg.alg_locatie_key -- RES_RUIMTE
, rg.res_discipline_key
, p.prs_afdeling_key
, MIN(ra.alg_ruimte_key) alg_ruimte_key
, ra.alg_ruimte_key
, rr.res_reservering_key
FROM res_v_res_ruimte_gegevens rg
, res_alg_ruimte ra
@@ -2337,10 +2335,6 @@ AS
AND ptype IS NULL
AND rr.res_status_bo_key = 2
AND rr.res_rsv_ruimte_key = prsvkey
GROUP BY rg.alg_locatie_key
, rg.res_discipline_key
, p.prs_afdeling_key
, rr.res_reservering_key
UNION
SELECT g.alg_locatie_key -- RES_DEEL
, d.res_discipline_key
@@ -2433,9 +2427,7 @@ AS
FROM fac_v_my_rooms
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = fac_gebruiker_alg_level_write
)
)
)
)))
AND fac_functie_code = lfunctiecode
)
LOOP
@@ -2467,7 +2459,7 @@ AS
IF lnrreceivers = 0 THEN
lreceivers := lreceivers1;
ELSE
lreceivers := SUBSTR(lreceivers||', '||lreceivers1, 1, 2048);
lreceivers := lreceivers||', '||lreceivers1;
END IF;
lnrreceivers := lnrreceivers+1;
END LOOP;

View File

@@ -250,7 +250,7 @@ CREATE_TABLE(res_deel, 0)
CONSTRAINT res_c_res_deel_prijs_vast1 CHECK(res_deel_prijs_vast IN (0,1))
, res_deel_opmerking
VARCHAR2(2000)
, res_deel_bulkreserveerbaar NUMBER(1) DEFAULT(0) NOT NULL
, res_deel_bulkreserveerbaar NUMBER(1) DEFAULT(NULL)
CONSTRAINT res_c_res_deel_bulkrsveerbaar CHECK(res_deel_bulkreserveerbaar IN (0,1))
, res_discipline_key
NUMBER(10)
@@ -354,9 +354,6 @@ CREATE_TABLE(res_artikel, 0)
VARCHAR2(256)
, res_artikel_externsyncdate
DATE
, res_artikel_vrije_omschrijving
NUMBER(1)
DEFAULT(0) NOT NULL
);
CREATE_TABLE(res_arrangement,0)
@@ -751,8 +748,6 @@ CREATE_TABLE(res_rsv_artikel, 0)
VARCHAR2(256)
, res_rsv_artikel_externsyncdate
DATE
, res_rsv_artikel_omschrijving
VARCHAR2(40)
);

View File

@@ -307,7 +307,7 @@ BEGIN
UPDATE_AANMAAKDATUM(res_srtkenmerk, res_srtkenmerk_aanmaak);
IF (:new.res_srtkenmerk_verwijder IS NOT NULL AND :old.res_srtkenmerk_verwijder IS NULL AND
BITAND(:new.res_srtkenmerk_systeem, 1) = 1)
:new.res_srtkenmerk_systeem = 1)
THEN
raise_application_error(-20000, 'RES_C_RES_SRTKENMERK_SYSTEEM');
END IF;
@@ -407,22 +407,12 @@ CREATE_TRIGGER(res_t_res_rsv_ruimte_B_IU)
BEFORE INSERT OR UPDATE ON res_rsv_ruimte
FOR EACH ROW
BEGIN
-- Niet waterdicht, meestal adequaat
IF NOT UPDATING('res_rsv_ruimte_satisfaction')
THEN
IF :old.res_status_bo_key=6 THEN raise_application_error(-20001, 'Reserveringsgegevens '||:new.res_rsv_ruimte_key||'/'||:new.res_rsv_ruimte_volgnr||' zijn verwerkt; wijzigen is niet meer toegestaan.'); END IF;
END IF;
IF :old.res_status_bo_key=6 THEN raise_application_error(-20001, 'Reserveringsgegevens '||:new.res_rsv_ruimte_key||'/'||:new.res_rsv_ruimte_volgnr||' zijn verwerkt; wijzigen is niet meer toegestaan.'); END IF;
BEGIN IF :new.res_rsv_ruimte_verwijder IS NOT NULL OR (:new.res_rsv_ruimte_verwijder IS NULL AND :old.res_rsv_ruimte_verwijder IS NOT NULL) THEN UPDATE res_rsv_artikel SET res_rsv_artikel_verwijder = :new.res_rsv_ruimte_verwijder WHERE res_rsv_artikel.res_rsv_ruimte_key = :new.res_rsv_ruimte_key AND res_rsv_artikel.res_rsv_artikel_verwijder IS NULL; END IF; END;
BEGIN IF :new.res_rsv_ruimte_verwijder IS NOT NULL OR (:new.res_rsv_ruimte_verwijder IS NULL AND :old.res_rsv_ruimte_verwijder IS NOT NULL) THEN UPDATE res_rsv_deel SET res_rsv_deel_verwijder = :new.res_rsv_ruimte_verwijder WHERE res_rsv_deel.res_rsv_ruimte_key = :new.res_rsv_ruimte_key AND res_rsv_deel.res_rsv_deel_verwijder IS NULL; END IF; END;
BEGIN IF :new.res_rsv_ruimte_verwijder IS NOT NULL THEN DELETE FROM bez_afspraak WHERE bez_afspraak.res_rsv_ruimte_key = :new.res_rsv_ruimte_key; END IF; END;
BEGIN IF :new.res_rsv_ruimte_host_key <> :old.res_rsv_ruimte_host_key THEN UPDATE bez_afspraak set bez_afspraak_host_key = :new.res_rsv_ruimte_host_key WHERE res_rsv_ruimte_key = :new.res_rsv_ruimte_key AND bez_afspraak_host_key IS NOT NULL; END IF; END;
BEGIN IF :new.res_rsv_ruimte_contact_key <> :old.res_rsv_ruimte_contact_key THEN UPDATE bez_afspraak set bez_afspraak_contact_key= :new.res_rsv_ruimte_contact_key WHERE res_rsv_ruimte_key =:new.res_rsv_ruimte_key; END IF; END;
-- Beoordeling van de reservering
IF (:new.res_rsv_ruimte_satisfaction IS NOT NULL
AND (:old.res_rsv_ruimte_satisfaction IS NULL OR :old.res_rsv_ruimte_satisfaction <> :new.res_rsv_ruimte_satisfaction))
THEN
fac.trackaction('RESLIK', :old.res_rsv_ruimte_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.res_rsv_ruimte_satisfaction));
END IF;
END;
/

View File

@@ -906,7 +906,6 @@ CREATE_VIEW(res_v_udr_reserveringincl, 1)
invoerdatum,
datum,
gastheer,
zichtbare_gastheer,
contact,
gastheer_email,
contact_email,
@@ -973,11 +972,6 @@ AS
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_host_key),
DECODE (p.prs_perslid_visibility,
1, (SELECT prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_host_key),
a.prs_afdeling_omschrijving) zichtbare_gastheer,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_contact_key),

View File

@@ -1,374 +0,0 @@
/*
* Update script van FACILITOR schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
SET DEFINE OFF
/////////////////////////////////////////////////////////////////////////////////////////// YKPN#79783
// Deze als eerste, want op de oorspronkelijke plek was de nodige fac-package al invalid
// en zo kunnen we een geforceerde compile vermijden
INSERT INTO prs_perslid (prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
prs_perslid_naam,
prs_perslid_oslogin,
prs_perslid_apikey,
prs_perslid_flags,
prs_perslid_opmerking)
SELECT prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
'Sensor',
'_SENSOR',
DBMS_RANDOM.string ('a', 32),
36,
'System account for sensor-triggered-events.'||CHR(13)||'For Facilitor internal use'
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR'
AND NOT EXISTS (SELECT 1 FROM prs_perslid WHERE prs_perslid_oslogin = '_SENSOR');
/////////////////////////////////////////////////////////////////////////////////////////// PZEE#79764
// Deze idem, ook vooraan
UPDATE prs_perslid
SET prs_perslid_inactief = SYSDATE
WHERE prs_perslid_naam LIKE 'INACTIEF:%' AND prs_perslid_inactief IS NULL;
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#77483
ALTER TABLE fac_gebruikersgroep ADD fac_gebruikersgroep_vervaldatum DATE;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79092
ALTER TABLE fac_usrrap_cols MODIFY fac_usrrap_cols_column_name VARCHAR2(128);
/////////////////////////////////////////////////////////////////////////////////////////// PCHW#79057
ALTER TABLE fac_usrrap_cols DROP CONSTRAINT fac_u_fac_usrrap_cols1 DROP INDEX;
UPDATE fac_usrrap_cols
SET fac_usrrap_cols_column_name =
fac_usrrap_cols_column_name
|| '_DUPLICATE_COLUMN_NAME_'
|| fac_usrrap_cols_key
WHERE fac_usrrap_cols_key IN
(SELECT fac_usrrap_cols_key
FROM fac_usrrap_cols
WHERE ROWID NOT IN
( SELECT MIN (ROWID)
FROM fac_usrrap_cols
GROUP BY fac_usrrap_key,
UPPER (fac_usrrap_cols_column_name)));
CREATE UNIQUE INDEX fac_i_fac_usrrap_cols1 ON fac_usrrap_cols(fac_usrrap_key, UPPER(fac_usrrap_cols_column_name));
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#78649
ALTER TABLE fac_version ADD fac_version_cleanup_date DATE;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79033
UPDATE fac_import_app
SET fac_functie_key = (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_FACFAC')
WHERE fac_import_app_key IN
( SELECT i.fac_import_app_key
FROM fac_import_app i
, fac_functie f
WHERE i.fac_import_app_code IN ( 'ONRGOED1_DEL'
, 'ONRGOED2_DEL'
, 'ORGANISATIE_DEL'
, 'PERSLID_DEL'
, 'MLD_DEL'
, 'FAC_GROEP_DEL'
, 'FAC_VAKGROEP_DEL'
)
AND i.fac_functie_key = f.fac_functie_key
AND f.fac_functie_code = 'WEB_FACTAB'
);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#77754
ALTER TABLE fac_imp_onrgoed1 MODIFY
( alg_kenmerkwaarde1 VARCHAR2(4000)
, alg_kenmerkwaarde2 VARCHAR2(4000)
, alg_kenmerkwaarde3 VARCHAR2(4000)
, alg_kenmerkwaarde4 VARCHAR2(4000)
, alg_kenmerkwaarde5 VARCHAR2(4000)
, alg_kenmerkwaarde6 VARCHAR2(4000)
, alg_kenmerkwaarde7 VARCHAR2(4000)
, alg_kenmerkwaarde8 VARCHAR2(4000)
, alg_kenmerkwaarde9 VARCHAR2(4000)
, alg_kenmerkwaarde10 VARCHAR2(4000)
);
ALTER TABLE fac_imp_onrgoed2 MODIFY
( alg_kenmerkwaarde1 VARCHAR2(4000)
, alg_kenmerkwaarde2 VARCHAR2(4000)
, alg_kenmerkwaarde3 VARCHAR2(4000)
, alg_kenmerkwaarde4 VARCHAR2(4000)
, alg_kenmerkwaarde5 VARCHAR2(4000)
);
ALTER TABLE fac_imp_perslid MODIFY
( prs_kenmerk1 VARCHAR2(4000)
, prs_kenmerk2 VARCHAR2(4000)
, prs_kenmerk3 VARCHAR2(4000)
, prs_kenmerk4 VARCHAR2(4000)
, prs_kenmerk5 VARCHAR2(4000)
, prs_kenmerk6 VARCHAR2(4000)
, prs_kenmerk7 VARCHAR2(4000)
, prs_kenmerk8 VARCHAR2(4000)
, prs_kenmerk9 VARCHAR2(4000)
, prs_kenmerk10 VARCHAR2(4000)
, prs_kenmerk11 VARCHAR2(4000)
, prs_kenmerk12 VARCHAR2(4000)
, prs_kenmerk13 VARCHAR2(4000)
, prs_kenmerk14 VARCHAR2(4000)
, prs_kenmerk15 VARCHAR2(4000)
, prs_kenmerk16 VARCHAR2(4000)
, prs_kenmerk17 VARCHAR2(4000)
, prs_kenmerk18 VARCHAR2(4000)
, prs_kenmerk19 VARCHAR2(4000)
, prs_kenmerk20 VARCHAR2(4000)
);
ALTER TABLE fac_imp_sle MODIFY
( ins_kenmerkwaarde1 VARCHAR2(4000)
, ins_kenmerkwaarde2 VARCHAR2(4000)
, ins_kenmerkwaarde3 VARCHAR2(4000)
, ins_kenmerkwaarde4 VARCHAR2(4000)
, ins_kenmerkwaarde5 VARCHAR2(4000)
);
ALTER TABLE fac_imp_factuur MODIFY
( kenmerk1 VARCHAR2(4000)
, kenmerk2 VARCHAR2(4000)
, kenmerk3 VARCHAR2(4000)
, kenmerk4 VARCHAR2(4000)
, kenmerk5 VARCHAR2(4000)
, kenmerk6 VARCHAR2(4000)
, kenmerk7 VARCHAR2(4000)
, kenmerk8 VARCHAR2(4000)
, kenmerk9 VARCHAR2(4000)
, kenmerk10 VARCHAR2(4000)
, kenmerk11 VARCHAR2(4000)
, kenmerk12 VARCHAR2(4000)
, kenmerk13 VARCHAR2(4000)
, kenmerk14 VARCHAR2(4000)
, kenmerk15 VARCHAR2(4000)
, kenmerk16 VARCHAR2(4000)
, kenmerk17 VARCHAR2(4000)
, kenmerk18 VARCHAR2(4000)
, kenmerk19 VARCHAR2(4000)
, kenmerk20 VARCHAR2(4000)
);
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#78892
ALTER TABLE fac_nieuws ADD fac_nieuws_parentkey NUMBER(10) REFERENCES fac_nieuws(fac_nieuws_key) ON DELETE CASCADE;
DEF_FAC_FUNCTIE3('WEB_MSGUSE', 'MSG', 3, 0, 0);
/////////////////////////////////////////////////////////////////////////////////////////// PROR#75652
CREATE_TABLE(mld_stdmelding_srtruimte, 0)
(
mld_stdmelding_srtruimte_key
NUMBER(10)
PRIMARY KEY,
mld_stdmelding_key
NUMBER(10)
NOT_NULL(mld_stdmelding_key, mld_c_mld_stdmelding_key3)
CONSTRAINT mld_r_mld_stdmelding_key11 REFERENCES mld_stdmelding(mld_stdmelding_key) ON DELETE CASCADE,
alg_srtruimte_key
NUMBER(10)
NOT_NULL(alg_srtruimte_key, ins_c_ins_srtruimte_key)
CONSTRAINT mld_r_ins_srtruimte_key REFERENCES alg_srtruimte(alg_srtruimte_key) ON DELETE CASCADE,
CONSTRAINT mld_u_mld_stdmelding_srtruimte UNIQUE(mld_stdmelding_key, alg_srtruimte_key)
);
CREATE SEQUENCE mld_s_mld_stdm_srtruimte_key MINVALUE 1;
/////////////////////////////////////////////////////////////////////////////////////////// MARX#79430
UPDATE fac_functie
SET fac_functie_module = 'FIN'
WHERE fac_functie_code IN ('WEB_MLDFIN', 'WEB_BESFIN', 'WEB_CNTFIN');
/////////////////////////////////////////////////////////////////////////////////////////// MARX#78859
ALTER TABLE mld_melding_note ADD fac_tracking_key NUMBER (10) REFERENCES fac_tracking (fac_tracking_key) ON DELETE SET NULL;
ALTER TABLE mld_opdr_note ADD fac_tracking_key NUMBER (10) REFERENCES fac_tracking (fac_tracking_key) ON DELETE SET NULL;
CREATE INDEX mld_i_mld_melding_note2 ON mld_melding_note(fac_tracking_key);
CREATE INDEX mld_i_mld_opdr_note2 ON mld_opdr_note(fac_tracking_key);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79830
DELETE FROM fac_usrrap WHERE LOWER (fac_usrrap_view_name) = 'mld_v_udr_meldingkenmerk_cnd' AND fac_usrrap_functie = 32;
DELETE FROM fac_usrrap WHERE LOWER (fac_usrrap_view_name) = 'mld_v_udr_opdrachtkenmerk_cnd' AND fac_usrrap_functie = 32;
DELETE FROM fac_usrrap WHERE LOWER (fac_usrrap_view_name) = 'ins_v_udr_deelkenmerk_cnd' AND fac_usrrap_functie = 32;
DELETE FROM fac_locale WHERE fac_locale_tekst = 'UDR: Calls plus';
DELETE FROM fac_locale WHERE fac_locale_tekst = 'Basic report for call+property reports';
DELETE FROM fac_locale WHERE fac_locale_tekst = 'UDR: Order plus';
DELETE FROM fac_locale WHERE fac_locale_tekst = 'Basic report for order+property reports';
DELETE FROM fac_locale WHERE fac_locale_tekst = 'UDR: Objects plus';
DELETE FROM fac_locale WHERE fac_locale_tekst = 'Basic report for object+property reports';
/////////////////////////////////////////////////////////////////////////////////////////// SGGR#79416
CREATE VIEW ins_v_udr_sensorhistorie AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_sensorhistorie', 'UDR: Sensor recente historie', 'Basisrapport voor recente meetwaarden van sensoren',
'UDR: Sensors recent history', 'Basic report for recent values of sensors');
CREATE VIEW ins_v_udr_sensorhistogram AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_sensorhistogram', 'UDR: Sensor gearchiveerde historie','Basisrapport voor historische gecomprimeerde meetwaarden van status-sensoren',
'UDR: Sensors archived history', 'Basic report for historic compressed values of state-sensors');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79851
UPDATE fac_setting
SET fac_setting_pvalue = CASE WHEN fac_setting_pvalue = 'false' THEN 0 ELSE 2 END
WHERE fac_setting_pvalue IS NOT NULL AND fac_setting_name = 'fac_gui_counter_menu_daily';
ALTER TABLE fac_gui_counter
DROP CONSTRAINT fac_u_fac_gui_counter DROP INDEX;
ALTER TABLE fac_gui_counter
ADD CONSTRAINT fac_u_fac_gui_counter UNIQUE (fac_gui_counter_group,
fac_gui_counter_date,
fac_gui_counter_refkey,
prs_perslid_key,
fac_gui_counter_info);
/////////////////////////////////////////////////////////////////////////////////////////// YKPN#79783
ALTER TABLE ins_srtdeel ADD ins_srtdeel_statethreshold VARCHAR2(128);
ALTER TABLE ins_srtdeel ADD mld_stdmelding_key NUMBER(10) REFERENCES mld_stdmelding(mld_stdmelding_key);
INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (11, 'Sensor');
// bijbehorende aanmaak van sensor-perslid is bovenin al gedaan.
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#78162
DEF_FAC_SRTNOT('BESLIK', 0, 'lcl_noti_BESLIK', 'bes/bes_bestelling.asp?bes_key=', 0, 'bestelling', 10);
DEF_FAC_SRTNOT('MLDLIK', 0, 'lcl_noti_MLDLIK', 'mld/mld_melding.asp?mld_key=', 0, 'melding', 10);
DEF_FAC_SRTNOT('RESLIK', 0, 'lcl_noti_RESLIK', 'res/res_reservering.asp?rsv_ruimte_key=', 0, 'reservering', 10);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79939
DEF_MENUITEM(2, 'lcl_menu_fmstats' , '', 'FAC', 'appl/alg/alg_fm_stats.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_fmstats', 'lcl_menu_gdprstats', 1);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79462
DROP TRIGGER exc_t_exc_import_B_IU;
/////////////////////////////////////////////////////////////////////////////////////////// INLO#79906
UPDATE fac_setting
SET fac_setting_pvalue = 10
WHERE fac_setting_pvalue = 2
AND fac_setting_name IN ('res_planbord_options','res_forselect_options');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#72820
BEGIN
adm.trydrop ('TRIGGER prs_t_prs_staffel_B_IU');
adm.trydrop ('SEQUENCE prs_s_prs_staffel_key');
adm.trydrop ('TABLE prs_staffel');
END;
/
DELETE FROM fac_menuitems WHERE fac_menuitems_label = 'lcl_menu_prs_staffels';
DELETE FROM fac_menu WHERE fac_menu_alturl like 'appl/mgt/prs_staffel.asp%';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80161
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE fac_setting
SET fac_setting_pvalue = NULL
WHERE fac_setting_pvalue is not null
AND fac.safe_to_number(fac_setting_pvalue) > 10
AND fac_setting_name ='facilitiespast_mld';
UPDATE fac_setting
SET fac_setting_pvalue = (SELECT MAX(fac.safe_to_number(fac_setting_pvalue))
FROM fac_setting
WHERE fac_setting_name IN ('facilitiesfuture_mld','facilitiesfuture_bes','facilitiesfuture_bez','facilitiesfuture_res'))
WHERE fac_setting_pvalue is not null
AND fac_setting_name ='facilitiesfuture';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#76740
#define PRESERVESETTINGVAL(setting, newdefault) \
UPDATE fac_setting \
SET fac_setting_default = newdefault, fac_setting_pvalue = fac_setting_default \
WHERE fac_setting_name = setting AND fac_setting_pvalue IS NULL; ~\
UPDATE fac_setting \
SET fac_setting_default = newdefault, fac_setting_pvalue = NULL \
WHERE fac_setting_pvalue = newdefault \
AND fac_setting_name = setting \
AND fac_setting_default <> newdefault;
PRESERVESETTINGVAL('fg_ins_symbols', 'true')
PRESERVESETTINGVAL('menu_tab_toggles_portalmenu', '0')
PRESERVESETTINGVAL('mjb_inflation', '0')
PRESERVESETTINGVAL('mld_accept_confirm', 'true')
PRESERVESETTINGVAL('mld_order_autoprint', '3')
PRESERVESETTINGVAL('mld_use_order_approval', '0')
PRESERVESETTINGVAL('prs_werkplek_implicit', '1')
PRESERVESETTINGVAL('puo_usesenderasreplyto', 'true')
PRESERVESETTINGVAL('sys_ip_lockmode', '0')
PRESERVESETTINGVAL('wgt_enabled', '1')
#define DROP_MENUITEM(label, uriwc) \
DELETE FROM fac_menuitems WHERE fac_menuitems_label = label; ~\
DELETE FROM fac_menu WHERE fac_menu_alturl like uriwc;
DROP_MENUITEM('lcl_menu_bes_prodgroepen' , 'appl/mgt/bes_srtprodgroep.asp%')
DROP_MENUITEM('lcl_menu_bes_proditems' , 'appl/bes/bes_srtprod_search.asp%')
DROP_MENUITEM('lcl_menu_bes_prodcatalogi' , 'appl/mgt/bes_disciplineprod.asp%')
DROP_MENUITEM('lcl_menu_bes_prodmonitor' , 'appl/bes/bes_assmon_search.asp%')
DROP_MENUITEM('lcl_menu_bes_bedrijfprod' , 'appl/bes/bes_bedrijfproduct_search.asp%')
DROP_MENUITEM('lcl_menu_bes_grootheden' , 'appl/mgt/bes_grootheid.asp%')
// opvegen, onderstaand statement verwijdert bovenstaande ook, maar voor de zekerheid anders kan de functie niet weg.
DELETE FROM fac_menuitems
WHERE fac_functie_key = (SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRDMSU');
DELETE FROM fac_functie WHERE fac_functie_code = 'WEB_PRDMSU';
/////////////////////////////////////////////////////////////////////////////////////////// PROR#79462
BEGIN
adm.trydrop ('index jgl');
END;
/
CREATE INDEX exc_i_exc_import2
ON exc_import (APPT_ID || '|' || RECUR_ID, SEQ_NR, FAC_IMPORT_KEY);
/////////////////////////////////////////////////////////////////////////////////////////// BAMG#80325
DROP TRIGGER bes_t_bes_bestelling_item_B_IU;
DROP TRIGGER bes_t_bes_bestelopdr_item_B_IU;
DROP TRIGGER bes_t_bes_bestellevr_B_IU;
DROP TRIGGER bes_t_bes_bestellevr_item_B_IU;
/////////////////////////////////////////////////////////////////////////////////////////// EIND#80371
BEGIN
adm.trydrop ('index jgl');
END;
/
CREATE INDEX mld_i_mld_melding_note3 ON mld_melding_note(mld_melding_note_parent_key);
CREATE INDEX mld_i_mld_melding_note4 ON mld_melding_note(prs_perslid_key);
CREATE INDEX mld_i_mld_opdr_note3 ON mld_opdr_note(mld_opdr_note_parent_key);
CREATE INDEX mld_i_mld_opdr_note4 ON mld_opdr_note(prs_perslid_key);
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#78892
DEF_MENUITEM(3, 'lcl_mobile_msg' , '', 'MSG', 'appl/pda/berichten.asp', 0, 0, 'WEB_MSGUSE', 'R', '1', 'fa-circle-y');
-- Op deze nieuwe LCL kunnen we wel veilig 1 menuitem matchen
INSERT INTO fac_menu (fac_menuitems_key,
fac_menu_volgnr,
fac_menu_altlabel,
fac_menu_alturl,
fac_menu_altgroep,
fac_menu_image,
fac_menu_level,
fac_menu_info)
SELECT fac_menuitems_key,
fac_menuitems_key * 100,
fac_menuitems_label,
fac_menuitems_url,
fac_menuitems_groep,
fac_menuitems_image,
CASE
WHEN fac_menuitems_groep IN (0, 1, 2) THEN 2
WHEN fac_menuitems_groep IN (3, 7) THEN 1
ELSE 0
END fac_menu_level,
fac_menuitems_oms
FROM fac_menuitems i
WHERE fac_menuitems_label = 'lcl_mobile_msg';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$')
#include "epilogue.inc"

View File

@@ -1,88 +0,0 @@
--
-- $Id$
--
-- Aanpassingen om DB46c (prod) naar de DB46d te brengen
-- Merk op dat de recreate er nog bij komt die de DB-version bijwerkt
--
-- MOET OOK ZIJN/WORDEN OPGENOMEN IN DB45TO46d.src !!!
DEFINE thisfile = 'DB46cto46d.sql'
DEFINE dbuser = '*'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
-- /////////////////////////////////////////////////////////////////////////////////////////// AAIT#78892
INSERT INTO fac_menuitems (fac_menuitems_groep,
fac_menuitems_label,
fac_menuitems_oms,
fac_menuitems_module,
fac_menuitems_url,
fac_menuitems_srtdisc,
fac_menuitems_disc,
fac_functie_key,
fac_menuitems_rw,
fac_menuitems_default,
fac_menuitems_image)
SELECT 3,
'lcl_mobile_msg',
'',
'MSG',
'appl/pda/berichten.asp',
0,
0,
fac_functie_key,
'R',
'1',
'fa-circle-y'
FROM fac_functie
WHERE fac_functie_code = 'WEB_MSGUSE';
-- Op deze nieuwe LCL kunnen we wel veilig 1 menuitem matchen
INSERT INTO fac_menu (fac_menuitems_key,
fac_menu_volgnr,
fac_menu_altlabel,
fac_menu_alturl,
fac_menu_altgroep,
fac_menu_image,
fac_menu_level,
fac_menu_info)
SELECT fac_menuitems_key,
fac_menuitems_key * 100,
fac_menuitems_label,
fac_menuitems_url,
fac_menuitems_groep,
fac_menuitems_image,
CASE
WHEN fac_menuitems_groep IN (0, 1, 2) THEN 2
WHEN fac_menuitems_groep IN (3, 7) THEN 1
ELSE 0
END fac_menu_level,
fac_menuitems_oms
FROM fac_menuitems i
WHERE fac_menuitems_label = 'lcl_mobile_msg';
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile

View File

@@ -1,461 +0,0 @@
/*
* Update script van FACILITOR schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
SET DEFINE OFF
/////////////////////////////////////////////////////////////////////////////////////////// MARX#79087
ALTER TABLE fac_imp_usrdata ADD fac_usrdata_omschr2 VARCHAR2(60);
/////////////////////////////////////////////////////////////////////////////////////////// RWSN#79922
CREATE_TABLE(alg_onroerendgoed_note, 0)
( alg_onroerendgoed_note_key
NUMBER (10)
CONSTRAINT alg_k_alg_onroerendgoed_note_key PRIMARY KEY
, alg_onroerendgoed_key
NUMBER (10)
CONSTRAINT alg_c_alg_onroerendgoed_key1 CHECK(alg_onroerendgoed_key IS NOT NULL)
, alg_onroerendgoed_typ
VARCHAR (1)
CONSTRAINT alg_c_alg_onroerendgoed_typ1 CHECK(alg_onroerendgoed_typ IS NOT NULL)
CONSTRAINT alg_c_alg_onroerendgoed_typ2 CHECK(alg_onroerendgoed_typ IN ('R','V','G','L'))
, alg_onroerendgoed_note_aanmaak
DATE
DEFAULT SYSDATE
, prs_perslid_key
NUMBER (10)
CONSTRAINT alg_r_prs_perslid_key5 REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL
, alg_onroerendgoed_note_omschrijving
VARCHAR2 (4000 CHAR)
);
CREATE SEQUENCE alg_s_alg_onroerendgoed_note_key MINVALUE 1;
CREATE INDEX alg_i_alg_onroerendgoed_note1 ON alg_onroerendgoed_note(alg_onroerendgoed_key, alg_onroerendgoed_typ);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80650
UPDATE res_deel
SET res_deel_bulkreserveerbaar = 0
WHERE res_deel_bulkreserveerbaar IS NULL;
ALTER TABLE res_deel MODIFY res_deel_bulkreserveerbaar DEFAULT 0 NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80204
BEGIN
adm.trydrop ('INDEX bes_i_bes_srtprod_prijs1');
adm.tryalter('TABLE bes_srtdeel DROP COLUMN bes_srtprod_key');
adm.trydrop ('TRIGGER bes_t_bes_srtprod_B_IU');
adm.trydrop ('TRIGGER bes_t_bes_srtprod_prijs_B_IU');
adm.trydrop ('TRIGGER bes_t_bes_bedrijf_srtprod_BIU');
adm.trydrop ('TRIGGER bes_t_bes_bedrijf_bedrijf_B_IU');
adm.trydrop ('SEQUENCE bes_s_bes_srtprod_key');
adm.trydrop ('SEQUENCE bes_s_bes_srtprod_prijs_key');
adm.trydrop ('SEQUENCE bes_s_bes_bedrijf_srtprod_key');
adm.trydrop ('SEQUENCE bes_s_bes_bedrijf_bedrijf_key');
adm.trydrop ('TABLE bes_srtprod_prijs');
adm.trydrop ('TABLE bes_bedrijf_srtprod');
adm.trydrop ('TABLE bes_bedrijf_bedrijf');
adm.trydrop ('TABLE bes_srtprod');
END;
/
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#77297
ALTER TABLE fin_factuur ADD fin_factuur_opmerking_afw VARCHAR2(4000);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80316
DROP VIEW mld_v_kto_vragen;
DROP VIEW mld_v_kto_antwoorden;
DROP VIEW mld_v_kto_geg;
DROP VIEW mld_v_rap_kto_overview;
DROP VIEW mld_v_rap_kto_response_soort;
DROP VIEW mld_v_rap_kto_responsedistrict;
DROP VIEW mld_v_rap_kto_response_locatie;
DROP VIEW mld_v_rap_kto_response_disc;
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_overview';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_response_soort';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_responsedistrict';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_response_locatie';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_response_disc';
/////////////////////////////////////////////////////////////////////////////////////////// EIND#80433
ALTER TABLE mld_stdmelding ADD mld_stdmelding_conceptstatus
NUMBER(3)
DEFAULT 0
NOT NULL;
ALTER TABLE mld_melding ADD mld_melding_conceptstatus
NUMBER(3)
DEFAULT 0
NOT NULL;
ALTER TABLE prs_afdeling ADD prs_perslid_key_verantw
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key22 REFERENCES prs_perslid(prs_perslid_key);
ALTER TABLE prs_perslid ADD prs_perslid_key_verantw
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key23 REFERENCES prs_perslid(prs_perslid_key);
// TODO nagaan of er nog extra indexen bij moeten (aanvullend op reference)
// vermoedelijk op mld_melding_conceptstatus
DEF_FAC_SRTNOT('MLDCON', 0, 'lcl_noti_MLDCON', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 60);
DEF_FAC_SRTNOT('MLD2CO', 3, 'lcl_noti_MLD2CO', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
/////////////////////////////////////////////////////////////////////////////////////////// PCHD#80318
ALTER TABLE prs_kostensoort ADD prs_kostensoort_eind DATE;
ALTER TABLE prs_kostensoort ADD prs_kostensoort_verwijder DATE;
BEGIN
adm.trydrop ('INDEX prs_i_prs_kostensoort1');
END;
/
CREATE UNIQUE INDEX prs_i_prs_kostensoort1
ON prs_kostensoort(prs_kostensoortgrp_key, prs_kostensoort_upper, prs_kostensoort_verwijder);
/////////////////////////////////////////////////////////////////////////////////////////// PNBR#80210
ALTER TABLE alg_locatie ADD alg_locatie_volgnr NUMBER(3);
/////////////////////////////////////////////////////////////////////////////////////////// PZEE#75396
ALTER TABLE mld_stdmelding ADD mld_stdmelding_priomatrix NUMBER(1) DEFAULT 0 NOT NULL;
ALTER TABLE mld_melding ADD mld_melding_impact NUMBER(2);
ALTER TABLE mld_melding ADD mld_melding_urgentie NUMBER(2);
/////////////////////////////////////////////////////////////////////////////////////////// BAMG#81378
ALTER TABLE prs_perslid ADD prs_kostenplaats_key
NUMBER(10)
CONSTRAINT prs_r_prs_kostenplaats_key5 REFERENCES prs_kostenplaats(prs_kostenplaats_key);
ALTER TABLE fac_imp_perslid ADD prs_kostenplaats_nr VARCHAR2(30);
/////////////////////////////////////////////////////////////////////////////////////////// YASK#81268
CREATE_TABLE(fac_imp_kostensoort, 0)
(
prs_kostensoort_oms VARCHAR2 (60),
prs_kostensoort_opmerking VARCHAR2 (255),
prs_kostensoort_refcode VARCHAR2 (60),
prs_kostensoort_doorbelasten NUMBER (1),
prs_kostensoort_btw NUMBER (1),
prs_kostenplaats_key NUMBER (10),
prs_kostensoortgrp_key NUMBER (10),
prs_kostensoort_eind DATE,
prs_kostensoort_altcode VARCHAR2 (60)
);
/////////////////////////////////////////////////////////////////////////////////////////// BLCC#79261
ALTER TABLE fac_srtnotificatie ADD fac_srtnotificatie_noticollegas
NUMBER(3) DEFAULT 0 NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// RWSN#80123
CREATE VIEW alg_v_udr_ruimte AS SELECT * FROM DUAL;
CREATE VIEW alg_v_udr_terrein AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_UDRMAN', 32, 'alg_v_udr_ruimte', 'UDR: Vastgoed-ruimtes', 'Basisrapport voor vastgoedgegevens obv ruimtes',
'UDR: Real-estate rooms', 'Basic report for real estate based on rooms')
DEF_RAPPORT('WEB_UDRMAN', 32, 'alg_v_udr_terrein', 'UDR: Vastgoed-terreinen', 'Basisrapport voor vastgoedgegevens obv terreinen',
'UDR: Real-estate terrains', 'Basic report for real estate based on terrains')
/////////////////////////////////////////////////////////////////////////////////////////// MARX#80449
ALTER TABLE prs_bedrijfadres ADD prs_bedrijf_key2
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_key8 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE;
/////////////////////////////////////////////////////////////////////////////////////////// MARX#80879
ALTER TABLE prs_bedrijfadres ADD prs_bedrijfadres_startdatum
DATE DEFAULT SYSDATE NOT NULL;
DROP INDEX prs_i_prs_bedrijfadres2;
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres2 ON prs_bedrijfadres(prs_bedrijf_key, prs_bedrijfadres_type, mld_typeopdr_key, alg_locatie_key, alg_district_key, prs_bedrijf_key2, prs_bedrijfadres_startdatum);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79219
-- Deze gaan niet meer vanzelf goedkomen, alle nieuwe ##PENDING## wel
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_externnr2 = '##PENDING_OLD##'
WHERE res_rsv_ruimte_externnr2 = '##PENDING##';
-- Zo kan de procedure ze ook terugvinden
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_externnr = res_rsv_ruimte_externnr || '|'
WHERE res_rsv_ruimte_externnr LIKE '##iCalUId##%'
AND res_rsv_ruimte_verwijder IS NULL;
/////////////////////////////////////////////////////////////////////////////////////////// VGLD#81656
ALTER TABLE bes_bestelling
MODIFY (bes_bestelling_levkosten NUMBER (11, 2),
bes_bestelling_korting NUMBER (11, 2));
ALTER TABLE bes_bestelopdr
MODIFY (bes_bestelopdr_levkosten NUMBER (11, 2),
bes_bestelopdr_korting NUMBER (11, 2));
ALTER TABLE bes_disc_params
MODIFY (bes_disc_params_bestellimiet NUMBER (11, 2),
bes_disc_params_min_bedrag NUMBER (11, 2));
ALTER TABLE bes_bestelopdr_item
MODIFY (bes_bestelopdr_item_inkprijs NUMBER (14, 5),
bes_bestelopdr_item_brutoprijs NUMBER (14, 5),
bes_bestelopdr_item_prijs NUMBER (15, 6));
ALTER TABLE bes_bestelling_item
MODIFY (bes_bestelling_item_brutoprijs NUMBER (14, 5),
bes_bestelling_item_prijs NUMBER (15, 6),
bes_bestelling_item_inkprijs NUMBER (15, 6));
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(1) 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
)
);
/////////////////////////////////////////////////////////////////////////////////////////// KMMO#81625
-- Alle kto_type "T" referenties bij een melding kunnen leeg gemaakt worden. Deze lopen sinds FCLT#77900 via de mld_melding_object tabel.
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE mld_melding
SET mld_melding_kto_type = NULL,
mld_melding_kto_key = NULL
WHERE mld_melding_key IN (SELECT m.mld_melding_key
FROM mld_melding m,
mld_melding_object mo,
ins_deelsrtcontrole idsc
WHERE m.mld_melding_key = mo.mld_melding_key(+)
AND m.mld_melding_kto_key = idsc.ins_deelsrtcontrole_key
AND idsc.ins_deel_key = mo.ins_deel_key(+)
AND m.mld_melding_kto_type = 'T');
/////////////////////////////////////////////////////////////////////////////////////////// FMHN#81593
CREATE_TABLE(ins_deel_uitgifte, 0)
(
ins_deel_uitgifte_key
NUMBER(10)
PRIMARY KEY,
ins_deel_key
NUMBER (10)
NOT NULL
CONSTRAINT ins_r_ins_deel_key4 REFERENCES ins_deel(ins_deel_key) ON DELETE CASCADE,
ins_deel_uitgifte_begin
DATE,
ins_deel_uitgifte_eind_plan
DATE,
ins_deel_uitgifte_ingeleverd
DATE,
prs_perslid_key
NUMBER (10)
CONSTRAINT ins_r_prs_perslid_key1 REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE,
prs_contactpersoon_key
NUMBER (10)
CONSTRAINT ins_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key) ON DELETE CASCADE,
CONSTRAINT ins_u_ins_deel_ingeleverd UNIQUE (ins_deel_key, ins_deel_uitgifte_ingeleverd) -- Er mag geen dubbele uitgifte (ins_deel_ingeleverd IS NULL) zijn.
);
CREATE SEQUENCE ins_s_ins_deel_uitgifte_key MINVALUE 1;
CREATE INDEX ins_i_ins_deel_uitgifte1 ON ins_deel_uitgifte(prs_perslid_key);
CREATE INDEX ins_i_ins_deel_uitgifte2 ON ins_deel_uitgifte(prs_contactpersoon_key);
-- Nieuwe trigger hier ook toegevoegd, want deze is nodig voor de insert die er na komt.
CREATE OR REPLACE TRIGGER ins_t_deel_uitgifte_B_I
BEFORE INSERT ON ins_deel_uitgifte
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_deel_uitgifte_key, ins_s_ins_deel_uitgifte_key);
END;
/
-- Uitgegeven objecten in de tabel ins_deel_uitgifte zetten.
INSERT INTO ins_deel_uitgifte(ins_deel_key,
ins_deel_uitgifte_begin,
ins_deel_uitgifte_eind_plan,
prs_perslid_key,
prs_contactpersoon_key)
SELECT d.ins_deel_key,
COALESCE(rrd.res_rsv_deel_van,
(SELECT MAX(tr.fac_tracking_datum)
FROM fac_tracking tr,
fac_srtnotificatie sn
WHERE tr.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'INSOUT'
AND tr.fac_tracking_refkey = d.ins_deel_key
AND sn.fac_srtnotificatie_xmlnode = 'deel')),
COALESCE(rrd.res_rsv_deel_tot, NULL),
CASE WHEN d.ins_alg_ruimte_type = 'P' THEN d.ins_alg_ruimte_key ELSE NULL END,
CASE WHEN d.ins_alg_ruimte_type = 'C' THEN d.ins_alg_ruimte_key ELSE NULL END
FROM ins_deel d,
res_rsv_deel rrd
WHERE d.res_rsv_deel_key = rrd.res_rsv_deel_key(+)
AND d.ins_alg_ruimte_key_org IS NOT NULL
AND d.ins_alg_ruimte_type IN ('C', 'P');
CREATE VIEW ins_v_udr_uitgifte AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_uitgifte', 'UDR: Object uitgifte historie', 'Basisrapport van uitlenen en innemen van objecten',
'UDR: Object issuance history', 'Basic report of lending and taking in objects');
/////////////////////////////////////////////////////////////////////////////////////////// YASK#80908
ALTER TABLE res_artikel ADD res_artikel_vrije_omschrijving NUMBER(1) DEFAULT(0) NOT NULL;
ALTER TABLE res_rsv_artikel ADD res_rsv_artikel_omschrijving VARCHAR2(40);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#81827
BEGIN
adm.tryalter ('TABLE fac_gui_counter DROP CONSTRAINT fac_r_guicnt_perslid_key');
END;
/
ALTER TABLE fac_gui_counter ADD CONSTRAINT fac_r_guicnt_perslid_key FOREIGN KEY (prs_perslid_key) REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE;
DELETE FROM fac_gui_counter
WHERE prs_perslid_key IS NULL
AND TRUNC(fac_gui_counter_date) <> fac_gui_counter_date;
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#81217
ALTER TABLE ins_srtcontrole ADD ins_srtcontrole_opmerking_text NUMBER(1) DEFAULT(0) NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FMHN#81512
ALTER TABLE alg_verdieping
ADD alg_verdieping_dwgz NUMBER (16, 3);
/////////////////////////////////////////////////////////////////////////////////////////// FMHN#79962
DEF_FAC_SRTNOT('RESANO', 0, 'lcl_noti_RESANO', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#81568
DECLARE
tmpcname VARCHAR2 (32);
sqlstmt VARCHAR2 (128);
BEGIN
SELECT constraint_name
INTO tmpcname
FROM user_constraints
WHERE table_name = 'INS_DEELSRTCONTROLE'
AND delete_rule = 'CASCADE'
AND r_constraint_name LIKE 'SYS%';
sqlstmt := 'ALTER TABLE INS_DEELSRTCONTROLE DROP CONSTRAINT ' || tmpcname;
EXECUTE IMMEDIATE sqlstmt;
END;
/
ALTER TABLE ins_deelsrtcontrole
ADD CONSTRAINT ins_r_ins_srtcontrole_key1 FOREIGN KEY (ins_srtcontrole_key)
REFERENCES ins_srtcontrole (ins_srtcontrole_key);
/////////////////////////////////////////////////////////////////////////////////////////// KW1C#82049
ALTER TABLE prs_ruimteafdeling ADD prs_ruimteafdeling_ingangsdatum
DATE DEFAULT SYSDATE NOT NULL;
ALTER TABLE prs_ruimteafdeling ADD prs_ruimteafdeling_einddatum
DATE;
ALTER TABLE prs_ruimteafdeling DROP CONSTRAINT prs_u_ruimteafdeling DROP INDEX;
ALTER TABLE prs_ruimteafdeling ADD CONSTRAINT prs_u_ruimteafdeling UNIQUE(prs_afdeling_key, alg_ruimte_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder);
ALTER TABLE prs_ruimteafdeling ADD CONSTRAINT prs_c_ruimteafdeling_van_tot CHECK(prs_ruimteafdeling_einddatum IS NULL OR (prs_ruimteafdeling_einddatum IS NOT NULL AND prs_ruimteafdeling_einddatum > prs_ruimteafdeling_ingangsdatum));
DROP INDEX prs_i_prs_ruimteafdeling1;
CREATE UNIQUE INDEX prs_i_prs_ruimteafdeling1 ON prs_ruimteafdeling(alg_ruimte_key, prs_afdeling_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder);
UPDATE prs_ruimteafdeling SET prs_ruimteafdeling_ingangsdatum = prs_ruimteafdeling_aanmaak;
UPDATE prs_ruimteafdeling SET prs_ruimteafdeling_einddatum = prs_ruimteafdeling_verwijder WHERE prs_ruimteafdeling_verwijder IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80728
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
MERGE INTO prs_perslid p1
USING (SELECT prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
'System account for Exchange notifications.'
|| CHR (13)
|| 'Contact Facilitor for configuration.' prs_perslid_opmerking
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR') p2
ON (p1.prs_perslid_oslogin = '_MSGRAPHNOTIFICATION')
WHEN MATCHED
THEN
UPDATE SET
p1.prs_perslid_module =
COALESCE (p1.prs_perslid_module, p2.prs_perslid_module),
p1.prs_srtperslid_key =
COALESCE (p1.prs_srtperslid_key, p2.prs_srtperslid_key),
p1.prs_afdeling_key =
COALESCE (p1.prs_afdeling_key, p2.prs_afdeling_key),
p1.prs_perslid_flags = 36,
p1.prs_perslid_opmerking =
COALESCE (p1.prs_perslid_opmerking, p2.prs_perslid_opmerking)
WHERE (p1.prs_perslid_oslogin = '_MSGRAPHNOTIFICATION')
WHEN NOT MATCHED
THEN
INSERT (prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
prs_perslid_naam,
prs_perslid_oslogin,
prs_perslid_apikey,
prs_perslid_flags,
prs_perslid_opmerking)
VALUES (p2.prs_perslid_module,
p2.prs_srtperslid_key,
p2.prs_afdeling_key,
'API-user tbv. Exchange-koppeling',
'_MSGRAPHNOTIFICATION',
DBMS_RANDOM.string ('a', 32),
36,
p2.prs_perslid_opmerking);
/////////////////////////////////////////////////////////////////////////////////////////// YASK#81166
DEF_FAC_FUNCTIE3('WEB_FACXNR', 'FAC', 0, 0, NULL);
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#80127
DEF_FAC_FUNCTIE3('WEB_CTRAFR', 'CTR', 0, 1, 1);
-- Iedereen met CTRUSE [op niet-MJOB-disciplines] autorisatie moet ook de nieuwe CTRAFR-autorisatie krijgen om het gedrag compatible te houden.
INSERT INTO fac_groeprechten(fac_groep_key,
ins_discipline_key,
fac_functie_key,
fac_gebruiker_prs_level_read,
fac_gebruiker_alg_level_read,
fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_write)
(SELECT gr.fac_groep_key,
gr.ins_discipline_key,
(SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_CTRAFR'),
fac_gebruiker_prs_level_write, -- Alleen een ja/nee autorisatie: read hetzelfde als de write level.
fac_gebruiker_alg_level_write, -- Alleen een ja/nee autorisatie: read hetzelfde als de write level.
fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_write
FROM fac_groeprechten gr,
fac_functie ff,
ctr_disc_params cdp
WHERE ff.fac_functie_key = gr.fac_functie_key
AND ff.fac_functie_code = 'WEB_CTRUSE'
AND gr.ins_discipline_key = cdp.ctr_ins_discipline_key
AND cdp.ctr_disc_params_ismjob = 0);
/////////////////////////////////////////////////////////////////////////////////////////// YASK#81268
DEF_IMPORT('WEB_PRSSYS', 'KOSTENSOORT', 'FIP: Aanmaken/bijwerken van kostensoorten', 'FIP: Create/Update cost categories')
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82295
DROP VIEW fac_v_lcrap_saldo;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$')
#include "epilogue.inc"

View File

@@ -9,17 +9,6 @@ COMMIT;
-- Bij een DROP TABLE wordt nogal eens de PURGE vergeten
PURGE RECYCLEBIN;
-- Gedropte systeem UDRs
DELETE
FROM fac_locale
WHERE fac_locale_kolomnaam LIKE 'FAC_USRRAP_%'
AND fac_locale_kolomkeyval NOT IN (SELECT fac_usrrap_key FROM fac_usrrap);
DELETE
FROM fac_locale
WHERE fac_locale_kolomnaam LIKE 'FAC_IMPORT_APP_%'
AND fac_locale_kolomkeyval NOT IN (SELECT fac_import_app_key FROM fac_import_app);
-- Schema-naam uit MLD_T_UITVOERTIJD verwijderen.
--
-- data_default is van het datatype LONG. Daarop kan geen string-bewerking als INSTR(), SUBSTR() en REPLACE() worden gedaan.
@@ -89,21 +78,7 @@ SET ECHO OFF
SET HEADING OFF
SET LINESIZE 132
// Soms nog niet goed.
// Heel agressief compileren omdat zelfs de dubbele COMPILE_SCHEMA straks niet altijd genoeg is.
ALTER PACKAGE fac COMPILE BODY;
ALTER PACKAGE alg COMPILE BODY;
ALTER PACKAGE mld COMPILE BODY;
ALTER PACKAGE prs COMPILE BODY;
ALTER PACKAGE ins COMPILE BODY;
ALTER PACKAGE res COMPILE BODY;
ALTER PACKAGE bes COMPILE BODY;
ALTER PACKAGE bez COMPILE BODY;
ALTER PACKAGE cnd COMPILE BODY;
ALTER PACKAGE cnt COMPILE BODY;
ALTER PACKAGE fin COMPILE BODY;
ALTER PACKAGE ano COMPILE BODY;
ALTER PACKAGE xml COMPILE BODY;
// Soms nog niet goed
BEGIN
DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE);
DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE);

View File

@@ -98,7 +98,7 @@ PROMPT [&fcltlogfile]
PROMPT
PROMPT ************************************************************************
PROMPT UPGRADE of Facilitor schema to version EVALCONCAT(DB, _DBV) $Revision$
PROMPT Copyright (c) 1996-2024 Aareon Nederland B.V. All rights reserved.
PROMPT Copyright (c) 1996-2023 Aareon Nederland B.V. All rights reserved.
PROMPT
SELECT 'The current version of Facilitor@' || USER || ' is: ' || fac.getdbversion()
FROM DUAL;

View File

@@ -24,7 +24,6 @@
#include "kpi\kpi_vie.src"
#include "ctr\ctr_vie.src"
#include "cnd\cnd_vie.src"
#include "fac\fac_vieexp.src"
// Recreation all packages
#include "adm\adm_pac.src"